У меня есть контракт, унаследованный от Собственного контракта Open Zeppelin.В моем договоре есть метод payFees (), который, как ожидается, переведет средства владельцу договора.Определение payFees выглядит следующим образом:
function payFees() public payable {
require(students.has(msg.sender), "DOES NOT HAVE STUDENT ROLE");
if(this.areFeesEnough(msg.value))
{
super.owner().transfer(msg.value);
studentFees[msg.sender] = true;
}
}
Я ожидаю, что вызов super.owner () вернет владельца контракта, учитывая, что owner()
является функцией открытого просмотра в родительском контракте Ownable
, который возвращаетвладелец.К сожалению, код не работает с ошибкой.
TypeError: Member "transfer" not found or not visible after argument-dependent lookup in address.
super.owner().transfer(msg.value);
Любая помощь приветствуется. Спасибо.