Commit Graph

6450 Commits

Author SHA1 Message Date
Conner Fromknecht
b0318e2b74
config: validate node color after reading config 2018-10-24 22:10:18 -07:00
Olaoluwa Osuntokun
5c6c966891
Merge pull request #1535 from cfromknecht/wtwire-server
[watchtower/server] Server-Side Wire Protocol
2018-10-24 21:43:11 -07:00
Conner Fromknecht
712e7f08f0
watchtower/server/server_test: add test vectors for server behavior 2018-10-24 20:18:22 -07:00
Conner Fromknecht
db4c4488c5
watchtower/server/mock: create MockPeer for debug build 2018-10-24 20:18:22 -07:00
Conner Fromknecht
48643a1747
watchtower/server/interface: adds Server, Peer and DB 2018-10-24 20:18:22 -07:00
Conner Fromknecht
a3e1bb15c5
watchtower/server/log: adds wt SRVR sublogger 2018-10-24 20:18:21 -07:00
Conner Fromknecht
73709530e3
watchtower/server/server: server skeleton 2018-10-24 20:18:21 -07:00
Conner Fromknecht
fd6024c306
watchtower/wtdb/mock: adds MockDB for debug build 2018-10-24 20:18:21 -07:00
Conner Fromknecht
8b47a96459
watchtower/wtdb/session_state_update: adds session state 2018-10-24 20:18:21 -07:00
Conner Fromknecht
405838d29c
watchtower/wtdb/session_info: adds SessionInfo 2018-10-24 20:18:21 -07:00
Conner Fromknecht
e825a756f4
watchtower/wtdb/session_id: adds SessoinID, client pubkey 2018-10-24 20:18:21 -07:00
Conner Fromknecht
bc86ccf212
watchtower/wtdb/breach_hint: adds BreachHint, txid prefix 2018-10-24 20:18:17 -07:00
Olaoluwa Osuntokun
463d352fa8
Merge pull request #1512 from cfromknecht/wtwire
[watchtower/wtwire]: Watchtower Wire Messages
2018-10-24 20:17:02 -07:00
Conner Fromknecht
da56aa3528
lnd_test: process all node/edge updates in graph_top_itest
This commit modifies the graph topology test to
properly count channel updates and node
announcments in the event that they are batched
into a single topology update. The prior logic
made the assumption that they were always in
distinct topology updates, so this method should
be more general and robust.
2018-10-24 19:20:01 -07:00
Wilmer Paulino
6686ae3001
lnd_test: update testInvoiceRoutingHints to account
In this commit, we open an additional channel between Bob and Carol to
ensure that Bob gets selected as the only routing hint. Previously Bob
would get selected, but with the recent changes, it would no longer
happen due to him not having any advertised edges.
2018-10-24 19:20:01 -07:00
Wilmer Paulino
e87d61b7f7
rpc: ensure we don't leak unadvertised nodes within invoice routing hints
In this commit, we ensure that we don't include routing hints for
unadvertised nodes at the time of invoice creation. Otherwise, this
would lead us to leak these unadvertised nodes to anyone who can get
their hands on the invoice being created. To prevent this, we'll now
look at the network graph and ensure that the node in unadvertised if
all of their edges are unadvertised and only extend to us.
2018-10-24 19:20:01 -07:00
Wilmer Paulino
cbab298154
chan_series: filter out nodes who intend to remain private
In this commit, we filter out nodes who intend to remain private. We do
this to prevent leaking information about them by forwarding their
NodeAnnouncements.
2018-10-24 19:20:01 -07:00
Wilmer Paulino
85cdb18b73
fundingmanager: send NodeAnnouncement to unadvertised channel counterparty
In this commit, we modify the funding manager to send our
NodeAnnouncement to our channel counterparty in the event of an
unadvertised channel. We do this to ensure that our counterparty learns
about some information about us that may aid them in one way or another
(e.g., addresses to reconnect, features supported, etc.).
2018-10-24 19:20:01 -07:00
Johan T. Halseth
e8003af3cd
make: ensure make fmt is run with -s flag
Linting will fail if code is not formatted with the -s flag, so make
sure we always use it when formatting.
2018-10-24 19:07:42 -07:00
Wilmer Paulino
748da2f50a
discovery/gossiper_test: modify TestProcessAnnouncement to process node
ann last

In this commit, we modify TestProcessAnnouncement to process the node
announcement last. We do this due to the recent change in the gossiper
where we'll only forward node announcements of nodes who intend to
advertised themselves within the network.

