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;
}
Другие вопросы по тегам