Replace usage of `eth_getTransactionByHash` with `eth_getTransactionReceipt`
when polling for changes. `eth_getTransactionReceipt` delivers also the
status of the transaction.
Update tests to account for the new changes
Propagate status with the update event
Refactoring of the `pendingtxtracker.go` file to emit notifications with
a new payload structure that includes transaction identity and deletion status.
Closes status-desktop [#12120](https://github.com/status-im/status-desktop/issues/13124)
ghstack-source-id: 936bff5a417cb7a4aa42c93fc9dacb03fc35943b
Pull Request resolved: https://github.com/status-im/status-go/pull/4523
Refactor the test helpers for pending transactions by extracting the mock
implementations and helper functions into a new file `transactions/testhelpers.go`.
Update event names for clarity and consistency in `pendingtxtracker.go`.
Updates status-desktop: [#13124](https://github.com/status-im/status-desktop/issues/13124)
ghstack-source-id: d85756b80fefd3bf7590637cb7f4dc1af615cecd
Pull Request resolved: https://github.com/status-im/status-go/pull/4492
Mainly refactor API to have control on pending_transactions operations.
Use the new API to migrate the multi-transaction ID from to transfers
in one SQL transaction.
The refactoring was done to better mirror the purpose of pending_transactions
Also:
- Externalize TransactionManager from WalletService to be used by
other services
- Extract walletEvent as a dependency for all services that need to
propagate events
- Batch chain requests
- Remove unused APIs
- Add auto delete option for clients that fire and forget transactions
Updates status-desktop #11754