Given an input asset amount and pool reserves (both actual and virtual balances), returns the maximum output amount of the other asset (accounting for fees).
Returns the minimum input asset amount required to buy the given output asset amount (accounting for fees) given pool reserves (both actal and virtual balances).
Given an input asset amount and an array of token and corresponding pool addresses, calculates all subsequent maximum output token amounts by calling getTradeInfo for each pair of token addresses in the path in turn, and using these to call getAmountOut.
Since there are possibly multiple pools per token pair, it is required to specify the pools to be used for the swap. As such, it is a requirement that poolsPath.length = path.length - 1.
Useful for calculating optimal token amounts before calling swap.
Given an output asset amount and an array of token addresses, calculates all preceding minimum input token amounts by calling getTradeInfo for each pair of token addresses in the path in turn, and using these to call getAmountIn.
Since there are possibly multiple pools per token pair, it is required to specify the pools to be used for the swap. As such, it is a requirement that poolsPath.length = path.length - 1.
Useful for calculating optimal token amounts before calling swap.