IWETHGateway

// SPDX-License-Identifier: AGPL-3.0
pragma solidity 0.8.16;

interface IWETHGateway {
    function depositETH(
        uint256 reserveId,
        address onBehalfOf,
        uint16 referralCode
    ) external payable;

    function batchDepositETH(
        uint256[] calldata amounts,
        uint256[] calldata reserveIds,
        address[] calldata onBehalfOfs,
        uint16[] calldata referralCodes
    ) external payable;

    function withdrawETH(
        uint256 amount,
        uint256 reserveId,
        address to
    ) external;

    function batchWithdrawETH(
        uint256[] calldata amounts,
        uint256[] calldata reserveIds,
        address[] calldata tos
    ) external;

    function borrowETH(
        uint256 amount,
        uint256 tokenId,
        uint256 tokenValue,
        uint256 reserveId,
        uint256 duration,
        address onBehalfOf,
        uint16 referralCode
    ) external;

    function batchBorrowETH(
        uint256[] calldata amounts,
        uint256[] calldata tokenIds,
        uint256[] calldata tokenValues,
        uint256[] calldata reserveIds,
        uint256 duration,
        address onBehalfOf,
        uint16 referralCode
    ) external;

    function repayETH(
        uint256 borrowId,
        uint256 amount
    ) external payable;

    function batchRepayETH(
        uint256[] calldata borrowId,
        uint256[] calldata amounts
    ) external payable;

    function refinanceETH(
        uint256 borrowId,
        uint256 amount,
        uint256 duration
    ) external payable;

    function batchRefinanceETH(
        uint256[] calldata borrowIds,
        uint256[] calldata amounts,
        uint256[] calldata durations
    ) external payable;

    function bidETH(
        address asset,
        uint256 amount,
        uint256 borrowid,
        address onBehalfOf
    ) external payable;

    function batchBidETH(
        address[] calldata assets,
        uint256[] calldata amounts,
        uint256[] calldata borrowids,
        address[] calldata onBehalfOfs
    ) external payable;

    function authorizeExecutionDelegate() external;
}

Last updated