I have a transaction hash and an RPC access to fully synced node. How to check if the token was actually moved? The transaction might be old, so there is no point in querying the contract.
If I understand correctly, the transaction from some account to ERC-20 compatible contract is merely a request for a contract to do the transfer.
If I lookup transaction receipt for this transaction in the block, it has
status
field. But, this only means that that no error was raised during execution of the contract.If I look into events attached to the receipt, I might find a
Transfer
one but this only means that the contract emitted it, not that a account balance was actually changed.