Commit Graph

14278 Commits

Author SHA1 Message Date
yyforyongyu
9794dbd7b2 itest: refactor testMacaroonAuthentication 2023-01-17 07:26:56 +08:00
yyforyongyu
84278d6a49 lntemp+itest: refactor testRPCMiddlewareInterceptor 2023-01-17 07:26:56 +08:00
yyforyongyu
ad77a45112 lntemp+itest: refactor node restart process
This commit refactors how the node restart is done. It removes the usage
of `HasSeed` and replaces it with `SkipUnlock` for clarity.
2023-01-17 07:26:56 +08:00
yyforyongyu
368635ef95 lntemp+itest: refactor testRouteFeeCutoff 2023-01-17 07:26:56 +08:00
yyforyongyu
b2dc9d8393 lntemp+itest: refactor testQueryRoutes 2023-01-17 07:26:56 +08:00
yyforyongyu
ba6a722ad8 itest: refactor testMultiHopOverPrivateChannels 2023-01-17 07:26:56 +08:00
yyforyongyu
5536f16d4b itest: refactor testInvoiceRoutingHints 2023-01-17 07:26:56 +08:00
yyforyongyu
2ce93afd70 itest: refactor testPrivateChannels 2023-01-17 07:26:55 +08:00
yyforyongyu
25b6ff3336 itest: refactor testSendToRouteErrorPropagation 2023-01-17 07:26:55 +08:00
Oliver Gugger
be77572fa0 Merge pull request #7115 from C-Otto/log
lnwallet: add log message for edge case
2023-01-16 18:18:10 +01:00
positiveblue
4665770aaf docs: update release notes
- Added a new entry for the changes in this PR.
- Properly format older entries.
- Delete duplicated contributors.
2023-01-16 07:31:14 -08:00
positiveblue
824e792dc2 config: expose the InvoiceDB interface in DatabaseInstances
By now the only implementation is still the one in channeldb but other
project can use their custom implementations if needed.
2023-01-16 07:31:13 -08:00
positiveblue
5ff5225245 multi: break invoice depenency on channeldb
Now that we have the new package `lnd/channeldb/models` we can invert the
depenency between `channeldb` and `invoices`.

- Move all the invoice related types and errors to the
`invoices` package.

- Ensure that all the packages dealing with invoices use the types and
  interfaces defined in the `invoices` package.

- Implement the InvoiceDB interface (defined in `lnd/invoices`) in
  channeldb.

- Add new mock for InterfaceDB.

- `InvoiceRegistery` tests are now in its own subpacakge (they need to
  import both invoices & channeldb). This is temporary until we can
  decouple them.
2023-01-16 07:31:09 -08:00
positiveblue
383cb40f8d multi: create channeldb/models package
Add a new subpackage to `lnd/channeldb` to hold some of the types that
are used in the package itself and in other packages that should not
depend on `channeldb`.
2023-01-16 07:14:55 -08:00
Carsten Otto
7f7a1e041d lnwallet: add log message for edge case
also see discussion in #7108
2023-01-16 12:26:04 +01:00
positiveblue
c602ac07e7 chainntnfs: move cache implementation to channeldb
This commit moves the `HeightHintCache` implementation to the
`channeldb` package and inverts the dependency relation between
`chainntnfs` and `channeldb`.

Many packages depend on channeldb for type definitions,
interfaces, etc. `chainntnfs` is an example of that. `chainntnfs`
defines the  `SpendHintCache` and `ConfirmHintCache` interfaces but
it also implments them (`HeightHintCache` struct). The implementation
uses logic that should not leak from channeldb (ex: bucket paths).
This makes our code highly coupled + it would not allow us to use any
of these interfaces in a package that is imported by `channeldb`
(circular dependency).
2023-01-16 03:13:17 -08:00
Oliver Gugger
681da4b2b5 Merge pull request #7321 from bshramin/fix-selfsigned-typos
Fix typos in selfsigned.go
2023-01-16 09:54:08 +01:00
yyforyongyu
787883870b itest: refactor testMultiHopSendToRoute 2023-01-16 16:49:20 +08:00
yyforyongyu
c5785967aa lntemp+itest: refactor testSingleHopSendToRoute 2023-01-16 16:49:19 +08:00
yyforyongyu
ede86cf08f itest: send one more UTXO for neutrino backend
Send another UTXO if this is a neutrino backend. When sweeping anchors,
there are two transactions created, `local_sweep_tx` for sweeping
Alice's anchor on the local commitment, `remote_sweep_tx` for sweeping
her anchor on the remote commitment. Whenever the force close
transaction is published, Alice will always create these two
transactions to sweep her anchor.

