I am writing and testing a smart contract. Using web3, I could not send a transaction from a Zero Address (0x0). I was wondering if it is ever possible to sign and send a transaction using the zero address. In effect the msg.sender
in the function should be the zero address.
In other words, can this require statement any time return true
?
require(msg.sender == address(0))
From what I understand:
- A contract A cannot call another contract B's function using a zero address. The
msg.sender
in contract B's function will always be contract A's sender. - It is not possible to generate a zero address as one of the addresses in an ethereum wallet. It will also be impossible to figure out the private key associated with the zero address.
Is there something wrong with my understandings or something that I am missing ?
Thanks in advance for your help.