Commit graph

16756 commits

Author SHA1 Message Date
Ononiwu Maureen
8f76c5eeef
peer: Create mockswitch, publTx, notifier in ..
test_utils

Signed-off-by: Ononiwu Maureen <maureen.ononiwu@outlook.com>
2024-05-08 12:04:30 +01:00
Ononiwu Maureen
536c69b793
peer: createTestPeerWithChannel returns a struct
The `createTestPeerWithChannel` function is made to return this newly
created struct and error.

This is useful because upcoming commits would require us returning more
objects from the function.

Signed-off-by: Ononiwu Maureen <maureen.ononiwu@outlook.com>
2024-05-08 11:59:08 +01:00
Ononiwu Maureen
389ecb535b
peer: Change createTestPeer name.
In this function `createTestPeer` is changed to
`createTestPeerWithChannel`. This is useful in coming commits where we
decouple the process of creating test peer from the function.

Signed-off-by: Ononiwu Maureen <maureen.ononiwu@outlook.com>
2024-05-08 11:57:15 +01:00
Elle Mouton
c577dae372
makefile+dev.Dockerfile: add install-all command
Add a new `make install-all` command that will perform all `make
install` actions along with generating the manpages. The `manpages`
command is then removed from the existing `make install` command. The
docker build is then updated to use the new `make install-all` command.
This is done because some users running `make install` may be doing so
in environments where they do not have write access to the directory
where the man pages need to be written to.
2024-05-08 09:30:46 +02:00
Olaoluwa Osuntokun
3e36df42e5
Merge pull request #8733 from lightningnetwork/0-18-branch-rc2
build: bump version to v0.18.0-beta.rc2
2024-05-07 14:20:36 -07:00
Oliver Gugger
c68778d2f3
Merge pull request #7364 from guggero/itest-coverage
Add test coverage for integration tests
2024-05-07 21:05:35 +02:00
Bufo
af9858c3ed
feat: add inbound fees to channel notifications 2024-05-07 18:58:25 +02:00
Oliver Gugger
f523f52ab4
Merge pull request #8732 from ellemouton/guardNewTestSqliteDB
invoices: ensure synchronous access to NewTestSqliteDB
2024-05-07 08:40:56 +02:00
Olaoluwa Osuntokun
954ad4a329
build: bump version to v0.18.0-beta.rc2 2024-05-06 18:10:52 -07:00
Olaoluwa Osuntokun
6bcbc8dd97
Merge pull request #8719 from yyforyongyu/merge-fee-cache
Merge fee cache and fix sample conf
2024-05-06 18:09:06 -07:00
Elle Mouton
d4f63662c1
invoices: ensure synchronous access to NewTestSqliteDB
Add a temporary mutex around the calls to sqldb.NewTestSqliteDB to
ensure that only a single thread can access it at a time. This is a
temporary work around that can be removed once this race condition in
the sqlite repo has been resolved:
https://gitlab.com/cznic/sqlite/-/issues/180
2024-05-06 19:10:44 +02:00
Oliver Gugger
b4e4e9447a
Merge pull request #8731 from yyforyongyu/fix-payinvoice
cli: add `--amp` to `SendPaymentRequest` in `payinvoice`
2024-05-06 11:20:07 +02:00
yyforyongyu
187b0b1f80
cli: add --amp to SendPaymentRequest in payinvoice 2024-05-06 16:01:35 +08:00
Tom Kirkpatrick
c8a40b67e9
docs: add missing release notes credit 2024-05-04 14:44:14 +08:00
yyforyongyu
6bbbfd3327
docs: add missing fee section sample-lnd.conf 2024-05-04 14:41:41 +08:00
Tom Kirkpatrick
3837c3f12e
lnwallet: add configurable cache for web fee estimator
Add fee.min-update-timeout and fee.max-update-timeout config options to
allow configuration of the web fee estimator cache.
2024-05-04 14:41:41 +08:00
Tom Kirkpatrick
fa616ee059
config: remove deprecated neutrino.feeurl config option 2024-05-04 14:41:40 +08:00
Olaoluwa Osuntokun
399ea864da
Merge pull request #8703 from carlaKC/flake-blindedchainerr
itest/flake: add more comprehensive assertions before HTLC cleared check
2024-05-02 12:09:04 -05:00
Oliver Gugger
90bff71db9
Merge pull request #8716 from yyforyongyu/temp-fix-height-race
sweep: make `TxPublisher.currentHeight` atomic
2024-05-02 17:19:33 +02:00
Oliver Gugger
81970eac6a
Merge pull request #8684 from lightningnetwork/aux-leaf-fetcher
[2/?]: lnwallet+channeldb: add new AuxLeafStore for dynamic aux leaves
2024-05-01 15:51:11 +02:00
Oliver Gugger
72f7b80c28
lnwallet: thread thru input.AuxTapleaf to all relevant areas
In this commit, we start to thread thru the new aux tap leaf structures to all relevant areas. This includes: commitment outputs, resolution creation, breach handling, and also HTLC scripts.
2024-05-01 11:19:55 +02:00
Oliver Gugger
33f2db1c25
multi: thread thru the AuxLeafStore everywhere 2024-05-01 11:19:55 +02:00
Olaoluwa Osuntokun
2ac360a1b6
lnwallet: add TLV blob to PaymentDescriptor + htlc add
In this commit, we add a TLV blob to the PaymentDescriptor struct. We also now thread through this value from the UpdateAddHTLC message to the PaymentDescriptor mapping, and the other way around.
2024-05-01 11:19:55 +02:00
Olaoluwa Osuntokun
2cf38540e0
channeldb: add HtlcIndex to HTLCEntry
This may be useful for custom channel types that base everything off the index (a global value) rather than the output index (can change with each state).
2024-05-01 11:19:53 +02:00
Olaoluwa Osuntokun
d5f595e641
channeldb: add custom blobs to RevocationLog+HTLCEntry
This'll be useful for custom channel types that want to store extra information that'll be useful to help handle channel revocation cases.
2024-05-01 11:19:20 +02:00
Olaoluwa Osuntokun
0bf20500a7
channeldb: convert RevocationLog to use RecordT 2024-05-01 11:19:19 +02:00
Olaoluwa Osuntokun
f3655da070
channeldb: convert HTLCEntry to use tlv.RecordT 2024-05-01 11:19:15 +02:00
Olaoluwa Osuntokun
258dd5c96e
lnwallet+channeldb: add new AuxLeafStore for dynamic aux leaves
In this commit, we add a new AuxLeafStore which can be used to dynamically fetch the latest aux leaves for a given state. This is useful for custom channel types that will store some extra information in the form of a custom blob, then will use that information to derive the new leaf tapscript leaves that may be attached to reach state.
2024-05-01 10:13:10 +02:00
Olaoluwa Osuntokun
fc44ff4bff
input: add some utility type definitions for aux leaves
In this commit, we add some useful type definitions for the aux leaf.
2024-05-01 10:13:10 +02:00
Olaoluwa Osuntokun
12acbac16a
lnwallet: add custom tlv blob to internal commitment struct
In this commit, we also add the custom TLV blob to the internal commitment struct that we use within the in-memory commitment linked list.

