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
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
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
7fb233326e
Merge pull request #8674 from yyforyongyu/sweeper-remove-and-docs
...
sweep: add docs and remove dead code
2024-04-23 11:12:24 -06:00
yyforyongyu
e855421095
docs: update release notes
2024-04-23 23:19:41 +08:00
yyforyongyu
83024585bb
sweep: add README
2024-04-23 23:17:44 +08:00
Oliver Gugger
2b74a34301
Merge pull request #8678 from hieblmi/add-hieblmi-to-verify-install
...
Add hieblmi to verify install script
2024-04-23 06:16:43 -06:00
Slyghtning
ffaf4da1da
release: add hieblmi to verify install script
2024-04-23 10:03:23 +02:00
yyforyongyu
9c5124e117
sweep: remove unused param Fee
2024-04-23 04:44:00 +08:00
yyforyongyu
54aaeea491
sweep: remove dead code and dead tests
2024-04-23 04:44:00 +08:00
Olaoluwa Osuntokun
7af195768a
Merge pull request #8667 from lightningnetwork/elle-new-sweeper
...
Merge new sweeper branch to master
2024-04-22 11:20:49 -07:00
Oliver Gugger
73fd389e9a
Merge pull request #8627 from feelancer21/inbound-fees-reject
...
lnrpc: rejects positive inbound fees by default
2024-04-22 01:56:02 -06:00
Oliver Gugger
a201d5e365
Merge pull request #8661 from ProofOfKeags/feature/record-producer-axiom
...
tlv: add axiomatic RecordProducer implementation for Record
tlv/v1.2.4
2024-04-22 01:42:06 -06:00
feelancer21
a2319e4313
lnrpc: rejects positive inbound fees by default
...
Positive inbound are now rejected by default. The user can enable positive
inbound fees with the option 'accept-positive-inbound-fees'.
2024-04-20 00:11:36 +02:00
yyforyongyu
4d96f9c4c1
docs: add release notes
2024-04-20 04:41:31 +08:00
yyforyongyu
d854c80aa7
itest+lntest: fix itest re the new sweeping behavior
2024-04-20 04:41:29 +08:00
yyforyongyu
e0f0f5c6a9
sweep: skip wallet inputs in isThirdPartySpent
2024-04-19 21:33:40 +08:00
yyforyongyu
a50cdd64c5
sweep: assign deadline values to inputs in handleNewInput
...
This commit changes how we transform from a deadline option to a
concrete deadline value - previously this is done when we decide to
cluster inputs, and we now move it to a step earlier - once an input is
received via `SweeperInput`, we will immediately transform its optional
deadline into a real value. For inputs that come with a deadline option,
since the Some will be used, it makes no difference. For inputs with
None as their deadlines, we need this change to make sure the default
deadlines are assigned accurately.
2024-04-19 21:33:39 +08:00
yyforyongyu
96883f307c
itest+sweep: add itest testSweepCommitOutputAndAnchor
...
This commit adds a test case to check the no deadline sweeping behavior.
The sweeper is updated to make sure it can handle the case for neutrino
backend.
2024-04-19 21:33:39 +08:00
yyforyongyu
f5a321d0d3
contractcourt: remove unused param to please linter
2024-04-19 21:33:39 +08:00
yyforyongyu
871cab4bc0
sweep: make sure inputs with different locktime values are not grouped
2024-04-19 21:33:39 +08:00
yyforyongyu
49cfb91af1
contractcourt: make sure sweep happens immediately on startup
...
This commit makes sure the time-sensitive outputs are swept immediately
during startup.
2024-04-19 21:33:39 +08:00
yyforyongyu
7abefa7760
cmd: update bumpfee
, bumpclosefee
and bumpforceclosefee
2024-04-19 21:33:38 +08:00
yyforyongyu
6f55a7af05
itest: add new test to check BumpFee
and PendingSweeps
2024-04-19 21:33:38 +08:00
yyforyongyu
11a276e222
walletrpc+sweep: update PendingSweeps
to return the new params
2024-04-19 21:33:38 +08:00
yyforyongyu
8804947179
walletrpc+sweep: refactor BumpFee
to properly handle sweep request
2024-04-19 21:33:38 +08:00
yyforyongyu
94159e8950
walletrpc: update walletkit.proto
to use the new sweep params
2024-04-19 21:33:38 +08:00
yyforyongyu
9be5b370a7
sweep+contractcourt: replace ParamsUpdate
with Params
2024-04-19 21:33:38 +08:00
yyforyongyu
b6a2984167
sweep: allow specifying starting fee rate for fee func
2024-04-19 21:33:37 +08:00
yyforyongyu
db3aad31aa
lnrpc+sweep: rename Force
to Immediate
for clarity
2024-04-19 21:33:37 +08:00
yyforyongyu
19a599a1a9
sweep: catch third party spent in fee bumper for neutrino
...
This commit adds a new check for neutrino backend - when the inputs in
the sweeping tx are spent by a third party, we will send back a
`TxFailed` event to free the rest of the inputs for re-grouping.
2024-04-19 21:33:37 +08:00
yyforyongyu
563a5caed5
itest: fix watchtower test
2024-04-19 21:33:37 +08:00
yyforyongyu
d4de6dd236
itest+lntest: fix onchain tests
2024-04-19 21:33:37 +08:00
yyforyongyu
9c34eb7a56
itest: fix revocation itest
2024-04-19 21:33:37 +08:00
yyforyongyu
30c2b9f2df
itest: fix channel backup tests
2024-04-19 21:33:36 +08:00
yyforyongyu
f68c14321b
itest: fix multi-hop itest
2024-04-19 21:33:36 +08:00
yyforyongyu
ce58175314
itest+lntest: fix channel force close itest
2024-04-19 21:33:36 +08:00
yyforyongyu
6933c5a86c
itest: remove old CPFP tests
...
The old commitment deadline is removed as it's no longer relevant.
2024-04-19 21:33:36 +08:00
yyforyongyu
a1a480a81c
itest+lntest: add itest testSweepHTLCs
to check HTLC sweepings
2024-04-19 21:33:36 +08:00
yyforyongyu
94e0e32c74
multi: add itest testSweepAnchorCPFPLocalForceClose
...
This commit adds an itest case that focuses on validating the CPFP logic
in anchor sweeping.
2024-04-19 21:33:36 +08:00
yyforyongyu
a2b8f4e19c
sweep: allow published input to be marked as PublishFailed
...
If anything happens during the fee bumping process, and causes the input
to be failed, we should be able to mark it as `PublishFailed`.
2024-04-19 21:33:35 +08:00
yyforyongyu
acde08c65a
contractcourt: offer second-level outputs at CSV-1
...
This commit moves the offering of second-level outputs one block
earlier. The sweeper will check the required locktime and wait until it
matures. This is needed so the second-level outputs can be aggregated
properly.
2024-04-19 21:33:35 +08:00
yyforyongyu
c644deb49f
contractcourt: add locks in SubscribeChannelEvents
2024-04-19 21:33:35 +08:00