Olaoluwa Osuntokun
21e8394983
Merge pull request #5194 from Kixunil/patch-3
...
Better document the nature of accept-keysend
2021-04-13 15:35:20 -07:00
Olaoluwa Osuntokun
41e2db6fbb
Merge pull request #5204 from yyforyongyu/fix-pathfind-feature-bit
...
routing: fix pathfind edge features being nil
2021-04-13 15:34:54 -07:00
Conner Fromknecht
de7da3d223
Merge pull request #5182 from PierreRochard/node-update-addresses
...
rpcserver+lnrpc: make graph node addresses consistent
2021-04-13 14:30:07 -07:00
Conner Fromknecht
f8d201a605
channeldb/invoice: only allow pay-addr lookup w/ no query hash
...
Without this check, it's possible to send a probe HTLC w/ a valid
payment address but invalid payment hash that gets settled. Because
there was no assertion that the HTLC's payment hash matches the
invoice, the link would fail when it receives an invalid preimage for
the HTLC on its commitment.
2021-04-13 12:18:42 -07:00
Conner Fromknecht
791a82878d
Merge pull request #5208 from carlaKC/makefile-acc
...
makefile: bump goacc commit
2021-04-13 11:57:14 -07:00
carla
a80a6f0453
Makefile: bump goacc commit
2021-04-13 15:39:03 +02:00
Roei Erez
65ab3dbfc8
server: better way to clean chainControl resources
...
In this commit the location of where chain control services
are stopped is shifted to be closer to the point they are started.
Stopping of two services: "wallet" and "feeEstimator" that are started
inside the "newChainControlFromConfig" was shifted from server.go to
the cleanup function.
In addition the chainView.Stop was also removed from the server.Stop as
it is already handled by the router, where it is being started.
2021-04-13 13:45:28 +03:00
Roei Erez
becae748de
server: stop sub systems in case of server failed to start.
...
In this commit every succesfull started sub system is tracked
and in case of a failure to complete the Start function all
these sub systems are stopped using a generic cleanup function.
2021-04-13 13:45:28 +03:00
Roei Erez
3223df74e5
channelnotifier+discover+invoices: return error in Stop functions
...
In order to be consistent with other sub systems an error is now
returned from the Stop functions.
This also allows writing a generic cleanup mechanism to stop all
sub systems in case of a failure.
2021-04-13 13:26:01 +03:00
Bjarne Magnussen
6ab625d69b
chanfunding: factor out sanity check for change that is dust
2021-04-13 11:37:20 +02:00
Bjarne Magnussen
59c40ec8b4
chanfunding: fee estimation based on change output in CoinSelect
...
Add a dust-limit to `CoinSelect` and let the fee estimation consider if a change output is needed or not, assuring that if the change is below the dust-limit it will go towards the fee instead.
2021-04-13 11:37:12 +02:00
yyforyongyu
37aa49c7aa
routing: fix pathfind edge features being nil
2021-04-13 15:53:18 +08:00
Bjarne Magnussen
235e73205d
chanfunding: refactor fee estimate calculation
2021-04-12 14:39:38 +02:00
Martin Habovštiak
16027b0151
Better document the nature of accept-keysend
...
This explains the purpose of `accept-keysend` and its planned deprecation in detail.
Fixes #5190
2021-04-10 10:41:18 +02:00
Conner Fromknecht
213b264e4c
Merge pull request #5187 from bottlepay/config-commit-time
...
config: add commit time parameter
2021-04-09 16:44:40 -07:00
Wilmer Paulino
2f1f616c65
lntest: use validatechannels config option for itests
2021-04-09 15:47:04 -07:00
Pierre Rochard
99cba51849
rpcserver+lnrpc: make graph node addresses consistent
...
This commit adds a []*lnrpc.NodeAddress typed node_addresses field
on the NodeUpdate message of SubscribeChannelGraph to mirror the
addresses field in the LightningNode message of DescribeGraph.
Fixes https://github.com/lightningnetwork/lnd/issues/4084
2021-04-09 11:29:22 -05:00
Joost Jager
ffd346e2e1
config: add channel commit batch size parameter
2021-04-09 15:10:43 +02:00
Joost Jager
a181d26287
config: add channel commit interval parameter
2021-04-09 15:10:42 +02:00
Olaoluwa Osuntokun
c27e9ab953
build+lncfg: support pruned bitcoind backends ( #5154 )
...
* build: update btcwallet dependency introducing pruned bitcoind support
This is achieved by some recent work within the BitcoindClient enabling
it to retrieve pruned blocks from its server's peers.
* lncfg: add new PrunedNodeMaxPeers config option/flag
2021-04-08 16:35:07 -07:00
Johan T. Halseth
cd87fe89eb
Merge pull request #5181 from yyforyongyu/refactor-itest
...
itest: move funding tests into one file
2021-04-08 09:53:29 +02:00
Olaoluwa Osuntokun
c998264578
Merge pull request #5108 from cfromknecht/sendtoroute-amp
...
channeldb+invoices: add spontaneous AMP receiving + sending via SendToRoute
2021-04-07 16:37:23 -07:00
Conner Fromknecht
730b718208
lntest: add AMP itest
2021-04-07 12:09:47 -07:00
Conner Fromknecht
888af51ab4
lntest: make buildRoute method on mppTestContext
...
This will be reused by the amp itest.
2021-04-07 12:09:47 -07:00
Conner Fromknecht
352ce10658
lnrpc: add UnmarshalAMP decoding
2021-04-07 12:09:47 -07:00
Conner Fromknecht
00581efec6
lnrpc: add AMPRecord to Hop
2021-04-07 12:09:43 -07:00
Conner Fromknecht
cfa9e954c7
channeldb/invoice: allow creating AMP invoices w/o preiamge
2021-04-07 12:08:35 -07:00
Conner Fromknecht
ea934e1be9
invoices: add TestSpontaneousAmpPayment
...
Adds a set of test cases that exercise the spontaneous AMP payment flow
with valid and invalid reconstructions, as well as with single and
multiple HTLCs. This also asserts that spontaneous AMP is gated behind
the existing AcceptKeysend flag.
2021-04-07 12:08:35 -07:00
Conner Fromknecht
90a255078d
invoices: reconstruct AMP child preimages
2021-04-07 12:08:35 -07:00
Conner Fromknecht
2a49b59f4f
channeldb/invoices: rigorously test updateHtlc for MPP/AMP scenarios
2021-04-07 12:08:35 -07:00
Conner Fromknecht
0b5be8576e
channeldb/invoice: make Copy() a member of InvoiceHTLC
2021-04-07 12:08:35 -07:00
Conner Fromknecht
6780f74c87
channeldb/invoices: set AMP HTLC preimages when settling invoice
2021-04-07 12:08:35 -07:00
Conner Fromknecht
24d283e615
channeldb/invoice_test: only set htlc-level preimage on accept
2021-04-07 12:08:34 -07:00
Conner Fromknecht
88b72ab398
invoices: add processAMP
2021-04-07 12:08:34 -07:00
Conner Fromknecht
3fb70dd936
invoices: add checkSettleResolution and checkFailResolution
...
Also refactor existing unit tests to use them.
2021-04-07 12:08:34 -07:00
Conner Fromknecht
7e2f5a184b
channeldb: validate feature dependencies when adding invoice
2021-04-07 12:08:34 -07:00
Conner Fromknecht
7bed359296
channeldb: refactor InvoiceRef.String() with all optional fields
2021-04-07 12:08:34 -07:00
Conner Fromknecht
174d577524
channeldb: make payhash on InvoiceRef optional
...
Currently we support queries by payHash or payHash+payAddr. For handling
of AMP HTLCs, we only need to support querying by payAddr.
2021-04-07 12:08:34 -07:00
Conner Fromknecht
be6698447e
channeldb/invoice: add InvoiceRefByAddr
2021-04-07 12:08:34 -07:00
Conner Fromknecht
438b03afa4
features: define temporary AMP feature bits 30/31
2021-04-07 12:08:34 -07:00
Conner Fromknecht
c2729cbbbd
htlcswitch/hop: parse and validate AMP records
2021-04-07 12:08:33 -07:00
Conner Fromknecht
135a0a9f7f
htlcswitch/hop: make unknown required type const
...
Currently we use the AMP record type, this allows us to change it easily
as we add new known records. We also bump this to 0x0c instead of 0x0a.
2021-04-07 12:08:33 -07:00
Conner Fromknecht
82b4f11292
record/amp: use switch from 10 -> 14 for AMP TLV type
...
This is to not conflict with trampoline BOLT.
2021-04-07 12:08:33 -07:00
Conner Fromknecht
8fe4de88c1
record: convert child_index from uint16 to uint32
2021-04-07 12:08:29 -07:00
Johan T. Halseth
46c9140ac0
Merge pull request #5180 from GameXG/master2
...
lnd: fix #5179 panic: runtime error: invalid memory address or nil po…
2021-04-07 09:10:22 +02:00
GameXG
f980bc38f1
fix #5179 extractPaymentIntent null pointer
...
payIntent.paymentAddr has not been initialized.
2021-04-07 10:41:31 +08:00
Wilmer Paulino
56c536583f
lncfg: add new PrunedNodeMaxPeers config option/flag
2021-04-06 14:55:19 -07:00
Wilmer Paulino
82fe5d9bba
build: update btcwallet dependency introducing pruned bitcoind support
...
This is achieved by some recent work within the BitcoindClient enabling
it to retrieve pruned blocks from its server's peers.
2021-04-06 14:55:14 -07:00
yyforyongyu
1be7331c4f
itest: move funding tests into one file
2021-04-07 02:40:06 +08:00
Hampus Sjöberg
af99f70e48
mobile: re-enitialize listeners with RecreateListeners
2021-04-06 15:34:26 +02:00