[electrum] increase the max number of get_merkle requests in the network queue
Summary:
When first loading a wallet, the application first gets all the transactions for all monitored addresses from servers, then asks for the merkle branch for that transaction to verify it.
Currently this fetching of merkle branches is the only network call that is limited by the number of requests in the network queue. For a wallet with a large transaction history, this is the main bottleneck when doing the initial synchronization of the wallet. For the IFP address, fetching all the 60000+ transactions took about 5 minutes while the merkle verification took about one hour.
I tested locally with a queue limit of 10000 merkle requests without crashing any server and without getting banned, and managed to make the merkle verification take under 5 minutes. Therefore, I think bumping this limit to 100 is relatively safe for the network.
Note that there is only one callsite for get_merkle_for_transaction, and it does not specify the max_qlen parameter, so remove the parameter from that function.
Test Plan: Create a new wallet using "Import eCash address", paste the IFP address, wait for all transactions to be downloaded, then watch how fast the number of unverified transactions in the status bar decreases (10 times faster with this diff)
Reviewers: #bitcoin_abc, Fabien, bytesofman
Reviewed By: #bitcoin_abc, Fabien, bytesofman
Subscribers: Fabien, bytesofman
Differential Revision: https://reviews.bitcoinabc.org/D14213