Contract-Debugging

如何使用 waffle-hardhat 中的 changeEtherBalance?

  • November 29, 2021

我想檢查交易後帳戶的乙太幣餘額是否減少,changeEtherBalance我嘗試遵循華夫餅文件但也無法做到。

       await token.connect(addr1).mint(1, {value: ethers.utils.parseEther("0.1")}))
       .to.changeEtherBalance(addr1, -(ethers.utils.parseEther("0.1"))
       );

錯誤:

Error: overflow (fault="overflow", operation="BigNumber.from", value=-100000000000000000, code=NUMERIC_FAULT, version=bignumber/5.5.0)

我剛剛找到了我應該做的事情,這很簡單:

await token.connect(addr1).mint(1, {value: ethers.utils.parseEther("0.1")}))
       .to.changeEtherBalance(addr1, ethers.utils.parseEther("-0.1"));

您可以在此處查看更多資訊。基本上你應該發送收件人和金額:

await expect(() => wallet.sendTransaction({to: walletTo.address, value: 200}))
 .to.changeEtherBalance(walletTo, 200);

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