Janus
c21d2159db
simnet/testnet support in bolt11, set max-htlc-value-in-flight
2018-07-13 16:43:24 +02:00
SomberNight
c1fbd55dfe
transaction.py: sign_txin. allow override for get_preimage_script.
...
test_commitment_tx_with_all_five_HTLCs_untrimmed_minimum_feerate now passes
2018-07-13 16:43:24 +02:00
ThomasV
e7e3558fba
redundant: you subscribed only to 'updated'
2018-07-13 16:43:24 +02:00
ThomasV
eb6be6d77d
follow-up prev commit
2018-07-13 16:43:24 +02:00
ThomasV
52b94035d9
lnbase: verify remote signature
2018-07-13 16:43:24 +02:00
SomberNight
e34d6d0885
channel_establishment_flow: use get_per_commitment_secret_from_seed
2018-07-13 16:43:24 +02:00
Janus
0d40f06fcc
lnbase: improve htlc_tx generation (only localsig wrong)
2018-07-13 16:43:24 +02:00
SomberNight
f3d9474c06
get_per_commitment_secret_from_seed: small clean-up
2018-07-13 16:43:24 +02:00
Janus
ba265da02a
fix derive_secret
2018-07-13 16:43:24 +02:00
SomberNight
3a5e3f19db
get_per_commitment_secret_from_seed (not working yet)
2018-07-13 16:43:24 +02:00
Janus
e0d28e3f6e
lnbase: avoid race while waiting for funding_locked, wait for un-reversed hash
2018-07-13 16:43:24 +02:00
Janus
af8374b02e
complete bolt11 port to ecdsa instead of secp256k1
2018-07-13 16:43:24 +02:00
SomberNight
527712df48
channel_establishment_flow: wait for confirmations of funding txn
2018-07-13 16:43:24 +02:00
ThomasV
82146871eb
add processing flow for funding_locked
2018-07-13 16:43:24 +02:00
ThomasV
64c8c74445
lnbase: fix parameters to make_commitment in htlc test
2018-07-13 16:43:24 +02:00
SomberNight
1bd4b5e73e
transaction.py: shortcut witness/scriptSig serialisation
2018-07-13 16:43:24 +02:00
Janus
c6e621a910
lnbase: add some comments
2018-07-13 16:43:24 +02:00
Janus
bb9938c52e
lightning-hub: update rpc stubs, do not ignore them in gitignore
2018-07-13 16:43:24 +02:00
ThomasV
836fae809c
lnbase: fix initial commitment transaction
2018-07-13 16:43:24 +02:00
SomberNight
e7bae0fe5d
refactor storage of channels, path finding
2018-07-13 16:43:24 +02:00
Janus
e6b22e9d56
avoid duplicating bech32 module
2018-07-13 16:43:24 +02:00
Janus
c5a9b2d19a
lnbase: more work on make_htlc_tx
2018-07-13 16:43:24 +02:00
Janus
80c8ea15e0
lnbase: make_htlc_tx
2018-07-13 16:43:24 +02:00
ThomasV
f4c7702c0a
fix: use remote_per_commitment_point
2018-07-13 16:43:24 +02:00
ThomasV
205cd259fd
lnbase: derive blinded pubkey
2018-07-13 16:43:24 +02:00
ThomasV
0c8a6e535e
lnbase: fix variable name
2018-07-13 16:43:24 +02:00
ThomasV
3b3732e82d
lnbase: add privkey derivation
2018-07-13 16:43:24 +02:00
ThomasV
b9633896da
add test for key derivation
2018-07-13 16:43:24 +02:00
ThomasV
d5db39ce27
lnbase: key derivation (WIP)
2018-07-13 16:43:24 +02:00
Janus
66d139b515
lnbase: test signing of first htlc test case
2018-07-13 16:43:24 +02:00
Janus
53ddc373d5
lnbase: make_received_htlc
2018-07-13 16:43:24 +02:00
ThomasV
0edba56315
fix hash in make_offered_htlc
2018-07-13 16:43:24 +02:00
ThomasV
a14b54dbe5
cleanup lnbase tests
2018-07-13 16:43:24 +02:00
Janus
d6145d0685
lightning-hub: remove path hack, use relative imports
2018-07-13 16:43:24 +02:00
SomberNight
9796ef264e
naive route finding
2018-07-13 16:43:24 +02:00
Janus
d3d23066e9
lnbase: offered htlc script construction
2018-07-13 16:43:24 +02:00
ThomasV
02d272d790
use acceptable variable names
2018-07-13 16:43:24 +02:00
ThomasV
1ded2fd7b2
lightning: separate testing from main code
2018-07-13 16:43:24 +02:00
ThomasV
5a3cbc0907
lightning: store network view
2018-07-13 16:43:24 +02:00
ThomasV
85e6708b44
lnbase: parse ipv6, fix transport bug
2018-07-13 16:43:24 +02:00
ThomasV
1d6527c2ec
lnbase: fix read_message, reduce verbosity
2018-07-13 16:43:24 +02:00
ThomasV
e6c3b27605
lnbase: implement key rotation, request initial sync in localfeatures
2018-07-13 16:43:24 +02:00
ThomasV
dcd4ea23db
lnbase: verify signature in node_announcement
2018-07-13 16:43:24 +02:00
SomberNight
47ed815882
bitcoin.py: implement add_number_to_script. fix CSV arg in make_commitment.
2018-07-13 16:43:24 +02:00
ThomasV
13cb82a203
lnbase: fix test
2018-07-13 16:43:24 +02:00
SomberNight
905998e87a
implement script_num_to_hex. fix encoding of argument for CSV in make_commitment
2018-07-13 16:43:24 +02:00
SomberNight
f1017b9ed7
fixes for make_commitment, but still incorrect destination address (csv arg?)
2018-07-13 16:43:24 +02:00
ThomasV
1d319ff22f
lnbase: fix tx amounts
2018-07-13 16:43:24 +02:00
Janus
63e345910e
lightning-hub: include ln relative to current directory
2018-07-13 16:43:24 +02:00
Janus
446b5c9f45
lnbase_test: add first commitment tx with 5 htlcs test
2018-07-13 16:43:24 +02:00
ThomasV
005f6165fa
lnbase: fix locktime and nsequence
2018-07-13 16:43:24 +02:00
Janus
a543ec27fb
lnbase_test: insert remote_signature and compare fields independently
2018-07-13 16:43:24 +02:00
ThomasV
5aba0b9538
lnbase: create unit test for commitment tx
2018-07-13 16:43:24 +02:00
ThomasV
4a4a521f4b
lnbase: fix signature index
2018-07-13 16:43:24 +02:00
ThomasV
90bab35789
lnbase: initial commitment transaction
2018-07-13 16:43:24 +02:00
ThomasV
598a844d6f
lnbase: fix funding address, funding_output_index
2018-07-13 16:43:24 +02:00
ThomasV
ca04043781
follow up 1aac9e59ed957898fceef99b29b9cc17d7843569
2018-07-13 16:43:24 +02:00
ThomasV
534bc2997b
lnbase: communication privkey belongs to peer
2018-07-13 16:43:24 +02:00
Janus
33c5e63f81
lnbase: more parts of channel establishment
2018-07-13 16:43:24 +02:00
Janus
f2fac43c21
lnbase: remove unnecessary try/except
2018-07-13 16:43:24 +02:00
Janus
86bc6a2345
lnbase: lnbase_test must use threadsafe task submission
2018-07-13 16:43:24 +02:00
ThomasV
a702202e84
lnbase: decorator that handles exceptions
2018-07-13 16:43:24 +02:00
Janus
208a6870ac
lnbase: fix shutdown when lnbase has exception in main_loop
2018-07-13 16:43:24 +02:00
Janus
c05e429416
lnbase: print exceptions from main_loop
2018-07-13 16:43:24 +02:00
Janus
903380ad5d
lnbase: initialize loop variable in main
2018-07-13 16:43:24 +02:00
Janus
c0a8fd811f
lnbase: add lnbase_test
2018-07-13 16:43:24 +02:00
ThomasV
1c90479f55
lnbase: expose wallet object in LNWorker
2018-07-13 16:43:24 +02:00
Janus
0c1e31339a
lnbase: merge initialize and main_loop
2018-07-13 16:43:24 +02:00
Janus
c87afe36d2
lnbase: handle error during channel establishment
2018-07-13 16:43:24 +02:00
Janus
ecc1c7a8cc
lnbase: channel establishment flow, avoid using Wallet instance
2018-07-13 16:43:24 +02:00
ThomasV
10bb6463e8
lnbase: use relative imports
2018-07-13 16:43:24 +02:00
Janus
4e2ab7cb6b
lnbase: support simnet/testnet, create accepted open_channel message
2018-07-13 16:43:24 +02:00
Janus
193b675316
lnbase: use valid pubkeys in open_channel
2018-07-13 16:43:24 +02:00
Janus
aec48f76bd
lnbase: try sending open_channel
2018-07-13 16:43:24 +02:00
ThomasV
d247eecfd8
lnbase: add draft handlers
2018-07-13 16:43:24 +02:00
Janus
b24f989b79
lnbase: avoid reimplementing int.to_bytes
2018-07-13 16:43:24 +02:00
Janus
d90490f4d4
lnbase: avoid reimplementing int.from_bytes
2018-07-13 16:43:24 +02:00
Janus
fe7d1ccd7f
lnbase: do not catch all exceptions, tolerate calculations with variables from kwargs
2018-07-13 16:43:24 +02:00
ThomasV
b64e97a68b
integrate lnbase with network
2018-07-13 16:43:24 +02:00
ThomasV
14d267b554
lnbase: process ping messages
2018-07-13 16:43:24 +02:00
ThomasV
d5bd965aa5
lnbase: create main loop
2018-07-13 16:43:24 +02:00
ThomasV
14837ba01d
lnbase: save buffer for next read
2018-07-13 16:43:24 +02:00
ThomasV
26823b0b61
lnbase: Peer class
2018-07-13 16:43:24 +02:00
ThomasV
11b4666880
lnbase: fix json loading and indentation
2018-07-13 16:43:24 +02:00
Janus
40a158e914
lightning: do not list python files as resources, use lightning spec generated serialization
2018-07-13 16:43:21 +02:00
ThomasV
485c2c6c23
lightning network base
2018-07-13 16:35:43 +02:00
Janus
f2798d09ea
kivy: paste test seed using xclip, lightning: do not catch BaseException unnecessarily, fix clearSubscribers, detect passworded wallet correctly
2018-07-13 16:35:43 +02:00
ThomasV
4426ea2e70
simplify parameters, add lndhost to config
2018-07-13 16:35:43 +02:00
Janus
ea5a42d2eb
lightning: add --simnet and --lightning switches
2018-07-13 16:35:43 +02:00
Janus
be5af242ed
lightning: assert result type, add invoice qr dialog
2018-07-13 16:35:42 +02:00
Janus
88befdbc92
lightning: kivy: open channel button in invoice
2018-07-13 16:35:42 +02:00
Janus
4602f87173
lightning: python3.5 compat
2018-07-13 16:35:42 +02:00
Janus
911595f90f
lightning: add missing import, set console to none initially
2018-07-13 16:35:42 +02:00
Janus
2bb59fe464
lightning: do not require lock for broadcast tx, it is thread-safe
2018-07-13 16:35:42 +02:00
Janus
d1986dd163
lightning: save key derivation point
2018-07-13 16:35:42 +02:00
Janus
3e7d2d29bb
lightning: separate thread for publish transaction
2018-07-13 16:35:42 +02:00
Janus
ee576d3ead
lightning: use queueing lock
2018-07-13 16:35:42 +02:00
Janus
a13fb91ea4
lightning: less junk on console, quicker shutdown
2018-07-13 16:35:42 +02:00
Janus
7034153c06
lightning: don't receive too much data, workaround by reading byte by byte
2018-07-13 16:35:42 +02:00
Janus
702a2919ec
lightning: complete moving of lightning objects, acquire net/wallet lock while answering lightning requests
2018-07-13 16:35:42 +02:00
Janus
920371e350
lightning: misc patches, launch asyncio loop on separate thread
2018-07-13 16:34:23 +02:00
Janus
cce6421340
lightning: march 2018 rebase, without integration
2018-07-13 16:34:23 +02:00
Janus
097ac144d9
file reorganization with top-level module
2018-07-13 14:01:37 +02:00
Randy Brito
30a7952cbb
Show fiat options from api.bitcoinvenezuela.com
...
Adding the options to be able to select BitcoinVenezuela.com fiat exchange rates in the Preferences. Certificate validation has been fixed.
2018-07-12 23:47:13 +02:00
Harm Aarts
3f4687d3e4
Improve logging
2018-07-12 09:51:31 +02:00
Harm Aarts
73896bad72
Remove unused is_up_to_date network method
2018-07-12 09:51:31 +02:00
Harm Aarts
48356a03e6
Rename 'r' to 'response'
2018-07-12 09:51:31 +02:00
Harm Aarts
b1cd260aa9
Minor linter nits
2018-07-12 09:51:31 +02:00
Harm Aarts
eb44ef327d
Reduce indentation level
...
This makes the method easier to read.
Skip negative tx heights too. A transaction height can be negative too, see the
wallet modules TX_HEIGHT_LOCAL and TX_HEIGHT_UNCONF_PARENT constants.
2018-07-12 09:50:50 +02:00
SomberNight
358722b9cc
fix #4533
2018-07-11 15:25:05 +02:00
Johann Bauer
40a43afa12
Add OXT.me block explorer
...
Closes : #4441
2018-07-10 21:52:06 +02:00
SomberNight
a51940fac0
fix #4529
2018-07-10 18:07:52 +02:00
SomberNight
7e0b470ca2
regenerate testnet checkpoints
...
old ones were made before 8bcefe6cfa
2018-07-09 14:09:42 +02:00
SomberNight
92e510f8aa
synchronizer: remove warning about improperly sorted histories
...
Not sure if it is still useful but in its current form it was giving false positives all the time.
Specifically, the expected sorting is: confirmed txns in blockchain order + mempool txns in arbitrary order.
The "sorted" invocation puts mempool txns at the beginning, so the warning is always triggered if there is any unconfirmed history.
2018-07-03 21:41:40 +02:00
SomberNight
75a85a8161
network: disconnect from server on malformed header subs
...
closes #4478
2018-07-03 17:17:20 +02:00
ThomasV
83974cd0a8
Merge pull request #4490 from SomberNight/trustedcoin_color_outputs
...
colour 2fa billing outputs in Qt tx dialog
2018-07-03 08:47:15 +02:00
SomberNight
46fd7c3d8b
follow-up re #4491 , do config upgrade to keep base unit settings on kivy
2018-07-02 22:52:20 +02:00
SomberNight
ceba4af01a
synchronizer: test txid of received tx
2018-07-02 21:38:39 +02:00
SomberNight
eefcc60d98
color 2fa billing outputs in Qt tx dialog
2018-07-02 14:23:14 +02:00
Johann Bauer
9ebeb51153
Send Python version in crash reports
2018-07-02 13:41:34 +02:00
ThomasV
26fcb1d3d5
version 3.2.2
2018-07-02 08:18:44 +02:00
ThomasV
2693d345f9
Merge pull request #4486 from SomberNight/getaddrinfo_take2
...
socket.getaddrinfo on win32: do our own dns resolution
2018-07-02 08:14:31 +02:00
Calin Culianu
4fc7da55a9
Fix a bug in PaymentRequest __str__() function
2018-07-02 02:36:19 +03:00
SomberNight
c6124549cd
don't dns resolve raw IP addresses
2018-07-02 00:59:28 +02:00
SomberNight
e2b6d2d0f7
socket.getaddrinfo on win32: do our own dns resolution
...
(second attempt, now trying to handle internal failure within dnspython)
2018-07-01 23:53:55 +02:00
ThomasV
10f037c40c
Revert "socket.getaddrinfo on win32: do our own dns resolution outside the lock"
...
This reverts commit fc6cb70c80 .
2018-07-01 21:58:59 +02:00
SomberNight
3d0e830734
fix #4481
2018-07-01 17:05:56 +02:00
SomberNight
8591587f9e
fix websockets
2018-07-01 15:59:32 +02:00
ThomasV
ed2c74e58f
prepare release 3.2.1
2018-07-01 14:02:31 +02:00
SomberNight
8e55fe5f91
network: disconnect from server if headers sub encounters error
...
we need at least e-x 1.3 since 1900e58e88
for older e-x, we get stuck in infinite "synchronizing"...
2018-07-01 04:52:01 +02:00
SomberNight
61a95a4239
ecc: only print warning about missing libsecp when in verbose mode
2018-06-30 22:40:50 +02:00
SomberNight
684390a479
labels plugin: fix it. and extend to cli/daemon.
2018-06-29 11:58:12 +02:00
ThomasV
87486e9487
fix: i18n is not imported
2018-06-29 11:17:02 +02:00
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
SomberNight
12c5474cf1
stricter tx deserialization: forbid negative output amount values
2018-06-12 14:41:30 +02:00
SomberNight
0b78cb5e6b
stricter tx deserialization: forbid output amount values over 21 million btc
2018-06-12 14:33:22 +02:00
Johann Bauer
5eb1cbef92
[WIP] Crash reports android ( #3870 )
...
* Split crash reporter class
In Qt related stuff and basic stuff.
* Crash reports from Android
* Ignore exceptions in crash_reporter (if any)
* Open issue in browser
* Switch back to real server
2018-06-12 14:17:34 +02:00
SomberNight
71ce7cce6d
stricter tx deserialization: forbid junk at the end
2018-06-12 10:51:51 +02:00
SomberNight
6b8a563d41
add witness version to our partial format
2018-06-11 19:25:02 +02:00
SomberNight
a0ba5a7962
change partial txn format: add header. only parse inputs and witness for partial txns.
2018-06-11 17:57:29 +02:00
SomberNight
89040de758
remove "from addresses" from wallet logic
2018-06-11 17:55:31 +02:00
ThomasV
8d5e666d30
support TrustedCoin plugin in the kivy GUI
2018-06-11 17:47:22 +02:00
SomberNight
fc6cb70c80
socket.getaddrinfo on win32: do our own dns resolution outside the lock
2018-06-09 19:15:00 +02:00
Dev Random
c6fce4b7cc
do not actually compute the nested p2wsh-p2sh script if just estimating size ( #4412 )
2018-06-07 17:44:48 +02:00
Harm Aarts
e57e55aad8
Remove explicit send calls, part deux ( #4408 )
...
* Rename synchronous_get to synchronous_send
This makes it more inline with the method 'send' of which
synchronous_send is the, well, synchronous version.
* Move protocol strings from scripts to network
This is again a small step in the right direction. The network module is
going to accumulate more and more of these simple methods. Once
everything is moved into that module, that module is going to be split.
Note that I've left the scripts which use scripts/util.py alone. I
suspect the same functionality can be reached when using just
lib/network.py and that scripts/util.py is obsolete.
* Remove protocol string from verifier and websocket
Websocket still has some references, that'll take more work to remove. Once the
network module has been split this should be easy.
I took the liberty to rename a variable to better show what it is.
* Remove protocol strings from remainder
The naming scheme I'm following for the newly introduced methods in the network
module is: 'blockchain.<subject>.<action>' -> def <action>_(for|to)_<subject>
* Move explicit protocol calls closer to each other
This makes it easier to keep track of the methods which are due to be
extracted.
* Remove `send` when using `get_transaction`
This is the final step to formalize (the informal) interface of the network
module.
A chance of note is changed interface for async/sync calls. It is no longer
required to use the `synchronous_send` call. Merely NOT passing a callback
makes the call synchronous. I feel this makes the API more intuitive to work
with and easier to replace with a different network module.
* Remove send from get_merkle_for_transaction
The pattern which emerged for calling the lambda yielded an slight refactor.
I'm not happy with the name for the `__invoke` method.
* Remove explict send from websockets
* Remove explicit send from scripts
* Remove explicit send from wallet
* Remove explicit sync_send from commands, scripts
* Remove optional timeout parameter
This parameter doesn't seem to be used a lot and removing it makes the
remaining calls easier. Potentionally a contentious choice!
* Rename `broadcast` to `broadcast_transaction`
Doing so makes the method name consistent with the other ElectrumX protocol
method names.
* Remove synchronous_send
Now every method is intuitive in what it does, no special handling required.
The `broadcast_transaction` method is weird. I've opted not to change the
return type b/c I found it hard to know what the exact consequences are. But
ideally this method should just works as all the other ElectrumX related
messages. On the other hand this shows nicely how you _can_ do something
differnt quite easy.
* Rename the awkwardly name `__invoke` method
The new name reflects what it does.
* Process the result of linter feedback
I've used flake8-diff (and ignored a couple of line length warnings).
* Rename tx_response to on_tx_response
This fell through the cracks when this branch was rebased.
* subscript_to_scripthash should be get_balance
An oversight while refactoring.
* Add missing return statement
Without this statement the transaction would have been broadcasted twice.
* Pass list of tuples to send not single tuple
* Add @staticmethod decorator
* Fix argument to be an array
2018-06-06 15:06:04 +02:00
Neil Booth
bc83fa8d68
Stop using deprecated RPC blockchain.block.get_chunk
...
Use blockchain.block.headers instead. It's more flexible but
that flexibility is not used here.
Port of 09798d6b20
2018-06-06 10:58:57 +09:00
Neil
e0a6b082d2
First message on an interface is server.version ( #4407 )
...
- Use server.ping to ping (valid as of protocol version 1.2) rather
than server.version (deprecated as a ping)
- Ping every 5 mins rather than every 1 minute. By default servers
don't consider a connection stale until 10 minutes of inactivity.
- Remove unused last_request member of interface
Port of c3f26e59db
2018-06-05 12:41:41 +02:00
Neil Booth
1900e58e88
Subscribe to raw headers
...
The old interface is deprecated
Port of fe303c97c3
2018-06-04 16:19:11 +09:00
SomberNight
219c2a363a
fix #4401
2018-06-03 17:17:56 +02:00
SomberNight
cfc52e6441
follow-up #4396 : new 2fa wallets could not be created
2018-06-01 22:19:00 +02:00
SomberNight
141994ed1b
tests: TestWalletSending - also test raw_tx and wtxid
2018-06-01 18:05:49 +02:00