Commit Graph
100 Commits
Author SHA1 Message Date
Oliver Gugger 648fb22f63 multi: wrap all errors 2024-04-11 15:04:03 +02:00
Oliver Gugger 976f5d2760 Merge pull request #8603 from bhandras/sqldb-go-package
sqldb+invoices: turn sqldb into a go module
2024-04-10 08:51:00 +00:00
Oliver Gugger 971281deae Merge pull request #8576 from mohamedawnallah/check-outbound-peers-chain-backend
healthcheck: make sure chain backend has enough outbound peers
2024-04-10 07:39:16 +00:00
Oliver Gugger 6377f98536 Merge pull request #8615 from ProofOfKeags/bugfix/revert-compulsory-gossip-queries
Revert "feature: make gossip queries compulsory"
2024-04-05 06:57:39 +00:00
Oliver Gugger e509657fac Merge pull request #8620 from twofaktor/patch-1
[FIX] Small parenthesis error on v0.18 release notes
2024-04-04 10:21:19 +00:00
Oliver Gugger b1175514f9 Merge pull request #8515 from mohamedawnallah/add-coin-selection-strategy-on-chain-rpc
coin select: add coin selection strategy option to all on-chain RPCs
2024-04-02 11:20:08 +00:00
Oliver Gugger b331e73b67 Merge pull request #8609 from ziggie1984/master
lnd: fix sweepall argument call.
2024-04-02 11:04:37 +00:00
Oliver Gugger b76f733a9e Merge pull request #8587 from zhiqiangxu/add_nil_check
channeldb: check return value of ReadWriteBucket
2024-03-26 09:30:07 -06:00
Oliver Gugger d3e5b2f799 Merge pull request #8584 from yyforyongyu/fix-unit-race
chainntnfs: fix race in `TestInterfaces`
2024-03-26 02:37:53 -06:00
Oliver Gugger fa2b0ca833 Merge pull request #8577 from undefinedor/bugfix/fix-unreachable-code
kvdb+watchtower: fix unreachable code
2024-03-25 11:44:33 -06:00
Oliver Gugger 1422df27b2 Merge pull request #8521 from zhiqiangxu/typo
chore: fix typo
2024-03-22 01:34:57 -06:00
Oliver Gugger 15c7686830 Merge pull request #8554 from yyforyongyu/use-new-errors
lnwallet: use new errors returned from `rpcclient`
2024-03-21 01:42:57 -06:00
Oliver Gugger 9e59fb4563 Merge pull request #8572 from zhiqiangxu/fix_deprecated
lnwire: fix deprecated usage
2024-03-21 01:23:02 -06:00
Oliver Gugger 56c04172c0 Merge pull request #8570 from guggero/release-notes-fix
docs: remove merge artifact, polish
2024-03-20 09:56:38 -06:00
Oliver Gugger 23f5f3cde5 Merge pull request #8568 from bhandras/native-sql-ensure-empty-invoicedb
lnd: ensure that LND won't start in native SQL mode if it has any KV invoices
2024-03-20 05:34:08 -06:00
Oliver Gugger ad9144ffa3 Merge pull request #8273 from guggero/bitcoind-26
GitHub: use bitcoind v26.0 for CI
2024-03-20 01:50:44 -06:00
Oliver Gugger 0c6cc8d0ae Merge pull request #8550 from kornpow/kornpow/rescan-info-log
routerrpc: Add detailed info logging during a rescan
2024-03-20 01:46:18 -06:00
Oliver Gugger 38be396121 docs: remove merge artifact, polish
This commit removes a merge artifact introduced by a rebase of a
previous PR.
While we're at it, we streamline the grammar, formatting and general
look-and-feel of the release notes.
2024-03-20 08:41:27 +01:00
Oliver Gugger 4100646e59 Merge pull request #8569 from xiaoxianBoy/fix-typos
chore: fix typos [skip ci]
2024-03-20 01:40:48 -06:00
Oliver Gugger ad88407b33 Merge pull request #7805 from ziggie1984/updatefee-limiter
Limit FeeRate change for the UpdateFee msg to prevent sharp changes
2024-03-19 14:50:07 -06:00
Oliver Gugger 8ef5933a43 Merge pull request #8566 from ellemouton/windowsTowerFail
itest: mine blocks on tower session assertion failure
2024-03-19 14:49:51 -06:00
Oliver Gugger b1d3b9f678 Merge pull request #8567 from ellemouton/bumpSqliteToFixRace
go.mod+docs: bump sqlite version to fix data race
2024-03-19 09:29:47 -06:00
Oliver Gugger f6656d1daa Travis+GitHub: replace Travis CI with GitHub MacOS 14 build 2024-03-18 17:08:18 +01:00
Oliver Gugger 17b93db5cc chainntnfs: fix race unit test issue
Because we pass in the same config into multiple notifiers, we sometimes
get a data race in the unit tests. By creating a copy of the config we
avoid that.
2024-03-18 17:08:17 +01:00
Oliver Gugger ab422ba184 lntest: give chain backend more time to get ready
This is a commit to attempt to fix Travis which runs on ARM64.
2024-03-18 17:08:17 +01:00
Oliver Gugger 77a82309f5 docs: add release notes 2024-03-18 17:08:17 +01:00
Oliver Gugger b1b32d9026 make: add nocache and verbose arguments
To make it easy to add "-test.v" and "-test.count=1" to the unit tests,
we add two new make flags.
2024-03-18 17:07:26 +01:00
Oliver Gugger aa811c784a lnwallet+routing: use chainntnfs.NewBitcoindBackend
Since we fixed a number of issues in chainntnfs.NewBitcoindBackend that
makes it compatible with bitcoind v26.0, we now want to use that
function in all our unit tests.
2024-03-18 16:13:40 +01:00
Oliver Gugger d40312c36b multi: move unit test backend funcs to new package
To avoid circular dependency issues between packages, we move the unit
test backend creation function to a new package in the lntest parent
package.
2024-03-18 16:13:39 +01:00
Oliver Gugger c170a9830b multi: use chainntnfs.NewMiner for miners in unit tests
With the chainntnfs.NewMiner now being optimized for not creating
nodes with colliding ports, we use it in all unit tests that spin up
temporary miners.
2024-03-18 16:13:39 +01:00
Oliver Gugger 2884389ce4 chainntnfs: fix issues with NewBitcoindBackend
This commit fixes a number of issues with our temporary bitcoind nodes
that we spin up for unit tests:
 - We didn't remove the node's temporary data dir after tests finished.
 - We used random ports which lead to unwanted port collisions.
 - We used ipc:// unix sockets for ZMQ which currently isn't supported
   in bitcoind v26.0 due to a regression. Since we can reliably create
   new non-colliding ports now, we should use TCP for ZMQ anyway.
