为什么我不能传入一个用户定义的值?

pn9klfpd  于 2021-09-23  发布在  Java
关注(0)|答案(0)|浏览(186)

我之前发布了一个问题,为什么我不能在脚本中添加gas而不导致txn失败。但我发现这是我传递的变量。如果我在字符串“100”中传入一个金额,则返回由 ethers.utils.parseUnits 是正确的,交易没有问题。但如果我将一个用户定义的值分配给const或var并尝试使用它,任何超过10的值都会导致事务失败。
在获取的值时,这并不重要 gasLimit ```
// This code will work:

const gasPriceWei = ethers.utils.parseUnits('100', 'gwei');
const gas = {
gasPrice: gasPriceWei,
gasLimit: gasLimit
}

// This code will NOT work:

const gasPriceWei = ethers.utils.parseUnits(userDefinedValue, 'gwei');
const gas = {
gasPrice: gasPriceWei,
gasLimit: gasLimit
}

我只是想知道为什么 `parseUnits` 被我传递的没有硬编码到脚本中的任何东西噎住了。变量的值 `userDefinedValue` 正在使用提示sync nodesjs prompt获取。
这些值正在传递给:

const tx = await router.swapExactETHForTokens(
0, //dont really care about slippage
[addresses.WBNB, token],
addresses.target,
Math.floor(Date.now() / 1000) + 60 * 10, // 10 minutes from now
{
...gas, //
value: BNB2Swap
}
);

非常感谢。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题