Javascript

我的智能合約交易中的大括號是什麼意思?

  • April 6, 2022
await routerContract
       .addLiquidityETH(
         daiAddress,
         ethers.utils.parseEther(strDaiAmount),
         ethers.utils.parseEther(strDaiSlippage),
         ethers.utils.parseEther(strEthSlippage),
         signerAddress,
         Date.now() + 60000 * props.deadline,
         { value: ethers.utils.parseEther(strEthAmount) }
       )

以上是工作程式碼。我寫這個問題是為了進一步理解。

我無法理解智能合約的最終參數…{ value: ethers.utils.parseEther(strEthAmount) }

我添加了最後一個參數,因為程式碼拋出了錯誤,我看到一個執行緒說你必須添加這個參數,以便 ethers 知道我正在進行交易。據我了解,該參數僅傳遞了乙太幣數量。

我嘗試的另一個解決方案是為我的交易設置一個 .send 方法。但是 ethers 不辨識 .send 方法。

如果有人可以幫助消除我的困惑或提供一些指示,我將不勝感激。謝謝!

addLiquidityETH似乎是一個payable函式,因此它需要該參數,那些大括號表示這是交易資訊,而不是函式預期參數的一部分,這就是您表示您正在發送 eth 的方式。它還可以包括gasLimit和其他屬性。

引用自:https://ethereum.stackexchange.com/questions/125562