Skip to content

Noop HTLC itest fixes #1080

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 4 commits into
base: tapd-main-branch
Choose a base branch
from

Conversation

GeorgeTsagk
Copy link
Member

@GeorgeTsagk GeorgeTsagk commented May 28, 2025

Description

Modifies some of our existing custom channels itests to now include some manual sats keysends to provide enough liquidity on some nodes to carry out the test case.

Our previous expectation was that asset HTLCs would always pay some sats to the receiver, but now this only happens up to the chan reserve amount.

Based on: lightningnetwork/lnd#9871 , lightninglabs/taproot-assets#1567

Extra note

Since we introduced NoOp HTLCs on LND/Tapd that means we are no longer compatible with older versions. That leads to some itest failures, specifically the test cases that declared a backwards compatibility version for some of the nodes in the network topology.

Temporarily we want to remove the backwards compatibility versions from the itests, and restore them when we add the peer messaging for feature bit negotiation, which would allow for smooth upgrading on the taproot asset channels.

@GeorgeTsagk GeorgeTsagk self-assigned this May 28, 2025
@GeorgeTsagk
Copy link
Member Author

GeorgeTsagk commented May 28, 2025

The backwards compatibility itest is expected to fail, as the sender of the HTLCs expects a different commitment view than what the receiver is constructing.

Currently the tapd feature is hidden behind the dev build flag, but we will eventually also support lightninglabs/taproot-assets#1573

@GeorgeTsagk GeorgeTsagk changed the title Noop add itest Noop HTLC itest fixes May 28, 2025
@levmi levmi moved this from 🆕 New to 🏗 In progress in Taproot-Assets Project Board Jun 2, 2025
@GeorgeTsagk GeorgeTsagk requested review from guggero and Roasbeef July 2, 2025 12:16
@GeorgeTsagk
Copy link
Member Author

Bumped lnd & tapd to the commits that address all latest feedback

Copy link
Member

@guggero guggero left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like the backward compatibility itest causes a force close, due to the NoOp HTLC option.
We probably need to set that to false at the start of a backward compat test (and restore it to true with a defer or t.Cleanup()).

Other than that looks good to me.

@levmi levmi moved this from 🏗 In progress to 👀 In review in Taproot-Assets Project Board Aug 4, 2025
@lightninglabs-deploy
Copy link

@Roasbeef: review reminder
@GeorgeTsagk, remember to re-request review from reviewers when ready

Many of our itest cases would rely on making multiple asset keysends to
initialize the state for our test case. This would include the
expectation that the receiver would receive enough sats to be able to
pay back the sender. With noop HTLCs the sender only sends the sats to
the receiver iff they are currently below reserve. We add some direct
sats keysends to give the receiver some sats balance to be able to
support sending back asset HTLCs.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: 👀 In review
Development

Successfully merging this pull request may close these issues.

3 participants