ETH Price: $3,282.41 (-1.44%)
Gas: 4.28 Gwei

Contract

0x77F0De655885dcf6B6942eA5b3de171dfD3f5DA9
 

Overview

ETH Balance

0.000605049275133386 ETH

Eth Value

$1.99 (@ $3,282.41/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Vault In And Cal...202385182024-07-05 6:28:59171 days ago1720160939IN
0x77F0De65...dfD3f5DA9
0 ETH0.0036563213.15972149
Vault In And Cal...202354532024-07-04 20:12:23171 days ago1720123943IN
0x77F0De65...dfD3f5DA9
0 ETH0.00177836.60344561
Vault In And Cal...202343552024-07-04 16:30:59171 days ago1720110659IN
0x77F0De65...dfD3f5DA9
0 ETH0.0030915511.1455169
Vault In And Cal...202337902024-07-04 14:36:47171 days ago1720103807IN
0x77F0De65...dfD3f5DA9
0 ETH0.0043706814.51598153
Vault In And Cal...202031782024-06-30 8:02:23175 days ago1719734543IN
0x77F0De65...dfD3f5DA9
0 ETH0.000661172.52001076
Vault In And Cal...202031642024-06-30 7:59:35175 days ago1719734375IN
0x77F0De65...dfD3f5DA9
0 ETH0.000508441.97022792
Vault In And Cal...202031482024-06-30 7:56:23175 days ago1719734183IN
0x77F0De65...dfD3f5DA9
0 ETH0.000855332.2863281
Vault In And Cal...202031352024-06-30 7:53:47175 days ago1719734027IN
0x77F0De65...dfD3f5DA9
0 ETH0.000531332.1056732
Vault In And Cal...202031232024-06-30 7:51:23175 days ago1719733883IN
0x77F0De65...dfD3f5DA9
0 ETH0.000833472.20414736
Vault In And Cal...202001612024-06-29 21:55:35176 days ago1719698135IN
0x77F0De65...dfD3f5DA9
0 ETH0.000580341.43857027
Vault In201949312024-06-29 4:23:11177 days ago1719634991IN
0x77F0De65...dfD3f5DA9
0 ETH0.000136421.48896464
Vault In And Cal...201284522024-06-19 21:24:35186 days ago1718832275IN
0x77F0De65...dfD3f5DA9
0 ETH0.0046517214.13821638
Vault In201011382024-06-16 1:42:47190 days ago1718502167IN
0x77F0De65...dfD3f5DA9
0 ETH0.000150572.44469435
Vault In199724372024-05-29 2:07:59208 days ago1716948479IN
0x77F0De65...dfD3f5DA9
0 ETH0.000416278.37520658
Vault In199724372024-05-29 2:07:59208 days ago1716948479IN
0x77F0De65...dfD3f5DA9
0 ETH0.000725228.37520658
Vault In199724242024-05-29 2:05:23208 days ago1716948323IN
0x77F0De65...dfD3f5DA9
0 ETH0.0007038.11858204
Vault In199724242024-05-29 2:05:23208 days ago1716948323IN
0x77F0De65...dfD3f5DA9
0 ETH0.0007038.11858204
Vault In199724162024-05-29 2:03:47208 days ago1716948227IN
0x77F0De65...dfD3f5DA9
0 ETH0.000741848.56716386
Vault In199724162024-05-29 2:03:47208 days ago1716948227IN
0x77F0De65...dfD3f5DA9
0 ETH0.000741848.56716386
Vault In199723942024-05-29 1:59:23208 days ago1716947963IN
0x77F0De65...dfD3f5DA9
0 ETH0.000674197.78586085
Vault In199723942024-05-29 1:59:23208 days ago1716947963IN
0x77F0De65...dfD3f5DA9
0 ETH0.000674197.78586085
Vault In199723692024-05-29 1:54:23208 days ago1716947663IN
0x77F0De65...dfD3f5DA9
0 ETH0.000613947.09014014
Vault In199723692024-05-29 1:54:23208 days ago1716947663IN
0x77F0De65...dfD3f5DA9
0 ETH0.000613947.09014014
Vault In199723472024-05-29 1:49:59208 days ago1716947399IN
0x77F0De65...dfD3f5DA9
0 ETH0.000728648.41463541
Vault In199723452024-05-29 1:49:35208 days ago1716947375IN
0x77F0De65...dfD3f5DA9
0 ETH0.000728748.41584757
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
201011382024-06-16 1:42:47190 days ago1718502167
0x77F0De65...dfD3f5DA9
0.00071821 ETH
199724372024-05-29 2:07:59208 days ago1716948479
0x77F0De65...dfD3f5DA9
0.00191733 ETH
199724242024-05-29 2:05:23208 days ago1716948323
0x77F0De65...dfD3f5DA9
0.0016177 ETH
199724242024-05-29 2:05:23208 days ago1716948323
0x77F0De65...dfD3f5DA9
0.0019174 ETH
199724162024-05-29 2:03:47208 days ago1716948227
0x77F0De65...dfD3f5DA9
0.00191728 ETH
199724162024-05-29 2:03:47208 days ago1716948227
0x77F0De65...dfD3f5DA9
0.00191728 ETH
199723942024-05-29 1:59:23208 days ago1716947963
0x77F0De65...dfD3f5DA9
0.00191742 ETH
199723942024-05-29 1:59:23208 days ago1716947963
0x77F0De65...dfD3f5DA9
0.00191742 ETH
199723692024-05-29 1:54:23208 days ago1716947663
0x77F0De65...dfD3f5DA9
0.00191775 ETH
199723692024-05-29 1:54:23208 days ago1716947663
0x77F0De65...dfD3f5DA9
0.00221725 ETH
199723472024-05-29 1:49:59208 days ago1716947399
0x77F0De65...dfD3f5DA9
0.0019178 ETH
199723452024-05-29 1:49:35208 days ago1716947375
0x77F0De65...dfD3f5DA9
0.0022175 ETH
199723232024-05-29 1:44:59208 days ago1716947099
0x77F0De65...dfD3f5DA9
0.00191723 ETH
199723232024-05-29 1:44:59208 days ago1716947099
0x77F0De65...dfD3f5DA9
0.00191723 ETH
199722982024-05-29 1:39:47208 days ago1716946787
0x77F0De65...dfD3f5DA9
0.00191696 ETH
199722982024-05-29 1:39:47208 days ago1716946787
0x77F0De65...dfD3f5DA9
0.00191696 ETH
199722802024-05-29 1:36:11208 days ago1716946571
0x77F0De65...dfD3f5DA9
0.00191709 ETH
199722802024-05-29 1:36:11208 days ago1716946571
0x77F0De65...dfD3f5DA9
0.00191709 ETH
199722472024-05-29 1:29:35208 days ago1716946175
0x77F0De65...dfD3f5DA9
0.00191715 ETH
199722432024-05-29 1:28:47208 days ago1716946127
0x77F0De65...dfD3f5DA9
0.00191715 ETH
199722302024-05-29 1:26:11208 days ago1716945971
0x77F0De65...dfD3f5DA9
0.00191711 ETH
199722002024-05-29 1:20:11208 days ago1716945611
0x77F0De65...dfD3f5DA9
0.00161787 ETH
199722002024-05-29 1:20:11208 days ago1716945611
0x77F0De65...dfD3f5DA9
0.00191758 ETH
199721752024-05-29 1:14:59208 days ago1716945299
0x77F0De65...dfD3f5DA9
0.00191794 ETH
199721742024-05-29 1:14:47208 days ago1716945287
0x77F0De65...dfD3f5DA9
0.00191794 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MinterProxy

Compiler Version
v0.8.12+commit.f00d7308

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-01-05
*/

// 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: Native dismatch"
        );
        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).safeApprove(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

[{"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"}]

60a06040526002805460ff191690556000196003553480156200002157600080fd5b5060405162001b2538038062001b25833981016040819052620000449162000199565b6200004f336200012c565b6001600160a01b038216620000ab5760405162461bcd60e51b815260206004820152601360248201527f4d503a204e415449564520697320656d7074790000000000000000000000000060448201526064015b60405180910390fd5b6001600160a01b038116620001035760405162461bcd60e51b815260206004820152601760248201527f4d503a204c6971756964706f6f6c20697320656d7074790000000000000000006044820152606401620000a2565b6001600160a01b03918216608052600580546001600160a01b03191691909216179055620001d1565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146200019457600080fd5b919050565b60008060408385031215620001ad57600080fd5b620001b8836200017c565b9150620001c8602084016200017c565b90509250929050565b60805161190e620002176000396000818161021001528181610583015281816106460152818161090801528181610b5501528181610c6d015261130b015261190e6000f3fe6080604052600436106100eb5760003560e01c8063acf234e911610084578063eeb858b511610056578063eeb858b5146102cd578063f2fde38b146102ed578063f6a74ed71461030d578063fd9be5221461032d57005b8063acf234e914610252578063adc879e914610272578063b429afeb1461028d578063d039eff2146102ad57005b806378bbe8b6116100bd57806378bbe8b6146101b45780638da5cb5b146101e0578063a0cf0aea146101fe578063a7fc7a071461023257005b80630833bc9a146100f45780631b8b921d146101395780635e9252921461014c578063681b19ff1461018457005b366100f257005b005b34801561010057600080fd5b5061012461010f3660046114fd565b60009081526004602052604090205460ff1690565b60405190151581526020015b60405180910390f35b6100f261014736600461157b565b61034d565b34801561015857600080fd5b5060055461016c906001600160a01b031681565b6040516001600160a01b039091168152602001610130565b34801561019057600080fd5b5061012461019f3660046114fd565b60046020526000908152604090205460ff1681565b3480156101c057600080fd5b506002546101ce9060ff1681565b60405160ff9091168152602001610130565b3480156101ec57600080fd5b506000546001600160a01b031661016c565b34801561020a57600080fd5b5061016c7f000000000000000000000000000000000000000000000000000000000000000081565b34801561023e57600080fd5b506100f261024d3660046115ce565b61042c565b34801561025e57600080fd5b506100f261026d3660046115f7565b610506565b34801561027e57600080fd5b50604051468152602001610130565b34801561029957600080fd5b506101246102a83660046115ce565b6107a8565b3480156102b957600080fd5b506100f26102c83660046115ce565b6107e3565b3480156102d957600080fd5b506100f26102e83660046116a6565b610885565b3480156102f957600080fd5b506100f26103083660046115ce565b6109be565b34801561031957600080fd5b506100f26103283660046115ce565b610a59565b34801561033957600080fd5b506100f26103483660046116ea565b610b2e565b610356336107a8565b61037b5760405162461bcd60e51b815260040161037290611714565b60405180910390fd5b600080846001600160a01b0316348585604051610399929190611742565b60006040518083038185875af1925050503d80600081146103d6576040519150601f19603f3d011682016040523d82523d6000602084013e6103db565b606091505b5091509150846001600160a01b03167fbb9c4c4e98e306e63e340c78eed06da47fecfc0e2e0c6e88b42aca99dc5d52c334848460405161041d939291906117aa565b60405180910390a25050505050565b6000546001600160a01b031633146104565760405162461bcd60e51b8152600401610372906117d4565b6001600160a01b03811660009081526001602052604090205460ff166104c6576001600160a01b03811660009081526001602081905260408220805460ff191690911790556002805460ff16916104ac8361181f565b91906101000a81548160ff021916908360ff160217905550505b6040516001600160a01b03821681527f0a8bb31534c0ed46f380cb867bd5c803a189ced9a764e30b3a4991a9901d7474906020015b60405180910390a150565b61050f336107a8565b61052b5760405162461bcd60e51b815260040161037290611714565b8561053589610c68565b101561057e5760405162461bcd60e51b81526020600482015260186024820152774d503a20696e73756666696369656e742062616c616e636560401b6044820152606401610372565b8415157f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b0316141515146105fb5760405162461bcd60e51b815260206004820152601360248201527209aa074409cc2e8d2ecca40c8d2e6dac2e8c6d606b1b6044820152606401610372565b806106395760405162461bcd60e51b815260206004820152600e60248201526d4d503a206461746120656d70747960901b6044820152606401610372565b61064289610d22565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316896001600160a01b03161490508061072d5760055461069b906001600160a01b038b81169116308a610d94565b604051636eb1769f60e11b81523060048201526001600160a01b0389811660248301528891908b169063dd62ed3e90604401602060405180830381865afa1580156106ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070e919061183f565b101561072d5760035461072d906001600160a01b038b16908a90610dff565b600061074b898361073f576000610741565b895b8989898989610f19565b9050856001600160a01b03168b866001600160a01b03167fe849996be7e6e06728e1d82ed9c1147c36ff3f4052e8755855f081ad62a6ea7f8460405161079391815260200190565b60405180910390a45050505050505050505050565b600080546001600160a01b03838116911614806107dd57506001600160a01b03821660009081526001602052604090205460ff165b92915050565b6000546001600160a01b0316331461080d5760405162461bcd60e51b8152600401610372906117d4565b6001600160a01b0381166108635760405162461bcd60e51b815260206004820152601760248201527f4d503a204c6971756964706f6f6c20697320656d7074790000000000000000006044820152606401610372565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b61088e336107a8565b6108aa5760405162461bcd60e51b815260040161037290611714565b6108b384610d22565b806108bd84610c68565b10156109065760405162461bcd60e51b81526020600482015260186024820152774d503a20696e73756666696369656e742062616c616e636560401b6044820152606401610372565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b0316141561094f5761094a82826110e5565b61096a565b60055461096a906001600160a01b0385811691168484610d94565b816001600160a01b031684846001600160a01b03167fe849996be7e6e06728e1d82ed9c1147c36ff3f4052e8755855f081ad62a6ea7f846040516109b091815260200190565b60405180910390a450505050565b6000546001600160a01b031633146109e85760405162461bcd60e51b8152600401610372906117d4565b6001600160a01b038116610a4d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610372565b610a56816111b1565b50565b6000546001600160a01b03163314610a835760405162461bcd60e51b8152600401610372906117d4565b6001600160a01b03811660009081526001602081905260409091205460ff1615151415610af5576001600160a01b0381166000908152600160205260408120805460ff191690556002805460ff1691610adb83611858565b91906101000a81548160ff021916908360ff160217905550505b6040516001600160a01b03821681527f33d83959be2573f5453b12eb9d43b3499bc57d96bd2f067ba44803c859e81113906020016104fb565b610b37336107a8565b610b535760405162461bcd60e51b815260040161037290611714565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161415610bc257476000828211610b9d5781610b9f565b825b9050610bbc610bb66000546001600160a01b031690565b826110e5565b50505050565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa158015610c09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2d919061183f565b90506000828211610c3e5781610c40565b825b9050610bbc610c576000546001600160a01b031690565b6001600160a01b0386169083611201565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161415610cac5750476107dd565b6005546040516370a0823160e01b81526001600160a01b039182166004820152908416906370a08231906024015b602060405180830381865afa158015610cf7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1b919061183f565b9392505050565b60008181526004602052604090205460ff1615610d795760405162461bcd60e51b815260206004820152601560248201527413540e88185b1c9958591e4818dbdb5c1b195d1959605a1b6044820152606401610372565b6000908152600460205260409020805460ff19166001179055565b6040516001600160a01b0380851660248301528316604482015260648101829052610bbc9085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611231565b801580610e795750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa158015610e53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e77919061183f565b155b610ee45760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b6064820152608401610372565b6040516001600160a01b038316602482015260448101829052610f1490849063095ea7b360e01b90606401610dc8565b505050565b600080610f2585611306565b90508715610fb357610fad84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601a81527f4d503a2063616c6c416e645472616e73666572206661696c656400000000000060208201526001600160a01b038e169392508c9150611376565b50611034565b61103284848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601a81527f4d503a2063616c6c416e645472616e73666572206661696c656400000000000060208201526001600160a01b038e169392509050611453565b505b600061103f86611306565b90508181116110905760405162461bcd60e51b815260206004820152601e60248201527f4d503a2072656365697665722073686f756c64206765742061737365747300006044820152606401610372565b600061109c8383611875565b90506001600160a01b03881630146110d75788156110c3576110be88826110e5565b6110d7565b6110d76001600160a01b0388168983611201565b9a9950505050505050505050565b604080516000808252602082019092526001600160a01b03841690839060405161110f919061188c565b60006040518083038185875af1925050503d806000811461114c576040519150601f19603f3d011682016040523d82523d6000602084013e611151565b606091505b5050905080610f145760405162461bcd60e51b815260206004820152602660248201527f5472616e7366657248656c7065723a204e41544956455f5452414e534645525f60448201526511905253115160d21b6064820152608401610372565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040516001600160a01b038316602482015260448101829052610f1490849063a9059cbb60e01b90606401610dc8565b6000611286826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166114539092919063ffffffff16565b90508051600014806112a75750808060200190518101906112a791906118a8565b610f145760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610372565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b0316141561134a5750476107dd565b6040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401610cda565b6060824710156113d75760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610372565b600080866001600160a01b031685876040516113f3919061188c565b60006040518083038185875af1925050503d8060008114611430576040519150601f19603f3d011682016040523d82523d6000602084013e611435565b606091505b509150915061144687838387611462565b925050505b949350505050565b606061144b8484600085611376565b606083156114ce5782516114c7576001600160a01b0385163b6114c75760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610372565b508161144b565b61144b83838151156114e35781518083602001fd5b8060405162461bcd60e51b815260040161037291906118c5565b60006020828403121561150f57600080fd5b5035919050565b80356001600160a01b038116811461152d57600080fd5b919050565b60008083601f84011261154457600080fd5b50813567ffffffffffffffff81111561155c57600080fd5b60208301915083602082850101111561157457600080fd5b9250929050565b60008060006040848603121561159057600080fd5b61159984611516565b9250602084013567ffffffffffffffff8111156115b557600080fd5b6115c186828701611532565b9497909650939450505050565b6000602082840312156115e057600080fd5b610d1b82611516565b8015158114610a5657600080fd5b60008060008060008060008060006101008a8c03121561161657600080fd5b8935985061162660208b01611516565b975061163460408b01611516565b965060608a0135955060808a013561164b816115e9565b945061165960a08b01611516565b935061166760c08b01611516565b925060e08a013567ffffffffffffffff81111561168357600080fd5b61168f8c828d01611532565b915080935050809150509295985092959850929598565b600080600080608085870312156116bc57600080fd5b843593506116cc60208601611516565b92506116da60408601611516565b9396929550929360600135925050565b600080604083850312156116fd57600080fd5b61170683611516565b946020939093013593505050565b6020808252601490820152736e6f20636f6e74726f6c6c65722072696768747360601b604082015260600190565b8183823760009101908152919050565b60005b8381101561176d578181015183820152602001611755565b83811115610bbc5750506000910152565b60008151808452611796816020860160208601611752565b601f01601f19169290920160200192915050565b83815282151560208201526060604082015260006117cb606083018461177e565b95945050505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff81141561183657611836611809565b60010192915050565b60006020828403121561185157600080fd5b5051919050565b600060ff82168061186b5761186b611809565b6000190192915050565b60008282101561188757611887611809565b500390565b6000825161189e818460208701611752565b9190910192915050565b6000602082840312156118ba57600080fd5b8151610d1b816115e9565b602081526000610d1b602083018461177e56fea2646970667358221220fa913500e1414e8cc069cf8732fa3c9f42e0df5fff5160cfb459e58bf795604f64736f6c634300080c0033000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000456325f2ac7067234dd71e01bebe032b0255e039

Deployed Bytecode

0x6080604052600436106100eb5760003560e01c8063acf234e911610084578063eeb858b511610056578063eeb858b5146102cd578063f2fde38b146102ed578063f6a74ed71461030d578063fd9be5221461032d57005b8063acf234e914610252578063adc879e914610272578063b429afeb1461028d578063d039eff2146102ad57005b806378bbe8b6116100bd57806378bbe8b6146101b45780638da5cb5b146101e0578063a0cf0aea146101fe578063a7fc7a071461023257005b80630833bc9a146100f45780631b8b921d146101395780635e9252921461014c578063681b19ff1461018457005b366100f257005b005b34801561010057600080fd5b5061012461010f3660046114fd565b60009081526004602052604090205460ff1690565b60405190151581526020015b60405180910390f35b6100f261014736600461157b565b61034d565b34801561015857600080fd5b5060055461016c906001600160a01b031681565b6040516001600160a01b039091168152602001610130565b34801561019057600080fd5b5061012461019f3660046114fd565b60046020526000908152604090205460ff1681565b3480156101c057600080fd5b506002546101ce9060ff1681565b60405160ff9091168152602001610130565b3480156101ec57600080fd5b506000546001600160a01b031661016c565b34801561020a57600080fd5b5061016c7f000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801561023e57600080fd5b506100f261024d3660046115ce565b61042c565b34801561025e57600080fd5b506100f261026d3660046115f7565b610506565b34801561027e57600080fd5b50604051468152602001610130565b34801561029957600080fd5b506101246102a83660046115ce565b6107a8565b3480156102b957600080fd5b506100f26102c83660046115ce565b6107e3565b3480156102d957600080fd5b506100f26102e83660046116a6565b610885565b3480156102f957600080fd5b506100f26103083660046115ce565b6109be565b34801561031957600080fd5b506100f26103283660046115ce565b610a59565b34801561033957600080fd5b506100f26103483660046116ea565b610b2e565b610356336107a8565b61037b5760405162461bcd60e51b815260040161037290611714565b60405180910390fd5b600080846001600160a01b0316348585604051610399929190611742565b60006040518083038185875af1925050503d80600081146103d6576040519150601f19603f3d011682016040523d82523d6000602084013e6103db565b606091505b5091509150846001600160a01b03167fbb9c4c4e98e306e63e340c78eed06da47fecfc0e2e0c6e88b42aca99dc5d52c334848460405161041d939291906117aa565b60405180910390a25050505050565b6000546001600160a01b031633146104565760405162461bcd60e51b8152600401610372906117d4565b6001600160a01b03811660009081526001602052604090205460ff166104c6576001600160a01b03811660009081526001602081905260408220805460ff191690911790556002805460ff16916104ac8361181f565b91906101000a81548160ff021916908360ff160217905550505b6040516001600160a01b03821681527f0a8bb31534c0ed46f380cb867bd5c803a189ced9a764e30b3a4991a9901d7474906020015b60405180910390a150565b61050f336107a8565b61052b5760405162461bcd60e51b815260040161037290611714565b8561053589610c68565b101561057e5760405162461bcd60e51b81526020600482015260186024820152774d503a20696e73756666696369656e742062616c616e636560401b6044820152606401610372565b8415157f000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0316846001600160a01b0316141515146105fb5760405162461bcd60e51b815260206004820152601360248201527209aa074409cc2e8d2ecca40c8d2e6dac2e8c6d606b1b6044820152606401610372565b806106395760405162461bcd60e51b815260206004820152600e60248201526d4d503a206461746120656d70747960901b6044820152606401610372565b61064289610d22565b60007f000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0316896001600160a01b03161490508061072d5760055461069b906001600160a01b038b81169116308a610d94565b604051636eb1769f60e11b81523060048201526001600160a01b0389811660248301528891908b169063dd62ed3e90604401602060405180830381865afa1580156106ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070e919061183f565b101561072d5760035461072d906001600160a01b038b16908a90610dff565b600061074b898361073f576000610741565b895b8989898989610f19565b9050856001600160a01b03168b866001600160a01b03167fe849996be7e6e06728e1d82ed9c1147c36ff3f4052e8755855f081ad62a6ea7f8460405161079391815260200190565b60405180910390a45050505050505050505050565b600080546001600160a01b03838116911614806107dd57506001600160a01b03821660009081526001602052604090205460ff165b92915050565b6000546001600160a01b0316331461080d5760405162461bcd60e51b8152600401610372906117d4565b6001600160a01b0381166108635760405162461bcd60e51b815260206004820152601760248201527f4d503a204c6971756964706f6f6c20697320656d7074790000000000000000006044820152606401610372565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b61088e336107a8565b6108aa5760405162461bcd60e51b815260040161037290611714565b6108b384610d22565b806108bd84610c68565b10156109065760405162461bcd60e51b81526020600482015260186024820152774d503a20696e73756666696369656e742062616c616e636560401b6044820152606401610372565b7f000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0316836001600160a01b0316141561094f5761094a82826110e5565b61096a565b60055461096a906001600160a01b0385811691168484610d94565b816001600160a01b031684846001600160a01b03167fe849996be7e6e06728e1d82ed9c1147c36ff3f4052e8755855f081ad62a6ea7f846040516109b091815260200190565b60405180910390a450505050565b6000546001600160a01b031633146109e85760405162461bcd60e51b8152600401610372906117d4565b6001600160a01b038116610a4d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610372565b610a56816111b1565b50565b6000546001600160a01b03163314610a835760405162461bcd60e51b8152600401610372906117d4565b6001600160a01b03811660009081526001602081905260409091205460ff1615151415610af5576001600160a01b0381166000908152600160205260408120805460ff191690556002805460ff1691610adb83611858565b91906101000a81548160ff021916908360ff160217905550505b6040516001600160a01b03821681527f33d83959be2573f5453b12eb9d43b3499bc57d96bd2f067ba44803c859e81113906020016104fb565b610b37336107a8565b610b535760405162461bcd60e51b815260040161037290611714565b7f000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0316826001600160a01b03161415610bc257476000828211610b9d5781610b9f565b825b9050610bbc610bb66000546001600160a01b031690565b826110e5565b50505050565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa158015610c09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2d919061183f565b90506000828211610c3e5781610c40565b825b9050610bbc610c576000546001600160a01b031690565b6001600160a01b0386169083611201565b6000807f000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0316836001600160a01b03161415610cac5750476107dd565b6005546040516370a0823160e01b81526001600160a01b039182166004820152908416906370a08231906024015b602060405180830381865afa158015610cf7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1b919061183f565b9392505050565b60008181526004602052604090205460ff1615610d795760405162461bcd60e51b815260206004820152601560248201527413540e88185b1c9958591e4818dbdb5c1b195d1959605a1b6044820152606401610372565b6000908152600460205260409020805460ff19166001179055565b6040516001600160a01b0380851660248301528316604482015260648101829052610bbc9085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611231565b801580610e795750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa158015610e53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e77919061183f565b155b610ee45760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b6064820152608401610372565b6040516001600160a01b038316602482015260448101829052610f1490849063095ea7b360e01b90606401610dc8565b505050565b600080610f2585611306565b90508715610fb357610fad84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601a81527f4d503a2063616c6c416e645472616e73666572206661696c656400000000000060208201526001600160a01b038e169392508c9150611376565b50611034565b61103284848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601a81527f4d503a2063616c6c416e645472616e73666572206661696c656400000000000060208201526001600160a01b038e169392509050611453565b505b600061103f86611306565b90508181116110905760405162461bcd60e51b815260206004820152601e60248201527f4d503a2072656365697665722073686f756c64206765742061737365747300006044820152606401610372565b600061109c8383611875565b90506001600160a01b03881630146110d75788156110c3576110be88826110e5565b6110d7565b6110d76001600160a01b0388168983611201565b9a9950505050505050505050565b604080516000808252602082019092526001600160a01b03841690839060405161110f919061188c565b60006040518083038185875af1925050503d806000811461114c576040519150601f19603f3d011682016040523d82523d6000602084013e611151565b606091505b5050905080610f145760405162461bcd60e51b815260206004820152602660248201527f5472616e7366657248656c7065723a204e41544956455f5452414e534645525f60448201526511905253115160d21b6064820152608401610372565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040516001600160a01b038316602482015260448101829052610f1490849063a9059cbb60e01b90606401610dc8565b6000611286826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166114539092919063ffffffff16565b90508051600014806112a75750808060200190518101906112a791906118a8565b610f145760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610372565b6000807f000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0316836001600160a01b0316141561134a5750476107dd565b6040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401610cda565b6060824710156113d75760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610372565b600080866001600160a01b031685876040516113f3919061188c565b60006040518083038185875af1925050503d8060008114611430576040519150601f19603f3d011682016040523d82523d6000602084013e611435565b606091505b509150915061144687838387611462565b925050505b949350505050565b606061144b8484600085611376565b606083156114ce5782516114c7576001600160a01b0385163b6114c75760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610372565b508161144b565b61144b83838151156114e35781518083602001fd5b8060405162461bcd60e51b815260040161037291906118c5565b60006020828403121561150f57600080fd5b5035919050565b80356001600160a01b038116811461152d57600080fd5b919050565b60008083601f84011261154457600080fd5b50813567ffffffffffffffff81111561155c57600080fd5b60208301915083602082850101111561157457600080fd5b9250929050565b60008060006040848603121561159057600080fd5b61159984611516565b9250602084013567ffffffffffffffff8111156115b557600080fd5b6115c186828701611532565b9497909650939450505050565b6000602082840312156115e057600080fd5b610d1b82611516565b8015158114610a5657600080fd5b60008060008060008060008060006101008a8c03121561161657600080fd5b8935985061162660208b01611516565b975061163460408b01611516565b965060608a0135955060808a013561164b816115e9565b945061165960a08b01611516565b935061166760c08b01611516565b925060e08a013567ffffffffffffffff81111561168357600080fd5b61168f8c828d01611532565b915080935050809150509295985092959850929598565b600080600080608085870312156116bc57600080fd5b843593506116cc60208601611516565b92506116da60408601611516565b9396929550929360600135925050565b600080604083850312156116fd57600080fd5b61170683611516565b946020939093013593505050565b6020808252601490820152736e6f20636f6e74726f6c6c65722072696768747360601b604082015260600190565b8183823760009101908152919050565b60005b8381101561176d578181015183820152602001611755565b83811115610bbc5750506000910152565b60008151808452611796816020860160208601611752565b601f01601f19169290920160200192915050565b83815282151560208201526060604082015260006117cb606083018461177e565b95945050505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff81141561183657611836611809565b60010192915050565b60006020828403121561185157600080fd5b5051919050565b600060ff82168061186b5761186b611809565b6000190192915050565b60008282101561188757611887611809565b500390565b6000825161189e818460208701611752565b9190910192915050565b6000602082840312156118ba57600080fd5b8151610d1b816115e9565b602081526000610d1b602083018461177e56fea2646970667358221220fa913500e1414e8cc069cf8732fa3c9f42e0df5fff5160cfb459e58bf795604f64736f6c634300080c0033

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:6310: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;;;;;;;;16988: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:1260::-;;;;;;;;;;-1:-1:-1;15720:1260: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;18469:540::-;;;;;;;;;;-1:-1:-1;18469:540:0;;;;;:::i;:::-;;:::i;16988:293::-;11706:26;180:10;11785:146;:::i;11706:26::-;11698:59;;;;-1:-1:-1;;;11698:59:0;;;;;;;:::i;:::-;;;;;;;;;17110:12:::1;17124:19:::0;17147:7:::1;-1:-1:-1::0;;;;;17147:12:0::1;17167:9;17192:5;;17147:61;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17109:99;;;;17237:7;-1:-1:-1::0;;;;;17224:49:0::1;;17246:9;17257:7;17266:6;17224:49;;;;;;;;:::i;:::-;;;;;;;;17098:183;;16988: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;;12011:127;;-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:1260::-;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;;;::::0;-1:-1:-1;;;16002:68:0;;6342:2:1;16002:68:0::1;::::0;::::1;6324:21:1::0;6381:2;6361:18;;;6354:30;-1:-1:-1;;;6400:18:1;;;6393:54;6464:18;;16002:68:0::1;6140:348:1::0;16002:68:0::1;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:105;;;::::0;-1:-1:-1;;;16081:105:0;;6695:2:1;16081:105:0::1;::::0;::::1;6677:21:1::0;6734:2;6714:18;;;6707:30;-1:-1:-1;;;6753:18:1;;;6746:49;6812:18;;16081:105:0::1;6493:343:1::0;16081:105:0::1;16205:15:::0;16197:42:::1;;;::::0;-1:-1:-1;;;16197:42:0;;7043:2:1;16197:42:0::1;::::0;::::1;7025:21:1::0;7082:2;7062:18;;;7055:30;-1:-1:-1;;;7101:18:1;;;7094:44;7155:18;;16197:42:0::1;6841:338:1::0;16197:42:0::1;16250:23;16265:7;16250:14;:23::i;:::-;16284:20;16320:6;-1:-1:-1::0;;;;;16307:19:0::1;:9;-1:-1:-1::0;;;;;16307:19:0::1;;16284:42;;16342:15;16337:348;;16427:10;::::0;16374:135:::1;::::0;-1:-1:-1;;;;;16374:34:0;;::::1;::::0;16427:10:::1;16464:4;16488:6:::0;16374:34:::1;:135::i;:::-;16528:50;::::0;-1:-1:-1;;;16528:50:0;;16564:4:::1;16528:50;::::0;::::1;7396:34:1::0;-1:-1:-1;;;;;7466:15:1;;;7446:18;;;7439:43;16581:6:0;;16528:27;;::::1;::::0;::::1;::::0;7331:18:1;;16528:50:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:59;16524:150;;;16646:11;::::0;16608:50:::1;::::0;-1:-1:-1;;;;;16608:29:0;::::1;::::0;16638:6;;16608:29:::1;:50::i;:::-;16697:17;16717:183;16748:6;16769:15;:28;;16796:1;16769:28;;;16787:6;16769:28;16812:8;16835;16858:12;16885:4;;16717:16;:183::i;:::-;16697:203;;16952:8;-1:-1:-1::0;;;;;16918:54:0::1;16943:7;16929:12;-1:-1:-1::0;;;;;16918:54:0::1;;16962:9;16918:54;;;;3246:25:1::0;;3234:2;3219:18;;3100:177;16918:54:0::1;;;;;;;;15991:989;;15720:1260:::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;;7884:2:1;14086:61:0::1;::::0;::::1;7866:21:1::0;7923:2;7903:18;;;7896:30;7962:25;7942:18;;;7935:53;8005:18;;14086:61:0::1;7682: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;;;::::0;-1:-1:-1;;;15368:68:0;;6342:2:1;15368:68:0::1;::::0;::::1;6324:21:1::0;6381:2;6361:18;;;6354:30;-1:-1:-1;;;6400:18:1;;;6393:54;6464:18;;15368:68:0::1;6140:348:1::0;15368:68:0::1;15464:6;-1:-1:-1::0;;;;;15451:19:0::1;:9;-1:-1:-1::0;;;;;15451:19:0::1;;15447:196;;;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;;8236:2:1;11071:110:0::1;::::0;::::1;8218:21:1::0;8275:2;8255:18;;;8248:30;8314:34;8294:18;;;8287:62;-1:-1:-1;;;8365:18:1;;;8358:36;8411:19;;11071:110:0::1;8034: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;;;12272:127;;;-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;18469:540:0;11706:26;180:10;11785:146;:::i;11706:26::-;11698:59;;;;-1:-1:-1;;;11698:59:0;;;;;;;:::i;:::-;18594:6:::1;-1:-1:-1::0;;;;;18585:15:0::1;:5;-1:-1:-1::0;;;;;18585:15:0::1;;18581:421;;;18635:21;18617:15;18685:16:::0;;::::1;:35;;18713:7;18685:35;;;18704:6;18685:35;18671:49;;18735:47;18769:7;10813::::0;10840:6;-1:-1:-1;;;;;10840:6:0;;10767:87;18769:7:::1;18778:3;18735:33;:47::i;:::-;18602:192;;18469:540:::0;;:::o;18581:421::-:1;18833:38;::::0;-1:-1:-1;;;18833:38:0;;18865:4:::1;18833:38;::::0;::::1;1555:51:1::0;18815:15:0::1;::::0;-1:-1:-1;;;;;18833:23:0;::::1;::::0;::::1;::::0;1528:18:1;;18833:38:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18815:56;;18886:11;18910:6;18900:7;:16;:35;;18928:7;18900:35;;;18919:6;18900:35;18886:49;;18950:40;18977:7;10813::::0;10840:6;-1:-1:-1;;;;;10840:6:0;;10767:87;18977:7:::1;-1:-1:-1::0;;;;;18950:26:0;::::1;::::0;18986:3;18950: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;;8826:2:1;14378:55:0;;;8808:21:1;8865:2;8845:18;;;8838:30;-1:-1:-1;;;8884:18:1;;;8877:51;8945:18;;14378:55:0;8624: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;;;;;9232:15:1;;;7055:68:0;;;9214:34:1;9284:15;;9264:18;;;9257:43;9316:18;;;9309:34;;;7001:133:0;;7035:5;;-1:-1:-1;;;7078:27:0;9149: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;7150:433::-;7294:10;;;7293:62;;-1:-1:-1;7310:39:0;;-1:-1:-1;;;7310:39:0;;7334:4;7310:39;;;7396:34:1;-1:-1:-1;;;;;7466:15:1;;;7446:18;;;7439:43;7310:15:0;;;;;7331:18:1;;7310:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:44;7293:62;7271:166;;;;-1:-1:-1;;;7271:166:0;;9556:2:1;7271:166:0;;;9538:21:1;9595:2;9575:18;;;9568:30;9634:34;9614:18;;;9607:62;-1:-1:-1;;;9685:18:1;;;9678:52;9747:19;;7271:166:0;9354:418:1;7271:166:0;7502:62;;-1:-1:-1;;;;;9969:32:1;;7502:62:0;;;9951:51:1;10018:18;;;10011:34;;;7448:127:0;;7482:5;;-1:-1:-1;;;7525:22:0;9924:18:1;;7502:62:0;9777:274:1;7448:127:0;7150:433;;;:::o;17289:1172::-;17518:7;17538:19;17560:28;17575:12;17560:14;:28::i;:::-;17538:50;-1:-1:-1;17605:20:0;;17601:361;;17702:154;17755:4;;17702:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17702:154:0;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17702:34:0;;;:154;-1:-1:-1;17778:16:0;;-1:-1:-1;17702:34:0;:154::i;:::-;;17601:361;;;17889:61;17915:4;;17889:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17889:61:0;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17889:25:0;;;:61;-1:-1:-1;17889:61:0;-1:-1:-1;17889:25:0;:61::i;:::-;;17601:361;17974:19;17996:28;18011:12;17996:14;:28::i;:::-;17974:50;;18057:11;18043;:25;18035:68;;;;-1:-1:-1;;;18035:68:0;;10258:2:1;18035:68:0;;;10240:21:1;10297:2;10277:18;;;10270:30;10336:32;10316:18;;;10309:60;10386:18;;18035:68:0;10056:354:1;18035:68:0;18114:17;18134:25;18148:11;18134;:25;:::i;:::-;18114:45;-1:-1:-1;;;;;;18176:25:0;;18196:4;18176:25;18172:255;;18222:8;18218:198;;;18251:54;18285:8;18295:9;18251:33;:54::i;:::-;18218:198;;;18346:54;-1:-1:-1;;;;;18346:33:0;;18380:8;18390:9;18346:33;:54::i;:::-;18444:9;17289:1172;-1:-1:-1;;;;;;;;;;17289: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;;11158:2:1;12629:58:0;;;11140:21:1;11197:2;11177:18;;;11170:30;11236:34;11216:18;;;11209:62;-1:-1:-1;;;11287:18:1;;;11280:36;11333:19;;12629:58:0;10956:402:1;11236:191:0;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;;;;;9969:32:1;;6772:58:0;;;9951:51:1;10018:18;;;10011:34;;;6718:123:0;;6752:5;;-1:-1:-1;;;6795:23:0;9924:18:1;;6772:58:0;9777: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;;11815:2:1;9967:148:0;;;11797:21:1;11854:2;11834:18;;;11827:30;11893:34;11873:18;;;11866:62;-1:-1:-1;;;11944:18:1;;;11937:40;11994:19;;9967:148:0;11613: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;;12226:2:1;3106:118:0;;;12208:21:1;12265:2;12245:18;;;12238:30;12304:34;12284:18;;;12277:62;-1:-1:-1;;;12355:18:1;;;12348:36;12401:19;;3106:118:0;12024: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:17;;5265:290;;-1:-1:-1;;;;;1556:19:0;;;5479:60;;;;-1:-1:-1;;;5479:60:0;;12633:2:1;5479:60:0;;;12615:21:1;12672:2;12652:18;;;12645:30;12711:31;12691:18;;;12684:59;12760:18;;5479:60:0;12431: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:258::-;4640:1;4650:113;4664:6;4661:1;4658:13;4650:113;;;4740:11;;;4734:18;4721:11;;;4714:39;4686:2;4679:10;4650:113;;;4781:6;4778:1;4775:13;4772:48;;;-1:-1:-1;;4816:1:1;4798:16;;4791:27;4568:258::o;4831:257::-;4872:3;4910:5;4904:12;4937:6;4932:3;4925:19;4953:63;5009:6;5002:4;4997:3;4993:14;4986:4;4979:5;4975:16;4953:63;:::i;:::-;5070:2;5049:15;-1:-1:-1;;5045:29:1;5036:39;;;;5077:4;5032:50;;4831:257;-1:-1:-1;;4831:257:1:o;5093:369::-;5290:6;5279:9;5272:25;5347:6;5340:14;5333:22;5328:2;5317:9;5313:18;5306:50;5392:2;5387;5376:9;5372:18;5365:30;5253:4;5412:44;5452:2;5441:9;5437:18;5429:6;5412:44;:::i;:::-;5404:52;5093:369;-1:-1:-1;;;;;5093:369:1:o;5467:356::-;5669:2;5651:21;;;5688:18;;;5681:30;5747:34;5742:2;5727:18;;5720:62;5814:2;5799:18;;5467:356::o;5828:127::-;5889:10;5884:3;5880:20;5877:1;5870:31;5920:4;5917:1;5910:15;5944:4;5941:1;5934:15;5960:175;5997:3;6041:4;6034:5;6030:16;6070:4;6061:7;6058:17;6055:43;;;6078:18;;:::i;:::-;6127:1;6114:15;;5960:175;-1:-1:-1;;5960:175:1:o;7493:184::-;7563:6;7616:2;7604:9;7595:7;7591:23;7587:32;7584:52;;;7632:1;7629;7622:12;7584:52;-1:-1:-1;7655:16:1;;7493:184;-1:-1:-1;7493:184:1:o;8441:178::-;8478:3;8522:4;8515:5;8511:16;8546:7;8536:41;;8557:18;;:::i;:::-;-1:-1:-1;;8593:20:1;;8441:178;-1:-1:-1;;8441:178:1:o;10415:125::-;10455:4;10483:1;10480;10477:8;10474:34;;;10488:18;;:::i;:::-;-1:-1:-1;10525:9:1;;10415:125::o;10677:274::-;10806:3;10844:6;10838:13;10860:53;10906:6;10901:3;10894:4;10886:6;10882:17;10860:53;:::i;:::-;10929:16;;;;;10677:274;-1:-1:-1;;10677:274:1:o;11363:245::-;11430:6;11483:2;11471:9;11462:7;11458:23;11454:32;11451:52;;;11499:1;11496;11489:12;11451:52;11531:9;11525:16;11550:28;11572:5;11550:28;:::i;12789:219::-;12938:2;12927:9;12920:21;12901:4;12958:44;12998:2;12987:9;12983:18;12975:6;12958:44;:::i

Swarm Source

ipfs://fa913500e1414e8cc069cf8732fa3c9f42e0df5fff5160cfb459e58bf795604f

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.