Etherscan
getAmountsIn - 錯誤:返回錯誤:執行恢復:ds-math-sub-underflow
我是乙太坊和 Solidity 的新手,最近遇到了以下我無法理解的問題。
我正在嘗試使用 UniswapV2 路由器來計算代幣之間的匯率。我正在使用 getAmountsIn 方法並註意到以下行為:
我在 UniswapRouterV2 中使用USDT和SHIB如下
如您所見,我正在嘗試將 10000 TETH 轉換為 SHIB。路由器顯示 ds-math-sub-underflow 錯誤,我不知道為什麼會發生。在 uniswap 上,這個計算可以毫無問題地完成(儘管從未執行過)。
這個問題也發生在 PancakeSwapRouterV2 中。
問題:
- TETH 有 6 位小數,所以如果我想交易 10000TETH,我在 amountOut 欄位中插入的值應該是 10000 * 10^6,對吧?
- 此錯誤是否與網路中可用的 SHIB 數量有關?
- 有什麼辦法可以解決這個問題?
如果您能提供任何有用的資源來閱讀有關此問題的更多資訊,我將不勝感激。
池中只有約 5k USDT。您有小數點後一位,您試圖取出 1000 USDT,但您已寫入 10000 USDT,這大於池中導致估計下溢的 USDT 數量。