Commit Graph

2694 Commits

Author SHA1 Message Date
4b6ada98d6 lnwire: use color.RGBA instead of custom type in NodeAnnouncment 2017-12-02 18:23:10 -08:00
724adb158c server: lookup DNS seeds directly by active chain's genesis hash
In this commit, we fix a bug that would cause the DNS seeds to be
*always* active regardless of which chain+network we were on. Before we
would look up the network in the reverseChainMap. However, if we were
on regtest or testate, then it would still (incorrectly) resolve to a
valid hash.

To remedy this, we now directly use the genesis hash of the current
active chain.
2017-12-02 18:05:52 -08:00
30b4ab2c74 chains: use proper genesis hash for Bitcoin's testnet 2017-12-02 18:04:08 -08:00
f196c72aa4 Merge pull request #439 from Roasbeef/copy-right
multi: retain original copyright on files copied/modified from btcsuite
2017-12-01 19:34:25 -08:00
ccd1dad71e peer: set HtlcPoint to nil within logWireMessage
This new field was added as a recent modification to the spec, but the
curve parameter within the attribute wasn’t set to nil. As a result
this would result in a large degree of spam within the logs when set to
trace mode. This commit fixes this issue by setting it to nil along
with all the other pub keys within messages.
2017-12-01 19:31:56 -08:00
3802cb90df discovery: publicly export announcement validation related functions 2017-12-01 19:31:54 -08:00
7bd2cd0a16 rpc: only cancel closeObserver if force close succeeds 2017-12-01 19:11:42 -08:00
4d6cd2ee36 chain: the default minHTLC policy is now 1 2017-11-30 22:54:39 -08:00
9314aa2e7d funding: route back full lnwire.Error to caller upon funding flow failure 2017-11-30 22:53:48 -08:00
c081b386d2 funding: when crafting our ChannelUpdate use the remote party's minHTLC
In this commit, we implement a recent spec change that require nodes to
advertise the minHTLC of the remote node within their ChannelUpdate. We
do this as it will be the remote node which carries the HTLC towards
us, therefore we should advertise *their* minHTLC value.
2017-11-30 22:52:39 -08:00
55bdf25235 funding: attempt to send error back to caller within CancelPeerReservations 2017-11-30 22:42:26 -08:00
9b53d7bd95 channeldb: treat Flags field in ChannelEdgePolicy as a bitfield 2017-11-30 22:41:54 -08:00
12a0488bc6 discovery: use lnwire.ChanUpdateFlag masks when examinig ChannelUpdate msgs
In this commit, we now properly examine the Flag field within the
ChannelUpdate message as a bitfield. Before this commit we would
manually check the flags for zero or one. This was incorrect as a their
bit has now been defined. To properly dispatch the messages, we’ll now
treat it properly as a bitmask.
2017-11-30 22:37:21 -08:00
3e3de26ac9 discovery: set proper flag within createChanAnnouncement
In this commit, we fix an existing bug within the
createChanAnnouncement function. Before we would set the flag to be 0,
or 1 depending on which edge it was. This was incorrect as since then
additional flags have been defined. We now properly set the entire
flag, rather than taking a shortcut. With this, we’ll properly
advertise all ChannelUpdate announcements.
2017-11-30 22:33:00 -08:00
a78ff8ba04 routing: during path finding skip edges that are marked disabled
In this commit, we implement adherence of the disabled bit within a
ChannelUpdate during path finding. If a channel is marked as disabled,
then we won’t attempt to route through it. A test has been added to
exercise this new check.
2017-11-30 22:31:27 -08:00
b61670fe23 routing: during path finding skip edge if amount < edge.MinHTLC
In this commit, we update path finding to skip an edge if the amount
we’re trying to route through it is below the MinHTLC (in mSAT) value
for that node. We also add a new test to exercise this behavior. In
order for out test to work properly, we’ve modified the JSON to make
the edge to Goku have a higher min HTLC value.
2017-11-30 22:29:45 -08:00
73ccb76853 routing: update ChannelUpdate handling to recognize lnwire.ChanUpdateFlag 2017-11-30 22:24:35 -08:00
5e3dbfcd78 lnwire: add new ChanUpdateFlag for the ChannelUpdate flag bitmask
In this commit, we add a new type to the lnwire package:
ChanUpdateFlag. This type represent the bitfield that’s used within the
ChannelUpdate message to give additional details as how the message
should be interpreted.
2017-11-30 22:21:37 -08:00
c3ec32e67b peer: display lnwire.Error body as ascii string in messageSummary
It dictates in the spec, that the error message should be an ASCII
string to allow other implementations to easily discern the type of
error. The other implementations do this, but we don’t yet, but we’ll
go ahead and display it anyway as it’s helpful when debugging.
2017-11-30 22:19:18 -08:00
260ff8831a htlcswitch: update UpdateFee usage due to recent API change 2017-11-30 22:17:56 -08:00
b8bed9a677 lnwallet: in BtcdFeeEstimator is sat/byte is too low, fallback to default rate
In this commit, we fix an existing bug within the EstimateFeePerWeight
method for the BtcdFeeEstimator. If the sat/byte value returned was too
low, then it was possible for us to end up with a zero valued
sat/weight. We correct this issue by detecting, and falling back to the
default fee rate if so.
2017-11-30 22:13:00 -08:00
c27e87f168 lnwallet: update UpdateFee msg usage to latest API changes 2017-11-30 22:10:42 -08:00
4bec706b11 lnwallet: fix bug in htlcIsDust, outgoing HTLC on remote commit is htlcSuccess 2017-11-30 22:09:49 -08:00
d0a356c948 lnwire: the FeePerKw is a uint32, not a btcutil.Amount 2017-11-30 22:07:47 -08:00
87840f215b server: disable network bootstrapping for regtest 2017-11-30 22:07:06 -08:00
c0b8c29382 discovery: continue in loop after processing announcement signatures 2017-11-29 18:35:19 -08:00
4ab16b5c91 discovery: process AnnouncementSignatures msgs serially 2017-11-29 17:53:21 -08:00
7757721a92 routing: don't dispatch notification if error is non nil after processing ann 2017-11-29 17:53:09 -08:00
3067d05ae8 discovery: validate incoming announcements in parallel 2017-11-29 16:45:14 -08:00
5bc9f07d12 routing: validate incoming announcements in parallel 2017-11-29 16:44:14 -08:00
fcd5e4aa41 routing: when updating chain view filter on restart, use best height as height hint
In this commit, we modify the high value passed into UpdateFilter upon
restart. Before this commit, we would pass in the prune height, which
would cause a full rescan within the FilteredChainView if the best
height as > than the prune height. This was redundant as we would
shortly carry out a manual rescan in the method below. To fix this, we
now pass in the bestHeight, this isn’t an issue as the
syncGraphWithChain method will manually scan up to that best height.
2017-11-29 16:26:39 -08:00
978023ab1d routing: ensure notifyTopologyChange is theadsafe 2017-11-29 16:24:30 -08:00
33ce4e5689 routing: add new ValidationBarrier to allow for safe parallel validation of announcements
In this commit, we add a new abstraction, the ValidationBarrier. This
struct will be used to allow parallel validation of announcements
within notes AuthenticatedGossiper as well as the ChannelRouter.
Naively validating the announcement in parallel would run into issues
as it would be possible for validate an update announcement, before
validating the channel announcement itself. We solve this by creating a
waiting dependance using the ValidationBarrier to ensure that the
defendant jobs wait until their parents have been full validated.
2017-11-29 16:24:20 -08:00
2dcd2b8a6d discovery: add a mutex in order to make deDupedAnnouncements thread-safe 2017-11-29 16:21:16 -08:00
f4f476fe9f chainregistry: also disable fee estimation for regtest 2017-11-29 16:15:09 -08:00
94ba7f964d channel: properly roll over fee from commit tx during co-op chan close
In this commit, we fix an existing bug within our cooperative channel
closing transaction generation. Before this commit, we wouldn’t account
for the fee already allocated within the commitment transaction. As a
result, we would calculate the evaluated balance considering the fee
incorrectly. In this commit, we fix this by adding the commitment fee
to the balance of the initiator when crafting the closing transaction
2017-11-29 16:14:22 -08:00
4b05bad4f1 utxn: log the CSV value of kindergarten outputs on state transition 2017-11-29 16:10:25 -08:00
63c8c299ed lnwallet: use remote height as reference when gauging channel breaches 2017-11-28 12:26:02 -08:00
5b7abee92e lnwire: correct incorrect type numbers for UpdateFee, Shutdown, and ClosingSigned
In this commit we correct an off by one error on the Shutdown and
ClosingSigned message types. Additionally, we fix an error related to
the numbering of the UpdateFee message. With this we, gain proper
compatibility with the other implementations when it comes to
commitment hygiene, and also the cooperative closure process.
2017-11-28 12:26:00 -08:00
b98e993d76 lnallet: remove a TODO from signer.go
The TODO indicated that the fmt.Errorf call should be changed
to use the errors package, which allows for wrapping of errors
as necessary.
2017-11-27 20:09:05 -08:00
58ab3f5f83 peer: show conf depth in message summary for AcceptChannel 2017-11-27 16:50:10 -08:00
e572c549be Merge pull request #438 from Roasbeef/mac-docs
docs: add new section for macaroons
2017-11-27 17:22:04 -07:00
0952b68e64 multi: retain original copyright on files copied/modified from btcsuite
Early in the lifetime of the project here were a few files we either
copied entirely, or used as the basis for code within lnd. Before this
PR, this was not recognized by retaining the original copyright. With
this commit, we remedy that by explicitly noting the copyright in the
relevant files.

Fixes #423.
2017-11-27 16:19:36 -08:00
4066571590 LICENSE: update date on primary copyright 2017-11-27 16:19:35 -08:00
03d2d098b4 docs: add new section for macaroons 2017-11-27 16:06:56 -08:00
2fb7f5d4f3 lnwallet: fix typos 2017-11-27 17:24:45 -06:00
029c44a562 docker: add missing word in README 2017-11-27 17:18:30 -06:00
a3a02495fe docs: fix tutorial link in INSTALL.md 2017-11-27 17:16:24 -06:00
de6e511539 docker: btcd requires Go 1.8 or newer and fails to build with 1.7
The btcd docker container fails to build with Golang 1.7 because this
version of go is missing time.Until (used by the btcd server)
2017-11-27 17:15:14 -06:00
bc1e0cd8dd docker: add missing backslash to start-lnd.sh 2017-11-27 17:14:43 -06:00