On the other hand, when creating the sweep txes, the anchor itself is
not able to cover the fee, so another wallet UTXO is needed.  In our
test case, there's a change output that can be used from the above
funding process. And it's used by both sweep txes - when `lnd` happens
to create the `remote_sweep_tx` first, it will receive an error since
its parent tx, the remote commitment, is not known, hence freeing the
change output to be used by `local_sweep_tx`.  For neutrino client,
however, it will consider the transaction which sweeps the remote anchor
as an orphan tx, and it will neither send it to the mempool nor return
an error to free the change output.  Thus, if the change output is
already used in `remote_sweep_tx`, we won't have UTXO to create
`local_sweep_tx`.
2023-01-16 16:49:19 +08:00
yyforyongyu
8df5de3e43 lntest+itest: make sure mempool is cleaned in watcher tower test
This commit adds the missing check for anchor sweep in test
`revoked_uncooperative_close_retribution_altruist_watchtower`, also
change the mempool check a bit so it's easier to track.
2023-01-16 16:49:19 +08:00
yyforyongyu
6792ca17b4 lntemp+itest: refactor testRevokedCloseRetributionAltruistWatchtower 2023-01-16 16:49:19 +08:00
yyforyongyu
211aa4c6f2 itest: refactor testRevokedCloseRetributionRemoteHodl 2023-01-16 16:49:19 +08:00
yyforyongyu
f590a96372 itest: refactor testRevokedCloseRetributionZeroValueRemoteOutput 2023-01-16 16:49:19 +08:00
yyforyongyu
222c06ca48 itest: refactor testRevokedCloseRetribution 2023-01-16 16:49:19 +08:00
yyforyongyu
f254851e01 itest: refactor testRestAPI 2023-01-16 16:49:18 +08:00
yyforyongyu
89727ed1d7 lntemp+itest: refactor testResHandoff 2023-01-16 16:49:18 +08:00
yyforyongyu
83ecc6285c itest: refactor testPsbtChanFundingSingleStep 2023-01-16 16:49:18 +08:00
yyforyongyu
4a8cf91e53 itest: refactor testPsbtChanFundingExternal 2023-01-16 16:49:18 +08:00
yyforyongyu
68016c0b51 lntemp+itest: refactor testOpenChannelAfterReorg 2023-01-16 16:49:18 +08:00
yyforyongyu
9cb8b120ba lntemp+itest: refactor testAnchorThirdPartySpend 2023-01-16 16:49:18 +08:00
yyforyongyu
211dad1574 itest: refactor testAnchorReservedValue 2023-01-16 16:49:17 +08:00
yyforyongyu
f1f3d22a81 lntemp+itest: refactor testMultiHopPayments 2023-01-16 16:49:17 +08:00
yyforyongyu
130c4e325a lntemp+itest: refactor testHtlcErrorPropagation 2023-01-16 16:49:17 +08:00
yyforyongyu
2a7830d442 itest: refactor testMaxHtlcPathfind 2023-01-16 16:49:17 +08:00
yyforyongyu
ec3e1561b6 itest: refactor testWumboChannels 2023-01-16 16:49:17 +08:00
yyforyongyu
638872520e itest: refactor testMaxChannelSize 2023-01-16 16:49:17 +08:00
yyforyongyu
16bac64ecb lntemp+itest: refactor testHoldInvoicePersistence 2023-01-16 16:49:17 +08:00
yyforyongyu
984d3ece12 lntemp+itest: refactor testHoldInvoiceForceClose 2023-01-16 16:49:16 +08:00
yyforyongyu
c1b3481354 lntemp+itest: refactor testEtcdFailover 2023-01-16 16:49:16 +08:00
Oliver Gugger
e953034b83 Merge pull request #7325 from ellemouton/fixGomndLintError
lncli+docs: skip gomnd check in switch statement
2023-01-16 09:46:28 +01:00
Elle Mouton
097b4fae68 lncli+docs: skip gomnd check in switch statement 2023-01-16 09:55:07 +02:00
Amin Bashiri
88bccc9836 Fix typos in selfsigned.go [skip ci] 2023-01-15 15:13:29 -07:00
Oliver Gugger
143eba82ea Merge pull request #7314 from yyforyongyu/fix-unit-test-mailbox
htlcswitch: fix test flake in `TestMailBoxAddExpiry`
2023-01-13 15:05:17 +01:00
Oliver Gugger
d108d7f741 Merge pull request #7315 from sputn1ck/lncli_ordinal_numbers
lncli/sendpayment: more descriptive failure log
2023-01-13 10:28:42 +01:00
sputn1ck
9f8fa3d8ed lncli: more descriptive htlc failure case
This commit clarifies the htlc failure case in the lncli payment
command, by using the cardinal number as well as 'hop' in the
failure message.

[skip ci]
2023-01-12 17:58:15 +01:00
yyforyongyu
a1cac6d54b htlcswitch: use mock clock in TestMailBoxAddExpiry
This commit replaces the clock used in the unit test
`TestMailBoxAddExpiry`. Previously the `TestClock` is used, resulting in
the unit test being not so "unit" as the maintainer needs to know the
detailed implementation of `clock.Clock`, resulting in debugging a
failed unit test more difficult as the cognitive cost is high.
Re-implement `clock.Clock` also means we need to maintain more. This is
now solved by using mock clock so we can ignore the implementation
details and care only the returned results.
2023-01-12 22:08:15 +08:00
yyforyongyu
5e6f10c9b8 lnmock: add new package lnmock to host mocks
This commit introduces a new package to host mocked objects that can be
used for all the unit tests.
2023-01-12 22:08:02 +08:00
yyforyongyu
31a40abd91 htlcswitch: improve loggings for Keystone 2023-01-12 22:08:02 +08:00
Oliver Gugger
6f0383bb4f Merge pull request #7308 from hieblmi/code-sytle-cleanup
funding: code style cleanup in the funding package
2023-01-12 15:01:42 +01:00