I'm working on a puzzle where msg.sender != tx.origin
, so the implication is that the caller
needs to be a contract or at least something in between the calling account.
But extcodesize(caller) == 0
also needs to be true. So the caller needs to be an address or externally owned account.
How can both of these be true? Can the caller's codesize ever be 0 if not an address/EOA?
caller
msg.sender
?caller
is assembly so is not loggable. Butcaller
is the calling contract, or at least typically it is.caller
really means.delegatecall
. That might be a part of the solution. But don't ask me how.