当我和“安全帽”打电话时
const resp0 = await collateralPool.selfCloseExit(tokenShare0, true, TokenExitType.MINIMIZE_FEE_DEBT, "", { from: accounts[0] });
我知道它的类型是const resp0: Truffle.TransactionResponse<never>
,现在当我想测试一个事件是否被触发时,我使用
expectEvent(resp0, "AgentRedemptionInCollateral", { _amountUBA: fassets0 });
但它告诉我参数“AgentRedemptionInCollateral”应该是never
类型。如何修复此问题?expectEvent
被导入为
import { expectEvent } from "@openzeppelin/test-helpers";
发出事件的函数位于另一个由collateralPool调用的契约中,这是否是一个问题?
2条答案
按热度按时间cbwuti441#
在网上搜索时,我发现其他人也在typescript中遇到了这个包的问题,我认为修复这个问题的最简单方法是添加
// @ts-ignore
或调用(expectEvent as any)(resp0, "AgentRedemptionInCollateral, { _amountUBA: fassets0 });
之类的函数c2e8gylq2#
问题似乎是该事件是通过最初调用的契约在不同的契约中触发的。使用方法
expectEvent.inTransaction
解决了该问题。