2024-03-18 16:13:39 +01:00
Oliver Gugger 2cc28baa84 chainntnfs: re-try miner connection more often
Make sure we wait for the initial connection long enough.
2024-03-18 16:13:39 +01:00
Oliver Gugger 9cd7285439 itest+lntest: use system wide unique ports everywhere
With this commit we create a new function that returns system wide
unique ports by using a single file to keep track of previously used
ports. We'll want to use this everywhere whenever we need to listen on a
new, random port during unit or integration tests.
Because we now have a unique source, we don't need to apply the port
offset that was used for the different tranches of parallel running
integration tests before.
2024-03-18 16:13:39 +01:00
Oliver Gugger 11ba14ab02 chainntnfs: add netParams arg to backend funcs 2024-03-18 16:13:39 +01:00
Oliver Gugger b4449ab55f GitHub: use bitcoind v26.0 for CI, remove default value
To make it less confusing what version of bitcoind is actually
installed, we now require the version to be specified as a command line
argument.

Because we tag the version in the docker image tag as bitcoin-core:XX
but the binary internally is located under /opt/bitcoin-XX.Y/, we
manually set Y to 0.
2024-03-18 16:13:38 +01:00
Oliver Gugger b0552da007 Merge pull request #8558 from mohamedawnallah/fix-manpages-script-breaks-dockerfiles-bug
Fix: Manpages Script breaks Dockerfiles
2024-03-18 08:12:44 -06:00
Oliver Gugger 0bc3d29413 Merge pull request #8496 from aakselrod/locks-to-leases
multi: replace `LockOutpoint` with `LeaseOutput`
2024-03-18 03:34:56 -06:00
Oliver Gugger 51ebc2052f Merge pull request #8310 from mohamedawnallah/lnconfig-support-env-vars-for-rpcuser-rpcpassword
lnconfig: Support utilizing Environment Variables in `lnd.conf` for `rpcuser` and `rpcpass` fields.
2024-03-15 12:39:54 -06:00
Oliver Gugger ff31426248 Merge pull request #8300 from mohamedawnallah/fix/clarify-available-commitment-balance-message
fix: clarify available commitment balance log message
2024-03-15 05:56:40 -06:00
Oliver Gugger 18371e120d Merge pull request #8552 from guggero/optimize-build
GitHub: separate build caches
2024-03-14 09:15:29 -06:00
Oliver Gugger 23d5ed826f Merge pull request #8551 from guggero/dependency-update
mod: update outdated module dependencies
2024-03-14 04:19:23 -06:00
Oliver Gugger 05675fa254 GitHub: separate build caches
To avoid build caches getting larger and larger, causing our builds to
fail, we separate the caches of the different job types.
If we don't separate them, then the caches can end up being a
combination of the different jobs, which isn't useful (for example the
build cache of the cross compilation build isn't useful in an
integration test and vice versa).
2024-03-14 11:14:39 +01:00
Oliver Gugger 73058c7c6a Merge pull request #8525 from mohamedawnallah/generate-man-pages
Feature: generate man pages
2024-03-14 03:00:06 -06:00
Oliver Gugger 4140d2a9d7 lnrpc: re-generate protos after dependency update 2024-03-14 09:32:29 +01:00
Oliver Gugger 2c19c91741 mod: update outdated module dependencies
To avoid getting spammed by Dependabot, we preemptively bump the
versions of dependencies with known CVEs (even if they might not
directly affect us).
2024-03-14 09:15:16 +01:00
Oliver Gugger 1fd6bc870b Merge pull request #8544 from ellemouton/undoChainsListDeprecation
lnrpc: undo GetInfo Chains list deprecation
2024-03-12 15:55:13 -06:00
Oliver Gugger 5cb4811e86 Merge pull request #8425 from ProofOfKeags/refactor/lnwallet/chan-point-leaks
[EZ Review]: avoid leaking pointers to authoritative ChannelPoint
2024-03-11 00:55:41 -06:00
Oliver Gugger 780ffe913c Merge pull request #8527 from cuinix/master
chore: remove repetitive words
2024-03-11 00:33:26 -06:00
Oliver Gugger 4f06f58791 Merge pull request #8483 from ProofOfKeags/feature/for-loop-destroyer
fn: add slice utilities
2024-03-08 01:48:38 -06:00
Oliver Gugger d9048d1f3d Merge pull request #8533 from Roasbeef/code-owners
github/CODEOWNERS: rename code owners file to soft deactivate
2024-03-08 01:35:54 -06:00
Oliver Gugger 5ccb9db78f Merge pull request #8526 from guggero/confirm-closeallchannels
cli: add confirmation prompt to closeallchannels
2024-03-07 02:31:46 -06:00
Oliver Gugger bb5b614af5 docs: add release notes 2024-03-07 09:12:13 +01:00
Oliver Gugger 92ae54d7ae cmd/lncli: add confirmation promt to closeallchannels
To make sure users don't accidentally close all channels, we ask before
running this potentially very destructive command.
2024-03-07 09:12:12 +01:00
Oliver Gugger 5f89a8b832 Merge pull request #8523 from guggero/linter-use-cache
make: use Golang build and module cache for linter
2024-03-06 07:28:10 -06:00
Oliver Gugger 834371c995 make: use Golang build and module cache for linter
This commit gives the linter container access to the local machine's
build and module cache, drastically decreasing the run time of
subsequent linter runs (no difference on first run with this change).
2024-03-06 13:38:51 +01:00
Oliver Gugger 6cef367336 Merge pull request #8136 from hieblmi/fee-estimation-probe
Probing for more reliable route fee estimation
2024-03-05 11:35:57 -06:00
Oliver Gugger 10a6861bc9 build: bump version to v0.17.99
In this commit, we bump the version of the master branch to v0.17.99.
This reflects the fact that master will be a super set of all the minor
releases until v0.18, and will also include changes towards v0.18.
2024-03-01 10:29:04 +01:00
Oliver Gugger 48a3d56335 Merge pull request #8503 from ffranr/fix-err-wrap
Correct `fmt.Errorf` error wrapping instances
2024-02-27 12:20:16 -06:00
Oliver Gugger c307d1eeda docs: document fundtemplate sub command, add release notes 2024-02-26 11:06:26 +01:00
Oliver Gugger 6dea39c23a itest: add new test for FundPsbt with coin selection 2024-02-26 11:06:22 +01:00
Oliver Gugger f333581d6c cmd/lncli: add 'wallet psbt fundtemplate' command
This commit adds a new sub command to the wallet that allows using the
new funding option from a template.
Creating a new command is way easier for the user to understand than
adding multiple flags that are only valid in certain combinations.
2024-02-26 11:05:19 +01:00
Oliver Gugger 54fa5805c2 lnwallet+lnrpc: add address index to ListAddresses
For the itest in the next commit we'll need to be able to fetch the
input information for an address over RPC. The only piece missing is the
address' index, which we add in this commit. Everything else should be
derivable from the ListAddresses and ListAccounts calls.
2024-02-26 11:05:19 +01:00
Oliver Gugger fb20cd598e lnwallet+lnrpc: add derivation info for P2TR change addrs
In some situations (for example in Taproot Assets), we need to be able
to prove that an address is a bare BIP-0086 address that doesn't commit
to any script. We can do that by providing the BIP-0032 derivation info
and internal key.
2024-02-26 11:05:18 +01:00
Oliver Gugger 094fdbfa72 walletrpc: implement third PSBT funding option
And now we finally implement the new funding option: Allowing coin
selection with pre-defined inputs and outputs.
2024-02-23 08:58:10 +01:00
Oliver Gugger 0f6c25a773 walletrpc: add PsbtCoinSelect option to FundPsbt 2024-02-23 08:58:10 +01:00
Oliver Gugger 446152e1a5 walletrpc: refactor to prepare for third funding option
In the following commits we'll add a new, third, funding option for
funding PSBTs: It will allow users to specify pre-selected inputs but
still request the wallet to perform coin selection up to the total
output sum amount.
2024-02-23 08:58:10 +01:00
Oliver Gugger 17645cd196 multi: add DecorateInputs to WalletController interface
This commit adds the new DecorateInputs method of the base wallet to the
WalletController interface.
2024-02-23 08:58:10 +01:00
Oliver Gugger 90c2926fdf input: add AddOutput method to TxWeightEstimator
This commit adds a helper method to estimate the weight of an output by
the given pkScript.
2024-02-23 08:58:10 +01:00
Oliver Gugger 6773d6a6f6 btcwallet: add EstimateInputWeight helper function
This is a helper function that we will need to accurately determine the
weight of inputs specified in a PSBT.
Due to the nature of P2WSH and script-spend P2TR inputs, we can only
accurately estimate their weights if the full witness is already known.
So this helper function rejects inputs that use a script spend path but
don't fully specify the complete witness stack.
2024-02-23 08:58:09 +01:00
Oliver Gugger 7aa3662ea2 chanfunding: export change amount calculation
We want to re-use the logic that determines what change amount is left
over depending on whether we add or don't add a change output to a
transaction, respecting the change output's dust limit.
2024-02-23 08:58:09 +01:00
Oliver Gugger 2619c03d7d chanfunding: allow using existing change output
We'll want to be able to tell the coin selection algorithm that we
intend to add any change to an existing output instead of assuming that
a change output is always created.
If we add any left over change to an existing output, we can skip the
dust amount check as we assume the selected existing output already has
a non-dust amount requested (responsibility of the caller to assert).
2024-02-23 08:58:09 +01:00
Oliver Gugger 4c82fb6cbb chanfunding: make coin selection generic
Before this commit the coin selection logic in the chanfunding package
would always assume that there is a P2WSH funding output and potentially
a P2TR change output. But because we want to re-use the coin selection
for things other than just channel funding, we make the logic more
generic by allowing us to specify both the existing weight of the
transaction (the already known, static parts of the TX) as well as the
type of the potential change output we would use.
2024-02-23 08:58:09 +01:00
Oliver Gugger 9bdddbcc56 mod+chanfunding: use coin selection strategy for channel funding
The wallet assembler is now aware of the node config level coin
selection strategy, so we can use it when creating new channels.
2024-02-23 08:58:09 +01:00
Oliver Gugger f7198c4105 walletrpc+subserver_config: add coin selection strategy
With this commit we also add the config-level coin selection strategy to
the wallet RPC server.
2024-02-23 08:58:09 +01:00
Oliver Gugger cbc11dac8f multi: add coin selection strategy to channel funding
With this commit we prepare for the lnwallet channel funding logic to be
aware of the config-level coin selection strategy by adding it to the
wallet config.
2024-02-23 08:58:07 +01:00
Oliver Gugger e53f7c1018 Merge pull request #8494 from yyforyongyu/update-fn
gomod: bump `fn` version to `v1.0.2`
2024-02-21 02:09:57 -06:00
Oliver Gugger a3bf2c70e5 Merge pull request #8486 from joaothallis/fix/link-typo
docs: fix typo and links
2024-02-19 02:43:11 -06:00
Oliver Gugger f008a97082 Merge pull request #8479 from tdb3/master
lnrpc: Clarify payment_addr and payment_secret
2024-02-14 03:49:47 -06:00
Oliver Gugger 4855faf162 Merge pull request #8471 from morehouse/codeowners
.github: add morehouse to CODEOWNERS
2024-02-12 02:24:22 -06:00
Oliver Gugger 17f5798726 Merge pull request #8466 from weiliy/docs-fix-mining-address
docs: preserve MINING_ADDRESS across docker-compose sessions
2024-02-08 02:41:20 -06:00
Oliver Gugger 4584f7e39c Merge pull request #8457 from mohamedawnallah/lnddir-option-overwrite-docs
docs: mention that `--lnddir` option overwrites all other directory options [skip ci]
2024-02-05 03:36:05 -06:00
Oliver Gugger e9bc9ad510 Merge pull request #8456 from Roasbeef/record-zero-fn
tlv: add new Zero method on RecordT
2024-02-05 02:48:38 -06:00
Oliver Gugger ca5f23a647 Merge pull request #7372 from bhandras/listsweeps-range
walletrpc: add `startheight` parameter to the `ListSweeps` RPC
2024-02-02 02:03:16 -06:00
Oliver Gugger c517d4ccd9 Merge pull request #8427 from yyforyongyu/fix-rpc-docs
trivial: fix docs on `ListPaymentsRequest`
2024-01-29 06:26:17 -06:00
Oliver Gugger 1e5ff5fa27 Merge pull request #8438 from guggero/fix-sendpayment-api-docs
routerrpc: make use of fee limit obvious in SendPaymentV2
2024-01-29 06:16:51 -06:00
Oliver Gugger eb08a6f004 routerrpc: make use of fee limit obvious in SendPaymentV2 2024-01-29 13:45:14 +02:00
Oliver Gugger e31d159893 Merge pull request #8401 from yyforyongyu/update-btcd-ver
gomod: fix `btcd` mempool leak fix and `GetBlock` heap escape
2024-01-23 11:42:09 -06:00
Oliver Gugger d7796b464e Merge pull request #8377 from ellemouton/towerTestFlakeFix
wtclient: ensure correct disk mode for overflow queue
2024-01-23 09:47:27 -06:00
Oliver Gugger 7d03b43ddf Merge pull request #8314 from mohamedawnallah/add-auto-protolinter
[CI]: Install protolint to enforce the protobuf style guide rules in the CI
2024-01-23 03:25:55 -06:00
Oliver Gugger e1259cd3c7 Merge pull request #8411 from guggero/make-help
Makefile: add `make help` command that describes goals
2024-01-22 03:59:41 -06:00
Oliver Gugger 35fa053144 Merge pull request #8413 from ellemouton/add-0-17-4-release-notes
docs: add template for 0.17.4
2024-01-22 03:58:16 -06:00
Oliver Gugger f35a3718ec Makefile: add make help command that describes goals
This commit adds a description to each make goal that is printed when
`make help` is run.
Idea borrowed from btcsuite/btcd#2107.
2024-01-22 10:31:48 +02:00
Oliver Gugger 2b83ea309a Merge pull request #8407 from mohamedawnallah/fix-typo-channel.go
fix: fix typo "(cltv_expiry" to "(cltv_expiry)" in `channeldb/channel.go` [skip ci]
2024-01-22 00:46:06 -06:00
Oliver Gugger cc18ec4f55 Merge pull request #8354 from mohamedawnallah/add-bitcoind-docker-image-compose-setup
docker: setup `bitcoind` docker image in the `docker-compose.yml` file
2024-01-22 00:43:26 -06:00
Oliver Gugger 24a79c78ed Merge pull request #8403 from ellemouton/towerInterfaceGotcha
config: pass tower manager pointer in to PopulateDependencies
2024-01-19 07:59:30 -06:00
Oliver Gugger c0e3ae6adc Merge pull request #8399 from yyforyongyu/add-signing-key
scripts: add gpg key for yyforyongyu [skip ci]
2024-01-19 07:15:25 -06:00
Oliver Gugger ba4021cad9 Merge pull request #8388 from morehouse/fix_fuzz_payload
htlcswitch: update fuzzPayload for route blinding
2024-01-18 09:31:22 -06:00
Oliver Gugger 4315e80e07 Merge pull request #8394 from cristiantroy/master
fix: typos [skip ci]
2024-01-18 08:52:10 -06:00
Oliver Gugger dda5c4515e Merge pull request #8279 from Crypt-iQ/p2tr_weight
sweep: use p2tr output as change weight
2024-01-18 02:11:35 -06:00
Oliver Gugger 76ae3e457b Merge pull request #8382 from ellemouton/bumpTlv
go.mod: update TLV package tag
2024-01-15 16:24:50 +01:00