Есть ли способ для надежности 0.4.24 получить данные байтов от вызова - PullRequest
1 голос
/ 18 апреля 2020

Я пытаюсь следовать этому трюку.

https://blog.polymath.network/try-catch-in-solidity-handling-the-revert-exception-f53718f76047

Для версии с солидностью 5 все работает, и я могу сделать это:

(bool success, bytes memory returnData) =
                address(token).call(...)

Для версии надежности 4 я могу сделать только это:

 (bool success) =
    address(token).call(...)

Если я пытаюсь получить returnData в v4, я получаю эту ошибку

Ошибка типа: недостаточно компонентов (1 ) в значении, чтобы назначить все переменные (2).

есть ли способ получить returnData для Solidity v 4? Без двойного вызова?

Мне нужны эти данные для случая, чтобы не делать двойной вызов, когда мне нужно проверить функцию представления, она может вызываться или нет в контрактах.

1 Ответ

0 голосов
/ 04 мая 2020

Да, это возможно только в версии 5 и новее

https://solidity.readthedocs.io/en/v0.5.0/050-breaking-changes.html

...