Commit Graph

8530 Commits

Author SHA1 Message Date
Olaoluwa Osuntokun
a7c2b12f5c
Merge pull request #3785 from Roasbeef/gossip-queries-fix
discovery: properly set FirstBlockHeight and NumBlocks in responses
2019-12-10 18:03:50 -08:00
Olaoluwa Osuntokun
6a9b96122d
discovery: properly set FirstBlockHeight and NumBlocks in responses
In this commit we fix in a bug in `lnd` that could cause other
implementations which implement a strict version of the spec to
disconnect when trying to sync their channel graph using the gossip
query feature. Before this commit, we would embed the request to a
`QueryChannelRange` in the response, causing some clients to reject the
response as the `FirstBlockHeight` and `NumBlocks` field would be
identical for each chunk of the response.

In order to remedy this, we now properly set these two fields with each
returned chunk. Note that even after this commit, we keep our existing
behavior surrounding the `Complete` field as is. Otherwise, current
`lnd` clients which rely on this field (rather than the two
aforementioned fields) wouldn't be able to properly detect when a set of
responses to their query was "complete".

Partially fixes #3728.
2019-12-10 17:05:58 -08:00
Olaoluwa Osuntokun
a68144b709
Merge pull request #3802 from cfromknecht/rpc-invoice-features
rpc: expose invoice features in decodepayreq
2019-12-10 15:12:19 -08:00
Conner Fromknecht
1367187454
multi: set invoice feature bits using feature manager 2019-12-10 13:09:52 -08:00
Conner Fromknecht
a168f37b9c
lnwire+rpcserver: populate feature bits on decodepayreq 2019-12-10 13:09:36 -08:00
Conner Fromknecht
5defa425e1
lnrpc: add feature bits to PayReq 2019-12-10 13:09:17 -08:00
Conner Fromknecht
f34239889b
lnwire/feature: remove feature bit number from name
The number and the name will be separate on the rpc level, so we remove
the feature bit from the string. Currently this method is unused apart
from maybe in some rare logging instances.
2019-12-10 13:08:59 -08:00
Conner Fromknecht
a77e111c52
zpay32: remove unused InvoiceFeatures
Originally the feature namespaces were destined to be split, but this
has changed with the introduction of flat features.
2019-12-10 13:08:40 -08:00
Wilmer Paulino
3c6be62b18
Merge pull request #3702 from carlaKC/lnrpc-addcloseaddress
Add optional close address
2019-12-10 13:01:45 -08:00
Wilmer Paulino
d01feb516f
Merge pull request #3813 from ellemouton/add-space-in-log-message
bitcoindnotify: add missing space in log message in bitcoind.go
2019-12-10 12:29:05 -08:00
Wilmer Paulino
9484287f1f
Merge pull request #3815 from alexbosworth/patch-13
trivial: typo fix
2019-12-10 11:14:29 -08:00
Alex Bosworth
3b161289ae
trivial: typo fix
Correct `diconnecting` to `disconnecting`
2019-12-10 10:13:55 -08:00
Elle Mouton
3aa8972cc7 bitcoindnotify: add missing space in log message in bitcoind.go 2019-12-10 14:54:27 +02:00
carla
94d3eb60a4
multi: Use user provided close address for cooperative closes
This commit is adapted from @Bluetegu's original
pull request #1462.