This change was needed in order to allow the node announcement to be
broadcast to the greater network, as otherwise the gossiper would assume
the node intends to stay private due to not having any advertised edges.
2018-10-24 17:28:56 -07:00
Wilmer Paulino
80196eb20f
discovery: ensure we only broadcast NodeAnnouncements of public nodes
In this commit, we modify the gossiper to no longer broadcast
NodeAnnouncements of nodes who intend to remain private. We do this to
prevent leaking their information to the greater network.
2018-10-24 17:28:55 -07:00
Wilmer Paulino
18ecb31983
routing/router: extend ChannelGraphSource interface with IsPublicNode
method
2018-10-24 17:28:54 -07:00
Wilmer Paulino
e795f7fce4
channeldb/graph: add method to determine if a node is public
In this commit, we add a method to the ChannelGraph struct that
determines whether a node is seen as public based on graph's source
node's point of view.
2018-10-24 17:28:53 -07:00
Johan T. Halseth
9cba3e813a
Merge pull request #1992 from halseth/listinvoices-offset
Make reversed listinvoices consistent in edge cases
2018-10-24 17:25:54 -07:00
Olaoluwa Osuntokun
d67c1fdcaa
Merge pull request #1954 from Roasbeef/tor-node-ann-fixes
server: ensure each time we update a node ann we also update the on-disk version
2018-10-24 17:10:42 -07:00
Olaoluwa Osuntokun
15508df96d
Merge pull request #1936 from cfromknecht/cnct-sane-txn-reliable-pub
conctractcourt: check sweep sanity + reliable publication
2018-10-24 17:08:38 -07:00
Conner Fromknecht
f9cec4a67b
cnct/contract_resolvers: propagate checkpoint failures 2018-10-24 13:57:10 -07:00
Conner Fromknecht
f957b78c0b
cnct/contract_resolvers: ignore duplicate publication error 2018-10-24 13:57:10 -07:00
Conner Fromknecht
682c4c96c7
cnct/contract_resolvers: reliably publish htlc success sweep 2018-10-24 13:57:10 -07:00
Conner Fromknecht
b7aebd92cf
cnct/contract_resolvers: reliably publish commit sweep 2018-10-24 13:57:10 -07:00
Olaoluwa Osuntokun
1b0d8e8f13
Merge pull request #2059 from wpaulino/openchannel-unconfirmed-funds
rpc: prevent spending unconfirmed funds within OpenChannel by default
2018-10-23 19:58:43 -07:00
Wilmer Paulino
7166130037
lnd_test: add onion addresses to testNodeAnnouncement
In this commit, we include onion addresses in testNodeAnnouncement to
ensure they properly propagate throughout the network.
2018-10-23 18:42:33 -07:00
Olaoluwa Osuntokun
0879a7354f
server: re-work initial node ann creation to use LightnignNode.NodeAnnouncement 2018-10-23 18:42:31 -07:00
Olaoluwa Osuntokun
e360005452
server: ensure we update our node ann with new tor addrs in initTorController
Fixes #1939.
2018-10-23 18:42:30 -07:00
Olaoluwa Osuntokun
338946eda4
server: update genNodeAnnouncement to also write new node ann to disk
In this commit, we update the genNodeAnnouncement method to also write
an updated version of the node announcment to disk. Before this commit,
we would update the in memory version, but then never write the new
version to disk. As a result, when connecting to new peers, we would
never propagate the new version of this announcement to the network.
2018-10-23 18:42:29 -07:00
Olaoluwa Osuntokun
eaa613f4f5
discovery+chan_series: replace usage of makeNodeAnn w/ new NodeAnnouncement method 2018-10-23 18:42:28 -07:00
Olaoluwa Osuntokun
2dcbdf2622
lnwallet: fix logging error when fee is too low in BtcdFeeEstimator 2018-10-23 18:42:26 -07:00
Wilmer Paulino
28cf413055
channeldb: add method to retrieve a node's node announcement 2018-10-23 18:42:25 -07:00
Conner Fromknecht
8acd13a094
watchtower/wtwire/wtwire_test: adds quick tests wtwire msgs 2018-10-23 18:28:30 -07:00
Conner Fromknecht
42a4b373a6
watchtower/wtwire/state_update_reply: ack w/ highest seqnum or error 2018-10-23 18:28:28 -07:00
Conner Fromknecht
fdd3ad3149
watchtower/wtwire/state_update: sends encrypted blobs 2018-10-23 18:28:27 -07:00
Conner Fromknecht
216c77e10e
watchtower/wtwire/create_session_reply: accept/deny session init 2018-10-23 18:28:26 -07:00
Conner Fromknecht
71541bc94e
watchtower/wtwire/create_session: propose new session 2018-10-23 18:28:25 -07:00
Conner Fromknecht
9ab620c7be
watchtower/wtwire/error_code: add shared error codes 2018-10-23 18:28:23 -07:00
Conner Fromknecht
999466c860
watchtower/wtwire/error: add generic error message 2018-10-23 18:28:22 -07:00
Conner Fromknecht
d171df5184
watchtower/wtwire/features: add watchtower feature bits 2018-10-23 18:28:20 -07:00
Conner Fromknecht
5ba95585e5
watchtower/wtwire/init: borrow LN init msg for WT init 2018-10-23 18:28:19 -07:00
Conner Fromknecht
49b2a3bdb5
watchtower/wtwire/message: define wtwire message interface 2018-10-23 18:28:18 -07:00
Conner Fromknecht
4325d9ec1e
watchtower/wtwire/wtwire: add watchtower message codec 2018-10-23 18:23:08 -07:00
Olaoluwa Osuntokun
d0a29364fd
Merge pull request #2079 from sevastos/patch-1
discovery/gossiper: fix logging on failed channel update
2018-10-23 18:16:36 -07:00