So I am asking this question because I recently learnt about what is called "Internal Transactions". I was actually reading the answer here and from this I understand that a transaction between EOA_A and a smart contract can trigger transfers of token from the EOA_A that sent the transaction to another EOA_B, but this transfer of token between EOA_A to EOA_B is not recorded on the blockchain.
My question now is, if one is interested in tracking and be alerted by all activities on an account, how will one do this? For example if I want to be notified when tokens are transfered to EOA_B? Given the fact that the token transfer from EOA_A to EOA_B does not show up in any transaction how can I be notified?
Based on my knowledge, one way could be to listen to Transfer
events on smart contracts. But follow up questions:
As far as I understand it is possible for a smart contract to implement the transfer methods without emitting the
Transfer
event. Not good practice but nothing stopping this from happening, which makes me think this approach of listening to theTransfer
event might not be fool proof.The transfer method and Transfer events are standardized part of ERc20 token. But I can imagine that there are other methods and operations peculiar to certain smart contracts, not standardized but that will also lead to token transfer from one EOA to another. So that means an approach of listening to just the
Transfer
event will miss these kinds of token movement.
So again the question, how can one track all events', especially token and eth transfers in and out of an EOA given the technical drawbacks I listed below?
Are there some knowledge about the workings of Ethereum that I do not know about that could make this possible?