This commit reads an optional address to pay funds out to
from a user iniitiated close channel address. If the channel
already has a shutdown script set, the request will fail if
an address is provided. Otherwise, the cooperative close will
pay out to the address provided.
2019-12-10 09:13:01 +02:00
carla
ef4d9334b7
lncli: Add optional delivery address to close channel
This commit is adapted from @Bluetegu's original
pull request #1462.
2019-12-10 09:13:00 +02:00
bluetegu
25caece160
lnrpc: Add optional delivery addresss to close channel
This commit is adapted from @Bluetegu's original
pull request #1462.
2019-12-10 09:12:54 +02:00
Joost Jager
699bb193e4
Merge pull request #3742 from joostjager/expose-custom-tlv
invoices: expose custom tlv records from the payload
2019-12-10 07:53:59 +01:00
Joost Jager
5f4bd136cd
invoices: store custom records in invoice database 2019-12-10 06:54:24 +01:00
Joost Jager
37258c414c
hop: store custom records from payload 2019-12-10 06:54:22 +01:00
Joost Jager
cbe213fd0c
tlv: expose unknown values 2019-12-10 06:54:20 +01:00
Olaoluwa Osuntokun
1ab3107df4
Merge pull request #3806 from Roasbeef/payreq-msat
lnrpc: add msats to return value of DecodePayReq
2019-12-09 16:37:18 -08:00
Olaoluwa Osuntokun
843b974d66
Merge pull request #3804 from Roasbeef/revert-strict-payment
peer+funding: revert link level payment clamps
2019-12-06 16:03:09 -08:00
Olaoluwa Osuntokun
47235e2f98
lnrpc: add msats to return value of DecodePayReq
In this commit, we add `msats` to the return value of `DecodePayReq` to
ensure we always show full value information as we're moving to do
generally for all RPC calls that deal with off-chain amounts.
2019-12-06 15:48:30 -08:00
Olaoluwa Osuntokun
abb44e18e2
Revert "funding: ensure the chan policy max htlc size is below max pay size"
This reverts commit 9b3385e87de8b2da51a9c979cd4e8ef770078ae2.
2019-12-06 15:12:17 -08:00
Olaoluwa Osuntokun
b3b34d9de2
Revert "peer: clamp a link's max HTLC forwarding policy to current max HTLC pay size"
This reverts commit c943d850193a476be1bc37ed922d1954cf040948.
2019-12-06 15:11:56 -08:00
Conner Fromknecht
d230cf89b9
Merge pull request #3774 from bhandras/hotfix
lnwire: fixing buffer size and cleaning up uint16/32 conversion
2019-12-05 17:03:16 -08:00
Conner Fromknecht
8b3ee62366
Merge pull request #3794 from cfromknecht/stage-travis
travis: staged builds
2019-12-05 15:34:01 -08:00
Conner Fromknecht
d7af7934b8
travis: staged travis builds
This PR introduces staging to our travis pipeline. Currently all
instances perform:

 - compilation of lnd
 - linting
 - compilation and installation of btcd binaries
 - installation of bitcoind binaries

In total this adds about 3 minutes to each of our 5 instances, resulting in
roughly 12 minutes of redundant execution time. Additionally, if if a build
fails to compile or lint we detect this 5 separate times, consuming precious
instances from other builds.

We alleviate this by adding an initial Build phase, which runs a single
instance performing the actions above. This has the benefit of quickly sanity
checking the pr before moving on to the more expensive unit or integration test
suites, and failing faster for common mistakes. It also warms up the build
caches for the Test stage in one fell swoop.

For instance, if 5 people push changes at the same time, they can all get
immediate feedback regarding compilation or linting issues, and potentially
save hours waiting for other people's test to finish or fail before finding out
they had a spelling error. This doesn't alleviate all possible issues, e.g. the
5 instances may already be consumed by test suites, but it does make a sizable
step towards minimizing time-to-failure in common scenarios.
2019-12-05 14:36:01 -08:00
Conner Fromknecht
f3398c0c0e
Merge pull request #3789 from cfromknecht/coop-close-rpc-status
republish force and coop closes on startup
2019-12-05 10:35:53 -08:00
Conner Fromknecht
969fe440b7
Merge pull request #3788 from cfromknecht/payment-addr
parse and generate bolt 11 invoices w/ payment addrs
2019-12-05 10:29:35 -08:00
Conner Fromknecht
abb7f4fa9e
lnrpc+rpcserver: add payment_addr field to PayReq 2019-12-05 07:59:47 -08:00
Conner Fromknecht
cd27ee7cfc
rpcserver+invoicesrpc: set payment addr on new invoices
This commit modifies Lighting.AddInvoice and InvoicesRPC.AddHoldInvoice
to include the node's supported feature bits on the invoice. For now
this only includes the optional TLV Onion Payload bit.
2019-12-05 07:59:31 -08:00
Conner Fromknecht
df72097f2d
zpay32/invoice: parse payment address as type s 2019-12-05 07:59:17 -08:00
Conner Fromknecht
2bf94fa409
zpay32/invoice: consolidate 32-byte array parsing and encoding logic
This commit also consolidates the existing code duplication in parsing
payment hashes and description hashes into a single, combined method for
parsing 32-byte values. A similar change is made for encoding 32-byte
values.

