Money Market Functions
Functions that allow a swap aggreagated with a single money market interactions.
Supplying to a lender
Supply functions connected with swaps.
Function: swapAndSupplyExactIn
This function allows the user to swap a specified amount of input tokens (tokenIn) and supply the resulting output tokens to a lending protocol.
Parameters:
params
(ExactInputMultiParams memory): A struct containing parameters for the swap and supply operation.
path
(bytes
): A byte-encoded representation of the tokenIn, tokenOut, and fee of each pool to be used in the trade.amountIn
(uint256
): The exact amount of input tokens to be swapped.
No return values
Function: swapETHAndSupplyExactIn
This function allows the user to swap a specified amount of Ether for output tokens and supply the resulting tokens to a lending protocol.
Parameters:
params
(ExactInputMultiParams calldata): A struct containing parameters for the swap and supply operation.
path
(bytes
): A byte-encoded representation of the tokenIn, tokenOut, and fee of each pool to be used in the trade.amountIn
(uint256
): The exact amount of Ether to be swapped.
No return values
Function: swapAndSupplyExactOut
This function allows the user to swap tokens to receive a specified amount of output tokens (tokenOut) and supply the resulting tokens to a lending protocol.
Parameters:
params
(MarginSwapParamsMultiExactOut calldata): A struct containing parameters for the swap and supply operation.
path
(bytes
): A byte-encoded representation of the tokenIn, tokenOut, and fee of each pool to be used in the trade.amountOut
(uint256
): The exact amount of output tokens to be received.-
interestRateMode` (
uint256`): The interest rate mode (stable or variable) for the borrowed tokens.amountInMaximum
(uint256
): The maximum amount of input tokens allowed to be used.
Returns: uint256
: The amount of input tokens used for the swap.
Function: swapETHAndSupplyExactOut
This function allows the user to swap Ether to receive a specified amount of output tokens (tokenOut) and supply the resulting tokens to a lending protocol.
Parameters:
params
(ExactOutputMultiParams calldata): A struct containing parameters for the swap and supply operation.
path
(bytes
): A byte-encoded representation of the tokenIn, tokenOut, and fee of each pool to be used in the trade.amountOut
(uint256
): The exact amount of output tokens to be received.
Returns: uint256
: The amount of Ether used for the swap.
Function: swapETHAndSupplyExactOut
This function allows the user to swap Ether to receive a specified amount of output tokens (tokenOut) and supply the resulting tokens to a lending protocol.
Parameters:
params
(ExactOutputMultiParams calldata): A struct containing parameters for the swap and supply operation.
path
(bytes
): A byte-encoded representation of the tokenIn, tokenOut, and fee of each pool to be used in the trade.amountOut
(uint256
): The exact amount of output tokens to be received.
Returns: uint256
: The amount of Ether used for the swap.
Withdrawals from existing deposits
Withdrawal functions connected with swaps
Function: withdrawAndSwapExactIn
This function allows the user to withdraw a specified amount of input tokens (tokenIn) from a lending protocol and swap them to receive output tokens.
Parameters:
params
(ExactInputParams memory): A struct containing parameters for the withdrawal and swap operation.
path
(bytes
): A byte-encoded representation of the tokenIn, tokenOut, and fee of each pool to be used in the trade.amountIn
(uint256
): The exact amount of input tokens to be withdrawn and swapped.
Returns: uint256
: The amount of output tokens received from the swap.
Function: withdrawAndSwapExactInToETH
This function allows the user to withdraw a specified amount of input tokens (tokenIn) from a lending protocol and swap them to receive Ether.
Parameters:
params
(ExactInputMultiParams memory): A struct containing parameters for the withdrawal and swap operation.
path
(bytes
): A byte-encoded representation of the tokenIn, tokenOut, and fee of each pool to be used in the trade.amountIn
(uint256
): The exact amount of input tokens to be withdrawn and swapped.
Returns: uint256
: The amount of Ether received from the swap.
Function: withdrawAndSwapExactOut
This function allows the user to withdraw input tokens (tokenIn) from a lending protocol and swap them to receive a specified amount of output tokens (tokenOut).
Parameters:
params
(MarginSwapParamsMultiExactOut calldata): A struct containing parameters for the withdrawal and swap operation.
path
(bytes
): A byte-encoded representation of the tokenIn, tokenOut, and fee of each pool to be used in the trade.amountOut
(uint256
): The exact amount of output tokens to be received.interestRateMode
(uint256
): The interest rate mode (stable or variable) for the borrowed tokens.amountInMaximum
(uint256
): The maximum amount of input tokens allowed to be withdrawn.
Returns: uint256
: The amount of input tokens withdrawn for the swap.
Function: withdrawAndSwapExactOutToETH
This function allows the user to withdraw input tokens (tokenIn) from a lending protocol and swap them to receive a specified amount of Ether.
Parameters:
params
(MarginSwapParamsMultiExactOut calldata): A struct containing parameters for the withdrawal and swap operation.
path
(bytes
): A byte-encoded representation of the tokenIn, tokenOut, and fee of each pool to be used in the trade.amountOut
(uint256
): The exact amount of Ether to be received.interestRateMode
(uint256
): The interest rate mode (stable or variable) for the borrowed tokens.amountInMaximum
(uint256
): The maximum amount of input tokens allowed to be withdrawn.
Returns: uint256
: The amount of input tokens withdrawn for the swap.
Functions withdeawing the full balances
Function: withdrawAndSwapAllIn
This function allows the user to withdraw their entire balance of input tokens (tokenIn) from the lending protocol and swap them for output tokens (tokenOut).
Parameters:
params
(AllInputCollateralMultiParamsBaseWithRecipient calldata): A struct containing parameters for the withdraw and swap operation.
path
(bytes
): A byte-encoded representation of the tokenIn, tokenOut, and fee of each pool to be used in the trade.recipient
(address
): The address that will receive the output tokens.amountOutMinimum
(uint256
): The minimum amount of output tokens that must be received.
Returns: uint256
: The amount of output tokens received from the swap.
Function: withdrawAndSwapAllInToETH
This function allows the user to withdraw their entire balance of input tokens (tokenIn) from the lending protocol and swap them for Ether.
Parameters:
params
(AllInputCollateralMultiParamsBaseWithRecipient calldata): A struct containing parameters for the withdraw and swap operation.
path
(bytes
): A byte-encoded representation of the tokenIn, tokenOut, and fee of each pool to be used in the trade.recipient
(address
): The address that will receive the Ether.amountOutMinimum
(uint256
): The minimum amount of Ether that must be received.
Returns: uint256
: The amount of Ether received from the swap.
Borrowing
Function: borrowAndSwapExactIn
This function allows the user to borrow a specified amount of input tokens (tokenIn) and swap them to receive output tokens.
Parameters:
interestRateMode
(uint256
): The interest rate mode (stable or variable) for the borrowed tokens.
params
(ExactInputWithLimitParams memory): A struct containing parameters for the borrow and swap operation.path
(bytes
): A byte-encoded representation of the tokenIn, tokenOut, and fee of each pool to be used in the trade.amountIn
(uint256
): The exact amount of input tokens to be borrowed and swapped.amountOutMinimum
(uint256
): The minimum amount of output tokens that must be received.
Returns: uint256
: The amount of output tokens received from the swap.
Function: borrowAndSwapExactInToETH
This function allows the user to borrow a specified amount of input tokens (tokenIn) and swap them to receive Ether.
Parameters:
interestRateMode
(uint256
): The interest rate mode (stable or variable) for the borrowed tokens.
params
(StandaloneExactInputUniswapParams calldata): A struct containing parameters for the borrow and swap operation.path
(bytes
): A byte-encoded representation of the tokenIn, tokenOut, and fee of each pool to be used in the trade.amountIn
(uint256
): The exact amount of input tokens to be borrowed and swapped.amountOutMinimum
(uint256
): The minimum amount of Ether that must be received.
Returns: uint256
: The amount of Ether received from the swap.
Function: borrowAndSwapExactOut
This function allows the user to borrow input tokens (tokenIn) and swap them to receive a specified amount of output tokens (tokenOut).
Parameters:
params
(MarginSwapParamsMultiExactOut memory): A struct containing parameters for the borrow and swap operation.
path
(bytes
): A byte-encoded representation of the tokenIn, tokenOut, and fee of each pool to be used in the trade.amountOut
(uint256
): The exact amount of output tokens to be received.interestRateMode
(uint256
): The interest rate mode (stable or variable) for the borrowed tokens.amountInMaximum
(uint256
): The maximum amount of input tokens allowed to be borrowed.
Returns: uint256
: The amount of input tokens borrowed for the swap.
Function: borrowAndSwapExactOutToETH
This function allows the user to borrow input tokens (tokenIn) and swap them to receive a specified amount of Ether.
Parameters:
params
(MarginSwapParamsMultiExactOut calldata): A struct containing parameters for the borrow and swap operation.
path
(bytes
): A byte-encoded representation of the tokenIn, tokenOut, and fee of each pool to be used in the trade.amountOut
(uint256
): The exact amount of Ether to be received.interestRateMode
(uint256
): The interest rate mode (stable or variable) for the borrowed tokens.amountInMaximum
(uint256
): The maximum amount of input tokens allowed to be borrowed.
Returns: uint256
: The amount of input tokens borrowed for the swap.
Repay
Allows the user to repay borrow balances with a lender with any currency.
Function: swapAndRepayExactIn
This function allows the user to swap a specified amount of input tokens (tokenIn) and repay a debt in the lending protocol.
Parameters:
interestRateMode
(uint256
): The interest rate mode (stable or variable) for the repayment.
params
(ExactInputMultiParams calldata): A struct containing parameters for the swap and repay operation.
path
(bytes
): A byte-encoded representation of the tokenIn, tokenOut, and fee of each pool to be used in the trade.amountIn
(uint256
): The exact amount of input tokens to be swapped.
Returns: uint256
: The amount of output tokens repaid to the lending protocol.
Function: swapETHAndRepayExactIn
This function allows the user to swap a specified amount of Ether and repay a debt in the lending protocol.
Parameters:
interestRateMode
(uint256
): The interest rate mode (stable or variable) for the repayment.
params
(ExactInputMultiParams calldata): A struct containing parameters for the swap and repay operation.
path
(bytes
): A byte-encoded representation of the tokenIn, tokenOut, and fee of each pool to be used in the trade.amountIn
(uint256
): The exact amount of Ether to be swapped.
Returns: uint256
: The amount of output tokens repaid to the lending protocol.
Function: swapAndRepayExactOut
This function allows the user to swap input tokens (tokenIn) to repay a specified amount of output tokens (tokenOut) to the lending protocol.
Parameters:
params
(MarginSwapParamsMultiExactOut memory): A struct containing parameters for the swap and repay operation.
path
(bytes
): A byte-encoded representation of the tokenIn, tokenOut, and fee of each pool to be used in the trade.amountOut
(uint256
): The exact amount of output tokens to be repaid.interestRateMode
(uint256
): The interest rate mode (stable or variable) for the repayment.amountInMaximum
(uint256
): The maximum amount of input tokens allowed to be swapped.
Returns: uint256
: The amount of input tokens swapped for the repayment.
Function: swapETHAndRepayExactOut
This function allows the user to swap Ether to repay a specified amount of output tokens (tokenOut) to the lending protocol.
Parameters:
interestRateMode
(uint256
): The interest rate mode (stable or variable) for the repayment.
params
(ExactOutputMultiParams calldata): A struct containing parameters for the swap and repay operation.
path
(bytes
): A byte-encoded representation of the tokenIn, tokenOut, and fee of each pool to be used in the trade.amountOut
(uint256
): The exact amount of output tokens to be repaid.
Returns: uint256
: The amount of Ether swapped for the repayment.
Functions repaying the full loan
Repaying with these will not left any borrow dust.
Function: swapAndRepayAllOut
This function allows the user to swap input tokens (tokenIn) to repay their entire debt balance of output tokens (tokenOut) in the lending protocol.
Parameters:
params
(AllOutputMultiParamsBase calldata): A struct containing parameters for the swap and repay operation.
path
(bytes
): A byte-encoded representation of the tokenIn, tokenOut, and fee of each pool to be used in the trade.interestRateMode
(uint256
): The interest rate mode (stable or variable) for the repayment.amountInMaximum
(uint256
): The maximum amount of input tokens allowed to be swapped.
Returns: uint256
: The amount of input tokens swapped for the repayment.
Function: swapETHAndRepayAllOut
This function allows the user to swap Ether to repay their entire debt balance of output tokens (tokenOut) in the lending protocol.
Parameters:
params
(AllOutputMultiParamsBase calldata): A struct containing parameters for the swap and repay operation.
path
(bytes
): A byte-encoded representation of the tokenIn, tokenOut, and fee of each pool to be used in the trade.interestRateMode
(uint256
): The interest rate mode (stable or variable) for the repayment.amountInMaximum
(uint256
): The maximum amount of Ether allowed to be swapped.
Returns: uint256
: The amount of Ether swapped for the repayment.