TypeError в ремиксе для контракта BSC
У меня есть эта ошибка "TypeError: адрес типа возвращаемого аргумента не может быть неявно преобразован в ожидаемый тип (тип первой возвращаемой переменной) адрес к оплате. -> Driven.sol:233:16: | 233 | return msg.sender; | ^^ ^^^^^^^^ "
для следующей функции
abstract contract Context {
function _msgSender() internal view virtual returns (address payable) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes memory) {
this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
return msg.data;
}
}
Пожалуйста помоги!
1 ответ
Решение
Поскольку Solidity 0.8,
msg.sender
больше нет. Вам нужно передать его на
payable
первый.
function _msgSender() internal view virtual returns (address payable) {
return payable(msg.sender); // added payable
}
Или ты можешь просто вернуться
address
(не к оплате):
function _msgSender() internal view virtual returns (address) { // removed payable
return msg.sender;
}