This'll be useful to ensure that we're tracking the current blob for our in memory commitment for when we need to write it to disk.
2024-05-01 10:13:10 +02:00
Olaoluwa Osuntokun
5733bbb55c
lnwallet: export the HtlcView struct
We'll need this later on to ensure we can always interact with the new aux blobs at all stages of commitment transaction construction.
2024-05-01 10:13:09 +02:00
Olaoluwa Osuntokun
cbaa0c780d
channeldb: new custom blob nested TLV
In this commit, for each channel, we'll now start to store an optional custom blob. This can be used to store extra information for custom channels in an opauqe manner.
2024-05-01 10:13:09 +02:00
Oliver Gugger
51c2a1a9eb
mod: bump tlv to v1.2.5 2024-05-01 10:13:09 +02:00
Olaoluwa Osuntokun
6cf449168c
input+lnwallet: update taproot scripts to accept optional aux leaf
In this commit, we update all the taproot scripts to also accept an
optional aux leaf. This aux leaf can be used to add more redemption
paths for advanced channels, or just as an extra commitment space.
2024-05-01 10:13:09 +02:00
Oliver Gugger
fb632bb945
Merge pull request #8712 from djkazic/invoice-gc-noop
invoices: if there are no invoices make gc noop
2024-05-01 08:31:56 +02:00
yyforyongyu
3f8da16b77
sweep: make TxPublisher.currentHeight atomic 2024-05-01 12:16:54 +08:00
Oliver Gugger
bb44793cbd
Merge pull request #8683 from lightningnetwork/funding-tapcript
[1/?]: multi: add ability to fund+use musig2 channels that commit to a tapscript root
2024-04-30 18:12:16 +02:00
djkazic
1542424782
invoices: if there are no invoices make gc noop 2024-04-30 11:58:18 -04:00
Olaoluwa Osuntokun
26ce8ee729
lnwallet: add initial unit tests for musig2+tapscript root chans 2024-04-30 16:39:21 +02:00
Olaoluwa Osuntokun
66fa0a20c1
lnwallet+peer: add tapscript root awareness to musig2 sessions
With this commit, the channel is now aware of if it's a musig2 channel, that also has a tapscript root. We'll need to always pass in the tapscript root each time we: make the funding output, sign a new state, and also verify a new state.
2024-04-30 16:39:21 +02:00
Olaoluwa Osuntokun
9466224805
lnwallet: update internal funding flow w/ tapscript root
This isn't hooked up yet to the funding manager, but with this commit, we can now start to write internal unit tests that handle musig2 channels with a tapscript root.
2024-04-30 16:39:20 +02:00
Olaoluwa Osuntokun
a4a7d11e88
multi: update GenTaprootFundingScript to pass tapscript root
In most cases, we won't yet be passing a root. The option usage helps us keep the control flow mostly unchanged.
2024-04-30 16:39:20 +02:00
Olaoluwa Osuntokun
8a0c25b5d6
lnwallet/chanfunding: add optional tapscript root 2024-04-30 16:39:20 +02:00
Olaoluwa Osuntokun
159f853bb2
input: add new tapscript root func op to GenTaprootFundingScript
This'll allow us to create a funding output that uses musig2, but uses a tapscript tweak rather than a normal BIP 86 tweak.
2024-04-30 16:39:20 +02:00
Olaoluwa Osuntokun
89cf4c274f
channeldb: add optional TapscriptRoot field + feature bit 2024-04-30 16:39:18 +02:00
Olaoluwa Osuntokun
1f110dcb24
channeldb: consolidate root bucket TLVs into new struct
In this commit, we consolidate the root bucket TLVs into a new struct.
This makes it easier to see all the new TLV fields at a glance. We also
convert TLV usage to use the new type param based APis.
2024-04-30 16:37:43 +02:00
Oliver Gugger
e8a1d4876e
Merge pull request #8705 from yyforyongyu/fix-typo
lnrpc: fix typo
2024-04-30 12:11:25 +02:00
Olaoluwa Osuntokun
9f4e92c518
Merge pull request #8706 from guggero/release-notes-fix
0.18: add contributors from git log, polish release notes
2024-04-29 16:09:28 -07:00
Olaoluwa Osuntokun
bb0fb862f5
lnwallet/chanfunding: rename assembler.go to interface.go
In this commit, we rename the files as assembler.go houses the primary
interfaces/abstractions of the package. In the rest of the codebase,
this file is near uniformly called interface.go, so we rename the file
to make the repo more digestible at a scan.
2024-04-29 21:36:31 +02:00
Oliver Gugger
6159d41970
docs: remove entry for fix within release
This commit removes an entry that was fixed in the same release as it
was introduced. So nobody should've been running into it yet.
2024-04-29 19:17:52 +02:00