SomberNight
2b693d3498
tests: fix test_lnpeer.test_payment_race
broke in b6b13217b4
see changes to lnworker.htlc_fulfilled
4 years ago
ThomasV
bc1ec6ac34
Qt: fix running GUI offline
4 years ago
ThomasV
5175a97671
test_payment_race: increase delay
4 years ago
ThomasV
f32d49b8ca
revert 'keep invoice INFLIGHT', check HTLCs before payment attempt
4 years ago
ThomasV
38652cffb0
fix test_lnpeer (follow-up prev commit)
4 years ago
ThomasV
b6b13217b4
lnworker: keep invoice status INFLIGHT as long as HTLCs are inflight
4 years ago
SomberNight
2f223cdf46
qt channels dialog: fix for channel backups
4 years ago
SomberNight
d85e910262
logging: eliminate "fee_estimates" log spam
only log fee estimates if they changed, instead of ~10 times per minute
4 years ago
ThomasV
7f61f22857
MPP receive: allow payer to retry after mpp timeout
4 years ago
ghost43
0ce6adffcc
Merge pull request #6968 from HardCorePawn/issue6664
Added fiat fee estimate to Advanced Preview
4 years ago
SomberNight
f9f49daad7
tx dialog: uniform high fee warnings between GUIs
4 years ago
SomberNight
fc3009918c
follow-up prev: some clean-up
4 years ago
hcp
e01a2014b1
qt tx dialog: also display fiat amounts
4 years ago
SomberNight
84326cf1f7
qt tx dialog: add legend for input/output colouring
based on e1d70bcd98
4 years ago
ghost43
6fda9add28
Merge pull request #7026 from SomberNight/20210213_wallet_bumpfee
wallet: refactor bump_fee; add new strategy; change Qt dialog to have "advanced" button
4 years ago
SomberNight
d2019fd928
qt bump fee: rename "Final" checkbox to "Keep Replace-By-Fee enabled"
Now that the checkbox is hidden behind an advanced option, there is
no need to be brief about it, better to be explicit.
(terminology unchanged for kivy.)
4 years ago
SomberNight
4c36c45664
qt bump fee: add "advanced" button, allow choosing strategy
4 years ago
SomberNight
058d9ab6bb
wallet.bump_fee: add new strategy: decrease payment amounts
- Rename bump_fee "methods" to "strategies".
- Refactor strategies so that bump_fee can use any subset of them in any permutation.
- Adds a new strategy which decreases the payment outputs (instead of change).
4 years ago
SomberNight
8fe7d750f7
qt: move RBF dialog out of main_window.py into its own file
4 years ago
SomberNight
254f57bce5
lnpeer.maybe_fulfill_htlc: fix error case FINAL_INCORRECT_HTLC_AMOUNT
follow-up ef5a265449
4 years ago
SomberNight
31bdb5c344
lnpeer.maybe_fulfill_htlc: follow BOLTs re some errors
related: https://github.com/lightningnetwork/lightning-rfc/pull/608
4 years ago
ThomasV
61e7f7e75e
Merge pull request #7065 from SomberNight/20210224_mpp_recv_amt_sum
lnpeer: MPP recv: only fulfill htlc if amt sum exact-matches total_msat
4 years ago
ThomasV
5dc7b5bffe
Merge pull request #7069 from bitromortac/2102-mpp-split-params
mpp_split: optimize split parameters
4 years ago
bitromortac
bf87169469
mpp_split: tweak split parameters
Increases STARTING_CONFIGS to sample more starting configurations.
Reduces CANDIDATES_PER_LEVEL to reduce computational effort.
Increases REDISTRIBUTE.
The time it takes for a typical suggest_split call is about 2 msec a
desktop machine.
4 years ago
bitromortac
5081a83245
mpp_split: undo side effect in tearDown
4 years ago
SomberNight
16f0b30ced
lnpeer: MPP recv: only fulfill htlc if amt sum exact-matches total_msat
4 years ago
SomberNight
9024419fdc
lnpeer: MPP receive: require payment_secret for each htlc
BOLT-04 says:
The final node:
if it supports basic_mpp:
MUST require payment_secret for all HTLCs in the set
90468030d5/04-onion-routing.md (basic-multi-part-payments)
4 years ago
SomberNight
691ebaf4f8
lnworker/lnpeer: add some type hints, force some kwargs
4 years ago
SomberNight
d800f88bfc
(trivial) wallet: fix over-indentation
4 years ago
ThomasV
c9d6d11604
create_trampoline_route: check that we can pay the amount and the fees, and that the route is sane
4 years ago
SomberNight
ab9bf07a79
(trivial) lnrouter: fix type of TrampolineEdge.short_channel_id
also, use keyword arguments inside attr.ib() as PyCharm was complaining
4 years ago
ThomasV
bf1d516959
lnworker: add fees from private path to the amount passed to find_route.
(see #7050 )
4 years ago
ThomasV
391dba7117
Refactor find_route_for_payment
- remove duplicated code
- rename variable names to be consistent with the
'path', 'route' terminology
- compute private route before route
4 years ago
ThomasV
152894e6a9
calc_hops_data: total_msat should be optional
4 years ago
SomberNight
0a5b714643
lnworker: add "endurance" ACINQ testnet node as hardcoded trampoline
4 years ago
SomberNight
52eb9dcad9
tests: fix thinko in ElectrumTestCase base class
can't see why it was cross-calling the setUpClass from the
individual test setUp
4 years ago
SomberNight
a9d0e3fca9
tests: try to eliminate random failures from mpp_split tests
closes : #7062
4 years ago
SomberNight
228c4b4597
synchronizer: better handle history-status mismatch
When receiving the history of an address, the client behaved unexpectedly
if either of two checks failed.
The client checked that the txids in the history are unique, and that the
history matches the previously announced status. If either failed, it
would just log a line and do nothing. Importantly, the synchronizer could
even consider itself is_up_to_date, i.e. the GUI could show the wallet is
synced.
This is now changed such that:
- if the txid uniqueness test fails, we simply disconnect
- if the history is not consistent with previously announced status,
we wait a bit, make sure is_up_to_date is False in the meantime,
and then potentially disconnect
See rationale for these in the comments.
related: https://github.com/spesmilo/electrum/issues/7058#issuecomment-783613084
4 years ago
SomberNight
4a8286c744
qrscanner: nicer error messages
4 years ago
ThomasV
22a14d42b2
Merge pull request #7061 from zebra-lucky/add_kivy_scan_qr_non_android
kivy: add app.scan_qr_non_android
4 years ago
zebra-lucky
f6011dc31a
kivy: add app.scan_qr_non_android
4 years ago
ThomasV
10611876ee
qt: update swap button together with can_send
4 years ago
ThomasV
618b008c54
Merge pull request #7060 from bitromortac/mpp-test-fix
mpp_split: fix tests for python versions < 3.8
4 years ago
bitromortac
9b0b78eca1
mpp_split: fix tests for python versions < 3.8
4 years ago
SomberNight
4937fd2788
scripts: add script that broadcasts tx to lots of servers
useful when trying to RBF a tx that did not opt-in to RBF
4 years ago
SomberNight
26d73cba0e
interface.get_history: enforce sorted order of heights
related: #7058
4 years ago
SomberNight
99845942e5
DeviceMgr: don't mark client as failing if create_client() is None
Otherwise the exception raised by client.label() would seem important.
4 years ago
SomberNight
e42120cac5
lnutil.LnFeatures: update LN_FEATURES_IMPLEMENTED
4 years ago
SomberNight
baad8ab3ff
lnutil.LnFeatures: update context for "option_support_large_channel"
this was changed in https://github.com/lightningnetwork/lightning-rfc/pull/773
4 years ago
SomberNight
4aab843f17
lnutil.LnFeatures: impl and use "supports" method for feature-bit-tests
Note that for a required feature, BOLT-09 allows setting either:
- only the REQ bit
- both the REQ bit and the OPT bit
Hence, when checking if a feature is supported by e.g. an invoice, both
bits should be checked.
Note that in lnpeer.py, in self.features specifically, REQ implies OPT,
as it is set by ln_compare_features.
4 years ago