Review the new `updateCachedTokenInfoAndFinalizeTokensArray` function. See if it makes sense. It is a bit complicated due to the introduction of token info caching.
`npm test`
`npm start`, send and receive token txs, confirm the `finalTokenArray` object printed in the dev console shows the same balance as the one in `wallet.state`