ETH Price: $2,384.17 (+1.98%)

Contract

0x37adC35F7B12582240818df04aaC04CA409D5913
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
0xb45077905620f8c4cc3f0c50936b5372792dec55a87e1a97e167838222f1ce23 Deposit Eth(pending)2024-10-04 0:37:528 hrs ago1728002272IN
DODO: ETH Proxy
0.029 ETH(Pending)(Pending)
Sell Eth To159360682022-11-10 0:33:47694 days ago1668040427IN
DODO: ETH Proxy
4.43799999 ETH0.0148626186.95604704
Buy Eth With159344372022-11-09 19:04:59694 days ago1668020699IN
DODO: ETH Proxy
0 ETH0.02274325107.35088641
Buy Eth With159335292022-11-09 16:02:11694 days ago1668009731IN
DODO: ETH Proxy
0 ETH0.03333783131.91922701
Buy Eth With159335282022-11-09 16:01:59694 days ago1668009719IN
DODO: ETH Proxy
0 ETH0.02687752126.86517326
Buy Eth With159327012022-11-09 13:14:47694 days ago1667999687IN
DODO: ETH Proxy
0 ETH0.0098235246.55192771
Buy Eth With159319282022-11-09 10:38:35694 days ago1667990315IN
DODO: ETH Proxy
0 ETH0.0252863119.36118438
Buy Eth With159317422022-11-09 10:00:59694 days ago1667988059IN
DODO: ETH Proxy
0 ETH0.0160887563.66386805
Sell Eth To158839992022-11-02 18:02:59701 days ago1667412179IN
DODO: ETH Proxy
3.799 ETH0.0160195269.63225251
Buy Eth With158839932022-11-02 18:01:47701 days ago1667412107IN
DODO: ETH Proxy
0 ETH0.0136430253.98816853
Sell Eth To158839852022-11-02 18:00:11701 days ago1667412011IN
DODO: ETH Proxy
2.569 ETH0.009213740.0510646
Sell Eth To158684962022-10-31 13:59:59703 days ago1667224799IN
DODO: ETH Proxy
2.554 ETH0.0081032847.21338619
Buy Eth With158351422022-10-26 22:09:59708 days ago1666822199IN
DODO: ETH Proxy
0 ETH0.007484635.32822327
Buy Eth With158265172022-10-25 17:14:23709 days ago1666718063IN
DODO: ETH Proxy
0 ETH0.0136873864.85836007
Buy Eth With157392162022-10-13 12:32:23721 days ago1665664343IN
DODO: ETH Proxy
0 ETH0.0145813756.11500745
Sell Eth To157392112022-10-13 12:31:23721 days ago1665664283IN
DODO: ETH Proxy
4.974 ETH0.0072803642.57196827
Sell Eth To157392082022-10-13 12:30:47721 days ago1665664247IN
DODO: ETH Proxy
9.034 ETH0.0145133664.544
Sell Eth To157386112022-10-13 10:31:11721 days ago1665657071IN
DODO: ETH Proxy
4.054 ETH0.0066601438.94254213
Sell Eth To157385702022-10-13 10:22:47721 days ago1665656567IN
DODO: ETH Proxy
3.997 ETH0.0054929832.11710518
Buy Eth With156855872022-10-06 0:48:59729 days ago1665017339IN
DODO: ETH Proxy
0 ETH0.0072776128.8
Buy Eth With156461712022-09-30 12:32:11734 days ago1664541131IN
DODO: ETH Proxy
0 ETH0.0115277845.61592304
Sell Eth To156461632022-09-30 12:30:35734 days ago1664541035IN
DODO: ETH Proxy
3.782 ETH0.0073621632.74255769
Buy Eth With155843202022-09-21 21:08:11743 days ago1663794491IN
DODO: ETH Proxy
0 ETH0.0120429946.34987128
Sell Eth To155843162022-09-21 21:07:23743 days ago1663794443IN
DODO: ETH Proxy
4.66 ETH0.009294541.33572349
Sell Eth To155834582022-09-21 18:13:59743 days ago1663784039IN
DODO: ETH Proxy
6.801 ETH0.0110502664.612
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
159360682022-11-10 0:33:47694 days ago1668040427
DODO: ETH Proxy
4.43799999 ETH
159335292022-11-09 16:02:11694 days ago1668009731
DODO: ETH Proxy
5.103 ETH
159335292022-11-09 16:02:11694 days ago1668009731
DODO: ETH Proxy
5.103 ETH
159317422022-11-09 10:00:59694 days ago1667988059
DODO: ETH Proxy
4.097 ETH
159317422022-11-09 10:00:59694 days ago1667988059
DODO: ETH Proxy
4.097 ETH
158839992022-11-02 18:02:59701 days ago1667412179
DODO: ETH Proxy
3.799 ETH
158839932022-11-02 18:01:47701 days ago1667412107
DODO: ETH Proxy
5.038 ETH
158839932022-11-02 18:01:47701 days ago1667412107
DODO: ETH Proxy
5.038 ETH
158839852022-11-02 18:00:11701 days ago1667412011
DODO: ETH Proxy
2.569 ETH
158684962022-10-31 13:59:59703 days ago1667224799
DODO: ETH Proxy
2.554 ETH
157392162022-10-13 12:32:23721 days ago1665664343
DODO: ETH Proxy
5.807 ETH
157392162022-10-13 12:32:23721 days ago1665664343
DODO: ETH Proxy
5.807 ETH
157392112022-10-13 12:31:23721 days ago1665664283
DODO: ETH Proxy
4.974 ETH
157392082022-10-13 12:30:47721 days ago1665664247
DODO: ETH Proxy
9.034 ETH
157386112022-10-13 10:31:11721 days ago1665657071
DODO: ETH Proxy
4.054 ETH
157385702022-10-13 10:22:47721 days ago1665656567
DODO: ETH Proxy
3.997 ETH
156855872022-10-06 0:48:59729 days ago1665017339
DODO: ETH Proxy
2.908 ETH
156855872022-10-06 0:48:59729 days ago1665017339
DODO: ETH Proxy
2.908 ETH
156461712022-09-30 12:32:11734 days ago1664541131
DODO: ETH Proxy
4.51999999 ETH
156461712022-09-30 12:32:11734 days ago1664541131
DODO: ETH Proxy
4.51999999 ETH
156461632022-09-30 12:30:35734 days ago1664541035
DODO: ETH Proxy
3.782 ETH
155843202022-09-21 21:08:11743 days ago1663794491
DODO: ETH Proxy
4.664 ETH
155843202022-09-21 21:08:11743 days ago1663794491
DODO: ETH Proxy
4.664 ETH
155843162022-09-21 21:07:23743 days ago1663794443
DODO: ETH Proxy
4.66 ETH
155834582022-09-21 18:13:59743 days ago1663784039
DODO: ETH Proxy
6.801 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
DODOEthProxy

Compiler Version
v0.6.9+commit.3e3065ac

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Apache-2.0 license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-08-10
*/

// File: contracts/lib/ReentrancyGuard.sol

/*

    Copyright 2020 DODO ZOO.
    SPDX-License-Identifier: Apache-2.0

*/

pragma solidity 0.6.9;
pragma experimental ABIEncoderV2;

/**
 * @title ReentrancyGuard
 * @author DODO Breeder
 *
 * @notice Protect functions from Reentrancy Attack
 */
contract ReentrancyGuard {
    // https://solidity.readthedocs.io/en/latest/control-structures.html?highlight=zero-state#scoping-and-declarations
    // zero-state of _ENTERED_ is false
    bool private _ENTERED_;

    modifier preventReentrant() {
        require(!_ENTERED_, "REENTRANT");
        _ENTERED_ = true;
        _;
        _ENTERED_ = false;
    }
}

// File: contracts/intf/IERC20.sol

// This is a file copied from https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/IERC20.sol

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    function decimals() external view returns (uint8);

    function name() external view returns (string memory);

    /**
     * @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 `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount) external returns (bool);

    /**
     * @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 `sender` to `recipient` 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 sender,
        address recipient,
        uint256 amount
    ) external returns (bool);
}

// File: contracts/lib/SafeMath.sol

/*

    Copyright 2020 DODO ZOO.

*/

