什么会导致我的回收函数,以前是工作突然停止工作,因为我添加其他功能到合同?
DeclarationError: Undeclared identifier. Did you mean "_balance"?
uint256 _balance = balances[this];
^^^^^^^^^^
它在这个片段中标出了每一个“平衡”:
function reclaimPAXG() external onlyOwner {
uint256 _balance = balances[this];
balances[this] = 0;
balances[owner] = balances[owner].add(_balance);
emit Transfer(this, owner, _balance);
}
平衡映射:
mapping(address => uint256) internal balances;
这是solididity 0。8。4,我正在接口IERC20到令牌合约,我尝试了几个潜在的修复。
试图将其移动到Ownable合同,它保留了错误。最接近的其他搜索结果是一个语法错误,所以我不知道发生了什么。
###通过将IERC20接口移动到它的映射所在的令牌契约中,能够通过平衡错误。最后删除了一个额外的"balanceOf"函数,这可能已经引起了问题。