Since a fallback function is a Solidity feature, how does it work if the EVM opcode CALL
is used?
If msg.data
is empty, how can Solidity run the fallback function? Shouldn't the EVM just transfer the Ether, since there's no function invocation involved?
In Solidity, does syntax like contractAddress.call.value(amountWei)()
invoke a raw CALL
opcode, or does Solidity still do something additional?