/**
 * @title SafeMath
 * @author DODO Breeder
 *
 * @notice Math operations with safety checks that revert on error
 */
library SafeMath {
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "MUL_ERROR");

        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0, "DIVIDING_ERROR");
        return a / b;
    }

    function divCeil(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 quotient = div(a, b);
        uint256 remainder = a - quotient * b;
        if (remainder > 0) {
            return quotient + 1;
        } else {
            return quotient;
        }
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "SUB_ERROR");
        return a - b;
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "ADD_ERROR");
        return c;
    }

    function sqrt(uint256 x) internal pure returns (uint256 y) {
        uint256 z = x / 2 + 1;
        y = x;
        while (z < y) {
            y = z;
            z = (x / z + z) / 2;
        }
    }
}

// File: contracts/lib/SafeERC20.sol

/*

    Copyright 2020 DODO ZOO.
    This is a simplified version of OpenZepplin's SafeERC20 library

*/

/**
 * @title SafeERC20
 * @dev Wrappers around ERC20 operations that throw on failure (when the token
 * contract returns false). Tokens that return no value (and instead revert or
 * throw on failure) are also supported, non-reverting calls are assumed to be
 * successful.
 * To use this library you can add a `using SafeERC20 for ERC20;` statement to your contract,
 * which allows you to call the safe operations as `token.safeTransfer(...)`, etc.
 */
library SafeERC20 {
    using SafeMath for uint256;

    function safeTransfer(
        IERC20 token,
        address to,
        uint256 value
    ) internal {
        _callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value));
    }

    function safeTransferFrom(
        IERC20 token,
        address from,
        address to,
        uint256 value
    ) internal {
        _callOptionalReturn(
            token,
            abi.encodeWithSelector(token.transferFrom.selector, from, to, value)
        );
    }

    /**
     * @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement
     * on the return value: the return value is optional (but if data is returned, it must not be false).
     * @param token The token targeted by the call.
     * @param data The call data (encoded using abi.encode or one of its variants).
     */
    function _callOptionalReturn(IERC20 token, bytes memory data) private {
        // We need to perform a low level call here, to bypass Solidity's return data size checking mechanism, since
        // we're implementing it ourselves.

        // A Solidity high level call has three parts:
        //  1. The target address is checked to verify it contains contract code
        //  2. The call itself is made, and success asserted
        //  3. The return value is decoded, which in turn checks the size of the returned data.
        // solhint-disable-next-line max-line-length

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) = address(token).call(data);
        require(success, "SafeERC20: low-level call failed");

        if (returndata.length > 0) {
            // Return data is optional
            // solhint-disable-next-line max-line-length
            require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed");
        }
    }
}

// File: contracts/intf/IDODO.sol

/*

    Copyright 2020 DODO ZOO.

*/

interface IDODO {
    function init(
        address owner,
        address supervisor,
        address maintainer,
        address baseToken,
        address quoteToken,
        address oracle,
        uint256 lpFeeRate,
        uint256 mtFeeRate,
        uint256 k,
        uint256 gasPriceLimit
    ) external;

    function transferOwnership(address newOwner) external;

    function claimOwnership() external;

    function sellBaseToken(
        uint256 amount,
        uint256 minReceiveQuote,
        bytes calldata data
    ) external returns (uint256);

    function buyBaseToken(
        uint256 amount,
        uint256 maxPayQuote,
        bytes calldata data
    ) external returns (uint256);

    function querySellBaseToken(uint256 amount) external view returns (uint256 receiveQuote);

    function queryBuyBaseToken(uint256 amount) external view returns (uint256 payQuote);

    function depositBaseTo(address to, uint256 amount) external returns (uint256);

    function withdrawBase(uint256 amount) external returns (uint256);

    function withdrawAllBase() external returns (uint256);

    function depositQuoteTo(address to, uint256 amount) external returns (uint256);

    function withdrawQuote(uint256 amount) external returns (uint256);

    function withdrawAllQuote() external returns (uint256);

    function _BASE_CAPITAL_TOKEN_() external returns (address);

    function _QUOTE_CAPITAL_TOKEN_() external returns (address);

    function _BASE_TOKEN_() external returns (address);

    function _QUOTE_TOKEN_() external returns (address);
}

// File: contracts/intf/IWETH.sol

/*

    Copyright 2020 DODO ZOO.

*/

interface IWETH {
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount) external returns (bool);

    function allowance(address owner, address spender) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address src,
        address dst,
        uint256 wad
    ) external returns (bool);

    function deposit() external payable;

    function withdraw(uint256 wad) external;
}

// File: contracts/DODOEthProxy.sol

/*

    Copyright 2020 DODO ZOO.

*/

interface IDODOZoo {
    function getDODO(address baseToken, address quoteToken) external view returns (address);
}

/**
 * @title DODO Eth Proxy
 * @author DODO Breeder
 *
 * @notice Handle ETH-WETH converting for users. Use it only when WETH is base token
 */
