Когда я пытаюсь использовать делегатский вызов таким образом, я получаю ошибку Mutable Call in Static Context
. Я не вызываю функцию представления, я просто использую делегатский вызов для вызова интерфейса для вызова в основном функции ERC20. Что я тут не так делаю?
contract MainStateContract {
address thingToTransfer; // some ERC20 address
address delegateCallContract;
constructor () {
delegateCallContract = address(new DelegateCallContract);
}
delegateTransfer () public {
(bool success, bytes memory result) = delegateCallContract.delegatecall(...args);
}
}
contract DelegateCallContract {
transferSomething (address addr) public {
addr.transfer(....);
}
}