Commit Graph

9579 Commits

Author SHA1 Message Date
75abb3f41f Merge pull request #4081 from Roasbeef/frozen-chans
multi: introduce new frozen channel variant for external funding
2020-03-23 17:37:40 -07:00
625d62e007 lntest/itest: update external funding test to exercise frozen chans 2020-03-23 16:57:09 -07:00
1ac7550e3f chancloser: deny co-op close initiated by the chan initiator for frozen chans 2020-03-23 16:57:03 -07:00
c85f6bb364 lnwallet: mark channel as frozen based on ShimIntent
In this commit, we make the internal channel funding flow aware of
frozen channels. We also update the testSingleFunderReservationWorkflow
method to ensure that the created channels have the proper type bit set.
2020-03-23 16:57:00 -07:00
8bce48d3cc lnwallet/chanfunding: add new ThawHeight() method to ShimIntent+CannedAssembler
As frozen channels can only be created via the non-default channel
assembler, we extend both the ShimIntent and CannedAssembler to also
accept and expose this new channel status along with the thaw height.
2020-03-23 16:56:57 -07:00
dbc485f724 lnrpc: add thaw_height to Channel and ChanPointShim 2020-03-23 16:56:54 -07:00
421d73b72e channeldb: add new frozen channel type bit and thaw height
In this commit, we add a new channel type bit: a frozen channel. A
frozen channel is one that can only be cooperatively closed by the
responder, but not the initiator. This channel type is useful for
certain classes of channel factory like protocols. We then add a new key
on the channel bucket level to store the height after which this
restriction no longer applies.
2020-03-23 16:56:48 -07:00
8fd5d13c75 Merge pull request #4064 from breez/optimistic-batch-limit
Use batch for historical confirmations filters request.
2020-03-23 13:59:10 -07:00
4e793497c8 Merge pull request #2669 from cfromknecht/use-netann-in-discovery
netann+discovery+server: consolidate network announcements to netann pkg
2020-03-23 13:38:06 -07:00
6e4bbc75a0 [Docs] fix defaultBitcoinMinHTLCInMSat comment
Comment says default value is 0, when it is in fact 1.
2020-03-23 12:28:28 -04:00
b4ea34037a lntest: move multi-hop root test case and common utils to own file 2020-03-23 11:19:18 +01:00
1ade912361 itest: run multi-hop claim tests for all commit types 2020-03-23 11:16:29 +01:00
6ed0c83d11 itest: spin up new nodes for multi-hop tests
This will let us set their commitment type for the subtest.
2020-03-23 11:13:27 +01:00
1ce4abc0a9 itest: extract multi-hop tests into sub tests 2020-03-23 11:13:26 +01:00
5a0f2d004a itest: update multi hop test case docs
To make clear whcih sweep scenarios are actually being tested
2020-03-23 11:11:25 +01:00
4b5d91d24d itest: move multi hop tests to own files
PURE CODE MOVE.
2020-03-23 11:10:33 +01:00
d81c8bbda7 itest: run force closure test for all commit types
Now that the force closure test has been extracted, spin up new nodes
for each commit type, and ensure the test succeed for all types.
2020-03-23 11:10:31 +01:00
651bb09c25 itest: extract channel force closure test into subtest
To make it possible to run the for close test for multiple commit types,
we extract it into a subtest, where the two nodes get passed in.
2020-03-23 11:07:36 +01:00
538f3baac8 itest: print wrong balance in correct format 2020-03-23 11:05:40 +01:00
ceb454aa16 neutrinonotify: use batch for historical confirmations.
This commit introduces an optimization for the chain scanning
used in historical confirmations notifications.
It now uses batch request instead of requesting filters one by one.
2020-03-23 09:51:13 +02:00
c3ffdb7af4 Merge pull request #4095 from carlaKC/4036-surfacepushamounts
lnrpc: Add push amount to listchannels
2020-03-23 08:44:53 +02:00
42638183d8 Merge pull request #4105 from carlaKC/lnrpc-formatroutingprotos
routerrpc: run rpc-format on routerrpc
2020-03-20 20:57:42 +01:00
5516a53728 routerrpc: run rpc-format on routerrpc 2020-03-20 11:11:45 +02:00
5cf3c08d95 Merge pull request #4104 from chokoboko/config-defaults-fix
[trivial] config: remove default values from flag descriptions
2020-03-19 20:15:03 -07:00
090d56b3a2 config: remove default values from flag descriptions 2020-03-20 01:07:47 +02:00
92456d063d discovery: remove unused updateChanPolicies struct 2020-03-19 13:43:57 -07:00
5c2fc4a2d6 discovery/gossiper: use netann pkg for signing channel updates 2020-03-19 13:43:39 -07:00
c1d00a0c9b Merge pull request #4101 from ErikEk/typo_fixes_trivial
trivial: typo fixes
2020-03-19 21:36:38 +01:00
72e3b0a5d7 lnrpc: add push amount to listchannels 2020-03-19 13:20:26 +02:00
41355756a1 channeldb: add balance at height lookup
Add a balance at height lookup function which can be used to
obtain local/remote balance at a given height. The current in memory
commits and revocation log are used to source this information.
2020-03-19 13:20:17 +02:00
3d71a28cce build: update dependencies 2020-03-19 12:00:36 +02:00
4e47181b99 trivial: typo fix 2020-03-19 05:43:49 +01:00
4897b34050 Merge pull request #3833 from Roasbeef/kv-abstraction
channeldb/kvdb: introduce new KV-store database abstraction
2020-03-18 20:20:07 -07:00
a4e39906b1 build: silence new linter errors, tidy modules
The explicit `bbolt` dep is gone, as we depend on `kvdb`, which is
actually `walletdb`, which has its own module that defines the proper
`bbolt` version.
2020-03-18 19:35:29 -07:00
071c7cbe78 lnd: convert to use new kvdb abstraction 2020-03-18 19:35:23 -07:00
21521ff610 autopilot: convert to use new kvdb abstraction 2020-03-18 19:35:20 -07:00
f1963084a8 chainntnfs: convert to use new kvdb abstraction 2020-03-18 19:35:16 -07:00
98170e00ef lnwallet: convert to use new kvdb abstraction 2020-03-18 19:35:13 -07:00
46cec2fdc0 sweep: convert to use new kvdb abstraction 2020-03-18 19:35:10 -07:00
ace7a78494 discovery: covert to use new kvdb abstraction 2020-03-18 19:35:07 -07:00
852b2380a9 macaroons: convert to use new kvdb abstraction 2020-03-18 19:35:04 -07:00
557b930c5f watchtower: convert to use new kvdb abstraction 2020-03-18 19:35:01 -07:00
28bbaa2a94 routing: convert to use new kvdb abstraction 2020-03-18 19:34:58 -07:00
4e68914e9d htlcswitch: convert to use new kvdb abstraction 2020-03-18 19:34:55 -07:00
320101d054 contractcourt: convert to use new kvdb abstraction 2020-03-18 19:34:52 -07:00
f0911765af channeldb: convert to uniformly use new kvdb abstractions
In this commit, we migrate all the code in `channeldb` to only reference
the new `kvdb` package rather than `bbolt` directly.

