ETH Price: $1,800.97 (+7.47%)

Contract

0xa74d49D38df7092688686973C468C94a542294B3
Transaction Hash
Method
Block
From
To
Vault In2286616572024-07-04 11:50:57293 days ago1720093857IN
0xa74d49D3...a542294B3
0 ETH0.000001720.01
Vault In2286605632024-07-04 11:46:23293 days ago1720093583IN
0xa74d49D3...a542294B3
0 ETH0.000001890.01
Withdraw Fee2262645892024-06-27 13:04:50300 days ago1719493490IN
0xa74d49D3...a542294B3
0 ETH0.000001220.028441
Vault In2240193302024-06-21 1:05:05306 days ago1718931905IN
0xa74d49D3...a542294B3
0 ETH0.000000610.01
Vault In2240193262024-06-21 1:05:02306 days ago1718931902IN
0xa74d49D3...a542294B3
0 ETH0.000000610.01
Vault In2240192962024-06-21 1:04:54306 days ago1718931894IN
0xa74d49D3...a542294B3
0 ETH0.000000610.01
Vault In2240192372024-06-21 1:04:39306 days ago1718931879IN
0xa74d49D3...a542294B3
0 ETH0.000000610.01
Vault In2240191302024-06-21 1:04:13306 days ago1718931853IN
0xa74d49D3...a542294B3
0 ETH0.000000610.01
Vault In2239763332024-06-20 22:06:01306 days ago1718921161IN
0xa74d49D3...a542294B3
0 ETH0.000000610.01
Vault In2239106342024-06-20 17:32:13306 days ago1718904733IN
0xa74d49D3...a542294B3
0 ETH0.001103050.01
Vault In2239093652024-06-20 17:26:56306 days ago1718904416IN
0xa74d49D3...a542294B3
0 ETH0.001324050.01
Vault In2239082122024-06-20 17:22:09306 days ago1718904129IN
0xa74d49D3...a542294B3
0 ETH0.001634240.01
Vault In2239059412024-06-20 17:12:42306 days ago1718903562IN
0xa74d49D3...a542294B3
0 ETH0.001909010.01
Vault In2239042142024-06-20 17:05:34306 days ago1718903134IN
0xa74d49D3...a542294B3
0 ETH0.002552230.01
Vault In2239005612024-06-20 16:51:33306 days ago1718902293IN
0xa74d49D3...a542294B3
0 ETH0.000388810.047195
Vault In2239005292024-06-20 16:51:25306 days ago1718902285IN
0xa74d49D3...a542294B3
0 ETH0.000388960.049652
Vault In2239005202024-06-20 16:51:23306 days ago1718902283IN
0xa74d49D3...a542294B3
0 ETH0.000388990.050216
Vault In2239003342024-06-20 16:50:36306 days ago1718902236IN
0xa74d49D3...a542294B3
0 ETH0.000390030.066972
Vault In2238980952024-06-20 16:41:49306 days ago1718901709IN
0xa74d49D3...a542294B3
0 ETH0.000128540.462135
Vault In2238968172024-06-20 16:36:40306 days ago1718901400IN
0xa74d49D3...a542294B3
0 ETH0.000052460.670612
Vault In2238958572024-06-20 16:32:47306 days ago1718901167IN
0xa74d49D3...a542294B3
0 ETH0.000054410.851678
Vault In2238946772024-06-20 16:27:50306 days ago1718900870IN
0xa74d49D3...a542294B3
0 ETH0.000060320.947517
Vault In2238937562024-06-20 16:24:03306 days ago1718900643IN
0xa74d49D3...a542294B3
0 ETH0.000062680.997056
Vault In2238930812024-06-20 16:21:13306 days ago1718900473IN
0xa74d49D3...a542294B3
0 ETH0.000060050.95414
Vault In2238909882024-06-20 16:12:35306 days ago1718899955IN
0xa74d49D3...a542294B3
0 ETH0.000066211.008239
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
2262645892024-06-27 13:04:50300 days ago1719493490
0xa74d49D3...a542294B3
3.81417748 ETH
2240193302024-06-21 1:05:05306 days ago1718931905
0xa74d49D3...a542294B3
0.00203103 ETH
2240193262024-06-21 1:05:02306 days ago1718931902
0xa74d49D3...a542294B3
0.00289132 ETH
2240192962024-06-21 1:04:54306 days ago1718931894
0xa74d49D3...a542294B3
0.00257081 ETH
2240192372024-06-21 1:04:39306 days ago1718931879
0xa74d49D3...a542294B3
0.00221273 ETH
2240191302024-06-21 1:04:13306 days ago1718931853
0xa74d49D3...a542294B3
0.00259708 ETH
2239763332024-06-20 22:06:01306 days ago1718921161
0xa74d49D3...a542294B3
0.00201272 ETH
2239106342024-06-20 17:32:13306 days ago1718904733
0xa74d49D3...a542294B3
0.00280161 ETH
2239093652024-06-20 17:26:56306 days ago1718904416
0xa74d49D3...a542294B3
0.00290266 ETH
2239082122024-06-20 17:22:09306 days ago1718904129
0xa74d49D3...a542294B3
0.00269517 ETH
2239059412024-06-20 17:12:42306 days ago1718903562
0xa74d49D3...a542294B3
0.00277598 ETH
2239042142024-06-20 17:05:34306 days ago1718903134
0xa74d49D3...a542294B3
0.00150554 ETH
2239005612024-06-20 16:51:33306 days ago1718902293
0xa74d49D3...a542294B3
0.0018731 ETH
2239005292024-06-20 16:51:25306 days ago1718902285
0xa74d49D3...a542294B3
0.00267934 ETH
2239005202024-06-20 16:51:23306 days ago1718902283
0xa74d49D3...a542294B3
0.00191396 ETH
2239003342024-06-20 16:50:36306 days ago1718902236
0xa74d49D3...a542294B3
0.00226331 ETH
2238980952024-06-20 16:41:49306 days ago1718901709
0xa74d49D3...a542294B3
0.00279622 ETH
2238968172024-06-20 16:36:40306 days ago1718901400
0xa74d49D3...a542294B3
0.00152723 ETH
2238958572024-06-20 16:32:47306 days ago1718901167
0xa74d49D3...a542294B3
0.00177992 ETH
2238946772024-06-20 16:27:50306 days ago1718900870
0xa74d49D3...a542294B3
0.00166095 ETH
2238937562024-06-20 16:24:03306 days ago1718900643
0xa74d49D3...a542294B3
0.0029621 ETH
2238930812024-06-20 16:21:13306 days ago1718900473
0xa74d49D3...a542294B3
0.00258808 ETH
2238909882024-06-20 16:12:35306 days ago1718899955
0xa74d49D3...a542294B3
0.00153309 ETH
2238877192024-06-20 15:59:04306 days ago1718899144
0xa74d49D3...a542294B3
0.0026866 ETH
2238857472024-06-20 15:50:49306 days ago1718898649
0xa74d49D3...a542294B3
0.00162191 ETH
View All Internal Transactions

Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MinterProxy

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Arbiscan.io on 2024-02-04
*/

// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.9;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

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

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 IERC20Permit {
    function permit(
        address owner,
        address spender,
        uint256 value,
        uint256 deadline,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external;

    function nonces(address owner) external view returns (uint256);

    function DOMAIN_SEPARATOR() external view returns (bytes32);
}

library Address {
    function isContract(address account) internal view returns (bool) {
        return account.code.length > 0;
    }

    function sendValue(address payable recipient, uint256 amount) internal {
        require(
            address(this).balance >= amount,
            "Address: insufficient balance"
        );

        (bool success, ) = recipient.call{value: amount}("");
        require(
            success,
            "Address: unable to send value, recipient may have reverted"
        );
    }

    function functionCall(
        address target,
        bytes memory data
    ) internal returns (bytes memory) {
        return
            functionCallWithValue(
                target,
                data,
                0,
                "Address: low-level call failed"
            );
    }

    function functionCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal returns (bytes memory) {
        return functionCallWithValue(target, data, 0, errorMessage);
    }

    function functionCallWithValue(
        address target,
        bytes memory data,
        uint256 value
    ) internal returns (bytes memory) {
        return
            functionCallWithValue(
                target,
                data,
                value,
                "Address: low-level call with value failed"
            );
    }

    function functionCallWithValue(
        address target,
        bytes memory data,
        uint256 value,
        string memory errorMessage
    ) internal returns (bytes memory) {
        require(
            address(this).balance >= value,
            "Address: insufficient balance for call"
        );
        (bool success, bytes memory returndata) = target.call{value: value}(
            data
        );
        return
            verifyCallResultFromTarget(
                target,
                success,
                returndata,
                errorMessage
            );
    }

    function functionStaticCall(
        address target,
        bytes memory data
    ) internal view returns (bytes memory) {
        return
            functionStaticCall(
                target,
                data,
                "Address: low-level static call failed"
            );
    }

    function functionStaticCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal view returns (bytes memory) {
        (bool success, bytes memory returndata) = target.staticcall(data);
        return
            verifyCallResultFromTarget(
                target,
                success,
                returndata,
                errorMessage
            );
    }

    function functionDelegateCall(
        address target,
        bytes memory data
    ) internal returns (bytes memory) {
        return
            functionDelegateCall(
                target,
                data,
                "Address: low-level delegate call failed"
            );
    }

    function functionDelegateCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal returns (bytes memory) {
        (bool success, bytes memory returndata) = target.delegatecall(data);
        return
            verifyCallResultFromTarget(
                target,
                success,
                returndata,
                errorMessage
            );
    }

    function verifyCallResultFromTarget(
        address target,
        bool success,
        bytes memory returndata,
        string memory errorMessage
    ) internal view returns (bytes memory) {
        if (success) {
            if (returndata.length == 0) {
                // only check isContract if the call was successful and the return data is empty
                // otherwise we already know that it was a contract
                require(isContract(target), "Address: call to non-contract");
            }
            return returndata;
        } else {
            _revert(returndata, errorMessage);
        }
    }

    function verifyCallResult(
        bool success,
        bytes memory returndata,
        string memory errorMessage
    ) internal pure returns (bytes memory) {
        if (success) {
            return returndata;
        } else {
            _revert(returndata, errorMessage);
        }
    }

    function _revert(
        bytes memory returndata,
        string memory errorMessage
    ) private pure {
        // Look for revert reason and bubble it up if present
        if (returndata.length > 0) {
            // The easiest way to bubble the revert reason is using memory via assembly
            /// @solidity memory-safe-assembly
            assembly {
                let returndata_size := mload(returndata)
                revert(add(32, returndata), returndata_size)
            }
        } else {
            revert(errorMessage);
        }
    }
}

library SafeERC20 {
    using Address for address;

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

    function safeApprove(
        IERC20 token,
        address spender,
        uint256 value
    ) internal {
        require(
            (value == 0) || (token.allowance(address(this), spender) == 0),
            "SafeERC20: approve from non-zero to non-zero allowance"
        );
        _callOptionalReturn(
            token,
            abi.encodeWithSelector(token.approve.selector, spender, value)
        );
    }

    function safeIncreaseAllowance(
        IERC20 token,
        address spender,
        uint256 value
    ) internal {
        uint256 oldAllowance = token.allowance(address(this), spender);
        _callOptionalReturn(
            token,
            abi.encodeWithSelector(
                token.approve.selector,
                spender,
                oldAllowance + value
            )
        );
    }

    function safeDecreaseAllowance(
        IERC20 token,
        address spender,
        uint256 value
    ) internal {
        unchecked {
            uint256 oldAllowance = token.allowance(address(this), spender);
            require(
                oldAllowance >= value,
                "SafeERC20: decreased allowance below zero"
            );
            _callOptionalReturn(
                token,
                abi.encodeWithSelector(
                    token.approve.selector,
                    spender,
                    oldAllowance - value
                )
            );
        }
    }

    function forceApprove(
        IERC20 token,
        address spender,
        uint256 value
    ) internal {
        bytes memory approvalCall = abi.encodeWithSelector(
            token.approve.selector,
            spender,
            value
        );

        if (!_callOptionalReturnBool(token, approvalCall)) {
            _callOptionalReturn(
                token,
                abi.encodeWithSelector(token.approve.selector, spender, 0)
            );
            _callOptionalReturn(token, approvalCall);
        }
    }

    function safePermit(
        IERC20Permit token,
        address owner,
        address spender,
        uint256 value,
        uint256 deadline,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) internal {
        uint256 nonceBefore = token.nonces(owner);
        token.permit(owner, spender, value, deadline, v, r, s);
        uint256 nonceAfter = token.nonces(owner);
        require(
            nonceAfter == nonceBefore + 1,
            "SafeERC20: permit did not succeed"
        );
    }

    function _callOptionalReturn(IERC20 token, bytes memory data) private {
        bytes memory returndata = address(token).functionCall(
            data,
            "SafeERC20: low-level call failed"
        );
        require(
            returndata.length == 0 || abi.decode(returndata, (bool)),
            "SafeERC20: ERC20 operation did not succeed"
        );
    }

    function _callOptionalReturnBool(
        IERC20 token,
        bytes memory data
    ) private returns (bool) {
        (bool success, bytes memory returndata) = address(token).call(data);
        return
            success &&
            (returndata.length == 0 || abi.decode(returndata, (bool))) &&
            Address.isContract(address(token));
    }
}

abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    constructor() {
        _transferOwnership(_msgSender());
    }

    function owner() public view virtual returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(
            newOwner != address(0),
            "Ownable: new owner is the zero address"
        );
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

abstract contract Controller is Ownable {
    event ControllerAdded(address controller);
    event ControllerRemoved(address controller);
    mapping(address => bool) controllers;
    uint8 public controllerCnt = 0;

    modifier onlyController() {
        require(isController(_msgSender()), "no controller rights");
        _;
    }

    function isController(address _controller) public view returns (bool) {
        return _controller == owner() || controllers[_controller];
    }

    function addController(address _controller) public onlyOwner {
        if (controllers[_controller] == false) {
            controllers[_controller] = true;
            controllerCnt++;
        }
        emit ControllerAdded(_controller);
    }

    function removeController(address _controller) public onlyOwner {
        if (controllers[_controller] == true) {
            controllers[_controller] = false;
            controllerCnt--;
        }
        emit ControllerRemoved(_controller);
    }
}

library TransferHelper {
    function safeTransferNative(address to, uint256 value) internal {
        (bool success, ) = to.call{value: value}(new bytes(0));
        require(success, "TransferHelper: NATIVE_TRANSFER_FAILED");
    }
}

contract MinterProxy is Controller {
    using SafeERC20 for IERC20;
    using Address for address;
    using Address for address payable;

    address public immutable NATIVE;

    uint256 MAX_UINT256 =
        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff;

    mapping(uint256 => bool) public completedOrder;

    address public liquidpool;

    event LogVaultIn(
        address indexed token,
        uint256 indexed orderID,
        address indexed receiver,
        uint256 amount
    );
    event LogVaultOut(
        address indexed token,
        address indexed from,
        uint256 fromChainID,
        uint256 amount,
        string toChain,
        string toAddr
    );

    event LogVaultCall(
        address indexed target,
        uint256 amount,
        bool success,
        bytes reason
    );

    constructor(address _NATIVE, address _liquidpool) {
        require(_NATIVE != address(0), "MP: NATIVE is empty");
        require(_liquidpool != address(0), "MP: Liquidpool is empty");
        NATIVE = _NATIVE;
        liquidpool = _liquidpool;
    }

    receive() external payable {}

    fallback() external payable {}

    function chainID() public view returns (uint) {
        return block.chainid;
    }

    function setLiquidpool(address _liquidpool) external onlyOwner {
        require(_liquidpool != address(0), "MP: Liquidpool is empty");
        liquidpool = _liquidpool;
    }

    function isUUIDCompleted(uint256 uuid) external view returns (bool) {
        return completedOrder[uuid];
    }

    function _registerOrder(uint256 uuid) internal {
        require(!completedOrder[uuid], "MP: already completed");
        completedOrder[uuid] = true;
    }

    function _balanceOf(address receiveToken) internal view returns (uint256) {
        uint256 _balance;
        if (receiveToken == NATIVE) {
            _balance = address(this).balance;
        } else {
            _balance = IERC20(receiveToken).balanceOf(address(liquidpool));
        }
        return _balance;
    }

    function _balanceOfSelf(
        address receiveToken
    ) internal view returns (uint256) {
        uint256 _balance;
        if (receiveToken == NATIVE) {
            _balance = address(this).balance;
        } else {
            _balance = IERC20(receiveToken).balanceOf(address(this));
        }
        return _balance;
    }

    function vaultIn(
        uint256 orderID,
        address tokenAddr,
        address toAddr,
        uint256 amount
    ) external onlyController {
        _registerOrder(orderID);
        require(_balanceOf(tokenAddr) >= amount, "MP: insufficient balance");
        if (tokenAddr == NATIVE) {
            TransferHelper.safeTransferNative(toAddr, amount);
        } else {
            IERC20(tokenAddr).safeTransferFrom(liquidpool, toAddr, amount);
        }
        emit LogVaultIn(tokenAddr, orderID, toAddr, amount);
    }

    function vaultInAndCall(
        uint256 orderID,
        address tokenAddr,
        address toAddr,
        uint256 amount,
        bool isNative,
        address receiver,
        address receiveToken,
        bytes calldata data
    ) external onlyController {
        require(_balanceOf(tokenAddr) >= amount, "MP: insufficient balance");
        require(
            (receiveToken == NATIVE) == isNative,
            "MP: insufficient balance"
        );
        require(data.length > 0, "MP: data empty");
        _registerOrder(orderID);
        bool fromTokenNative = tokenAddr == NATIVE;
        if (!fromTokenNative) {
            IERC20(tokenAddr).safeTransferFrom(
                liquidpool,
                address(this),
                amount
            );
            if (IERC20(tokenAddr).allowance(address(this), toAddr) < amount) {
                IERC20(tokenAddr).approve(toAddr, MAX_UINT256);
            }
        }

        uint256 amountOut = _callAndTransfer(
            toAddr,
            fromTokenNative ? amount : 0,
            isNative,
            receiver,
            receiveToken,
            data
        );

        emit LogVaultIn(receiveToken, orderID, receiver, amountOut);
    }

    function call(
        address _target,
        bytes calldata _data
    ) external payable onlyController {
        (bool success, bytes memory result) = _target.call{value: msg.value}(
            _data
        );
        emit LogVaultCall(_target, msg.value, success, result);
    }

    function _callAndTransfer(
        address contractAddr,
        uint256 fromNativeAmount,
        bool isNative,
        address receiver,
        address receiveToken,
        bytes calldata data
    ) internal returns (uint256) {
        uint256 old_balance = _balanceOfSelf(receiveToken);

        if (fromNativeAmount > 0) {
            // address payable to = payable(contractAddr);
            contractAddr.functionCallWithValue(
                data,
                fromNativeAmount,
                "MP: callAndTransfer failed"
            );
        } else {
            contractAddr.functionCall(data, "MP: callAndTransfer failed");
        }

        uint256 new_balance = _balanceOfSelf(receiveToken);
        require(new_balance > old_balance, "MP: receiver should get assets");
        uint256 amountOut = new_balance - old_balance;

        if (receiver != address(this)) {
            if (isNative) {
                TransferHelper.safeTransferNative(receiver, amountOut);
            } else {
                IERC20(receiveToken).safeTransfer(receiver, amountOut);
            }
        }
        return amountOut;
    }

    function withdrawFee(
        address token,
        uint256 amount
    ) external onlyController {
        if (token == NATIVE) {
            uint256 balance = address(this).balance;
            uint256 tmp = balance > amount ? amount : balance;
            TransferHelper.safeTransferNative(owner(), tmp);
        } else {
            uint256 balance = IERC20(token).balanceOf(address(this));
            uint256 tmp = balance > amount ? amount : balance;
            IERC20(token).safeTransfer(owner(), tmp);
        }
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_NATIVE","type":"address"},{"internalType":"address","name":"_liquidpool","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"controller","type":"address"}],"name":"ControllerAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"controller","type":"address"}],"name":"ControllerRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"target","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"bool","name":"success","type":"bool"},{"indexed":false,"internalType":"bytes","name":"reason","type":"bytes"}],"name":"LogVaultCall","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":true,"internalType":"uint256","name":"orderID","type":"uint256"},{"indexed":true,"internalType":"address","name":"receiver","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"LogVaultIn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"fromChainID","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"string","name":"toChain","type":"string"},{"indexed":false,"internalType":"string","name":"toAddr","type":"string"}],"name":"LogVaultOut","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"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_controller","type":"address"}],"name":"addController","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_target","type":"address"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"call","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"chainID","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"completedOrder","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"controllerCnt","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_controller","type":"address"}],"name":"isController","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"uuid","type":"uint256"}],"name":"isUUIDCompleted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidpool","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_controller","type":"address"}],"name":"removeController","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_liquidpool","type":"address"}],"name":"setLiquidpool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"orderID","type":"uint256"},{"internalType":"address","name":"tokenAddr","type":"address"},{"internalType":"address","name":"toAddr","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"vaultIn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"orderID","type":"uint256"},{"internalType":"address","name":"tokenAddr","type":"address"},{"internalType":"address","name":"toAddr","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"isNative","type":"bool"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"address","name":"receiveToken","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"vaultInAndCall","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a06040526002805460ff191690556000196003553480156200002157600080fd5b5060405162001a2238038062001a22833981016040819052620000449162000199565b6200004f336200012c565b6001600160a01b038216620000ab5760405162461bcd60e51b815260206004820152601360248201527f4d503a204e415449564520697320656d7074790000000000000000000000000060448201526064015b60405180910390fd5b6001600160a01b038116620001035760405162461bcd60e51b815260206004820152601760248201527f4d503a204c6971756964706f6f6c20697320656d7074790000000000000000006044820152606401620000a2565b6001600160a01b03918216608052600580546001600160a01b03191691909216179055620001d1565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146200019457600080fd5b919050565b60008060408385031215620001ad57600080fd5b620001b8836200017c565b9150620001c8602084016200017c565b90509250929050565b60805161180b62000217600039600081816102100152818161055c015281816105f9015281816108f101528181610b3d01528181610c5401526111dc015261180b6000f3fe6080604052600436106100eb5760003560e01c8063acf234e911610084578063eeb858b511610056578063eeb858b5146102cd578063f2fde38b146102ed578063f6a74ed71461030d578063fd9be5221461032d57005b8063acf234e914610252578063adc879e914610272578063b429afeb1461028d578063d039eff2146102ad57005b806378bbe8b6116100bd57806378bbe8b6146101b45780638da5cb5b146101e0578063a0cf0aea146101fe578063a7fc7a071461023257005b80630833bc9a146100f45780631b8b921d146101395780635e9252921461014c578063681b19ff1461018457005b366100f257005b005b34801561010057600080fd5b5061012461010f3660046113d0565b60009081526004602052604090205460ff1690565b60405190151581526020015b60405180910390f35b6100f261014736600461144e565b61034d565b34801561015857600080fd5b5060055461016c906001600160a01b031681565b6040516001600160a01b039091168152602001610130565b34801561019057600080fd5b5061012461019f3660046113d0565b60046020526000908152604090205460ff1681565b3480156101c057600080fd5b506002546101ce9060ff1681565b60405160ff9091168152602001610130565b3480156101ec57600080fd5b506000546001600160a01b031661016c565b34801561020a57600080fd5b5061016c7f000000000000000000000000000000000000000000000000000000000000000081565b34801561023e57600080fd5b506100f261024d3660046114a1565b61042c565b34801561025e57600080fd5b506100f261026d3660046114ca565b61050a565b34801561027e57600080fd5b50604051468152602001610130565b34801561029957600080fd5b506101246102a83660046114a1565b6107bc565b3480156102b957600080fd5b506100f26102c83660046114a1565b6107f7565b3480156102d957600080fd5b506100f26102e8366004611579565b610899565b3480156102f957600080fd5b506100f26103083660046114a1565b6109a6565b34801561031957600080fd5b506100f26103283660046114a1565b610a41565b34801561033957600080fd5b506100f26103483660046115bd565b610b16565b610356336107bc565b61037b5760405162461bcd60e51b8152600401610372906115e7565b60405180910390fd5b600080846001600160a01b0316348585604051610399929190611615565b60006040518083038185875af1925050503d80600081146103d6576040519150601f19603f3d011682016040523d82523d6000602084013e6103db565b606091505b5091509150846001600160a01b03167fbb9c4c4e98e306e63e340c78eed06da47fecfc0e2e0c6e88b42aca99dc5d52c334848460405161041d93929190611675565b60405180910390a25050505050565b6000546001600160a01b031633146104565760405162461bcd60e51b81526004016103729061169f565b6001600160a01b03811660009081526001602052604081205460ff16151590036104ca576001600160a01b03811660009081526001602081905260408220805460ff191690911790556002805460ff16916104b0836116ea565b91906101000a81548160ff021916908360ff160217905550505b6040516001600160a01b03821681527f0a8bb31534c0ed46f380cb867bd5c803a189ced9a764e30b3a4991a9901d7474906020015b60405180910390a150565b610513336107bc565b61052f5760405162461bcd60e51b8152600401610372906115e7565b8561053989610c4f565b10156105575760405162461bcd60e51b815260040161037290611709565b8415157f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b0316141515146105ae5760405162461bcd60e51b815260040161037290611709565b806105ec5760405162461bcd60e51b815260206004820152600e60248201526d4d503a206461746120656d70747960901b6044820152606401610372565b6105f589610d08565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316896001600160a01b0316149050806107415760055461064e906001600160a01b038b81169116308a610d7a565b604051636eb1769f60e11b81523060048201526001600160a01b0389811660248301528891908b169063dd62ed3e90604401602060405180830381865afa15801561069d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c19190611740565b10156107415760035460405163095ea7b360e01b81526001600160a01b038a811660048301526024820192909252908a169063095ea7b3906044016020604051808303816000875af115801561071b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073f9190611759565b505b600061075f8983610753576000610755565b895b8989898989610de5565b9050856001600160a01b03168b866001600160a01b03167fe849996be7e6e06728e1d82ed9c1147c36ff3f4052e8755855f081ad62a6ea7f846040516107a791815260200190565b60405180910390a45050505050505050505050565b600080546001600160a01b03838116911614806107f157506001600160a01b03821660009081526001602052604090205460ff165b92915050565b6000546001600160a01b031633146108215760405162461bcd60e51b81526004016103729061169f565b6001600160a01b0381166108775760405162461bcd60e51b815260206004820152601760248201527f4d503a204c6971756964706f6f6c20697320656d7074790000000000000000006044820152606401610372565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6108a2336107bc565b6108be5760405162461bcd60e51b8152600401610372906115e7565b6108c784610d08565b806108d184610c4f565b10156108ef5760405162461bcd60e51b815260040161037290611709565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031603610937576109328282610fb1565b610952565b600554610952906001600160a01b0385811691168484610d7a565b816001600160a01b031684846001600160a01b03167fe849996be7e6e06728e1d82ed9c1147c36ff3f4052e8755855f081ad62a6ea7f8460405161099891815260200190565b60405180910390a450505050565b6000546001600160a01b031633146109d05760405162461bcd60e51b81526004016103729061169f565b6001600160a01b038116610a355760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610372565b610a3e81611082565b50565b6000546001600160a01b03163314610a6b5760405162461bcd60e51b81526004016103729061169f565b6001600160a01b03811660009081526001602081905260409091205460ff1615159003610add576001600160a01b0381166000908152600160205260408120805460ff191690556002805460ff1691610ac383611776565b91906101000a81548160ff021916908360ff160217905550505b6040516001600160a01b03821681527f33d83959be2573f5453b12eb9d43b3499bc57d96bd2f067ba44803c859e81113906020016104ff565b610b1f336107bc565b610b3b5760405162461bcd60e51b8152600401610372906115e7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031603610ba957476000828211610b845781610b86565b825b9050610ba3610b9d6000546001600160a01b031690565b82610fb1565b50505050565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa158015610bf0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c149190611740565b90506000828211610c255781610c27565b825b9050610ba3610c3e6000546001600160a01b031690565b6001600160a01b03861690836110d2565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031603610c925750476107f1565b6005546040516370a0823160e01b81526001600160a01b039182166004820152908416906370a08231906024015b602060405180830381865afa158015610cdd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d019190611740565b9392505050565b60008181526004602052604090205460ff1615610d5f5760405162461bcd60e51b815260206004820152601560248201527413540e88185b1c9958591e4818dbdb5c1b195d1959605a1b6044820152606401610372565b6000908152600460205260409020805460ff19166001179055565b6040516001600160a01b0380851660248301528316604482015260648101829052610ba39085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611102565b600080610df1856111d7565b90508715610e7f57610e7984848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601a81527f4d503a2063616c6c416e645472616e73666572206661696c656400000000000060208201526001600160a01b038e169392508c9150611246565b50610f00565b610efe84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601a81527f4d503a2063616c6c416e645472616e73666572206661696c656400000000000060208201526001600160a01b038e169392509050611323565b505b6000610f0b866111d7565b9050818111610f5c5760405162461bcd60e51b815260206004820152601e60248201527f4d503a2072656365697665722073686f756c64206765742061737365747300006044820152606401610372565b6000610f688383611793565b90506001600160a01b0388163014610fa3578815610f8f57610f8a8882610fb1565b610fa3565b610fa36001600160a01b03881689836110d2565b9a9950505050505050505050565b604080516000808252602082019092526001600160a01b038416908390604051610fdb91906117a6565b60006040518083038185875af1925050503d8060008114611018576040519150601f19603f3d011682016040523d82523d6000602084013e61101d565b606091505b505090508061107d5760405162461bcd60e51b815260206004820152602660248201527f5472616e7366657248656c7065723a204e41544956455f5452414e534645525f60448201526511905253115160d21b6064820152608401610372565b505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040516001600160a01b03831660248201526044810182905261107d90849063a9059cbb60e01b90606401610dae565b6000611157826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166113239092919063ffffffff16565b90508051600014806111785750808060200190518101906111789190611759565b61107d5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610372565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03160361121a5750476107f1565b6040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401610cc0565b6060824710156112a75760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610372565b600080866001600160a01b031685876040516112c391906117a6565b60006040518083038185875af1925050503d8060008114611300576040519150601f19603f3d011682016040523d82523d6000602084013e611305565b606091505b509150915061131687838387611332565b925050505b949350505050565b606061131b8484600085611246565b606083156113a157825160000361139a576001600160a01b0385163b61139a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610372565b508161131b565b61131b83838151156113b65781518083602001fd5b8060405162461bcd60e51b815260040161037291906117c2565b6000602082840312156113e257600080fd5b5035919050565b80356001600160a01b038116811461140057600080fd5b919050565b60008083601f84011261141757600080fd5b50813567ffffffffffffffff81111561142f57600080fd5b60208301915083602082850101111561144757600080fd5b9250929050565b60008060006040848603121561146357600080fd5b61146c846113e9565b9250602084013567ffffffffffffffff81111561148857600080fd5b61149486828701611405565b9497909650939450505050565b6000602082840312156114b357600080fd5b610d01826113e9565b8015158114610a3e57600080fd5b60008060008060008060008060006101008a8c0312156114e957600080fd5b893598506114f960208b016113e9565b975061150760408b016113e9565b965060608a0135955060808a013561151e816114bc565b945061152c60a08b016113e9565b935061153a60c08b016113e9565b925060e08a013567ffffffffffffffff81111561155657600080fd5b6115628c828d01611405565b915080935050809150509295985092959850929598565b6000806000806080858703121561158f57600080fd5b8435935061159f602086016113e9565b92506115ad604086016113e9565b9396929550929360600135925050565b600080604083850312156115d057600080fd5b6115d9836113e9565b946020939093013593505050565b6020808252601490820152736e6f20636f6e74726f6c6c65722072696768747360601b604082015260600190565b8183823760009101908152919050565b60005b83811015611640578181015183820152602001611628565b50506000910152565b60008151808452611661816020860160208601611625565b601f01601f19169290920160200192915050565b83815282151560208201526060604082015260006116966060830184611649565b95945050505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff8103611700576117006116d4565b60010192915050565b60208082526018908201527f4d503a20696e73756666696369656e742062616c616e63650000000000000000604082015260600190565b60006020828403121561175257600080fd5b5051919050565b60006020828403121561176b57600080fd5b8151610d01816114bc565b600060ff821680611789576117896116d4565b6000190192915050565b818103818111156107f1576107f16116d4565b600082516117b8818460208701611625565b9190910192915050565b602081526000610d01602083018461164956fea2646970667358221220b9106d96c88bbc36f00594aee681db139522d7a0f5bf12ad405c9bead525d7d464736f6c63430008130033000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000456325f2ac7067234dd71e01bebe032b0255e039

Deployed Bytecode

0x6080604052600436106100eb5760003560e01c8063acf234e911610084578063eeb858b511610056578063eeb858b5146102cd578063f2fde38b146102ed578063f6a74ed71461030d578063fd9be5221461032d57005b8063acf234e914610252578063adc879e914610272578063b429afeb1461028d578063d039eff2146102ad57005b806378bbe8b6116100bd57806378bbe8b6146101b45780638da5cb5b146101e0578063a0cf0aea146101fe578063a7fc7a071461023257005b80630833bc9a146100f45780631b8b921d146101395780635e9252921461014c578063681b19ff1461018457005b366100f257005b005b34801561010057600080fd5b5061012461010f3660046113d0565b60009081526004602052604090205460ff1690565b60405190151581526020015b60405180910390f35b6100f261014736600461144e565b61034d565b34801561015857600080fd5b5060055461016c906001600160a01b031681565b6040516001600160a01b039091168152602001610130565b34801561019057600080fd5b5061012461019f3660046113d0565b60046020526000908152604090205460ff1681565b3480156101c057600080fd5b506002546101ce9060ff1681565b60405160ff9091168152602001610130565b3480156101ec57600080fd5b506000546001600160a01b031661016c565b34801561020a57600080fd5b5061016c7f000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801561023e57600080fd5b506100f261024d3660046114a1565b61042c565b34801561025e57600080fd5b506100f261026d3660046114ca565b61050a565b34801561027e57600080fd5b50604051468152602001610130565b34801561029957600080fd5b506101246102a83660046114a1565b6107bc565b3480156102b957600080fd5b506100f26102c83660046114a1565b6107f7565b3480156102d957600080fd5b506100f26102e8366004611579565b610899565b3480156102f957600080fd5b506100f26103083660046114a1565b6109a6565b34801561031957600080fd5b506100f26103283660046114a1565b610a41565b34801561033957600080fd5b506100f26103483660046115bd565b610b16565b610356336107bc565b61037b5760405162461bcd60e51b8152600401610372906115e7565b60405180910390fd5b600080846001600160a01b0316348585604051610399929190611615565b60006040518083038185875af1925050503d80600081146103d6576040519150601f19603f3d011682016040523d82523d6000602084013e6103db565b606091505b5091509150846001600160a01b03167fbb9c4c4e98e306e63e340c78eed06da47fecfc0e2e0c6e88b42aca99dc5d52c334848460405161041d93929190611675565b60405180910390a25050505050565b6000546001600160a01b031633146104565760405162461bcd60e51b81526004016103729061169f565b6001600160a01b03811660009081526001602052604081205460ff16151590036104ca576001600160a01b03811660009081526001602081905260408220805460ff191690911790556002805460ff16916104b0836116ea565b91906101000a81548160ff021916908360ff160217905550505b6040516001600160a01b03821681527f0a8bb31534c0ed46f380cb867bd5c803a189ced9a764e30b3a4991a9901d7474906020015b60405180910390a150565b610513336107bc565b61052f5760405162461bcd60e51b8152600401610372906115e7565b8561053989610c4f565b10156105575760405162461bcd60e51b815260040161037290611709565b8415157f000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0316846001600160a01b0316141515146105ae5760405162461bcd60e51b815260040161037290611709565b806105ec5760405162461bcd60e51b815260206004820152600e60248201526d4d503a206461746120656d70747960901b6044820152606401610372565b6105f589610d08565b60007f000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0316896001600160a01b0316149050806107415760055461064e906001600160a01b038b81169116308a610d7a565b604051636eb1769f60e11b81523060048201526001600160a01b0389811660248301528891908b169063dd62ed3e90604401602060405180830381865afa15801561069d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c19190611740565b10156107415760035460405163095ea7b360e01b81526001600160a01b038a811660048301526024820192909252908a169063095ea7b3906044016020604051808303816000875af115801561071b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073f9190611759565b505b600061075f8983610753576000610755565b895b8989898989610de5565b9050856001600160a01b03168b866001600160a01b03167fe849996be7e6e06728e1d82ed9c1147c36ff3f4052e8755855f081ad62a6ea7f846040516107a791815260200190565b60405180910390a45050505050505050505050565b600080546001600160a01b03838116911614806107f157506001600160a01b03821660009081526001602052604090205460ff165b92915050565b6000546001600160a01b031633146108215760405162461bcd60e51b81526004016103729061169f565b6001600160a01b0381166108775760405162461bcd60e51b815260206004820152601760248201527f4d503a204c6971756964706f6f6c20697320656d7074790000000000000000006044820152606401610372565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6108a2336107bc565b6108be5760405162461bcd60e51b8152600401610372906115e7565b6108c784610d08565b806108d184610c4f565b10156108ef5760405162461bcd60e51b815260040161037290611709565b7f000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0316836001600160a01b031603610937576109328282610fb1565b610952565b600554610952906001600160a01b0385811691168484610d7a565b816001600160a01b031684846001600160a01b03167fe849996be7e6e06728e1d82ed9c1147c36ff3f4052e8755855f081ad62a6ea7f8460405161099891815260200190565b60405180910390a450505050565b6000546001600160a01b031633146109d05760405162461bcd60e51b81526004016103729061169f565b6001600160a01b038116610a355760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610372565b610a3e81611082565b50565b6000546001600160a01b03163314610a6b5760405162461bcd60e51b81526004016103729061169f565b6001600160a01b03811660009081526001602081905260409091205460ff1615159003610add576001600160a01b0381166000908152600160205260408120805460ff191690556002805460ff1691610ac383611776565b91906101000a81548160ff021916908360ff160217905550505b6040516001600160a01b03821681527f33d83959be2573f5453b12eb9d43b3499bc57d96bd2f067ba44803c859e81113906020016104ff565b610b1f336107bc565b610b3b5760405162461bcd60e51b8152600401610372906115e7565b7f000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0316826001600160a01b031603610ba957476000828211610b845781610b86565b825b9050610ba3610b9d6000546001600160a01b031690565b82610fb1565b50505050565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa158015610bf0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c149190611740565b90506000828211610c255781610c27565b825b9050610ba3610c3e6000546001600160a01b031690565b6001600160a01b03861690836110d2565b6000807f000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0316836001600160a01b031603610c925750476107f1565b6005546040516370a0823160e01b81526001600160a01b039182166004820152908416906370a08231906024015b602060405180830381865afa158015610cdd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d019190611740565b9392505050565b60008181526004602052604090205460ff1615610d5f5760405162461bcd60e51b815260206004820152601560248201527413540e88185b1c9958591e4818dbdb5c1b195d1959605a1b6044820152606401610372565b6000908152600460205260409020805460ff19166001179055565b6040516001600160a01b0380851660248301528316604482015260648101829052610ba39085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611102565b600080610df1856111d7565b90508715610e7f57610e7984848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601a81527f4d503a2063616c6c416e645472616e73666572206661696c656400000000000060208201526001600160a01b038e169392508c9150611246565b50610f00565b610efe84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601a81527f4d503a2063616c6c416e645472616e73666572206661696c656400000000000060208201526001600160a01b038e169392509050611323565b505b6000610f0b866111d7565b9050818111610f5c5760405162461bcd60e51b815260206004820152601e60248201527f4d503a2072656365697665722073686f756c64206765742061737365747300006044820152606401610372565b6000610f688383611793565b90506001600160a01b0388163014610fa3578815610f8f57610f8a8882610fb1565b610fa3565b610fa36001600160a01b03881689836110d2565b9a9950505050505050505050565b604080516000808252602082019092526001600160a01b038416908390604051610fdb91906117a6565b60006040518083038185875af1925050503d8060008114611018576040519150601f19603f3d011682016040523d82523d6000602084013e61101d565b606091505b505090508061107d5760405162461bcd60e51b815260206004820152602660248201527f5472616e7366657248656c7065723a204e41544956455f5452414e534645525f60448201526511905253115160d21b6064820152608401610372565b505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040516001600160a01b03831660248201526044810182905261107d90849063a9059cbb60e01b90606401610dae565b6000611157826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166113239092919063ffffffff16565b90508051600014806111785750808060200190518101906111789190611759565b61107d5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610372565b6000807f000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0316836001600160a01b03160361121a5750476107f1565b6040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401610cc0565b6060824710156112a75760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610372565b600080866001600160a01b031685876040516112c391906117a6565b60006040518083038185875af1925050503d8060008114611300576040519150601f19603f3d011682016040523d82523d6000602084013e611305565b606091505b509150915061131687838387611332565b925050505b949350505050565b606061131b8484600085611246565b606083156113a157825160000361139a576001600160a01b0385163b61139a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610372565b508161131b565b61131b83838151156113b65781518083602001fd5b8060405162461bcd60e51b815260040161037291906117c2565b6000602082840312156113e257600080fd5b5035919050565b80356001600160a01b038116811461140057600080fd5b919050565b60008083601f84011261141757600080fd5b50813567ffffffffffffffff81111561142f57600080fd5b60208301915083602082850101111561144757600080fd5b9250929050565b60008060006040848603121561146357600080fd5b61146c846113e9565b9250602084013567ffffffffffffffff81111561148857600080fd5b61149486828701611405565b9497909650939450505050565b6000602082840312156114b357600080fd5b610d01826113e9565b8015158114610a3e57600080fd5b60008060008060008060008060006101008a8c0312156114e957600080fd5b893598506114f960208b016113e9565b975061150760408b016113e9565b965060608a0135955060808a013561151e816114bc565b945061152c60a08b016113e9565b935061153a60c08b016113e9565b925060e08a013567ffffffffffffffff81111561155657600080fd5b6115628c828d01611405565b915080935050809150509295985092959850929598565b6000806000806080858703121561158f57600080fd5b8435935061159f602086016113e9565b92506115ad604086016113e9565b9396929550929360600135925050565b600080604083850312156115d057600080fd5b6115d9836113e9565b946020939093013593505050565b6020808252601490820152736e6f20636f6e74726f6c6c65722072696768747360601b604082015260600190565b8183823760009101908152919050565b60005b83811015611640578181015183820152602001611628565b50506000910152565b60008151808452611661816020860160208601611625565b601f01601f19169290920160200192915050565b83815282151560208201526060604082015260006116966060830184611649565b95945050505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff8103611700576117006116d4565b60010192915050565b60208082526018908201527f4d503a20696e73756666696369656e742062616c616e63650000000000000000604082015260600190565b60006020828403121561175257600080fd5b5051919050565b60006020828403121561176b57600080fd5b8151610d01816114bc565b600060ff821680611789576117896116d4565b6000190192915050565b818103818111156107f1576107f16116d4565b600082516117b8818460208701611625565b9190910192915050565b602081526000610d01602083018461164956fea2646970667358221220b9106d96c88bbc36f00594aee681db139522d7a0f5bf12ad405c9bead525d7d464736f6c63430008130033

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

000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000456325f2ac7067234dd71e01bebe032b0255e039

-----Decoded View---------------
Arg [0] : _NATIVE (address): 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE
Arg [1] : _liquidpool (address): 0x456325F2AC7067234dD71E01bebe032B0255e039

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
Arg [1] : 000000000000000000000000456325f2ac7067234dd71e01bebe032b0255e039


Deployed Bytecode Sourcemap

12702:6311:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14198:114;;;;;;;;;;-1:-1:-1;14198:114:0;;;;;:::i;:::-;14260:4;14284:20;;;:14;:20;;;;;;;;;14198:114;;;;364:14:1;;357:22;339:41;;327:2;312:18;14198:114:0;;;;;;;;16989:293;;;;;;:::i;:::-;;:::i;13052:25::-;;;;;;;;;;-1:-1:-1;13052:25:0;;;;-1:-1:-1;;;;;13052:25:0;;;;;;-1:-1:-1;;;;;1573:32:1;;;1555:51;;1543:2;1528:18;13052:25:0;1409:203:1;12997:46:0;;;;;;;;;;-1:-1:-1;12997:46:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;11622:30;;;;;;;;;;-1:-1:-1;11622:30:0;;;;;;;;;;;1789:4:1;1777:17;;;1759:36;;1747:2;1732:18;11622:30:0;1617:184:1;10767:87:0;;;;;;;;;;-1:-1:-1;10813:7:0;10840:6;-1:-1:-1;;;;;10840:6:0;10767:87;;12851:31;;;;;;;;;;;;;;;11939:250;;;;;;;;;;-1:-1:-1;11939:250:0;;;;;:::i;:::-;;:::i;15720:1261::-;;;;;;;;;;-1:-1:-1;15720:1261:0;;;;;:::i;:::-;;:::i;13919:85::-;;;;;;;;;;-1:-1:-1;13919:85:0;;13983:13;3246:25:1;;3234:2;3219:18;13919:85:0;3100:177:1;11785:146:0;;;;;;;;;;-1:-1:-1;11785:146:0;;;;;:::i;:::-;;:::i;14012:178::-;;;;;;;;;;-1:-1:-1;14012:178:0;;;;;:::i;:::-;;:::i;15171:541::-;;;;;;;;;;-1:-1:-1;15171:541:0;;;;;:::i;:::-;;:::i;10990:238::-;;;;;;;;;;-1:-1:-1;10990:238:0;;;;;:::i;:::-;;:::i;12197:255::-;;;;;;;;;;-1:-1:-1;12197:255:0;;;;;:::i;:::-;;:::i;18470:540::-;;;;;;;;;;-1:-1:-1;18470:540:0;;;;;:::i;:::-;;:::i;16989:293::-;11706:26;180:10;11785:146;:::i;11706:26::-;11698:59;;;;-1:-1:-1;;;11698:59:0;;;;;;;:::i;:::-;;;;;;;;;17111:12:::1;17125:19:::0;17148:7:::1;-1:-1:-1::0;;;;;17148:12:0::1;17168:9;17193:5;;17148:61;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17110:99;;;;17238:7;-1:-1:-1::0;;;;;17225:49:0::1;;17247:9;17258:7;17267:6;17225:49;;;;;;;;:::i;:::-;;;;;;;;17099:183;;16989:293:::0;;;:::o;11939:250::-;10813:7;10840:6;-1:-1:-1;;;;;10840:6:0;180:10;10902:23;10894:68;;;;-1:-1:-1;;;10894:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12015:24:0;::::1;;::::0;;;:11:::1;:24;::::0;;;;;::::1;;:33;;::::0;;12011:127:::1;;-1:-1:-1::0;;;;;12065:24:0;::::1;;::::0;;;12092:4:::1;12065:24;::::0;;;;;;:31;;-1:-1:-1;;12065:31:0::1;::::0;;::::1;::::0;;12111:13:::1;:15:::0;;12065:31:::1;12111:15;::::0;::::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;12011:127;12153:28;::::0;-1:-1:-1;;;;;1573:32:1;;1555:51;;12153:28:0::1;::::0;1543:2:1;1528:18;12153:28:0::1;;;;;;;;11939:250:::0;:::o;15720:1261::-;11706:26;180:10;11785:146;:::i;11706:26::-;11698:59;;;;-1:-1:-1;;;11698:59:0;;;;;;;:::i;:::-;16035:6:::1;16010:21;16021:9;16010:10;:21::i;:::-;:31;;16002:68;;;;-1:-1:-1::0;;;16002:68:0::1;;;;;;;:::i;:::-;16131:8;16103:36;;16120:6;-1:-1:-1::0;;;;;16104:22:0::1;:12;-1:-1:-1::0;;;;;16104:22:0::1;;16103:36;;;16081:110;;;;-1:-1:-1::0;;;16081:110:0::1;;;;;;;:::i;:::-;16210:15:::0;16202:42:::1;;;::::0;-1:-1:-1;;;16202:42:0;;6700:2:1;16202:42:0::1;::::0;::::1;6682:21:1::0;6739:2;6719:18;;;6712:30;-1:-1:-1;;;6758:18:1;;;6751:44;6812:18;;16202:42:0::1;6498:338:1::0;16202:42:0::1;16255:23;16270:7;16255:14;:23::i;:::-;16289:20;16325:6;-1:-1:-1::0;;;;;16312:19:0::1;:9;-1:-1:-1::0;;;;;16312:19:0::1;;16289:42;;16347:15;16342:344;;16432:10;::::0;16379:135:::1;::::0;-1:-1:-1;;;;;16379:34:0;;::::1;::::0;16432:10:::1;16469:4;16493:6:::0;16379:34:::1;:135::i;:::-;16533:50;::::0;-1:-1:-1;;;16533:50:0;;16569:4:::1;16533:50;::::0;::::1;7053:34:1::0;-1:-1:-1;;;;;7123:15:1;;;7103:18;;;7096:43;16586:6:0;;16533:27;;::::1;::::0;::::1;::::0;6988:18:1;;16533:50:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:59;16529:146;;;16647:11;::::0;16613:46:::1;::::0;-1:-1:-1;;;16613:46:0;;-1:-1:-1;;;;;7531:32:1;;;16613:46:0::1;::::0;::::1;7513:51:1::0;7580:18;;;7573:34;;;;16613:25:0;;::::1;::::0;::::1;::::0;7486:18:1;;16613:46:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;16529:146;16698:17;16718:183;16749:6;16770:15;:28;;16797:1;16770:28;;;16788:6;16770:28;16813:8;16836;16859:12;16886:4;;16718:16;:183::i;:::-;16698:203;;16953:8;-1:-1:-1::0;;;;;16919:54:0::1;16944:7;16930:12;-1:-1:-1::0;;;;;16919:54:0::1;;16963:9;16919:54;;;;3246:25:1::0;;3234:2;3219:18;;3100:177;16919:54:0::1;;;;;;;;15991:990;;15720:1261:::0;;;;;;;;;:::o;11785:146::-;11849:4;10840:6;;-1:-1:-1;;;;;11873:22:0;;;10840:6;;11873:22;;:50;;-1:-1:-1;;;;;;11899:24:0;;;;;;:11;:24;;;;;;;;11873:50;11866:57;11785:146;-1:-1:-1;;11785:146:0:o;14012:178::-;10813:7;10840:6;-1:-1:-1;;;;;10840:6:0;180:10;10902:23;10894:68;;;;-1:-1:-1;;;10894:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;14094:25:0;::::1;14086:61;;;::::0;-1:-1:-1;;;14086:61:0;;8070:2:1;14086:61:0::1;::::0;::::1;8052:21:1::0;8109:2;8089:18;;;8082:30;8148:25;8128:18;;;8121:53;8191:18;;14086:61:0::1;7868:347:1::0;14086:61:0::1;14158:10;:24:::0;;-1:-1:-1;;;;;;14158:24:0::1;-1:-1:-1::0;;;;;14158:24:0;;;::::1;::::0;;;::::1;::::0;;14012:178::o;15171:541::-;11706:26;180:10;11785:146;:::i;11706:26::-;11698:59;;;;-1:-1:-1;;;11698:59:0;;;;;;;:::i;:::-;15334:23:::1;15349:7;15334:14;:23::i;:::-;15401:6;15376:21;15387:9;15376:10;:21::i;:::-;:31;;15368:68;;;;-1:-1:-1::0;;;15368:68:0::1;;;;;;;:::i;:::-;15464:6;-1:-1:-1::0;;;;;15451:19:0::1;:9;-1:-1:-1::0;;;;;15451:19:0::1;::::0;15447:196:::1;;15487:49;15521:6;15529;15487:33;:49::i;:::-;15447:196;;;15604:10;::::0;15569:62:::1;::::0;-1:-1:-1;;;;;15569:34:0;;::::1;::::0;15604:10:::1;15616:6:::0;15624;15569:34:::1;:62::i;:::-;15689:6;-1:-1:-1::0;;;;;15658:46:0::1;15680:7;15669:9;-1:-1:-1::0;;;;;15658:46:0::1;;15697:6;15658:46;;;;3246:25:1::0;;3234:2;3219:18;;3100:177;15658:46:0::1;;;;;;;;15171:541:::0;;;;:::o;10990:238::-;10813:7;10840:6;-1:-1:-1;;;;;10840:6:0;180:10;10902:23;10894:68;;;;-1:-1:-1;;;10894:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11093:22:0;::::1;11071:110;;;::::0;-1:-1:-1;;;11071:110:0;;8422:2:1;11071:110:0::1;::::0;::::1;8404:21:1::0;8461:2;8441:18;;;8434:30;8500:34;8480:18;;;8473:62;-1:-1:-1;;;8551:18:1;;;8544:36;8597:19;;11071:110:0::1;8220:402:1::0;11071:110:0::1;11192:28;11211:8;11192:18;:28::i;:::-;10990:238:::0;:::o;12197:255::-;10813:7;10840:6;-1:-1:-1;;;;;10840:6:0;180:10;10902:23;10894:68;;;;-1:-1:-1;;;10894:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12276:24:0;::::1;;::::0;;;:11:::1;:24;::::0;;;;;;;;::::1;;:32;;::::0;;12272:127:::1;;-1:-1:-1::0;;;;;12325:24:0;::::1;12352:5;12325:24:::0;;;:11:::1;:24;::::0;;;;:32;;-1:-1:-1;;12325:32:0::1;::::0;;12372:13:::1;:15:::0;;12325:32:::1;12372:15;::::0;::::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;12272:127;12414:30;::::0;-1:-1:-1;;;;;1573:32:1;;1555:51;;12414:30:0::1;::::0;1543:2:1;1528:18;12414:30:0::1;1409:203:1::0;18470:540:0;11706:26;180:10;11785:146;:::i;11706:26::-;11698:59;;;;-1:-1:-1;;;11698:59:0;;;;;;;:::i;:::-;18595:6:::1;-1:-1:-1::0;;;;;18586:15:0::1;:5;-1:-1:-1::0;;;;;18586:15:0::1;::::0;18582:421:::1;;18636:21;18618:15;18686:16:::0;;::::1;:35;;18714:7;18686:35;;;18705:6;18686:35;18672:49;;18736:47;18770:7;10813::::0;10840:6;-1:-1:-1;;;;;10840:6:0;;10767:87;18770:7:::1;18779:3;18736:33;:47::i;:::-;18603:192;;18470:540:::0;;:::o;18582:421::-:1;18834:38;::::0;-1:-1:-1;;;18834:38:0;;18866:4:::1;18834:38;::::0;::::1;1555:51:1::0;18816:15:0::1;::::0;-1:-1:-1;;;;;18834:23:0;::::1;::::0;::::1;::::0;1528:18:1;;18834:38:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18816:56;;18887:11;18911:6;18901:7;:16;:35;;18929:7;18901:35;;;18920:6;18901:35;18887:49;;18951:40;18978:7;10813::::0;10840:6;-1:-1:-1;;;;;10840:6:0;;10767:87;18978:7:::1;-1:-1:-1::0;;;;;18951:26:0;::::1;::::0;18987:3;18951:26:::1;:40::i;14487:327::-:0;14552:7;14572:16;14619:6;-1:-1:-1;;;;;14603:22:0;:12;-1:-1:-1;;;;;14603:22:0;;14599:182;;-1:-1:-1;14653:21:0;14599:182;;;14757:10;;14718:51;;-1:-1:-1;;;14718:51:0;;-1:-1:-1;;;;;14757:10:0;;;14718:51;;;1555::1;14718:30:0;;;;;;1528:18:1;;14718:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14707:62;14798:8;-1:-1:-1;;;14487:327:0:o;14320:159::-;14387:20;;;;:14;:20;;;;;;;;14386:21;14378:55;;;;-1:-1:-1;;;14378:55:0;;9012:2:1;14378:55:0;;;8994:21:1;9051:2;9031:18;;;9024:30;-1:-1:-1;;;9070:18:1;;;9063:51;9131:18;;14378:55:0;8810:345:1;14378:55:0;14444:20;;;;:14;:20;;;;;:27;;-1:-1:-1;;14444:27:0;14467:4;14444:27;;;14320:159::o;6857:285::-;7055:68;;-1:-1:-1;;;;;9418:15:1;;;7055:68:0;;;9400:34:1;9470:15;;9450:18;;;9443:43;9502:18;;;9495:34;;;7001:133:0;;7035:5;;-1:-1:-1;;;7078:27:0;9335:18:1;;7055:68:0;;;;-1:-1:-1;;7055:68:0;;;;;;;;;;;;;;-1:-1:-1;;;;;7055:68:0;-1:-1:-1;;;;;;7055:68:0;;;;;;;;;;7001:19;:133::i;17290:1172::-;17519:7;17539:19;17561:28;17576:12;17561:14;:28::i;:::-;17539:50;-1:-1:-1;17606:20:0;;17602:361;;17703:154;17756:4;;17703:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17703:154:0;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17703:34:0;;;:154;-1:-1:-1;17779:16:0;;-1:-1:-1;17703:34:0;:154::i;:::-;;17602:361;;;17890:61;17916:4;;17890:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17890:61:0;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17890:25:0;;;:61;-1:-1:-1;17890:61:0;-1:-1:-1;17890:25:0;:61::i;:::-;;17602:361;17975:19;17997:28;18012:12;17997:14;:28::i;:::-;17975:50;;18058:11;18044;:25;18036:68;;;;-1:-1:-1;;;18036:68:0;;9742:2:1;18036:68:0;;;9724:21:1;9781:2;9761:18;;;9754:30;9820:32;9800:18;;;9793:60;9870:18;;18036:68:0;9540:354:1;18036:68:0;18115:17;18135:25;18149:11;18135;:25;:::i;:::-;18115:45;-1:-1:-1;;;;;;18177:25:0;;18197:4;18177:25;18173:255;;18223:8;18219:198;;;18252:54;18286:8;18296:9;18252:33;:54::i;:::-;18219:198;;;18347:54;-1:-1:-1;;;;;18347:33:0;;18381:8;18391:9;18347:33;:54::i;:::-;18445:9;17290:1172;-1:-1:-1;;;;;;;;;;17290:1172:0:o;12489:206::-;12605:12;;;12565;12605;;;;;;;;;-1:-1:-1;;;;;12583:7:0;;;12598:5;;12583:35;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12564:54;;;12637:7;12629:58;;;;-1:-1:-1;;;12629:58:0;;10658:2:1;12629:58:0;;;10640:21:1;10697:2;10677:18;;;10670:30;10736:34;10716:18;;;10709:62;-1:-1:-1;;;10787:18:1;;;10780:36;10833:19;;12629:58:0;10456:402:1;12629:58:0;12553:142;12489:206;;:::o;11236:191::-;11310:16;11329:6;;-1:-1:-1;;;;;11346:17:0;;;-1:-1:-1;;;;;;11346:17:0;;;;;;11379:40;;11329:6;;;;;;;11379:40;;11310:16;11379:40;11299:128;11236:191;:::o;6635:214::-;6772:58;;-1:-1:-1;;;;;7531:32:1;;6772:58:0;;;7513:51:1;7580:18;;;7573:34;;;6718:123:0;;6752:5;;-1:-1:-1;;;6795:23:0;7486:18:1;;6772:58:0;7339:274:1;9743:380:0;9824:23;9850:106;9892:4;9850:106;;;;;;;;;;;;;;;;;9858:5;-1:-1:-1;;;;;9850:27:0;;;:106;;;;;:::i;:::-;9824:132;;9989:10;:17;10010:1;9989:22;:56;;;;10026:10;10015:30;;;;;;;;;;;;:::i;:::-;9967:148;;;;-1:-1:-1;;;9967:148:0;;11065:2:1;9967:148:0;;;11047:21:1;11104:2;11084:18;;;11077:30;11143:34;11123:18;;;11116:62;-1:-1:-1;;;11194:18:1;;;11187:40;11244:19;;9967:148:0;10863:406:1;14822:341:0;14907:7;14927:16;14974:6;-1:-1:-1;;;;;14958:22:0;:12;-1:-1:-1;;;;;14958:22:0;;14954:176;;-1:-1:-1;15008:21:0;14954:176;;;15073:45;;-1:-1:-1;;;15073:45:0;;15112:4;15073:45;;;1555:51:1;-1:-1:-1;;;;;15073:30:0;;;;;1528:18:1;;15073:45:0;1409:203:1;2911:612:0;3081:12;3153:5;3128:21;:30;;3106:118;;;;-1:-1:-1;;;3106:118:0;;11476:2:1;3106:118:0;;;11458:21:1;11515:2;11495:18;;;11488:30;11554:34;11534:18;;;11527:62;-1:-1:-1;;;11605:18:1;;;11598:36;11651:19;;3106:118:0;11274:402:1;3106:118:0;3236:12;3250:23;3277:6;-1:-1:-1;;;;;3277:11:0;3296:5;3317:4;3277:55;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3235:97;;;;3363:152;3408:6;3433:7;3459:10;3488:12;3363:26;:152::i;:::-;3343:172;;;;2911:612;;;;;;;:::o;2310:229::-;2447:12;2479:52;2501:6;2509:4;2515:1;2518:12;2479:21;:52::i;5027:644::-;5212:12;5241:7;5237:427;;;5269:10;:17;5290:1;5269:22;5265:290;;-1:-1:-1;;;;;1556:19:0;;;5479:60;;;;-1:-1:-1;;;5479:60:0;;11883:2:1;5479:60:0;;;11865:21:1;11922:2;11902:18;;;11895:30;11961:31;11941:18;;;11934:59;12010:18;;5479:60:0;11681:353:1;5479:60:0;-1:-1:-1;5576:10:0;5569:17;;5237:427;5619:33;5627:10;5639:12;6178:17;;:21;6174:388;;6410:10;6404:17;6467:15;6454:10;6450:2;6446:19;6439:44;6174:388;6537:12;6530:20;;-1:-1:-1;;;6530:20:0;;;;;;;;:::i;14:180:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:1;;14:180;-1:-1:-1;14:180:1:o;391:173::-;459:20;;-1:-1:-1;;;;;508:31:1;;498:42;;488:70;;554:1;551;544:12;488:70;391:173;;;:::o;569:347::-;620:8;630:6;684:3;677:4;669:6;665:17;661:27;651:55;;702:1;699;692:12;651:55;-1:-1:-1;725:20:1;;768:18;757:30;;754:50;;;800:1;797;790:12;754:50;837:4;829:6;825:17;813:29;;889:3;882:4;873:6;865;861:19;857:30;854:39;851:59;;;906:1;903;896:12;851:59;569:347;;;;;:::o;921:483::-;1000:6;1008;1016;1069:2;1057:9;1048:7;1044:23;1040:32;1037:52;;;1085:1;1082;1075:12;1037:52;1108:29;1127:9;1108:29;:::i;:::-;1098:39;;1188:2;1177:9;1173:18;1160:32;1215:18;1207:6;1204:30;1201:50;;;1247:1;1244;1237:12;1201:50;1286:58;1336:7;1327:6;1316:9;1312:22;1286:58;:::i;:::-;921:483;;1363:8;;-1:-1:-1;1260:84:1;;-1:-1:-1;;;;921:483:1:o;1806:186::-;1865:6;1918:2;1906:9;1897:7;1893:23;1889:32;1886:52;;;1934:1;1931;1924:12;1886:52;1957:29;1976:9;1957:29;:::i;1997:118::-;2083:5;2076:13;2069:21;2062:5;2059:32;2049:60;;2105:1;2102;2095:12;2120:975;2250:6;2258;2266;2274;2282;2290;2298;2306;2314;2367:3;2355:9;2346:7;2342:23;2338:33;2335:53;;;2384:1;2381;2374:12;2335:53;2420:9;2407:23;2397:33;;2449:38;2483:2;2472:9;2468:18;2449:38;:::i;:::-;2439:48;;2506:38;2540:2;2529:9;2525:18;2506:38;:::i;:::-;2496:48;;2591:2;2580:9;2576:18;2563:32;2553:42;;2645:3;2634:9;2630:19;2617:33;2659:28;2681:5;2659:28;:::i;:::-;2706:5;-1:-1:-1;2730:39:1;2764:3;2749:19;;2730:39;:::i;:::-;2720:49;;2788:39;2822:3;2811:9;2807:19;2788:39;:::i;:::-;2778:49;;2878:3;2867:9;2863:19;2850:33;2906:18;2898:6;2895:30;2892:50;;;2938:1;2935;2928:12;2892:50;2977:58;3027:7;3018:6;3007:9;3003:22;2977:58;:::i;:::-;2951:84;;3054:8;3044:18;;;3081:8;3071:18;;;2120:975;;;;;;;;;;;:::o;3282:397::-;3368:6;3376;3384;3392;3445:3;3433:9;3424:7;3420:23;3416:33;3413:53;;;3462:1;3459;3452:12;3413:53;3498:9;3485:23;3475:33;;3527:38;3561:2;3550:9;3546:18;3527:38;:::i;:::-;3517:48;;3584:38;3618:2;3607:9;3603:18;3584:38;:::i;:::-;3282:397;;;;-1:-1:-1;3574:48:1;;3669:2;3654:18;3641:32;;-1:-1:-1;;3282:397:1:o;3684:254::-;3752:6;3760;3813:2;3801:9;3792:7;3788:23;3784:32;3781:52;;;3829:1;3826;3819:12;3781:52;3852:29;3871:9;3852:29;:::i;:::-;3842:39;3928:2;3913:18;;;;3900:32;;-1:-1:-1;;;3684:254:1:o;3943:344::-;4145:2;4127:21;;;4184:2;4164:18;;;4157:30;-1:-1:-1;;;4218:2:1;4203:18;;4196:50;4278:2;4263:18;;3943:344::o;4292:271::-;4475:6;4467;4462:3;4449:33;4431:3;4501:16;;4526:13;;;4501:16;4292:271;-1:-1:-1;4292:271:1:o;4568:250::-;4653:1;4663:113;4677:6;4674:1;4671:13;4663:113;;;4753:11;;;4747:18;4734:11;;;4727:39;4699:2;4692:10;4663:113;;;-1:-1:-1;;4810:1:1;4792:16;;4785:27;4568:250::o;4823:270::-;4864:3;4902:5;4896:12;4929:6;4924:3;4917:19;4945:76;5014:6;5007:4;5002:3;4998:14;4991:4;4984:5;4980:16;4945:76;:::i;:::-;5075:2;5054:15;-1:-1:-1;;5050:29:1;5041:39;;;;5082:4;5037:50;;4823:270;-1:-1:-1;;4823:270:1:o;5098:369::-;5295:6;5284:9;5277:25;5352:6;5345:14;5338:22;5333:2;5322:9;5318:18;5311:50;5397:2;5392;5381:9;5377:18;5370:30;5258:4;5417:44;5457:2;5446:9;5442:18;5434:6;5417:44;:::i;:::-;5409:52;5098:369;-1:-1:-1;;;;;5098:369:1:o;5472:356::-;5674:2;5656:21;;;5693:18;;;5686:30;5752:34;5747:2;5732:18;;5725:62;5819:2;5804:18;;5472:356::o;5833:127::-;5894:10;5889:3;5885:20;5882:1;5875:31;5925:4;5922:1;5915:15;5949:4;5946:1;5939:15;5965:175;6002:3;6046:4;6039:5;6035:16;6075:4;6066:7;6063:17;6060:43;;6083:18;;:::i;:::-;6132:1;6119:15;;5965:175;-1:-1:-1;;5965:175:1:o;6145:348::-;6347:2;6329:21;;;6386:2;6366:18;;;6359:30;6425:26;6420:2;6405:18;;6398:54;6484:2;6469:18;;6145:348::o;7150:184::-;7220:6;7273:2;7261:9;7252:7;7248:23;7244:32;7241:52;;;7289:1;7286;7279:12;7241:52;-1:-1:-1;7312:16:1;;7150:184;-1:-1:-1;7150:184:1:o;7618:245::-;7685:6;7738:2;7726:9;7717:7;7713:23;7709:32;7706:52;;;7754:1;7751;7744:12;7706:52;7786:9;7780:16;7805:28;7827:5;7805:28;:::i;8627:178::-;8664:3;8708:4;8701:5;8697:16;8732:7;8722:41;;8743:18;;:::i;:::-;-1:-1:-1;;8779:20:1;;8627:178;-1:-1:-1;;8627:178:1:o;9899:128::-;9966:9;;;9987:11;;;9984:37;;;10001:18;;:::i;10164:287::-;10293:3;10331:6;10325:13;10347:66;10406:6;10401:3;10394:4;10386:6;10382:17;10347:66;:::i;:::-;10429:16;;;;;10164:287;-1:-1:-1;;10164:287:1:o;12039:219::-;12188:2;12177:9;12170:21;12151:4;12208:44;12248:2;12237:9;12233:18;12225:6;12208:44;:::i

Swarm Source

ipfs://b9106d96c88bbc36f00594aee681db139522d7a0f5bf12ad405c9bead525d7d4

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
[ 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.