Pancakeswap 路由器 v2 - getAmountsOut?

Pancakeswap router v2 - getAmountsOut?

getAmountsOut/getAmountOut 和 getAmountsIn/getAmountIn 究竟有什么作用? Pancakeswap docs 中没有解释,所以我不确定如何使用它。两者和 's' 或 none 有什么区别?

不同之处在于带有“s”的 return 是由 path 互换产生的一系列输出。而没有“s”的那些 return 单次交换的输出。

因此,如果我沿着路径 ["ETHUSDT", "USDTUSDC"] 交换,那么 getAmountsOut 将 return 来自 ETHUSDT 交换的 USDT 输出量和来自“USDTUSDC”交换的 USDC 输出量。 returned 值将如下所示:[usdtAmount, usdcAmount].

如果我交换“ETHUSDT”,那么 getAmountOut 将 return usdtAmount.

反之亦然 getAmountsIn/getAmountIn。

这里定义:https://github.com/pancakeswap/pancake-swap-periphery/blob/master/contracts/libraries/PancakeLibrary.sol#L63