当应用Waffle模拟模拟必须具有可解释性的契约方法时,会引发错误:
Error: Contract with a Signer cannot override from (operation="overrides.from", code=UNSUPPORTED_OPERATION, version=contracts/5.1.1)这是测试代码:
const provider = waffle.provider;
[senderMock] = provider.getWallets();
lockedToken = await deployMockContract(senderMock, LockedToken.abi);
await lockedToken.mock.addAdmin.returns();
...
await lockedToken.addAdmin(escrow.address, { from: multisig });相同的代码,但默认签名,它可以正常工作:
...
await lockedToken.addAdmin(escrow.address);那么,Waffle模拟不起作用吗?或者有什么解决办法?谢谢!
发布于 2022-01-18 05:41:53
根据https://github.com/ethers-io/ethers.js/issues/2000,您可以:
await lockedToken.connect(multisig).addAdmin(escrow.address);
https://ethereum.stackexchange.com/questions/110270
复制相似问题