When calling a contract like this :
if(!contractname.somefunction()) throw;
It both checks the stack (which checks if contract call’s fails) and if the contract call succeeds but returns false in memory.
But when using .value()
or .send()
it only checks if the contract calls fail, which means it doesn’t check for the return value in memory.
So how to check for a return value in memory while still sending Ethers ?