我正在尝试添加一个函数,该函数将公开返回时间锁合同所包含的令牌总数。我试图从balanceOf调用IERC20地址(这个),但它没有编译
pragma solidity ^0.8.0;
import "@openzeppelin/contracts/token/ERC20/utils/TokenTimelock.sol";
contract TimeLockTest is TokenTimelock {
IERC20 constant myToken = IERC20(0x5B38Da6a701c568545dCfcB03FcB875f56beddC4);
address constant myWallet = 0x5B38Da6a701c568545dCfcB03FcB875f56beddC4;
uint256 constant releasetime = 1654368599;
constructor() TokenTimelock(myToken, myWallet, releasetime) {
}
function balanceOf(address this) external view returns (uint256);
return balanceOf;
}
}发布于 2021-11-25 18:12:23
要获得当前合同的地址,需要使用address(this)。没有必要在您的函数中接受任何参数,因为您的契约地址是固定的。
尝试这样做,它直接读取契约中持有的IERC20接口上的契约余额,并返回它。
function currentBalance() external view returns (uint256) {
return myToken.balanceOf(address(this));
}https://ethereum.stackexchange.com/questions/114311
复制相似问题