contract DODOEthProxy is ReentrancyGuard {
    using SafeERC20 for IERC20;

    address public _DODO_ZOO_;
    address payable public _WETH_;

    // ============ Events ============

    event ProxySellEth(
        address indexed seller,
        address indexed quoteToken,
        uint256 payEth,
        uint256 receiveQuote
    );

    event ProxyBuyEth(
        address indexed buyer,
        address indexed quoteToken,
        uint256 receiveEth,
        uint256 payQuote
    );

    event ProxyDepositEth(address indexed lp, address indexed DODO, uint256 ethAmount);

    event ProxyWithdrawEth(address indexed lp, address indexed DODO, uint256 ethAmount);

    // ============ Functions ============

    constructor(address dodoZoo, address payable weth) public {
        _DODO_ZOO_ = dodoZoo;
        _WETH_ = weth;
    }

    fallback() external payable {
        require(msg.sender == _WETH_, "WE_SAVED_YOUR_ETH_:)");
    }

    receive() external payable {
        require(msg.sender == _WETH_, "WE_SAVED_YOUR_ETH_:)");
    }

    function sellEthTo(
        address quoteTokenAddress,
        uint256 ethAmount,
        uint256 minReceiveTokenAmount
    ) external payable preventReentrant returns (uint256 receiveTokenAmount) {
        require(msg.value == ethAmount, "ETH_AMOUNT_NOT_MATCH");
        address DODO = IDODOZoo(_DODO_ZOO_).getDODO(_WETH_, quoteTokenAddress);
        require(DODO != address(0), "DODO_NOT_EXIST");
        IWETH(_WETH_).deposit{value: ethAmount}();
        IWETH(_WETH_).approve(DODO, ethAmount);
        receiveTokenAmount = IDODO(DODO).sellBaseToken(ethAmount, minReceiveTokenAmount, "");
        _transferOut(quoteTokenAddress, msg.sender, receiveTokenAmount);
        emit ProxySellEth(msg.sender, quoteTokenAddress, ethAmount, receiveTokenAmount);
        return receiveTokenAmount;
    }

    function buyEthWith(
        address quoteTokenAddress,
        uint256 ethAmount,
        uint256 maxPayTokenAmount
    ) external preventReentrant returns (uint256 payTokenAmount) {
        address DODO = IDODOZoo(_DODO_ZOO_).getDODO(_WETH_, quoteTokenAddress);
        require(DODO != address(0), "DODO_NOT_EXIST");
        payTokenAmount = IDODO(DODO).queryBuyBaseToken(ethAmount);
        _transferIn(quoteTokenAddress, msg.sender, payTokenAmount);
        IERC20(quoteTokenAddress).approve(DODO, payTokenAmount);
        IDODO(DODO).buyBaseToken(ethAmount, maxPayTokenAmount, "");
        IWETH(_WETH_).withdraw(ethAmount);
        msg.sender.transfer(ethAmount);
        emit ProxyBuyEth(msg.sender, quoteTokenAddress, ethAmount, payTokenAmount);
        return payTokenAmount;
    }

    function depositEth(uint256 ethAmount, address quoteTokenAddress)
        external
        payable
        preventReentrant
    {
        require(msg.value == ethAmount, "ETH_AMOUNT_NOT_MATCH");
        address DODO = IDODOZoo(_DODO_ZOO_).getDODO(_WETH_, quoteTokenAddress);
        require(DODO != address(0), "DODO_NOT_EXIST");
        IWETH(_WETH_).deposit{value: ethAmount}();
        IWETH(_WETH_).approve(DODO, ethAmount);
        IDODO(DODO).depositBaseTo(msg.sender, ethAmount);
        emit ProxyDepositEth(msg.sender, DODO, ethAmount);
    }

    function withdrawEth(uint256 ethAmount, address quoteTokenAddress)
        external
        preventReentrant
        returns (uint256 withdrawAmount)
    {
        address DODO = IDODOZoo(_DODO_ZOO_).getDODO(_WETH_, quoteTokenAddress);
        require(DODO != address(0), "DODO_NOT_EXIST");
        address ethLpToken = IDODO(DODO)._BASE_CAPITAL_TOKEN_();

        // transfer all pool shares to proxy
        uint256 lpBalance = IERC20(ethLpToken).balanceOf(msg.sender);
        IERC20(ethLpToken).transferFrom(msg.sender, address(this), lpBalance);
        IDODO(DODO).withdrawBase(ethAmount);

        // transfer remain shares back to msg.sender
        lpBalance = IERC20(ethLpToken).balanceOf(address(this));
        IERC20(ethLpToken).transfer(msg.sender, lpBalance);

        // because of withdraw penalty, withdrawAmount may not equal to ethAmount
        // query weth amount first and than transfer ETH to msg.sender
        uint256 wethAmount = IERC20(_WETH_).balanceOf(address(this));
        IWETH(_WETH_).withdraw(wethAmount);
        msg.sender.transfer(wethAmount);
        emit ProxyWithdrawEth(msg.sender, DODO, wethAmount);
        return wethAmount;
    }

    function withdrawAllEth(address quoteTokenAddress)
        external
        preventReentrant
        returns (uint256 withdrawAmount)
    {
        address DODO = IDODOZoo(_DODO_ZOO_).getDODO(_WETH_, quoteTokenAddress);
        require(DODO != address(0), "DODO_NOT_EXIST");
        address ethLpToken = IDODO(DODO)._BASE_CAPITAL_TOKEN_();

        // transfer all pool shares to proxy
        uint256 lpBalance = IERC20(ethLpToken).balanceOf(msg.sender);
        IERC20(ethLpToken).transferFrom(msg.sender, address(this), lpBalance);
        IDODO(DODO).withdrawAllBase();

        // because of withdraw penalty, withdrawAmount may not equal to ethAmount
        // query weth amount first and than transfer ETH to msg.sender
        uint256 wethAmount = IERC20(_WETH_).balanceOf(address(this));
        IWETH(_WETH_).withdraw(wethAmount);
        msg.sender.transfer(wethAmount);
        emit ProxyWithdrawEth(msg.sender, DODO, wethAmount);
        return wethAmount;
    }

    // ============ Helper Functions ============

    function _transferIn(
        address tokenAddress,
        address from,
        uint256 amount
    ) internal {
        IERC20(tokenAddress).safeTransferFrom(from, address(this), amount);
    }

    function _transferOut(
        address tokenAddress,
        address to,
        uint256 amount
    ) internal {
        IERC20(tokenAddress).safeTransfer(to, amount);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"dodoZoo","type":"address"},{"internalType":"address payable","name":"weth","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"buyer","type":"address"},{"indexed":true,"internalType":"address","name":"quoteToken","type":"address"},{"indexed":false,"internalType":"uint256","name":"receiveEth","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"payQuote","type":"uint256"}],"name":"ProxyBuyEth","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"lp","type":"address"},{"indexed":true,"internalType":"address","name":"DODO","type":"address"},{"indexed":false,"internalType":"uint256","name":"ethAmount","type":"uint256"}],"name":"ProxyDepositEth","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"seller","type":"address"},{"indexed":true,"internalType":"address","name":"quoteToken","type":"address"},{"indexed":false,"internalType":"uint256","name":"payEth","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"receiveQuote","type":"uint256"}],"name":"ProxySellEth","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"lp","type":"address"},{"indexed":true,"internalType":"address","name":"DODO","type":"address"},{"indexed":false,"internalType":"uint256","name":"ethAmount","type":"uint256"}],"name":"ProxyWithdrawEth","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"_DODO_ZOO_","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_WETH_","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"quoteTokenAddress","type":"address"},{"internalType":"uint256","name":"ethAmount","type":"uint256"},{"internalType":"uint256","name":"maxPayTokenAmount","type":"uint256"}],"name":"buyEthWith","outputs":[{"internalType":"uint256","name":"payTokenAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"ethAmount","type":"uint256"},{"internalType":"address","name":"quoteTokenAddress","type":"address"}],"name":"depositEth","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"quoteTokenAddress","type":"address"},{"internalType":"uint256","name":"ethAmount","type":"uint256"},{"internalType":"uint256","name":"minReceiveTokenAmount","type":"uint256"}],"name":"sellEthTo","outputs":[{"internalType":"uint256","name":"receiveTokenAmount","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"quoteTokenAddress","type":"address"}],"name":"withdrawAllEth","outputs":[{"internalType":"uint256","name":"withdrawAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"ethAmount","type":"uint256"},{"internalType":"address","name":"quoteTokenAddress","type":"address"}],"name":"withdrawEth","outputs":[{"internalType":"uint256","name":"withdrawAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040523480156200001157600080fd5b50604051620019b6380380620019b6833981016040819052620000349162000070565b60008054610100600160a81b0319166101006001600160a01b0394851602179055600180546001600160a01b03191691909216179055620000c7565b6000806040838503121562000083578182fd5b82516200009081620000ae565b6020840151909250620000a381620000ae565b809150509250929050565b6001600160a01b0381168114620000c457600080fd5b50565b6118df80620000d76000396000f3fe6080604052600436106100745760003560e01c80635ba87dc01161004e5780635ba87dc01461012b5780636e89d3ea14610158578063a158657c1461016b578063d46d79bb1461018b576100ae565b80630d4eec8f146100d857806339239f721461010357806346f6b4e114610118576100ae565b366100ae576001546001600160a01b031633146100ac5760405162461bcd60e51b81526004016100a3906117b7565b60405180910390fd5b005b6001546001600160a01b031633146100ac5760405162461bcd60e51b81526004016100a3906117b7565b3480156100e457600080fd5b506100ed6101ab565b6040516100fa91906116cc565b60405180910390f35b34801561010f57600080fd5b506100ed6101ba565b6100ac610126366004611664565b6101ce565b34801561013757600080fd5b5061014b6101463660046115f8565b61049a565b6040516100fa919061185d565b61014b6101663660046115f8565b6107f7565b34801561017757600080fd5b5061014b610186366004611664565b610abb565b34801561019757600080fd5b5061014b6101a63660046115b9565b611009565b6001546001600160a01b031681565b60005461010090046001600160a01b031681565b60005460ff16156101f15760405162461bcd60e51b81526004016100a39061175f565b6000805460ff1916600117905534821461021d5760405162461bcd60e51b81526004016100a3906117e5565b60008054600154604051630939d86360e11b81526001600160a01b03610100909304831692631273b0c6926102599291169086906004016116e0565b60206040518083038186803b15801561027157600080fd5b505afa158015610285573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102a991906115dc565b90506001600160a01b0381166102d15760405162461bcd60e51b81526004016100a390611737565b600160009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0846040518263ffffffff1660e01b81526004016000604051808303818588803b15801561032157600080fd5b505af1158015610335573d6000803e3d6000fd5b505060015460405163095ea7b360e01b81526001600160a01b03909116935063095ea7b3925061036c91508490879060040161171e565b602060405180830381600087803b15801561038657600080fd5b505af115801561039a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103be919061162c565b5060405163aa06ce9b60e01b81526001600160a01b0382169063aa06ce9b906103ed903390879060040161171e565b602060405180830381600087803b15801561040757600080fd5b505af115801561041b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061043f919061164c565b50806001600160a01b0316336001600160a01b03167f5291ece150597b5ce80e6d4bc19cec23d7e71e84e3a97e875718df3f7b671d3185604051610483919061185d565b60405180910390a350506000805460ff1916905550565b6000805460ff16156104be5760405162461bcd60e51b81526004016100a39061175f565b6000805460ff191660019081178083559054604051630939d86360e11b81526001600160a01b03610100909304831692631273b0c6926105059291169089906004016116e0565b60206040518083038186803b15801561051d57600080fd5b505afa158015610531573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061055591906115dc565b90506001600160a01b03811661057d5760405162461bcd60e51b81526004016100a390611737565b6040516306302ef960e21b81526001600160a01b038216906318c0bbe4906105a990879060040161185d565b60206040518083038186803b1580156105c157600080fd5b505afa1580156105d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f9919061164c565b915061060685338461144b565b60405163095ea7b360e01b81526001600160a01b0386169063095ea7b390610634908490869060040161171e565b602060405180830381600087803b15801561064e57600080fd5b505af1158015610662573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610686919061162c565b5060405163733e738360e11b81526001600160a01b0382169063e67ce706906106b59087908790600401611874565b602060405180830381600087803b1580156106cf57600080fd5b505af11580156106e3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610707919061164c565b50600154604051632e1a7d4d60e01b81526001600160a01b0390911690632e1a7d4d9061073890879060040161185d565b600060405180830381600087803b15801561075257600080fd5b505af1158015610766573d6000803e3d6000fd5b505060405133925086156108fc02915086906000818181858888f19350505050158015610797573d6000803e3d6000fd5b50846001600160a01b0316336001600160a01b03167fc10793e450d0cc4ab5809296cbbe082cc527cfee15b594fff08c28feab94451086856040516107dd929190611866565b60405180910390a3506000805460ff191690559392505050565b6000805460ff161561081b5760405162461bcd60e51b81526004016100a39061175f565b6000805460ff191660011790553483146108475760405162461bcd60e51b81526004016100a3906117e5565b60008054600154604051630939d86360e11b81526001600160a01b03610100909304831692631273b0c6926108839291169089906004016116e0565b60206040518083038186803b15801561089b57600080fd5b505afa1580156108af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d391906115dc565b90506001600160a01b0381166108fb5760405162461bcd60e51b81526004016100a390611737565b600160009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0856040518263ffffffff1660e01b81526004016000604051808303818588803b15801561094b57600080fd5b505af115801561095f573d6000803e3d6000fd5b505060015460405163095ea7b360e01b81526001600160a01b03909116935063095ea7b3925061099691508490889060040161171e565b602060405180830381600087803b1580156109b057600080fd5b505af11580156109c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e8919061162c565b50604051638dae733360e01b81526001600160a01b03821690638dae733390610a179087908790600401611874565b602060405180830381600087803b158015610a3157600080fd5b505af1158015610a45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a69919061164c565b9150610a7685338461146b565b846001600160a01b0316336001600160a01b03167f34c63d7d6781002b1198cf817783bf9d106eaf1e16c52994f4a75e6437dba5f986856040516107dd929190611866565b6000805460ff1615610adf5760405162461bcd60e51b81526004016100a39061175f565b6000805460ff191660019081178083559054604051630939d86360e11b81526001600160a01b03610100909304831692631273b0c692610b269291169087906004016116e0565b60206040518083038186803b158015610b3e57600080fd5b505afa158015610b52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7691906115dc565b90506001600160a01b038116610b9e5760405162461bcd60e51b81526004016100a390611737565b6000816001600160a01b031663d689107c6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610bdb57600080fd5b505af1158015610bef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1391906115dc565b90506000816001600160a01b03166370a08231336040518263ffffffff1660e01b8152600401610c4391906116cc565b60206040518083038186803b158015610c5b57600080fd5b505afa158015610c6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c93919061164c565b6040516323b872dd60e01b81529091506001600160a01b038316906323b872dd90610cc6903390309086906004016116fa565b602060405180830381600087803b158015610ce057600080fd5b505af1158015610cf4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d18919061162c565b5060405163f98bea1560e01b81526001600160a01b0384169063f98bea1590610d4590899060040161185d565b602060405180830381600087803b158015610d5f57600080fd5b505af1158015610d73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d97919061164c565b506040516370a0823160e01b81526001600160a01b038316906370a0823190610dc49030906004016116cc565b60206040518083038186803b158015610ddc57600080fd5b505afa158015610df0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e14919061164c565b60405163a9059cbb60e01b81529091506001600160a01b0383169063a9059cbb90610e45903390859060040161171e565b602060405180830381600087803b158015610e5f57600080fd5b505af1158015610e73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e97919061162c565b506001546040516370a0823160e01b81526000916001600160a01b0316906370a0823190610ec99030906004016116cc565b60206040518083038186803b158015610ee157600080fd5b505afa158015610ef5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f19919061164c565b600154604051632e1a7d4d60e01b81529192506001600160a01b031690632e1a7d4d90610f4a90849060040161185d565b600060405180830381600087803b158015610f6457600080fd5b505af1158015610f78573d6000803e3d6000fd5b505060405133925083156108fc02915083906000818181858888f19350505050158015610fa9573d6000803e3d6000fd5b50836001600160a01b0316336001600160a01b03167f7d205d2201ccbc0483539873bec8fdf5ba90453d947e361d213e7414003fd81d83604051610fed919061185d565b60405180910390a36000805460ff191690559695505050505050565b6000805460ff161561102d5760405162461bcd60e51b81526004016100a39061175f565b6000805460ff191660019081178083559054604051630939d86360e11b81526001600160a01b03610100909304831692631273b0c6926110749291169087906004016116e0565b60206040518083038186803b15801561108c57600080fd5b505afa1580156110a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c491906115dc565b90506001600160a01b0381166110ec5760405162461bcd60e51b81526004016100a390611737565b6000816001600160a01b031663d689107c6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561112957600080fd5b505af115801561113d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061116191906115dc565b90506000816001600160a01b03166370a08231336040518263ffffffff1660e01b815260040161119191906116cc565b60206040518083038186803b1580156111a957600080fd5b505afa1580156111bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e1919061164c565b6040516323b872dd60e01b81529091506001600160a01b038316906323b872dd90611214903390309086906004016116fa565b602060405180830381600087803b15801561122e57600080fd5b505af1158015611242573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611266919061162c565b50826001600160a01b031663d47eaa376040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156112a257600080fd5b505af11580156112b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112da919061164c565b506001546040516370a0823160e01b81526000916001600160a01b0316906370a082319061130c9030906004016116cc565b60206040518083038186803b15801561132457600080fd5b505afa158015611338573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135c919061164c565b600154604051632e1a7d4d60e01b81529192506001600160a01b031690632e1a7d4d9061138d90849060040161185d565b600060405180830381600087803b1580156113a757600080fd5b505af11580156113bb573d6000803e3d6000fd5b505060405133925083156108fc02915083906000818181858888f193505050501580156113ec573d6000803e3d6000fd5b50836001600160a01b0316336001600160a01b03167f7d205d2201ccbc0483539873bec8fdf5ba90453d947e361d213e7414003fd81d83604051611430919061185d565b60405180910390a36000805460ff1916905595945050505050565b6114666001600160a01b03841683308463ffffffff61148516565b505050565b6114666001600160a01b038416838363ffffffff6114e316565b6114dd846323b872dd60e01b8585856040516024016114a6939291906116fa565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611502565b50505050565b6114668363a9059cbb60e01b84846040516024016114a692919061171e565b60006060836001600160a01b03168360405161151e9190611693565b6000604051808303816000865af19150503d806000811461155b576040519150601f19603f3d011682016040523d82523d6000602084013e611560565b606091505b5091509150816115825760405162461bcd60e51b81526004016100a390611782565b8051156114dd578080602001905181019061159d919061162c565b6114dd5760405162461bcd60e51b81526004016100a390611813565b6000602082840312156115ca578081fd5b81356115d581611891565b9392505050565b6000602082840312156115ed578081fd5b81516115d581611891565b60008060006060848603121561160c578182fd5b833561161781611891565b95602085013595506040909401359392505050565b60006020828403121561163d578081fd5b815180151581146115d5578182fd5b60006020828403121561165d578081fd5b5051919050565b60008060408385031215611676578182fd5b82359150602083013561168881611891565b809150509250929050565b60008251815b818110156116b35760208186018101518583015201611699565b818111156116c15782828501525b509190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b6020808252600e908201526d1113d113d7d393d517d1561254d560921b604082015260600190565b60208082526009908201526814915153951490539560ba1b604082015260600190565b6020808252818101527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604082015260600190565b60208082526014908201527357455f53415645445f594f55525f4554485f3a2960601b604082015260600190565b60208082526014908201527308aa890be829a9eaa9ca8be9c9ea8be9a82a886960631b604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b90815260200190565b918252602082015260400190565b918252602082015260606040820181905260009082015260800190565b6001600160a01b03811681146118a657600080fd5b5056fea264697066735822122051edfbfefc3245fa68b8f0c96c1b36278a45a6c215f9bf3eef6ec79d46cd71ac64736f6c634300060900330000000000000000000000003a97247df274a17c59a3bd12735ea3fcdfb49950000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2

Deployed Bytecode

0x6080604052600436106100745760003560e01c80635ba87dc01161004e5780635ba87dc01461012b5780636e89d3ea14610158578063a158657c1461016b578063d46d79bb1461018b576100ae565b80630d4eec8f146100d857806339239f721461010357806346f6b4e114610118576100ae565b366100ae576001546001600160a01b031633146100ac5760405162461bcd60e51b81526004016100a3906117b7565b60405180910390fd5b005b6001546001600160a01b031633146100ac5760405162461bcd60e51b81526004016100a3906117b7565b3480156100e457600080fd5b506100ed6101ab565b6040516100fa91906116cc565b60405180910390f35b34801561010f57600080fd5b506100ed6101ba565b6100ac610126366004611664565b6101ce565b34801561013757600080fd5b5061014b6101463660046115f8565b61049a565b6040516100fa919061185d565b61014b6101663660046115f8565b6107f7565b34801561017757600080fd5b5061014b610186366004611664565b610abb565b34801561019757600080fd5b5061014b6101a63660046115b9565b611009565b6001546001600160a01b031681565b60005461010090046001600160a01b031681565b60005460ff16156101f15760405162461bcd60e51b81526004016100a39061175f565b6000805460ff1916600117905534821461021d5760405162461bcd60e51b81526004016100a3906117e5565b60008054600154604051630939d86360e11b81526001600160a01b03610100909304831692631273b0c6926102599291169086906004016116e0565b60206040518083038186803b15801561027157600080fd5b505afa158015610285573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102a991906115dc565b90506001600160a01b0381166102d15760405162461bcd60e51b81526004016100a390611737565b600160009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0846040518263ffffffff1660e01b81526004016000604051808303818588803b15801561032157600080fd5b505af1158015610335573d6000803e3d6000fd5b505060015460405163095ea7b360e01b81526001600160a01b03909116935063095ea7b3925061036c91508490879060040161171e565b602060405180830381600087803b15801561038657600080fd5b505af115801561039a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103be919061162c565b5060405163aa06ce9b60e01b81526001600160a01b0382169063aa06ce9b906103ed903390879060040161171e565b602060405180830381600087803b15801561040757600080fd5b505af115801561041b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061043f919061164c565b50806001600160a01b0316336001600160a01b03167f5291ece150597b5ce80e6d4bc19cec23d7e71e84e3a97e875718df3f7b671d3185604051610483919061185d565b60405180910390a350506000805460ff1916905550565b6000805460ff16156104be5760405162461bcd60e51b81526004016100a39061175f565b6000805460ff191660019081178083559054604051630939d86360e11b81526001600160a01b03610100909304831692631273b0c6926105059291169089906004016116e0565b60206040518083038186803b15801561051d57600080fd5b505afa158015610531573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061055591906115dc565b90506001600160a01b03811661057d5760405162461bcd60e51b81526004016100a390611737565b6040516306302ef960e21b81526001600160a01b038216906318c0bbe4906105a990879060040161185d565b60206040518083038186803b1580156105c157600080fd5b505afa1580156105d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f9919061164c565b915061060685338461144b565b60405163095ea7b360e01b81526001600160a01b0386169063095ea7b390610634908490869060040161171e565b602060405180830381600087803b15801561064e57600080fd5b505af1158015610662573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610686919061162c565b5060405163733e738360e11b81526001600160a01b0382169063e67ce706906106b59087908790600401611874565b602060405180830381600087803b1580156106cf57600080fd5b505af11580156106e3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610707919061164c565b50600154604051632e1a7d4d60e01b81526001600160a01b0390911690632e1a7d4d9061073890879060040161185d565b600060405180830381600087803b15801561075257600080fd5b505af1158015610766573d6000803e3d6000fd5b505060405133925086156108fc02915086906000818181858888f19350505050158015610797573d6000803e3d6000fd5b50846001600160a01b0316336001600160a01b03167fc10793e450d0cc4ab5809296cbbe082cc527cfee15b594fff08c28feab94451086856040516107dd929190611866565b60405180910390a3506000805460ff191690559392505050565b6000805460ff161561081b5760405162461bcd60e51b81526004016100a39061175f565b6000805460ff191660011790553483146108475760405162461bcd60e51b81526004016100a3906117e5565b60008054600154604051630939d86360e11b81526001600160a01b03610100909304831692631273b0c6926108839291169089906004016116e0565b60206040518083038186803b15801561089b57600080fd5b505afa1580156108af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d391906115dc565b90506001600160a01b0381166108fb5760405162461bcd60e51b81526004016100a390611737565b600160009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0856040518263ffffffff1660e01b81526004016000604051808303818588803b15801561094b57600080fd5b505af115801561095f573d6000803e3d6000fd5b505060015460405163095ea7b360e01b81526001600160a01b03909116935063095ea7b3925061099691508490889060040161171e565b602060405180830381600087803b1580156109b057600080fd5b505af11580156109c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e8919061162c565b50604051638dae733360e01b81526001600160a01b03821690638dae733390610a179087908790600401611874565b602060405180830381600087803b158015610a3157600080fd5b505af1158015610a45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a69919061164c565b9150610a7685338461146b565b846001600160a01b0316336001600160a01b03167f34c63d7d6781002b1198cf817783bf9d106eaf1e16c52994f4a75e6437dba5f986856040516107dd929190611866565b6000805460ff1615610adf5760405162461bcd60e51b81526004016100a39061175f565b6000805460ff191660019081178083559054604051630939d86360e11b81526001600160a01b03610100909304831692631273b0c692610b269291169087906004016116e0565b60206040518083038186803b158015610b3e57600080fd5b505afa158015610b52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7691906115dc565b90506001600160a01b038116610b9e5760405162461bcd60e51b81526004016100a390611737565b6000816001600160a01b031663d689107c6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610bdb57600080fd5b505af1158015610bef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1391906115dc565b90506000816001600160a01b03166370a08231336040518263ffffffff1660e01b8152600401610c4391906116cc565b60206040518083038186803b158015610c5b57600080fd5b505afa158015610c6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c93919061164c565b6040516323b872dd60e01b81529091506001600160a01b038316906323b872dd90610cc6903390309086906004016116fa565b602060405180830381600087803b158015610ce057600080fd5b505af1158015610cf4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d18919061162c565b5060405163f98bea1560e01b81526001600160a01b0384169063f98bea1590610d4590899060040161185d565b602060405180830381600087803b158015610d5f57600080fd5b505af1158015610d73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d97919061164c565b506040516370a0823160e01b81526001600160a01b038316906370a0823190610dc49030906004016116cc565b60206040518083038186803b158015610ddc57600080fd5b505afa158015610df0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e14919061164c565b60405163a9059cbb60e01b81529091506001600160a01b0383169063a9059cbb90610e45903390859060040161171e565b602060405180830381600087803b158015610e5f57600080fd5b505af1158015610e73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e97919061162c565b506001546040516370a0823160e01b81526000916001600160a01b0316906370a0823190610ec99030906004016116cc565b60206040518083038186803b158015610ee157600080fd5b505afa158015610ef5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f19919061164c565b600154604051632e1a7d4d60e01b81529192506001600160a01b031690632e1a7d4d90610f4a90849060040161185d565b600060405180830381600087803b158015610f6457600080fd5b505af1158015610f78573d6000803e3d6000fd5b505060405133925083156108fc02915083906000818181858888f19350505050158015610fa9573d6000803e3d6000fd5b50836001600160a01b0316336001600160a01b03167f7d205d2201ccbc0483539873bec8fdf5ba90453d947e361d213e7414003fd81d83604051610fed919061185d565b60405180910390a36000805460ff191690559695505050505050565b6000805460ff161561102d5760405162461bcd60e51b81526004016100a39061175f565b6000805460ff191660019081178083559054604051630939d86360e11b81526001600160a01b03610100909304831692631273b0c6926110749291169087906004016116e0565b60206040518083038186803b15801561108c57600080fd5b505afa1580156110a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c491906115dc565b90506001600160a01b0381166110ec5760405162461bcd60e51b81526004016100a390611737565b6000816001600160a01b031663d689107c6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561112957600080fd5b505af115801561113d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061116191906115dc565b90506000816001600160a01b03166370a08231336040518263ffffffff1660e01b815260040161119191906116cc565b60206040518083038186803b1580156111a957600080fd5b505afa1580156111bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e1919061164c565b6040516323b872dd60e01b81529091506001600160a01b038316906323b872dd90611214903390309086906004016116fa565b602060405180830381600087803b15801561122e57600080fd5b505af1158015611242573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611266919061162c565b50826001600160a01b031663d47eaa376040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156112a257600080fd5b505af11580156112b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112da919061164c565b506001546040516370a0823160e01b81526000916001600160a01b0316906370a082319061130c9030906004016116cc565b60206040518083038186803b15801561132457600080fd5b505afa158015611338573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135c919061164c565b600154604051632e1a7d4d60e01b81529192506001600160a01b031690632e1a7d4d9061138d90849060040161185d565b600060405180830381600087803b1580156113a757600080fd5b505af11580156113bb573d6000803e3d6000fd5b505060405133925083156108fc02915083906000818181858888f193505050501580156113ec573d6000803e3d6000fd5b50836001600160a01b0316336001600160a01b03167f7d205d2201ccbc0483539873bec8fdf5ba90453d947e361d213e7414003fd81d83604051611430919061185d565b60405180910390a36000805460ff1916905595945050505050565b6114666001600160a01b03841683308463ffffffff61148516565b505050565b6114666001600160a01b038416838363ffffffff6114e316565b6114dd846323b872dd60e01b8585856040516024016114a6939291906116fa565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611502565b50505050565b6114668363a9059cbb60e01b84846040516024016114a692919061171e565b60006060836001600160a01b03168360405161151e9190611693565b6000604051808303816000865af19150503d806000811461155b576040519150601f19603f3d011682016040523d82523d6000602084013e611560565b606091505b5091509150816115825760405162461bcd60e51b81526004016100a390611782565b8051156114dd578080602001905181019061159d919061162c565b6114dd5760405162461bcd60e51b81526004016100a390611813565b6000602082840312156115ca578081fd5b81356115d581611891565b9392505050565b6000602082840312156115ed578081fd5b81516115d581611891565b60008060006060848603121561160c578182fd5b833561161781611891565b95602085013595506040909401359392505050565b60006020828403121561163d578081fd5b815180151581146115d5578182fd5b60006020828403121561165d578081fd5b5051919050565b60008060408385031215611676578182fd5b82359150602083013561168881611891565b809150509250929050565b60008251815b818110156116b35760208186018101518583015201611699565b818111156116c15782828501525b509190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b6020808252600e908201526d1113d113d7d393d517d1561254d560921b604082015260600190565b60208082526009908201526814915153951490539560ba1b604082015260600190565b6020808252818101527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604082015260600190565b60208082526014908201527357455f53415645445f594f55525f4554485f3a2960601b604082015260600190565b60208082526014908201527308aa890be829a9eaa9ca8be9c9ea8be9a82a886960631b604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b90815260200190565b918252602082015260400190565b918252602082015260606040820181905260009082015260800190565b6001600160a01b03811681146118a657600080fd5b5056fea264697066735822122051edfbfefc3245fa68b8f0c96c1b36278a45a6c215f9bf3eef6ec79d46cd71ac64736f6c63430006090033

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

0000000000000000000000003a97247df274a17c59a3bd12735ea3fcdfb49950000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2

-----Decoded View---------------
Arg [0] : dodoZoo (address): 0x3A97247DF274a17C59A3bd12735ea3FcDFb49950
Arg [1] : weth (address): 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000003a97247df274a17c59a3bd12735ea3fcdfb49950
Arg [1] : 000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2


Deployed Bytecode Sourcemap

10083:5946:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11123:6;;-1:-1:-1;;;;;11123:6:0;11109:10;:20;11101:53;;;;-1:-1:-1;;;11101:53:0;;;;;;;;;;;;;;;;;10083:5946;;11016:6;;-1:-1:-1;;;;;11016:6:0;11002:10;:20;10994:53;;;;-1:-1:-1;;;10994:53:0;;;;;;;;10198:29;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;10166:25;;;;;;;;;;;;;:::i;12799:563::-;;;;;;;;;:::i;11986:805::-;;;;;;;;;;-1:-1:-1;11986:805:0;;;;;;;;:::i;:::-;;;;;;;;11170:808;;;;;;;;;:::i;13370:1202::-;;;;;;;;;;-1:-1:-1;13370:1202:0;;;;;;;;:::i;14580:997::-;;;;;;;;;;-1:-1:-1;14580:997:0;;;;;;;;:::i;10198:29::-;;;-1:-1:-1;;;;;10198:29:0;;:::o;10166:25::-;;;;;;-1:-1:-1;;;;;10166:25:0;;:::o;12799:563::-;583:9;;;;582:10;574:32;;;;-1:-1:-1;;;574:32:0;;;;;;;;;617:9;:16;;-1:-1:-1;;617:16:0;629:4;617:16;;;12950:9:::1;:22:::0;::::1;12942:55;;;;-1:-1:-1::0;;;12942:55:0::1;;;;;;;;;13008:12;13032:10:::0;;::::1;13052:6:::0;13023:55:::1;::::0;-1:-1:-1;;;13023:55:0;;-1:-1:-1;;;;;13032:10:0::1;::::0;;::::1;::::0;::::1;::::0;13023:28:::1;::::0;:55:::1;::::0;13052:6;::::1;::::0;13060:17;;13023:55:::1;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13008:70:::0;-1:-1:-1;;;;;;13097:18:0;::::1;13089:45;;;;-1:-1:-1::0;;;13089:45:0::1;;;;;;;;;13151:6;;;;;;;;;-1:-1:-1::0;;;;;13151:6:0::1;-1:-1:-1::0;;;;;13145:21:0::1;;13174:9;13145:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;13203:6:0::1;::::0;13197:38:::1;::::0;-1:-1:-1;;;13197:38:0;;-1:-1:-1;;;;;13203:6:0;;::::1;::::0;-1:-1:-1;13197:21:0::1;::::0;-1:-1:-1;13197:38:0::1;::::0;-1:-1:-1;13219:4:0;;13225:9;;13197:38:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;13246:48:0::1;::::0;-1:-1:-1;;;13246:48:0;;-1:-1:-1;;;;;13246:25:0;::::1;::::0;::::1;::::0;:48:::1;::::0;13272:10:::1;::::0;13284:9;;13246:48:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13338:4;-1:-1:-1::0;;;;;13310:44:0::1;13326:10;-1:-1:-1::0;;;;;13310:44:0::1;;13344:9;13310:44;;;;;;;;;;;;;;;-1:-1:-1::0;;668:5:0;656:17;;-1:-1:-1;;656:17:0;;;-1:-1:-1;12799:563:0:o;11986:805::-;12148:22;583:9;;;;582:10;574:32;;;;-1:-1:-1;;;574:32:0;;;;;;;;;617:9;:16;;-1:-1:-1;;617:16:0;629:4;617:16;;;;;;12227:6;;12198:55:::1;::::0;-1:-1:-1;;;12198:55:0;;-1:-1:-1;;;;;617:16:0;12207:10;;::::1;::::0;::::1;::::0;12198:28:::1;::::0;:55:::1;::::0;12227:6;::::1;::::0;12235:17;;12198:55:::1;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12183:70:::0;-1:-1:-1;;;;;;12272:18:0;::::1;12264:45;;;;-1:-1:-1::0;;;12264:45:0::1;;;;;;;;;12337:40;::::0;-1:-1:-1;;;12337:40:0;;-1:-1:-1;;;;;12337:29:0;::::1;::::0;::::1;::::0;:40:::1;::::0;12367:9;;12337:40:::1;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12320:57;;12388:58;12400:17;12419:10;12431:14;12388:11;:58::i;:::-;12457:55;::::0;-1:-1:-1;;;12457:55:0;;-1:-1:-1;;;;;12457:33:0;::::1;::::0;::::1;::::0;:55:::1;::::0;12491:4;;12497:14;;12457:55:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;12523:58:0::1;::::0;-1:-1:-1;;;12523:58:0;;-1:-1:-1;;;;;12523:24:0;::::1;::::0;::::1;::::0;:58:::1;::::0;12548:9;;12559:17;;12523:58:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;12598:6:0::1;::::0;12592:33:::1;::::0;-1:-1:-1;;;12592:33:0;;-1:-1:-1;;;;;12598:6:0;;::::1;::::0;12592:22:::1;::::0;:33:::1;::::0;12615:9;;12592:33:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;12636:30:0::1;::::0;:10:::1;::::0;-1:-1:-1;12636:30:0;::::1;;;::::0;-1:-1:-1;12656:9:0;;12636:30:::1;::::0;;;12656:9;12636:10;:30;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;12706:17;-1:-1:-1::0;;;;;12682:69:0::1;12694:10;-1:-1:-1::0;;;;;12682:69:0::1;;12725:9;12736:14;12682:69;;;;;;;;;;;;;;;;-1:-1:-1::0;668:5:0;656:17;;-1:-1:-1;;656:17:0;;;11986:805;;-1:-1:-1;;;11986:805:0:o;11170:808::-;11343:26;583:9;;;;582:10;574:32;;;;-1:-1:-1;;;574:32:0;;;;;;;;;617:9;:16;;-1:-1:-1;;617:16:0;629:4;617:16;;;11390:9:::1;:22:::0;::::1;11382:55;;;;-1:-1:-1::0;;;11382:55:0::1;;;;;;;;;11448:12;11472:10:::0;;::::1;11492:6:::0;11463:55:::1;::::0;-1:-1:-1;;;11463:55:0;;-1:-1:-1;;;;;11472:10:0::1;::::0;;::::1;::::0;::::1;::::0;11463:28:::1;::::0;:55:::1;::::0;11492:6;::::1;::::0;11500:17;;11463:55:::1;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11448:70:::0;-1:-1:-1;;;;;;11537:18:0;::::1;11529:45;;;;-1:-1:-1::0;;;11529:45:0::1;;;;;;;;;11591:6;;;;;;;;;-1:-1:-1::0;;;;;11591:6:0::1;-1:-1:-1::0;;;;;11585:21:0::1;;11614:9;11585:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;11643:6:0::1;::::0;11637:38:::1;::::0;-1:-1:-1;;;11637:38:0;;-1:-1:-1;;;;;11643:6:0;;::::1;::::0;-1:-1:-1;11637:21:0::1;::::0;-1:-1:-1;11637:38:0::1;::::0;-1:-1:-1;11659:4:0;;11665:9;;11637:38:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;11707:63:0::1;::::0;-1:-1:-1;;;11707:63:0;;-1:-1:-1;;;;;11707:25:0;::::1;::::0;::::1;::::0;:63:::1;::::0;11733:9;;11744:21;;11707:63:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11686:84;;11781:63;11794:17;11813:10;11825:18;11781:12;:63::i;:::-;11885:17;-1:-1:-1::0;;;;;11860:74:0::1;11873:10;-1:-1:-1::0;;;;;11860:74:0::1;;11904:9;11915:18;11860:74;;;;;;;;13370:1202:::0;13499:22;583:9;;;;582:10;574:32;;;;-1:-1:-1;;;574:32:0;;;;;;;;;617:9;:16;;-1:-1:-1;;617:16:0;629:4;617:16;;;;;;13583:6;;13554:55:::1;::::0;-1:-1:-1;;;13554:55:0;;-1:-1:-1;;;;;617:16:0;13563:10;;::::1;::::0;::::1;::::0;13554:28:::1;::::0;:55:::1;::::0;13583:6;::::1;::::0;13591:17;;13554:55:::1;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13539:70:::0;-1:-1:-1;;;;;;13628:18:0;::::1;13620:45;;;;-1:-1:-1::0;;;13620:45:0::1;;;;;;;;;13676:18;13703:4;-1:-1:-1::0;;;;;13697:32:0::1;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13676:55;;13790:17;13817:10;-1:-1:-1::0;;;;;13810:28:0::1;;13839:10;13810:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13861:69;::::0;-1:-1:-1;;;13861:69:0;;13790:60;;-1:-1:-1;;;;;;13861:31:0;::::1;::::0;::::1;::::0;:69:::1;::::0;13893:10:::1;::::0;13913:4:::1;::::0;13790:60;;13861:69:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;13941:35:0::1;::::0;-1:-1:-1;;;13941:35:0;;-1:-1:-1;;;;;13941:24:0;::::1;::::0;::::1;::::0;:35:::1;::::0;13966:9;;13941:35:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;14055:43:0::1;::::0;-1:-1:-1;;;14055:43:0;;-1:-1:-1;;;;;14055:28:0;::::1;::::0;::::1;::::0;:43:::1;::::0;14092:4:::1;::::0;14055:43:::1;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14109:50;::::0;-1:-1:-1;;;14109:50:0;;14043:55;;-1:-1:-1;;;;;;14109:27:0;::::1;::::0;::::1;::::0;:50:::1;::::0;14137:10:::1;::::0;14043:55;;14109:50:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;14355:6:0::1;::::0;14348:39:::1;::::0;-1:-1:-1;;;14348:39:0;;14327:18:::1;::::0;-1:-1:-1;;;;;14355:6:0::1;::::0;14348:24:::1;::::0;:39:::1;::::0;14381:4:::1;::::0;14348:39:::1;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14404:6;::::0;14398:34:::1;::::0;-1:-1:-1;;;14398:34:0;;14327:60;;-1:-1:-1;;;;;;14404:6:0::1;::::0;14398:22:::1;::::0;:34:::1;::::0;14327:60;;14398:34:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;14443:31:0::1;::::0;:10:::1;::::0;-1:-1:-1;14443:31:0;::::1;;;::::0;-1:-1:-1;14463:10:0;;14443:31:::1;::::0;;;14463:10;14443;:31;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;14519:4;-1:-1:-1::0;;;;;14490:46:0::1;14507:10;-1:-1:-1::0;;;;;14490:46:0::1;;14525:10;14490:46;;;;;;;;;;;;;;;668:5:::0;656:17;;-1:-1:-1;;656:17:0;;;14554:10;13370:1202;-1:-1:-1;;;;;;13370:1202:0:o;14580:997::-;14693:22;583:9;;;;582:10;574:32;;;;-1:-1:-1;;;574:32:0;;;;;;;;;617:9;:16;;-1:-1:-1;;617:16:0;629:4;617:16;;;;;;14777:6;;14748:55:::1;::::0;-1:-1:-1;;;14748:55:0;;-1:-1:-1;;;;;617:16:0;14757:10;;::::1;::::0;::::1;::::0;14748:28:::1;::::0;:55:::1;::::0;14777:6;::::1;::::0;14785:17;;14748:55:::1;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14733:70:::0;-1:-1:-1;;;;;;14822:18:0;::::1;14814:45;;;;-1:-1:-1::0;;;14814:45:0::1;;;;;;;;;14870:18;14897:4;-1:-1:-1::0;;;;;14891:32:0::1;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14870:55;;14984:17;15011:10;-1:-1:-1::0;;;;;15004:28:0::1;;15033:10;15004:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15055:69;::::0;-1:-1:-1;;;15055:69:0;;14984:60;;-1:-1:-1;;;;;;15055:31:0;::::1;::::0;::::1;::::0;:69:::1;::::0;15087:10:::1;::::0;15107:4:::1;::::0;14984:60;;15055:69:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15141:4;-1:-1:-1::0;;;;;15135:27:0::1;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;15360:6:0::1;::::0;15353:39:::1;::::0;-1:-1:-1;;;15353:39:0;;15332:18:::1;::::0;-1:-1:-1;;;;;15360:6:0::1;::::0;15353:24:::1;::::0;:39:::1;::::0;15386:4:::1;::::0;15353:39:::1;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15409:6;::::0;15403:34:::1;::::0;-1:-1:-1;;;15403:34:0;;15332:60;;-1:-1:-1;;;;;;15409:6:0::1;::::0;15403:22:::1;::::0;:34:::1;::::0;15332:60;;15403:34:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;15448:31:0::1;::::0;:10:::1;::::0;-1:-1:-1;15448:31:0;::::1;;;::::0;-1:-1:-1;15468:10:0;;15448:31:::1;::::0;;;15468:10;15448;:31;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;15524:4;-1:-1:-1::0;;;;;15495:46:0::1;15512:10;-1:-1:-1::0;;;;;15495:46:0::1;;15530:10;15495:46;;;;;;;;;;;;;;;668:5:::0;656:17;;-1:-1:-1;;656:17:0;;;15559:10;14580:997;-1:-1:-1;;;;;14580:997:0:o;15638:201::-;15765:66;-1:-1:-1;;;;;15765:37:0;;15803:4;15817;15824:6;15765:66;:37;:66;:::i;:::-;15638:201;;;:::o;15847:179::-;15973:45;-1:-1:-1;;;;;15973:33:0;;16007:2;16011:6;15973:45;:33;:45;:::i;5571:285::-;5715:133;5749:5;5792:27;;;5821:4;5827:2;5831:5;5769:68;;;;;;;;;;;;;;;-1:-1:-1;;5769:68:0;;;;;;;;;;;;;;-1:-1:-1;;;;;5769:68:0;-1:-1:-1;;;;;;5769:68:0;;;;;;;;;;5715:19;:133::i;:::-;5571:285;;;;:::o;5352:211::-;5469:86;5489:5;5519:23;;;5544:2;5548:5;5496:58;;;;;;;;;;6247:1046;6907:12;6921:23;6956:5;-1:-1:-1;;;;;6948:19:0;6968:4;6948:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6906:67;;;;6992:7;6984:52;;;;-1:-1:-1;;;6984:52:0;;;;;;;;;7053:17;;:21;7049:237;;7208:10;7197:30;;;;;;;;;;;;;;7189:85;;;;-1:-1:-1;;;7189:85:0;;;;;;;;696:241:-1;;800:2;788:9;779:7;775:23;771:32;768:2;;;-1:-1;;806:12;768:2;85:6;72:20;97:33;124:5;97:33;;;858:63;762:175;-1:-1;;;762:175;944:263;;1059:2;1047:9;1038:7;1034:23;1030:32;1027:2;;;-1:-1;;1065:12;1027:2;226:6;220:13;238:33;265:5;238:33;;1214:491;;;;1352:2;1340:9;1331:7;1327:23;1323:32;1320:2;;;-1:-1;;1358:12;1320:2;85:6;72:20;97:33;124:5;97:33;;;1410:63;1510:2;1549:22;;485:20;;-1:-1;1618:2;1657:22;;;485:20;;1314:391;-1:-1;;;1314:391;1712:257;;1824:2;1812:9;1803:7;1799:23;1795:32;1792:2;;;-1:-1;;1830:12;1792:2;364:6;358:13;14548:5;13454:13;13447:21;14526:5;14523:32;14513:2;;-1:-1;;14559:12;1976:263;;2091:2;2079:9;2070:7;2066:23;2062:32;2059:2;;;-1:-1;;2097:12;2059:2;-1:-1;633:13;;2053:186;-1:-1;2053:186;2246:366;;;2367:2;2355:9;2346:7;2342:23;2338:32;2335:2;;;-1:-1;;2373:12;2335:2;498:6;485:20;2425:63;;2525:2;2568:9;2564:22;72:20;97:33;124:5;97:33;;;2533:63;;;;2329:283;;;;;;5811:271;;3192:5;12647:12;-1:-1;14139:101;14153:6;14150:1;14147:13;14139:101;;;3336:4;14220:11;;;;;14214:18;14201:11;;;14194:39;14168:10;14139:101;;;14255:6;14252:1;14249:13;14246:2;;;-1:-1;14311:6;14306:3;14302:16;14295:27;14246:2;-1:-1;3367:16;;;;;5945:137;-1:-1;;5945:137;6089:222;-1:-1;;;;;13542:54;;;;2855:45;;6216:2;6201:18;;6187:124;6824:349;-1:-1;;;;;13542:54;;;2698:58;;13542:54;;7159:2;7144:18;;2855:45;6987:2;6972:18;;6958:215;7180:476;-1:-1;;;;;13542:54;;;2698:58;;13542:54;;;;7559:2;7544:18;;2698:58;7642:2;7627:18;;5762:37;;;;7379:2;7364:18;;7350:306;7663:349;-1:-1;;;;;13542:54;;;;2698:58;;7998:2;7983:18;;5762:37;7826:2;7811:18;;7797:215;8810:416;9010:2;9024:47;;;3620:2;8995:18;;;12791:19;-1:-1;;;12831:14;;;3636:37;3692:12;;;8981:245;9233:416;9433:2;9447:47;;;3943:1;9418:18;;;12791:19;-1:-1;;;12831:14;;;3958:32;4009:12;;;9404:245;9656:416;9856:2;9870:47;;;9841:18;;;12791:19;4296:34;12831:14;;;4276:55;4350:12;;;9827:245;10079:416;10279:2;10293:47;;;4601:2;10264:18;;;12791:19;-1:-1;;;12831:14;;;4617:43;4679:12;;;10250:245;10502:416;10702:2;10716:47;;;5199:2;10687:18;;;12791:19;-1:-1;;;12831:14;;;5215:43;5277:12;;;10673:245;10925:416;11125:2;11139:47;;;5528:2;11110:18;;;12791:19;5564:34;12831:14;;;5544:55;-1:-1;;;5619:12;;;5612:34;5665:12;;;11096:245;11348:222;5762:37;;;11475:2;11460:18;;11446:124;11577:333;5762:37;;;11896:2;11881:18;;5762:37;11732:2;11717:18;;11703:207;11917:636;5762:37;;;12336:2;12321:18;;5762:37;12172:2;12373;12358:18;;12351:48;;;11917:636;12157:18;;;12791:19;12831:14;;;12143:410;14343:117;-1:-1;;;;;13542:54;;14402:35;;14392:2;;14451:1;;14441:12;14392:2;14386:74;

Swarm Source

ipfs://51edfbfefc3245fa68b8f0c96c1b36278a45a6c215f9bf3eef6ec79d46cd71ac

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.