In many instances, we need to add two version to fetch a bucket as both
read and write when needed. As an example, we add a new
`fetchChanBucketRw` function. This function is identical to
`fetchChanBucket`, but it will be used to fetch the main channel bucket
for all _write_ transactions. We need a new method as you can pass a
write transaction where a read is accepted, but not the other way around
due to the stronger typing of the new `kvdb` package.
2020-03-18 19:34:49 -07:00
fc808ac538 channeldb/kvdb: create new package for an abstract kv store
In this commit, we create a new package `kvdb`, which is meant to serve
as the basis for any future database abstractions within `lnd`. Rather
than directly use the `walletdb` package (which we base off of), we
instead use a series of type-aliases to re-type the fundamental
types/interfaces of the `walletdb` package. This lets us type
`kvdb.RwTx` instead of `walletdb.ReadWriteTransaction` everywhere.
Additionally, our usage of type-aliases is also intended to create an
easy pathway in the future wherein we can gradually re-defined or
re-implement these types to wean off of the `walletdb` package.
2020-03-18 19:34:45 -07:00
e2052f7f65 Merge pull request #3758 from joostjager/anchor-output-poc-joost
cnct: anchor output sweeping and fee bumping
2020-03-18 18:59:06 +01:00
fa115b543d lncli: add bumpchannelclose command
This command allows users to easily bump the fee on their unconfirmed
closing transactions.
2020-03-18 12:27:06 +01:00
d60303b092 lnrpc: expose commit hashes for waiting close channels
To make it easier to determine which pending sweep to bump in order to
get your anchor commitment tx confirmed.
2020-03-18 12:27:05 +01:00