Commit Graph

8302 Commits

Author SHA1 Message Date
Joost Jager
9d79fea937 cnct: fix incoming resolver assertion 2019-11-13 10:17:22 +01:00
Olaoluwa Osuntokun
e2e94c3b6e Merge pull request #3701 from joostjager/isolate-odd-even
tlv+hop: contain odd/even logic in payload parsing
2019-11-12 21:03:52 -08:00
Olaoluwa Osuntokun
9cc4125ca2 Merge pull request #3594 from joostjager/resolver-onion-decode
cnct: decode onion for incoming contest resolver
2019-11-12 20:41:21 -08:00
Joost Jager
c5fde97d12 Merge pull request #3710 from joostjager/fix-lncli-hang
lncli: do not hang on ctrl-c
2019-11-12 22:04:13 +01:00
Joost Jager
6c6bbdd365 signal: initialize interceptor explictly 2019-11-12 19:16:22 +01:00
Joost Jager
78ecc3d24b htlcswitch/hop: always accept even custom tlv records
This commit prepares for sending and receiving of application-specific
custom tlv fields.
2019-11-12 16:18:27 +01:00
Joost Jager
048971b40b tlv+hop: contain odd/even logic in payload parsing
Tlv is used more widely in lnd than just for the onion payload. This
commit isolated the protocol-specific odd/even logic, so that tlv can be
used freely elsewhere. An example of this use is db serialization.
2019-11-12 16:18:25 +01:00
Joost Jager
0d7119a8ca cnct: parse onion for resolvers
With the introduction of additional payload fields for mpp, it becomes
a necessity to have their values available in the on-chain resolution
flow. The incoming contest resolver notifies the invoice registry of the
arrival of a payment and needs to supply all parameters for the registry
to validate the htlc.
2019-11-12 15:01:39 +01:00
Joost Jager
ede7e5e7ee cnct: log more info when checking chain actions 2019-11-12 15:01:37 +01:00
Joost Jager
50abb41e94 cnct: store full htlc struct inside resolver
This change prepares for accessing the onion blob from a resolver.
2019-11-12 15:01:36 +01:00
Joost Jager
a83be177c6 cnct: move supplement method into resolvers 2019-11-12 14:55:03 +01:00
Joost Jager
76c2b2cea2 Merge pull request #3665 from joostjager/resolver-constructors
cnct: add resolver constructors
2019-11-12 14:10:39 +01:00
Wilmer Paulino
9c454e9c6f Merge pull request #3704 from halseth/neutrino-dep-update
mod: update neutrino dep
2019-11-11 13:20:38 -08:00
Wilmer Paulino
e1dd2a88e3 Merge pull request #3699 from Crypt-iQ/macaroon_store_race_1109
macaroons: add encKeyMtx to prevent race condition
2019-11-11 11:44:06 -08:00
Joost Jager
32249cb72e cnct: add new methods for resolvers 2019-11-11 14:35:30 +01:00
Joost Jager
1e5eec990e cnct: add new from reader resolver initializers 2019-11-11 14:35:28 +01:00
Johan T. Halseth
a8837478f4 mod: update neutrino dep 2019-11-11 10:45:09 +01:00
Johan T. Halseth
3b22540fc1 Merge pull request #2533 from yancyribbens/persistent-lnd-volume-docker-compose
add named volume to lnd service for persisting data accross container…
2019-11-11 09:47:30 +01:00
nsa
1018df991f macaroons: add encKeyMtx to prevent race condition 2019-11-09 21:12:11 -05:00
Joost Jager
b222b6e625 Merge pull request #3685 from cfromknecht/flat-features
flat features
2019-11-09 11:43:45 +01:00
Olaoluwa Osuntokun
86bed393f9 Merge pull request #2927 from joostjager/hodl-drop-fix-better
htlcswitch: fix empty commit sig and no commit sig
2019-11-08 17:16:48 -08:00
yancy ribbens
5c4edcab8f add named volume to lnd service for persisting data accross container lifecycle 2019-11-08 11:30:41 -06:00
Conner Fromknecht
5e27b5022c multi: remove LocalFeatures and GlobalFeatures 2019-11-08 05:32:00 -08:00
Conner Fromknecht
16318c5a41 multi: merge local+global features from remote peer 2019-11-08 05:31:47 -08:00
Conner Fromknecht
6c86075354 peer+server: use feature manager to generate feature vectors 2019-11-08 05:29:29 -08:00
Conner Fromknecht
fe566e1755 feature: add new feature pkg to manage feature sets
This commit introduces a feature.Manager, which derives feature vectors
for various contexts within the daemon. The sets can be described via a
staticly compiled format, which makes any runtime adjustments to the
feature sets when the manager is initialized.
2019-11-08 05:29:16 -08:00
Conner Fromknecht
90e36ca04b lnwire/features: add unified Features namespace 2019-11-08 05:28:47 -08:00
Conner Fromknecht
92fb5ac363 Merge pull request #3686 from joostjager/local-apriori
routing: use distinct probability estimation for local channels
2019-11-08 03:32:37 -08:00
Wilmer Paulino
b0dc3b76fd Merge pull request #3661 from guggero/deprecate-rest-string
proto: deprecate duplicate string fields in requests
2019-11-07 10:52:45 -08:00
Wilmer Paulino
2bec35a3d2 Merge pull request #3687 from joostjager/wallet-binding-fix
lnwallet: fix loop binding bug
2019-11-07 10:49:18 -08:00
Joost Jager
ff63a680a1 cnct: instantiate quit channels inside resolvers
Removes a bug-prone construction that existed previously where the quit
channel was replaced just-in-time.
2019-11-07 13:10:35 +01:00
Joost Jager
75ecbfd321 cnct: unexport ResolverKit quit field 2019-11-07 13:10:33 +01:00
Joost Jager
ee14eaec5f cnct: remove redundant AttachResolverKit call 2019-11-07 13:10:31 +01:00
Joost Jager
53d210d741 cnct: remove unused Decode interface method 2019-11-07 13:10:29 +01:00
Johan T. Halseth
d50b3a9c81 Merge pull request #3684 from alexbosworth/patch-12
trivial: fix typo
2019-11-07 12:00:35 +01:00
Joost Jager
c7fad2d7cf lnwallet: fix loop binding bug 2019-11-07 11:45:06 +01:00
Joost Jager
dc0399af51 routing: use distinct probability estimation for local channels
Previously we used the a priori probability also for our own untried
channels. This led to local channels that had seen a success already
being prioritized over untried local channels. In some cases, depending
on the configured payment attempt cost, this could lead to the payment
taking a two hop route while a direct payment was also possible.
2019-11-07 11:26:52 +01:00
Joost Jager
5a80c3459f routing: create prob estimation func taking external node prob 2019-11-07 11:25:14 +01:00
Johan T. Halseth
2947036633 Merge pull request #3664 from joostjager/outgoing-contest-resolver-test
cnct/test: add outgoing contest resolver test
2019-11-07 10:54:45 +01:00
Oliver Gugger
7e9c4f0f87 proto: deprecate duplicate string fields in requests
With this PR we deprecate fields that have been specifically added to
to work around a bug in the gRPC/REST gateway that didn't allow bytes
fields to be encoded in REST requests.
That bug has now been fixed so the fields are no longer required.
To make it more clear how bytes fields have to be used in REST,
comments have been added to all those fields.
2019-11-07 08:53:00 +01:00
Olaoluwa Osuntokun
0fbcc3b2e9 Merge pull request #3682 from guggero/docs-make-check
docs: bitcoind is required for unit tests
2019-11-06 16:00:22 -08:00
Alex Bosworth
bfe3f07959 trivial: typo fix 2019-11-06 15:46:59 -08:00
Alex Bosworth
c390219f3d trivial: fix typo 2019-11-06 15:44:12 -08:00
Joost Jager
f930dd42a6 cnct/test: add outgoing contest resolver test 2019-11-06 16:07:06 +01:00
Joost Jager
1cb796b9b7 cnct: remove redundant current block fetch
The block notifier now always sends the current block immediately.
2019-11-06 15:53:32 +01:00
Oliver Gugger
2b163480cf docs: bitcoind is required for unit tests 2019-11-06 09:47:48 +01:00
Joost Jager
0b5afa64f3 htlcswitch: remove logCommitTick
Replace logCommitTick as a way to deal with revocation window exhaustion
by retrying to update the commit tx when the remote revocation is
received.

The rationale is that the revocation window always opens up because of a
revoke message that is received from the other party. It is therefore
not necessary to set a timer for this. The reception of the revoke
message is the trigger to send a new commit sig if necessary.
2019-11-06 09:21:33 +01:00
Joost Jager
ae67b1a4a4 htlcswitch/test: test revocation window exhaustion 2019-11-06 09:21:31 +01:00
Joost Jager
5078d662ef htlcswitch: remove batch counter
Now that channel exposes the number of pending local updates, it is no
longer necessary to track the batch size separately in the link.
2019-11-06 09:21:29 +01:00
Joost Jager
2482d84d7d htlcswitch: stop batch timer if there are no updates 2019-11-06 09:21:27 +01:00