swapExactTokensForTokens。
1
在 Tenderly dashboard 搜索中粘贴交易哈希
2
交易哈希:
0xbe082dcc8ae59868f5b2330173902bb88c6643b5c2fdf0d8a9f43d03dbca0c363
探索错误
4
回滚发生在
swapExactTokensForTokens 中,检查涉及输入参数 amountOutMin 的条件时。它以下列错误消息回滚:
错误消息:UniswapV2Router: INSUFFICIENT_OUTPUT_AMOUNT5
从输入部分,我们可以看到
amountOutMin 的值为 1102820622890207119。6
7
探索回滚条件
8
跳到 debugger 视图。注意 require 涉及
amounts[amounts.length - 1]。9
10
评估表达式
11
要获取此表达式的值,您可以使用 Evaluate:
12
amounts[amounts.length - 1],13
值是:
值为
1029855063181377015。14
15
从调用信息中获取值
16
您还可以通过分析产生该值的函数来提取所讨论表达式的值:
17
getAmountsOutoutputamounts[amounts.length - 1] 获取数组的最后一个元素,我们得出结论:所讨论的值是 1029855063181377015。18
19
潜在解决方案
20
如果
amountOutMin 的值为 1029855063181377015,则此交易将会成功。21
验证解决方案
22
要验证解决方案,请点击 “Re-Simulate” 按钮:
23
1029855063181377015 粘贴到第二个参数24
模拟已成功,这意味着我们找到了正确的参数值。
25
Swap 交易对时间敏感,它们会考虑
block.timestamp 值。
默认情况下,模拟在原始区块和原始时间戳上执行。
只有在需要自定义区块和时间戳值时,才可以使用区块头覆盖来实现此目的。