SomberNight
aa518c0ea5
psbt: allow insecure signing of legacy UTXOs without full previous tx
...
When "importing" a psbt, we accept witness utxos even for legacy inputs
(warning shown to user in gui).
When "exporting" a psbt, we follow the spec; except when exporting as a QR code,
in which case we include witness utxos for all inputs.
This makes QR codes for psbts with legacy inputs feasible, just like they
were before, with our custom tx serialization format (with the same risk,
of burning coins as miner fees).
2019-11-07 02:40:10 +01:00
SomberNight
8a7c3447b3
tx dialog: try harder to show fee
2019-11-07 02:24:16 +01:00
SomberNight
955caa7292
transaction: to_json() debug methods display bip32 str (not int) paths
2019-11-05 23:39:50 +01:00
SomberNight
46db33df75
psbt: follow-ups: BCDataStream.read_bytes() should return bytes
...
This fixes keepkey, as in particular the code in the plugin expected
TxOutpoint.txid to be bytes not a bytearray (and the TxOutpoint named tuple
itself claims txid to be bytes).
2019-11-05 23:35:32 +01:00
SomberNight
cc4f6804b0
psbt: follow-ups: fix trezor
2019-11-05 23:32:00 +01:00
SomberNight
26a5f212cb
psbt: cleaner API for serialize* methods
2019-11-04 22:25:16 +01:00
SomberNight
1017fefdc9
psbt: only include xpubs for multisig wallets
2019-11-04 22:25:13 +01:00
SomberNight
90b190bbcd
psbt: fix bug re witness_utxo serialization
2019-11-04 22:25:09 +01:00
SomberNight
d872be7f6b
psbt: don't put xpubs and full paths into tx by def; only while signing
2019-11-04 22:25:02 +01:00
SomberNight
e6c841d05f
psbt: put fake xpubs into globals. keystores handle xfp/der_prefix missing
2019-11-04 22:24:59 +01:00
SomberNight
7eb7eb8674
add support for manual coinjoins
2019-11-04 22:24:55 +01:00
SomberNight
bafe8a2fff
integrate PSBT support natively. WIP
2019-11-04 22:24:36 +01:00
SomberNight
b138fff9a5
wallet: txi/txo small clean-up
2019-09-12 04:07:17 +02:00
SomberNight
befa8ea771
transaction: kill "name", "csv_delay", "cltv_expiry" fields
2019-09-09 19:38:35 +02:00
ThomasV
64deb87ade
fix #5513
2019-09-09 11:58:32 +02:00
SomberNight
83fcdbd561
lnchannel: handle htlc-address collisions
...
We were previously generating an incorrect commitment_signed msg if there were
multiple htlcs sharing the same scriptPubKey.
2019-09-07 08:54:41 +02:00
SomberNight
ab76a1fe5b
wallet.add_hw_info: also store "is_change" in output_info
...
as it seems every consumer wants to know this and has its own hacks to
figure it out
2019-09-03 14:34:10 +02:00
SomberNight
44761972cb
lnchannel: ctx output-ordering: identical htlcs are ordered by CLTV
2019-08-20 09:03:12 +02:00
Janus
2c1fcb2f54
ln: remove EncumberedTransaction
2019-08-20 09:03:11 +02:00
ThomasV
fde9f91902
lnchannel: store pre-signed sweep transactions after each new commitment
2019-08-20 09:03:11 +02:00
SomberNight
595cfcbb65
move sweeping methods from lnchan.py to new file
...
also sweep "received" htlcs from "our" ctx
also sweep htlcs from their ctx (non-breach)
extract ctn; included_htlcs_in_their_latest_ctxs
2019-08-20 09:03:11 +02:00
SomberNight
8390da9b7b
bitcoin.py: dedupe pubkeyhash_to_p2pkh_script
2019-07-31 01:18:51 +02:00
SomberNight
cc42b4a226
transaction: segwit input signing was doing quadratic hashing
...
performance improvements are negligible for typical transactions though.
some measurements of wall clock time for Transaction.sign (with libsecp256k1):
0.11 sec -> 0.08 sec ( 61 p2wpkh-p2sh inputs, 1 output)
2.48 sec -> 0.75 sec ( 522 p2wpkh-p2sh inputs, 1 output)
13.2 sec -> 1.8 sec (1445 p2wpkh inputs, 1 output)
176.4 sec -> 7.6 sec (5542 p2wpkh inputs, 1 output)
2019-07-09 17:37:02 +02:00
SomberNight
a14016275b
transaction.serialize_preimage: trivial clean-up
2019-07-08 05:58:57 +02:00
SomberNight
aadde9be17
transaction: fix remove_signatures
...
closes #5491
2019-07-05 21:16:58 +02:00
SomberNight
94b721baa4
wallet: fix type error in _bump_fee_through_decreasing_outputs
...
fixes #5483
2019-07-04 17:23:34 +02:00
SomberNight
5effaaf428
TxOutput usage: trivial clean-up
2019-06-19 21:59:49 +02:00
SomberNight
3385a94753
logging: basics
2019-05-02 15:19:03 +02:00
SomberNight
d4a2e9634f
bitcoin: disallow importing/sweeping segwit scripts with uncompressed pubkey
...
fixes #4638
2019-04-19 00:37:28 +02:00
SomberNight
eb04551f9a
accept base43-encoded tx in Qt "Load transaction"
...
When encoding transactions as QR codes, we encode the tx bytes as base43
first. This makes it easier to load a transaction if the user manually
decodes the QR code.
2019-03-05 17:27:53 +01:00
SomberNight
e7f38467d7
move opcodes to bitcoin.py
2019-02-22 17:39:58 +01:00
SomberNight
c03c17f1c7
transaction: replace custom enum type for opcodes with stdlib enum
...
based on Electron-Cash/Electron-Cash@99e60b4941
2019-02-22 16:52:08 +01:00
SomberNight
5313591c28
synchronizer: disconnect from server if cannot deserialize txn
2019-02-15 17:22:24 +01:00
SomberNight
d820f9ad37
transaction: change default version to 2
2019-01-28 15:11:03 +01:00
SomberNight
e059867314
paymentrequest: be explicit about only allowing "addresses"
2018-11-14 16:04:43 +01:00
SomberNight
e1b85327be
transaction: clean-up multisig_script
2018-11-14 00:37:03 +01:00
SomberNight
71ac3bb305
RBF batching: some fixes
2018-11-09 17:56:42 +01:00
ThomasV
2b8d801b36
if possible, batch new transaction with existing rbf transaction
2018-11-09 16:33:29 +01:00
SomberNight
8b61d18a9f
transaction.serialize_output: use namedtuple fields
2018-11-06 17:04:12 +01:00
SomberNight
1686a97ece
bip70 PRs: use aiohttp instead of requests. use proxy. small fixes.
2018-11-05 19:31:17 +01:00
SomberNight
9037f25da1
kill old-style namedtuples
2018-10-28 00:28:29 +02:00
SomberNight
78258a3a95
fix #4802
2018-10-26 18:45:36 +02:00
SomberNight
082a83dd85
rename crypto.Hash to sha256d
2018-10-25 22:28:24 +02:00
SomberNight
a88a2dea82
split bip32 from bitcoin.py
2018-10-25 22:20:33 +02:00
SomberNight
2d352bc3f0
transaction.BIP69_sort: use namedtuple fields
2018-10-22 20:43:31 +02:00
SomberNight
4d43d12abf
transaction: don't convert p2pk to p2pkh address when displaying
...
also closes #4742
2018-10-01 04:58:26 +02:00
SomberNight
ab1ec57429
trezor and clones: rm dead code
...
see Electron-Cash/Electron-Cash#872
see Electron-Cash/Electron-Cash#874
2018-09-30 02:10:17 +02:00
SomberNight
ce5cc135cd
transaction: make get_address_from_output_script safer
...
closes #4743
2018-09-29 19:47:55 +02:00
SomberNight
53fd6a2df5
transaction: always sort i/o deterministically
...
this was previously the caller's responsibility; now it's done implicitly when creating a txn
2018-09-28 19:17:45 +02:00
SomberNight
8467f95a28
rm @profiler from Transaction.estimated_size
...
in certain situations, estimated_size is called hundreds of times, flooding the log
2018-09-06 17:51:13 +02:00