RouterUtil
Last updated
Last updated
RouterUtil.sol
provides miscellaneous utils and preview functions related to Router executions.
Gives the spot exchange rate of token i in terms of token j.
For example spotExchangeRate(any, 1, 0)
gives you the PT/IBT quote (how much IBT is worth one PT).
in IBT while spotExchangeRate(any, 0, 1)
gives you the IBT/PT quote (how much PT is worth one IBT).
_curvePool
address
The address of the curve pool contract
_i
uint256
The input token index
_j
uin256
The output token index
uint256
The quote for the exchange rate of _
i
for _
j
Returns the maximal amount of YT one can obtain with a given amount of IBT (i.e without fees or slippage).
_inputIBTAmount
address
The amount of IBT to convert
_curvePool
uint256
The address of the curve pool contract
ytAmount
uint256
An upper bound on the YT amount expected
Estimates the amount of IBT required to perform a flash swap to obtain a specific amount of YT.
_curvePool
address
The address of the curve pool contract
_outputYTAmount
uint256
The desired YT amount
inputIBTAmount
uint256
The estimated IBT amount required for the swap
borrowedIBTAmount
uint256
The calculated IBT amount to be borrowed in the flash swap.
Estimates the amount of YT that can be obtained by providing a specific amount of IBT in a flash swap.
_curvePool
address
The address of the curve pool contract
_inputIBTAmount
uint256
IBT amount for the swap.
minGuessOutputYTAmount
uint256
The minimum estimated YT obtained from the swap.
maxGuessOutputYTAmount
uint256
The maximum estimated YT obtained from the swap.
borrowedIBTAmount
uint256
The calculated IBT amount to be borrowed in the flash swap.
Estimates the amount of IBT that can be obtained by swapping a specific amount of YT.
_curvePool
address
The address of the curve pool to trade in
_inputYTAmount
uint256
The YT amount provided for the swap.
outputIBTAmount
uint256
Estimated IBT amount obtainable from the swap.
borrowedIBTAmount
uint256
The calculated IBT amount to be borrowed in the flash swap.
Estimate the required input amount of a token (dx
) for a Curve pool swap, given a target output amount (targetDy
).
curvePool
address
The address of the curve pool contract
i
uint256
The index of the input token in the Curve pool.
j
uint256
The index of the output token in the Curve pool.
targetDy
uint256
The desired output amount in the swap.
guess
uint256
The estimated input amount (dx
) that should be provided to the Curve pool to obtain the targetDy
.
_curvePool
address
The address of the curve pool contract
_assets
uint256
The amount of assets to deposit as total liquidity.
minMintAmount
uint256
The estimated amount of Curve LP tokens
curvePool
address
The address of the curve pool contract
_ibts
uint256
The amount of ibts to deposit as total liquidity.
minMintAmount
uint256
The estimated amount of Curve LP tokens
_curvePool
address
The address of the curve pool contract
_amounts
uint256[2]
The amounts of token 0 (IBT) and token 1 (PT) to provide as liquidity
minMintAmount
uint256
The estimated amount of Curve LP tokens
_curvePool
address
The address of the curve pool contract
_lpAmount
uint256
The amount of lp tokens to burn
assets
uint256
The estimated assets withdrawn from the pool.
_curvePool
address
The address of the curve pool contract
_lpAmount
uint256
The amount of lp tokens to burn
ibts
uint256
The estimated IBTs withdrawn from the pool.
Estimate the amounts of IBT and PT received for burning _lpAmount
LP tokens.
_curvePool
address
The address of the curve pool contract
_lpAmount
uint256
The amount of lp tokens to burn
minAmounts
uint256[2]
The estimated amounts of IBTs and PTs withdrawn from the pool.
Estimate the amounts of either IBT or PT received for burning _lpAmount
LP tokens. _i=0
for IBT and _i=1
for PT.
_curvePool
address
The address of the curve pool contract
_lpAmount
uint256
The amount of LP tokens to burn
_i
uin256
The index of the token to withdraw
minAmounts
uint256
The estimated amounts of token withdrawn
This function is used for setting initial guess for the root finding algorithms used when performing . This method should not be used to evaluate a precise YT price.
Estimate the amount of LP tokens the user will get by routing assets for LP tokens ().
Estimate the amount of LP tokens the user will get by routing IBTs for LP tokens ().
Estimate the amount of LP tokens the user will get by adding amounts
liquidity. amounts
is an array of the amount for token 0, the and for token 1, the .
Estimate the amount of underlying token (assets) a user will get for burning _lpAmount
LP tokens and redeeming PT and IBT for underlying. ().
Estimate the amount of IBTs a user will get for burning _lpAmount
LP tokens and redeeming PT for IBT. ().