I experience a strange behavior of the SOL transfer.
I use Typescript @solana/web3.js
client that do SOL transfer from local wallet filled with SOLs automatically at solana-test-validator
start. Then the amount of 890880
is transfered to another account.
My expectation is that the spent amount on this operation from my wallet is the transfered amount + fee (which is 5000 lamports for a signature).
But the difference between account balance before and after transfer is not 5000+890880=895880
but it's 895860
. It's like there in sum 20 lamports more in the network after transfer.
I ran some testing with solana-test-validator
1.14.10
and I've got test issues coming from balance differences from expected behavior. I cannot understand what's the issue. If it's some precision rounding of Typescript client or BN library or if it's some rounding trick in Solana/Cli?
I have a simple reproducer here: https://github.com/ochaloup/solana-transfer-reproducer