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
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
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
Joost Jager
fcdc8f0e83
lnrpc/invoices: add hold invoice rpc
2019-03-15 10:08:58 +01:00
Joost Jager
19f79613df
channeldb: store hold invoice
2019-03-15 10:08:55 +01:00
Joost Jager
8392f6d28f
lnrpc/invoicesrpc: remove lnrpc type from add invoice
2019-03-15 10:08:52 +01:00
Joost Jager
b9cc165341
lnrpc: move add invoice logic to subserver
2019-03-15 10:08:49 +01:00
Joost Jager
4141773e90
htlcswitch: resolve invoice cancelation race condition
...
Previously it could happen that an invoice was open at the time of the
LookupInvoice call, the htlc was settled because of that, but when the
SettleInvoice call was made eventually, it would fail because the
invoice was canceled in the mean time. The htlc would then be settled,
but the invoice not marked as such.
2019-03-15 10:08:46 +01:00
Joost Jager
eb598ec7a4
htlcswitch: extract exit hop processing to method
2019-03-15 10:08:43 +01:00
Joost Jager
9643b45dbc
htlcswitch/test: move preimage cache to server level
...
In this commit the preimage cache is instantiated on the mock server
level where it belongs. Previously it was a cache shared across all mock
servers.
2019-03-15 10:08:40 +01:00
Joost Jager
c4263e7061
lntypes: return a value from constructors
...
Returning pointers proved inconvenient in almost all cases. This commmit
converts the constructors to returning values.
2019-03-15 10:08:38 +01:00
Joost Jager
449c3d533e
contractcourt: add access to full invoice registry from resolvers
...
Previously a function pointer was passed to chain arbitrator to avoid a
circular dependency. Now that the routetypes package exists, we can pass
the full invoice registry to chain arbitrator.
This is a preparation to be able to use other invoice registry methods
in contract resolvers.
2019-03-15 10:08:35 +01:00
Joost Jager
2be1051fb6
zpay32: move HopHint and DefaultFinalCLTVDelta
2019-03-15 10:08:32 +01:00
Joost Jager
652ebb1652
lnwire: add constructor for FinalExpiryTooSoon failure message
2019-03-15 10:08:29 +01:00
Joost Jager
10a655b6b1
lntypes: add preimage Matches method
2019-03-15 10:08:26 +01:00
Olaoluwa Osuntokun
36cc1da8ea
Merge pull request #2633 from halseth/autpilot-chansize-allocation
...
[autopilot] distribute available funds among channels
2019-03-14 12:51:02 -07:00
Johan T. Halseth
fb5b6ff425
autopilot/agent_test: add TestAgentChannelSizeAllocation
...
TestAgentChannelSizeAllocation tests that the autopilot agent opens
channel of size that stays within the channel budget and size
restrictions.
2019-03-14 08:49:28 +01:00
Johan T. Halseth
b71f4632a6
autopilot/agent_test: define testCtx, setup, other helpers
...
This commit defines a set of helper methods that are used by many of the existing tests.
2019-03-14 08:49:28 +01:00