my understanding is that contract accounts cannot create externally owned accounts (EOA) - EOA's can only be created by other EOA's.
when first created, bits representing an EOA are added to the state trie associated with a particular block.
what are the events that cause these bits to get added to the state trie in the first place?
i assume i generate a public-private key pair off-chain, derive an EOA address from the public key, and give that (never-before-seen) EOA address to a friend who already has an EOA and who wants to send me 2 ETH.
does my friend submit a transaction from his EOA that transfers 2 ETH to my (not yet existing in the state trie) EOA address? and once this transaction is mined into a block then the EVM creates a new leaf in the state trie corresponding to my new EOA address where that leaf has a balance of 2 ETH?