В сообщении об ошибке говорится, что транзакция в setAddress()
отменена:
транзакция в EternalStorage.setAddress с ошибкой: Ошибка виртуальной машины: возврат.
Существует только одинrequre()
оператор в setAddress()
, в onlyLatestVersion()
:
require(msg.sender == latestVersion);
Таким образом, практически точно, что отправитель транзакции (msg.sender
) не установлен в latestVersion
.Это означает, что вам необходимо:
- Удостовериться, что вы отправляете со счета, который имеет контракт, как
latestVersion
, или ... - Изменить
latestVersion
, используяФункция контракта upgradeVersion()
, так что она соответствует отправителю транзакции.