Commit graph

4147 commits

Author SHA1 Message Date
ThomasV
d58c069336 read apk version number from version.py 2018-06-29 10:45:34 +02:00
SomberNight
bc0036297b fast hmac on python 3.7+ 2018-06-28 19:55:54 +02:00
SomberNight
8b86f21520
wizard: extend derivation dialog to also let user select script type.
enable segwit multisig for bip39/hw wallets.
2018-06-26 19:31:05 +02:00
ThomasV
f24a449d37
Merge pull request #4463 from maschwanden/master
Daemon: Fix preflight CORS request handling
2018-06-26 17:09:13 +02:00
SomberNight
4dcefa7d3b
network: fix fork detection in certain backward search cases
if there are no checkpoints and the split is very old, the exponential backward search might undershoot so that it asks for the genesis block but 0 and None are not distinguished hence the fork detection logic fails
2018-06-26 16:56:30 +02:00
ThomasV
5a5502303f make add_signature_to_txin an instance method 2018-06-26 13:09:02 +02:00
Mathias Aschwanden
f6a17b2f5e Daemon: Fix preflight CORS request handling 2018-06-26 12:08:16 +02:00
ThomasV
cb6989cea6 simplify display of inputs/outpputs in CLI history 2018-06-25 22:49:11 +02:00
SomberNight
6d63140c61
initial changelog for 3.2.0 2018-06-25 17:52:07 +02:00
SomberNight
9a8183f348
network: avoid infinite loop if server headers conflict with checkpoints and server height is above max checkpoint 2018-06-25 11:53:31 +02:00
SomberNight
51ed8a998c
fix: network.interface can become None at any time 2018-06-25 01:14:49 +02:00
SomberNight
f8dab46a4b
kivy: fix fork detection gui 2018-06-25 01:02:21 +02:00
JeremyRand
d1d92e8704
Move BIP44 coin type to net constants. 2018-06-23 14:46:44 +00:00
SomberNight
5f050aa13e
follow-up prev 2018-06-22 18:32:01 +02:00
SomberNight
5220451b73
fix #4457 2018-06-22 18:01:55 +02:00
Janus Troelsen
4f85615734 add simnet support (#4455) 2018-06-22 17:07:07 +02:00
ThomasV
a141c69b25
Merge pull request #4313 from toxeus/master
electrum: cleanup plugin imports
2018-06-22 15:19:17 +02:00
ThomasV
24818c14ca
Merge pull request #3762 from SomberNight/txin_type_address_segwit
change partial txn serialization format for imported addresses txins
2018-06-22 13:58:15 +02:00
SomberNight
174d14ba89
add comment to guess_txintype_from_address 2018-06-22 13:57:06 +02:00
SomberNight
cd41a451f6
locks in network.py 2018-06-21 21:55:32 +02:00
SomberNight
ae786cafdf
(minor) don't raise BaseException 2018-06-20 18:13:43 +02:00
ghost43
61a9deaa61
Check SPV proof inner nodes not to be valid transactions. (#4436) 2018-06-20 18:09:38 +02:00
ghost43
7797af6ffa
Qt: show WIF help in import(x2) and sweep dialogs (#4425) 2018-06-20 15:58:37 +02:00
SomberNight
ecf6ace975
follow-up #4442 2018-06-19 19:26:13 +02:00
Francisco J. Hernandez Heras
469565c188 Improving imports (#4448) 2018-06-19 18:36:01 +02:00
ThomasV
a4da04110e
Merge pull request #4442 from SomberNight/bip32_fix_invalid_ecpoint
handle bip32 edge cases
2018-06-19 16:07:42 +02:00
SomberNight
0b72803dd4
fix #4319 2018-06-18 20:30:05 +02:00
SomberNight
170f41f50d
tests: sweeping p2pk 2018-06-18 20:06:17 +02:00
SomberNight
b9d690d64f
handle bip32 edge cases 2018-06-16 17:41:41 +02:00
SomberNight
ad7f8f2cbe
wallet.py: fix balance/history for duplicate addresses
in a hd wallet, having duplicate addresses is extremely unlikely, but if it happened, previously an incorrect balance was calculated
2018-06-16 16:38:34 +02:00
SomberNight
59c1d03f01
ecc.py: properly handle point at infinity 2018-06-16 06:34:03 +02:00
SomberNight
1a8e8bc047
bitcoin.py: make int_to_hex throw on overflow 2018-06-16 02:34:27 +02:00
ghost43
a98e833897
getfeerate command: add optional parameters to specify custom fee level (#4264) 2018-06-15 17:02:44 +02:00
SomberNight
2cc15fca57
tests: add missing txid test from #3316 2018-06-15 15:39:09 +02:00
ghost43
cc05c09d6b
minikeys: import with uncompressed pubkey instead of compressed (#4384) 2018-06-15 15:32:00 +02:00
SomberNight
6297996d12
tests: (tx signing) offline hd multisig, online address 2018-06-15 15:07:56 +02:00
SomberNight
46fdbbbce5
change partial txn serialization format for imported addresses txins
offline signing with segwit WIF keys now works.
offline seed + online address signing now works.
2018-06-15 14:08:20 +02:00
SomberNight
d150f0dfc0
tests: rbf and cpfp 2018-06-15 14:05:30 +02:00
SomberNight
6298e9b458
in Qt send tab, detect invalid multi-line payto when using "!": "insufficient funds"
if the rest of the amounts (without the "!") are over the available funds; do the correct thing
2018-06-14 23:34:14 +02:00
SomberNight
36ddb68384
synchronizer.py: fix bug where synchronizer would get stuck in case of weird server behaviour
there was some kind of re-org but our reorged transactions did not get into the server's mempool for some reason (and they were not mined either). the synchronizer detected the change in address status and asked for the new address histories but in `on_address_history` it thought it did not ask for the histories.

from log:
[Synchronizer] receiving history (unsolicited) 2N6DydVfmheVM9F94G46pcUi5piyffgNBQ9 0
[Synchronizer] receiving history (unsolicited) 2Mw6LDQUzmmxCX3wouDXo2Pj4wbonJATays 0
[SPV] received an error: {'jsonrpc': '2.0', 'error': {'code': 1, 'message': 'tx hash f7c89eec3454b627dcb8cfc822202a0d1f8b38f2a53db182b607a2f61e6946d1 not in block 000000007ac4e95633a16232bea35bc17edf855e3964dff0ebb108b5887647ff at height 1,325,443'}, 'id': 120, 'method': 'blockchain.transaction.get_merkle', 'params': ['f7c89eec3454b627dcb8cfc822202a0d1f8b38f2a53db182b607a2f61e6946d1', 1325443]}
2018-06-14 23:31:19 +02:00
SomberNight
9365b0f924
RBF: better exception handling 2018-06-14 22:36:54 +02:00
SomberNight
1b834a7a78
fix RBF 2018-06-14 22:19:06 +02:00
SomberNight
8f7a4cf876
follow-up 0438bbc2c2
the previous was quadratic in len(tx.inputs())
2018-06-14 21:46:03 +02:00
SomberNight
7ebff5616e
ecc.py: _MyVerifyingKey.from_signature is raising low level exception
Traceback (most recent call last):
  File "...\electrum\gui\qt\util.py", line 645, in run
    result = task.task()
  File "...\electrum\lib\wallet.py", line 1500, in sign_transaction
    k.sign_transaction(tx, password)
  File "...\electrum\plugins\keepkey\keepkey.py", line 67, in sign_transaction
    self.plugin.sign_transaction(self, tx, prev_tx, xpub_path)
  File "...\electrum\plugins\keepkey\keepkey.py", line 263, in sign_transaction
    tx.update_signatures(signatures)
  File "...\electrum\lib\transaction.py", line 667, in update_signatures
    public_key = ecc.ECPubkey.from_sig_string(sig_string, recid, pre_hash)
  File "...\electrum\lib\ecc.py", line 180, in from_sig_string
    ecdsa_verifying_key = _MyVerifyingKey.from_signature(sig_string, recid, msg_hash, curve=SECP256k1)
  File "...\electrum\lib\ecc.py", line 152, in from_signature
    Q = inv_r * ( s * R + minus_e * G )
  File "...\Python\Python36-32\lib\site-packages\ecdsa\ellipticcurve.py", line 143, in __rmul__
    return self * other
  File "...\electrum\lib\ecc_fast.py", line 120, in mul
    public_pair_bytes = b'\4' + self.x().to_bytes(32, byteorder="big") + self.y().to_bytes(32, byteorder="big")
OverflowError: int too big to convert
2018-06-14 20:14:38 +02:00
SomberNight
0438bbc2c2
transaction.py: change update_signatures API. fix trezor segwit signing.
Traceback (most recent call last):
  File "...\electrum\lib\transaction.py", line 498, in parse_witness
    if txin['witness_version'] != 0:
KeyError: 'witness_version'
2018-06-14 20:13:04 +02:00
SomberNight
05e5ef16eb
transaction.py: more flexible sign() method
handles both x_pubkeys and pubkeys in keypairs
2018-06-14 15:11:20 +02:00
SomberNight
5d7157451f
tests: TestWalletOfflineSigning 2018-06-13 19:27:07 +02:00
SomberNight
11ffc5ca8a
wallet.py: remove placeholder code re p2sh imported wallets 2018-06-13 19:23:09 +02:00
SomberNight
4193c7ff14
transaction.py: wtxid is undefined for uncomplete txns 2018-06-13 19:22:04 +02:00
SomberNight
e8b5bcf31e
fix incorrect txid for partial segwit txns
follow-up #4405
2018-06-13 15:54:45 +02:00