нужна помощь в понимании того, почему require
выдает ошибку и останавливает компиляцию моего контракта. Функция предназначена для того, чтобы позволить владельцу прокси обновить текущую версию контракта прокси и вызвать новую реализацию для инициализации всего, что необходимо, посредством вызова низкого уровня.
function upgradeToAndCall(address implementation, bytes memory data) public payable
onlyProxyOwner
{
upgradeTo(implementation);
require(address(this).transfer(msg.value)(data),'');
}
Я получаю две ошибки
No matching declaration found after argument-dependent lookup.
Type is not callable
Любая помощь в этом будет принята с благодарностью.
address(this).transfer(msg.value)
не является функцией, но вы передаете ей параметр(data)
. Я просто пытаюсь решить с вами проблему. Что вы думаете? - person Kabard   schedule 21.10.2019address(this)
возвращаетaddress
, тогда передача (msg.vaule) привязана к этому «адресу». но что все это возвращается? он определенно не возвращает функцию. функция вернет значение, скажем, transfer (msg.value) возвращает логическое значение, тогда то, что вы делаете, истинно (данные). Например - person Kabard   schedule 21.10.2019