LBRY-Vault/electrum
SomberNight 7a6ec23b6e
cosigner pool: use single thread to send messages
ServerProxy does not seem to be thread-safe.
For e.g. a 2of3 multisig wallet, which would send two messages,
one msg would get sent but the other might error out. See trace:

E | plugins.cosigner_pool.qt.Plugin | on_failure
Traceback (most recent call last):
  File "...\electrum\electrum\gui\qt\util.py", line 832, in run
    result = task.task()
  File "...\electrum\electrum\plugins\cosigner_pool\qt.py", line 199, in <lambda>
    task = lambda: server.put(_hash, message)
  File "...\Python38\lib\xmlrpc\client.py", line 1109, in __call__
    return self.__send(self.__name, args)
  File "...\Python38\lib\xmlrpc\client.py", line 1450, in __request
    response = self.__transport.request(
  File "...\Python38\lib\xmlrpc\client.py", line 1153, in request
    return self.single_request(host, handler, request_body, verbose)
  File "...\Python38\lib\xmlrpc\client.py", line 1165, in single_request
    http_conn = self.send_request(host, handler, request_body, verbose)
  File "...\Python38\lib\xmlrpc\client.py", line 1271, in send_request
    connection.putrequest("POST", handler, skip_accept_encoding=True)
  File "...\Python38\lib\http\client.py", line 1088, in putrequest
    raise CannotSendRequest(self.__state)
http.client.CannotSendRequest: Request-sent
2020-06-29 02:19:03 +02:00
..
gui qt dark theme: on mac, AmountEdit units were using dark text on dark bg 2020-06-28 03:50:34 +02:00
lnwire lnmsg: rewrite LN msg encoding/decoding 2020-04-01 21:39:48 +02:00
plugins cosigner pool: use single thread to send messages 2020-06-29 02:19:03 +02:00
scripts network: allow mixed protocols among interfaces 2020-04-16 21:19:42 +02:00
tests follow-up prev 2020-06-28 17:45:00 +02:00
wordlist
www@dbba6f5701 update submodule 2020-06-23 19:25:07 +02:00
__init__.py windows: dll-load 'hack' needs to be applied not only from main script 2020-02-11 20:57:37 +01:00
address_synchronizer.py swaps: stop watching address once utxo is spent and mined 2020-06-18 14:28:40 +02:00
base_crash_reporter.py crash reporter: propagate HTTP error as exception 2020-06-14 03:41:45 +02:00
base_wizard.py One can now click the back button in the show_xpub_and_add_cosigners wizard step 2020-05-07 10:19:48 +02:00
bip32.py follow-up prev: do all checks, and add tests 2020-02-27 05:13:31 +01:00
bitcoin.py lnpeer: review safety check re channel open flow, and tweak params 2020-06-08 21:17:23 +02:00
blockchain.py network: smarter switch_unwanted_fork_interface 2020-06-21 11:31:54 +02:00
channel_db.py Qt: do not show node_id in channels_list 2020-05-29 19:23:29 +02:00
checkpoints.json update block header checkpoints 2020-06-20 02:33:30 +02:00
checkpoints_testnet.json update block header checkpoints 2020-06-20 02:33:30 +02:00
coinchooser.py coinchooser: change "enable_output_value_rounding" default to True 2020-06-03 18:18:56 +02:00
commands.py commands: allow setting custom 'nsequence' in 'serialize' cmd 2020-06-28 17:26:52 +02:00
constants.py lnworker: re-enable dns seeds for peer-finding bootstrap 2020-03-03 20:12:12 +01:00
contacts.py import/exports to json files: 2020-06-05 13:17:01 +02:00
crypto.py channel backup versions: trivial clean-up 2020-06-18 15:03:16 +02:00
currencies.json Removed dead exchange. 2019-07-21 13:13:51 +02:00
daemon.py myAiohttpClient: add id counter, and rename to JsonRPCClient 2020-06-09 17:50:06 +02:00
dns_hacks.py network dns hacks: split from network.py into its own file 2020-01-22 18:32:57 +00:00
dnssec.py ecc: abstract away some usage of python-ecdsa: bytes<->int conversions 2020-02-11 16:41:49 +01:00
ecc.py ecc.ECPubkey: also accept bytearray in __init__ 2020-02-19 00:40:33 +01:00
ecc_fast.py libsecp: log exception if failed to load 2020-02-21 15:59:18 +01:00
electrum
exchange_rate.py network: replace "server" strings with ServerAddr objects 2020-04-15 17:23:47 +02:00
i18n.py translations: add note that f-strings cannot be translated 2020-04-11 16:33:45 +02:00
interface.py network: clarify local_height/server_height 2020-06-21 08:20:56 +02:00
invoices.py invoices: make sure that OnchainInvoice .exp and .time are not None 2020-06-27 02:27:50 +02:00
json_db.py LN invoices: support msat precision 2020-06-22 22:48:13 +02:00
keystore.py hww: distinguish devices based on "soft device id" (not just labels) 2020-04-08 14:44:42 +02:00
lnaddr.py LN invoices: support msat precision 2020-06-22 22:48:13 +02:00
lnchannel.py LN invoices: support msat precision 2020-06-22 22:48:13 +02:00
lnhtlc.py fix htlc forwarding: 2020-05-05 09:23:48 +02:00
lnmsg.py lnmsg: small speed-up: read first, check length after 2020-04-01 21:49:23 +02:00
lnonion.py lnutil.PaymentAttemptLog: fix error formatting 2020-06-22 03:40:04 +02:00
lnpeer.py lnpeer: only process INIT if we are a backup. fixes #6241 2020-06-23 13:12:11 +02:00
lnrouter.py lnrouter: blacklist channels for a limited time (see #6124) 2020-05-10 12:37:27 +02:00
lnsweep.py lnsweep: claim our_ctx_to_local if we breach 2020-06-18 11:33:44 +02:00
lntransport.py lntransport: use network proxy if available 2020-04-15 21:44:09 +02:00
lnutil.py lnutil.PaymentAttemptLog: fix error formatting 2020-06-22 03:40:04 +02:00
lnverifier.py rename all TaskGroup() fields to "taskgroup" 2020-02-27 19:13:56 +01:00
lnwatcher.py network: randomise the order of address subscriptions 2020-06-17 19:25:52 +02:00
lnworker.py history: allow changing default label of swaps 2020-06-25 19:12:11 +02:00
logging.py android: enable full logging if DEBUG build 2020-06-19 01:52:21 +02:00
mnemonic.py mnemonic: implement Wordlist class 2020-02-29 00:20:11 +01:00
network.py network: smarter switch_unwanted_fork_interface 2020-06-21 11:31:54 +02:00
old_mnemonic.py mnemonic: implement Wordlist class 2020-02-29 00:20:11 +01:00
paymentrequest.proto
paymentrequest.py LN invoices: support msat precision 2020-06-22 22:48:13 +02:00
paymentrequest_pb2.py regenerate paymentrequest_pb2.py with new protoc 2020-06-04 20:27:26 +02:00
pem.py
plot.py
plugin.py qt plugins dialog: fix caching "settings" button 2020-05-26 00:54:22 +02:00
qrscanner.py rename contrib/build-osx as contrib/osx. Move QRReader submodule there. 2018-11-29 11:39:57 +01:00
ripemd.py
rsakey.py no more "import *" 2019-02-11 20:21:24 +01:00
segwit_addr.py integrate PSBT support natively. WIP 2019-11-04 22:24:36 +01:00
servers.json servers: minor refresh to default lists 2020-06-20 03:24:34 +02:00
servers_regtest.json
servers_testnet.json servers: minor refresh to default lists 2020-06-20 03:24:34 +02:00
simple_config.py util: small clean-up for format_satoshis 2020-06-22 02:46:16 +02:00
sql_db.py show watchtower db size in GUI 2020-05-13 15:13:09 +02:00
storage.py wizard.create_storage: state API and abide by it 2020-04-09 19:45:38 +02:00
submarine_swaps.py forward swaps: save the onchain amount we actually paid 2020-06-26 11:42:55 +02:00
synchronizer.py synchronizer: enforce that unconfirmed txs must have fee information 2020-06-27 16:32:46 +02:00
transaction.py submarine_swaps: small clean-up 2020-06-18 18:18:33 +02:00
util.py Add mempool.space option for mainnet block explorer (#6261) 2020-06-25 17:00:20 +00:00
verifier.py rename all TaskGroup() fields to "taskgroup" 2020-02-27 19:13:56 +01:00
version.py bump version number for next beta 2020-06-26 11:38:44 +02:00
wallet.py invoices: make sure that OnchainInvoice .exp and .time are not None 2020-06-27 02:27:50 +02:00
wallet_db.py WalletDB: raise different exc if cannot parse given file 2020-06-27 16:03:03 +02:00
x509.py ecc: abstract away some usage of python-ecdsa: bytes<->int conversions 2020-02-11 16:41:49 +01:00