Commit Graph

6587 Commits

Author SHA1 Message Date
Olaoluwa Osuntokun
6b24b6dabd contractcourt: simplify htlcTimeoutResolver, unify with HTLC contest logic
In this commit, we simplify the existing `htlcTImeoutResolver` with some
newly refactored out methods from the `htlcTimeoutContestResolver`. The
resulting logic is easier to follow as it's more linear, and only deals
with spend notifications rather than both spend _and_ confirmation
notifications.
2019-03-19 16:50:27 -07:00
Olaoluwa Osuntokun
e1a07b68e8 contractcourt: extract which timeout HTLC output to watch into new method 2019-03-19 16:50:09 -07:00
Olaoluwa Osuntokun
b078cea83f contractcourt: move claimCleanUp from contest resolver to timeout 2019-03-19 16:49:56 -07:00
Olaoluwa Osuntokun
232dd73abd Merge pull request #2691 from cfromknecht/increase-default-recovery-window
cmd/lncli: increase default recovery window to 2.5k
2019-03-19 16:12:32 -07:00
Olaoluwa Osuntokun
71161848aa Merge pull request #2736 from cfromknecht/config-num-workers
lncfg: add CLI worker configuration
2019-03-19 15:47:38 -07:00
Olaoluwa Osuntokun
158a32c4e1 Merge pull request #1228 from halseth/fee-estimation-rpc
Fee estimation RPC
2019-03-18 16:08:26 -07:00
Olaoluwa Osuntokun
eb30870d8f build: update to latest version of btcutil with Litecoin bug fix
Fixes #1949.
Fixes #1985.
2019-03-18 15:37:59 -07:00
Olaoluwa Osuntokun
ec62104acc Merge pull request #2618 from cfromknecht/wtclient
watchtower/wtclient: reliable, asynchronous pipeline for revoked state backups
2019-03-16 14:31:55 -07:00
Johan T. Halseth
54f1f32e71 lnwallet/interface_test: add testCreateSimpleTx 2019-03-15 23:47:15 +01:00
Johan T. Halseth
306c0c8aab lnwallet: return ErrNoOutputs in case no outputs are sent to 2019-03-15 23:47:15 +01:00
Johan T. Halseth
a5becc2063 lncli: add estimatefee command 2019-03-15 23:47:15 +01:00
Johan T. Halseth
1e2af38f5a lnrpc+rpcserver: define and implement EstimateFee RPC 2019-03-15 23:47:13 +01:00
Johan T. Halseth
bb092bc61e lnwallet/interface: add CreateSimpleTx to wallet interface 2019-03-15 23:46:51 +01:00
Johan T. Halseth
3ebc66bd16 mock: add CreateSimpleTx to mockWalletController 2019-03-15 23:46:50 +01:00
Johan T. Halseth
6fb664dbe1 lnwallet/btcwallet: implement CreateSimpleTx 2019-03-15 23:46:50 +01:00
Olaoluwa Osuntokun
b4a1024ac7 Merge pull request #2490 from aakselrod/tor-null-auth-and-listen-fixes
Tor null auth and listen fixes
2019-03-15 14:53:12 -07:00
Olaoluwa Osuntokun
aa1cd04dbf Merge pull request #2022 from joostjager/holdinvoice
htlcswitch: hodl invoice
2019-03-15 13:26:53 -07:00
Olaoluwa Osuntokun
5ef95a51dc Merge pull request #2766 from Roasbeef/chain-watcher-fix-off-by-one
contractcourt: fix off-by-one error in closeObserver
2019-03-15 13:26:08 -07:00
Conner Fromknecht
32c4201edd cmd/lncli: increase default recovery window to 2.5k
Increases the default window from 250 to 2.5k. Many
users have reported attempting recovery with the
default value only to find an empty wallet. This
change should help ensure that the first recovery
attempt succeeds for the majority of nodes that
have modest load. It might prudent to consider
increasing this value further in the future if
the issue persists or average node age increases.
2019-03-15 02:54:07 -07:00
Conner Fromknecht
05e3a7f6c0 watchtower/wtmock/peer: set local pubkey 2019-03-15 02:34:00 -07:00
Conner Fromknecht
80040d9d96 watchtower/wtclient/client_test: adds client-server upload test 2019-03-15 02:33:47 -07:00
Conner Fromknecht
e1e805d1b8 watchtower/wtserver/server: fix race condition on Stop 2019-03-15 02:33:33 -07:00
Conner Fromknecht
a222a63d81 watchtower/wtserver/server: no ack updates 2019-03-15 02:33:20 -07:00
Conner Fromknecht
8b0cc487f0 watchtower/wtdb+wtserver: allow retransmission of last update 2019-03-15 02:33:06 -07:00
Conner Fromknecht
81497eceaf watchtower/wtmock/peer: create mock net.Conn using bidi MockPeer 2019-03-15 02:32:53 -07:00
Conner Fromknecht
87e8700c5d watchtower/wtmock/client_db: add mock client db 2019-03-15 02:32:40 -07:00
Conner Fromknecht
f00b4c5e96 watchtower/wtclient/client: hook up full client pipeline 2019-03-15 02:32:27 -07:00
Conner Fromknecht
abef9e09e7 watchtower/wtclient/stats: adds clientStats 2019-03-15 02:32:15 -07:00
Conner Fromknecht
aa2b21117c watchtower/wtclient/session_queue: batch upload state updates 2019-03-15 02:32:02 -07:00
Conner Fromknecht
65d09fca64 watchtower/wtclient/task_pipeline: add reliable task aggregator 2019-03-15 02:31:50 -07:00
Conner Fromknecht
95fa7659e0 watchtower/wtclient/session_negotiator: add session negotiation 2019-03-15 02:31:37 -07:00
Conner Fromknecht
a8721bcedf watchtower/wtclient/tower_candidate_iterator: linked-list iterator 2019-03-15 02:31:24 -07:00
Conner Fromknecht
b23bff62d5 watchtower/wtclient/errors 2019-03-15 02:31:11 -07:00
Conner Fromknecht
4642954e72 watchtower/wtclient/backup_task: bind to ClientSession instead of SessionInfo 2019-03-15 02:30:59 -07:00
Conner Fromknecht
b1903451d9 watchtower/wtclient/interface: add DB ifaces 2019-03-15 02:30:47 -07:00
Conner Fromknecht
04bbf39f51 watchtower/wtclient/log: adds wtclient logging 2019-03-15 02:30:35 -07:00
Conner Fromknecht
9177358a3c watchtower/wtdb/client_session: add ClientSession 2019-03-15 02:30:22 -07:00
Conner Fromknecht
247978dfe2 watchtower/wtdb/tower: store wt pk and addrs 2019-03-15 02:30:09 -07:00
Conner Fromknecht
99dbbf48aa watchtower/wtwire/error_code: add human-readable descriptors 2019-03-15 02:29:55 -07:00
Conner Fromknecht
9c70f49901 watchtower/wtwire/create_session_reply: remove extra Reject from code 2019-03-15 02:29:42 -07:00
Joost Jager
f6d67945dc lncli: add settle invoice command 2019-03-15 10:09:26 +01:00
Joost Jager
f450929b65 invoicesrpc: add SettleInvoice 2019-03-15 10:09:23 +01:00
Joost Jager
0823c79e4e htlcswitch/test: hodl invoice test 2019-03-15 10:09:20 +01:00
Joost Jager
32f2b047e8 htlcswitch: hodl invoice
This commit modifies the invoice registry to handle invoices for which
the preimage is not known yet (hodl invoices). In that case, the
resolution channel passed in from links and resolvers is stored until we
either learn the preimage or want to cancel the htlc.
2019-03-15 10:09:17 +01:00
Joost Jager
1f41a2abce htlcswitch: abtract invoice from link
This commit detaches signaling the invoice registry that an htlc was
locked in from the actually settling of the htlc.