zpay32/invoice: consolidate 32-byte encoding logic
2019-12-05 07:58:55 -08:00
Andras Banki-Horvath
b77bb73d4c lnwire: fixing buffer size and cleaning up uint16/32 conversion
This commit removes an unnecessarely large 32 byte buffer in favor of
a small 2 byte buffer and cleans up type conversion between uint16
and uint32 values.
2019-12-05 16:28:25 +01:00
Joost Jager
91d716be1f
Merge pull request #3770 from joostjager/mpp-prep-registry
channeldb+invoices: prepare invoice db for mpp
2019-12-05 11:38:56 +01:00
Johan T. Halseth
509d0fb82d
Merge pull request #3767 from matheusdtech/fix-zpay32
zpay32: Fix broken last tagged field
2019-12-05 08:52:14 +01:00
Olaoluwa Osuntokun
183797f102
Merge pull request #3655 from carlaKC/fundingmgr-optionupfrontshutdown
Add Option Upfront Shutdown
2019-12-04 21:05:24 -08:00
Olaoluwa Osuntokun
00ec9148e9
build: bump to version v0.8.2-beta 2019-12-04 19:30:10 -08:00
Conner Fromknecht
4c30f7d5de
Merge pull request #3719 from guggero/scb-unconfirmed-channels
chanbackup: encode broadcast height in chan ID for unconfirmed channels
2019-12-04 19:26:24 -08:00
Olaoluwa Osuntokun
9079dfbd33
cmd/lncli: exit if user opts to not recover SCB files 2019-12-04 19:24:35 -08:00
Olaoluwa Osuntokun
03ee8c047a
Merge pull request #3698 from aantonop/warn_before_SCB_restore
Warn user before doing SCB restore
2019-12-04 19:17:30 -08:00
Olaoluwa Osuntokun
9f3d327733
Merge pull request #3752 from halseth/chainntfs-spendntfn-logs
[chainntnfs] add more logging for spend requests
2019-12-04 19:16:53 -08:00
Olaoluwa Osuntokun
773aa390b2
Merge pull request #3790 from Roasbeef/pay-size-consistency
multi: make SendToRoute consistent with other payment RPC
2019-12-04 19:09:28 -08:00
Olaoluwa Osuntokun
9b3385e87d
funding: ensure the chan policy max htlc size is below max pay size 2019-12-04 15:11:01 -08:00
Olaoluwa Osuntokun
c943d85019
peer: clamp a link's max HTLC forwarding policy to current max HTLC pay size
In this commit, we start to clamp the max HTLC forwarding policy to the
current register max HTLC payment size. By doing this, we ensure that
any links that have a advertised max HTLC transit size above the max
payment size will reject any incoming or outgoing attempts for such
large payments.
2019-12-04 15:10:47 -08:00
Olaoluwa Osuntokun
392c1a9a1b
lnrpc/routerrpc: make SendToRoute consistent with other payment RPCs
In this commitment, we make the `SendToRoute` RPC call consistent with
all the other payment RPCs which will properly adhere to the current max
payment sat limit. This is a prep commit for the future wumbo soft cap
that will eventually land in lnd.
2019-12-04 15:10:44 -08:00
Olaoluwa Osuntokun
06e8d1c5ca
htlcswitch: fix inconsistency between attribute name and godoc comment 2019-12-04 15:10:39 -08:00
Conner Fromknecht
0610578abb
lntest/itest/lnd_test: assert coop close chan status
This commit adds an itest assertion to check that a coop closed
channel's status is properly refelcted in list channels. We also fix a
race condition that prevented the rpc from being externally consistent
by marking the close sooner in the pipeline.
2019-12-04 14:25:29 -08:00
Conner Fromknecht
46990c412c
channeldb/channel: allow storing empty closes
This is preparation for the subsequent commit, allowing us to fix a race
condition in the integration test assertions.
2019-12-04 14:25:29 -08:00