Commit Graph

41 Commits

Author SHA1 Message Date
c7cbacc35b multi: move mockChainIO, mockNotifier to lntest/mock 2020-08-31 19:41:09 -04:00
3cdbb341da lnd: utxo nursery test to use channeldb.MakeTestDB 2020-07-28 17:57:30 +02:00
75370ce6b4 multi: update WalletController PublishTransaction to include label
Add label parameter to PublishTransaction in WalletController
interface. A labels package is added to store generic labels that are
used for the different types of transactions that are published by lnd.

To keep commit size down, the two endpoints that require a label
parameter be passed down have a todo added, which will be removed in
subsequent commits.
2020-05-19 13:30:00 +02:00
fe59890a4b lnd+test: remove dead test code 2020-04-24 19:15:08 +02:00
92af2342da lnwallet+nursery+input: set sequence=1 for direct HTLC spends 2020-03-09 12:59:33 +01:00
38adfd7ecc sweep: create sweep parameters struct
Prepares for adding more input-specific sweep parameters.
2019-12-13 12:02:42 +01:00
919ab60540 utxonursery: remove unused commit sweep code
Now that the commit sweep resolver is no longer relying on the nursery,
all code associated with commit sweeping can be removed.
2019-11-14 13:38:03 +01:00
3d7de2ad39 multi: remove dead code 2019-09-10 17:21:59 +02:00
5172a5e255 multi: support arbitrary client fee preferences to UtxoSweeper
In this commit, we introduce support for arbitrary client fee
preferences when accepting input sweep requests. This is possible with
the addition of fee rate buckets. Fee rate buckets are buckets that
contain inputs with similar fee rates within a specific range, e.g.,
1-10 sat/vbyte, 11-20 sat/vbyte, etc. Having these buckets allows us to
batch and sweep inputs from different clients with similar fee rates
within a single transaction, allowing us to save on chain fees.

With this addition, we can now get rid of the UtxoSweeper's default fee
preference. As of this commit, any clients using the it to sweep inputs
specify the same fee preference to not change their behavior. Each of
these can be fine-tuned later on given their use cases.
2019-05-24 15:30:38 -07:00
b53899c43c lnd: rename package main->lnd 2019-04-23 20:57:33 +02:00
ca619bf680 utxonursery: report unconfirmed htlc on commit tx
This commit closes a reporting gap for htlc outputs on the remote
commitment tx. Those are waited out by nursery, but were not reported
before.
2019-02-01 09:36:54 +01:00
9e012ecc93 multi: move Input interface and related code
This commit is a step to split the lnwallet package. It puts the Input
interface and implementations in a separate package along with all their
dependencies from lnwallet.
2019-01-31 13:25:33 +01:00
347d1545de utxonursery: use mocked sweeper in tests
This commit fixes a test flake caused by a race condition. Using the
real sweeper in the nursery test created too complex concurrent
behaviour to reliably assert on and made the tests difficult to
comprehend.
2018-12-19 14:14:53 +01:00
e29b0f8894 utxonursery: add mock sweeper
This commit adds a simple mock of the sweeper to be able to test
dependents of sweeper in isolation.
2018-12-19 14:09:30 +01:00
74e9852e3d utxonursery: configure using SweepInput function
As a preparation for mocking sweeper, this commit modifies the
utxonursery config to take a function pointer instead of the full
sweeper struct.
2018-12-19 12:49:19 +01:00
6389a97708 utxonursery: connect to time-based sweeper
Previously, nursery generated and published its own sweep txes. It
stored the sweep tx in nursery_store to prevent a new tx with a new
sweep address from being generated on restart.

In this commit, sweep generation and publication is removed from nursery
and delegated to the sweeper. Also the confirmation notification is
received from the sweeper.
2018-12-18 10:50:20 +01:00
e43e89514f sweep+utxonursery+cnct+breacharbiter: add height hint to input
This commit is a preparation for the implementation of remote spend
detection. Remote spends may happen before we broadcast our own sweep
tx. This calls for accurate height hints.
2018-12-18 10:50:11 +01:00
4cc255676b utxonursery: use StaticFeeEstimator instead of mock in test 2018-11-07 15:33:36 +01:00
4dab405623 sweep: move sweep tx generation into sweep package
Sweep txes are currently generated in multiple locations. Moving
the sweep tx generation into a shared package will allow us to
reuse that logic.
2018-10-17 12:44:33 +02:00
8b515f83b3 utxonursery: add test for commitment output 2018-09-23 15:52:47 -07:00
b89db6d614 utxonursery: assert empty database 2018-09-23 15:52:46 -07:00
b5da791271 utxonursery: assert lingering goroutines 2018-09-23 15:52:46 -07:00
9f6fb1e128 utxonursery: test restart behaviour 2018-09-23 15:52:45 -07:00
83a5ea0c31 utxonursery: add test coverage for outgoing htlc 2018-09-23 15:51:35 -07:00
6d0deed885 utxonursery test: run tests in parallel 2018-09-20 12:54:48 +02:00
1ded697e8d multi: sort import paths with gofmt 2018-08-02 18:20:49 -07:00
6f60f139f4 multi: switch over import paths from roasbeef/* to btcsuite/* 2018-07-13 17:05:39 -07:00
4b20e805fe multi: update packages due to recent SignDescriptor and WalletController changes 2018-03-06 16:04:03 -05:00
2859956cd2 utxonursery_test: extends test vectors for nursery store 2017-11-15 18:49:13 -08:00
0dcb620194 utxonursery_test: properly print error msg during init failure 2017-10-03 19:40:09 -07:00
921f0b1f43 utxonursery_test: adds serialization tests for baby outputs 2017-10-03 19:40:09 -07:00
56793a1041 utxonursery: finish migrating to lnwire OutPoint serialization 2017-08-25 17:56:50 -07:00
c02710c8c9 test: add +build !rpctest to tests files in main package
This commit adds the +build !rpctest build flag to the test files in
the main package other than the RPC tests. With this, if the protest
build flag is set, then ONLY those tests will be run.
2017-08-10 21:59:23 -07:00
458138f6fa utxonursery: update serialization, API usage for recent SignDescriptor changes 2017-07-30 17:52:00 -07:00
fa6c56f16e test: run utxo nursery tests serially 2017-06-19 14:28:19 +02:00
1be4d67ce4 multi: run all test instances in parallel 2017-06-17 01:00:07 +02:00
ed7e4ad715 utxonursery: store the chanPoint of the source channel in kidOutput
This commit adds an additional field to the kidOutput struct: the
outpoint of the channel that originally created the output. This field
is now needed in order to add some additional indexes that are required
to enable callers to query the internal state of the utxoNursery.
2017-05-04 17:39:29 -07:00
f2843dd4c9 lnd: fix gofmt warnings 2017-03-13 16:30:23 -07:00
384fe61e73 multi: fix go vet warnings throughout code base 2017-02-16 19:33:19 +08:00
5affed38fc multi: update btcsuite API's to latest upstream changes
This commit makes a large number of minor changes concerning API usage
within the deamon to match the latest version on the upstream btcsuite
libraries.

The major changes are the switch from wire.ShaHash to chainhash.Hash,
and that wire.NewMsgTx() now takes a paramter indicating the version of
the transaction to be created.
2017-01-05 13:56:34 -08:00
aa04f82a15 utxonursery: added persistence to transaction output states
Moved transaction states from in-memory maps to persistent BoltDB
buckets. This allows channel force closes to operate reliably if the
daemon is shut down and restarted at any point during the forced
channel closure process.
2017-01-03 16:23:07 -08:00