It is a preparation for hodl invoices.
2019-03-15 10:09:15 +01:00
Joost Jager
aeb35d9898 htlcswitch/test: use real invoice registry with temp db as mock
In further commits the behaviour of invoice registry becomes more
intrinsically connected to the link. This commit prepares for that by
allowing link and registry to be tested as a single unit.
2019-03-15 10:09:12 +01:00
Joost Jager
e464ed18c7 htlcswitch/test: make unknown hash test independent of mock
In the TestChannelLinkMultiHopUnknownPaymentHash test, a preimage was
modified to trigger an unknown payment hash failure. The way the mock is
implemented, it would take the hash of that modified preimage and store
it. It basically stores a completely different invoice. For this test,
it is just as good to store no invoice at all.
2019-03-15 10:09:09 +01:00
Joost Jager
3b5c2f44c6 invoices: extract invoice decoding from registry
Previously it was difficult to use the invoice registry in unit tests,
because it used zpay32 to decode the invoice. For that to succeed, a
valid signature is required on the payment request.

This commit injects the decode dependency on a different level so that
it is easier to mock.
2019-03-15 10:09:06 +01:00
Joost Jager
c23bb5b3f1 htlcswitch: extract settle invoice into method 2019-03-15 10:09:03 +01:00
Joost Jager
22b68e5dc7 lncli: add hold invoice 2019-03-15 10:09:00 +01:00