From b7d947c9352f18560395c49b3ace9461f7294f17 Mon Sep 17 00:00:00 2001 From: George Tsagkarelis Date: Wed, 2 Jul 2025 14:13:27 +0200 Subject: [PATCH 1/3] (temp)build: bump lnd & tapd --- go.mod | 18 +++++++++++------- go.sum | 28 ++++++++++++++-------------- itest/assets_test.go | 2 ++ 3 files changed, 27 insertions(+), 21 deletions(-) diff --git a/go.mod b/go.mod index f66f992f5..6d8ed0832 100644 --- a/go.mod +++ b/go.mod @@ -25,23 +25,23 @@ require ( github.com/lightninglabs/lightning-terminal/autopilotserverrpc v0.0.3 github.com/lightninglabs/lightning-terminal/litrpc v1.0.2 github.com/lightninglabs/lightning-terminal/perms v1.0.1 - github.com/lightninglabs/lndclient v0.19.0-7 + github.com/lightninglabs/lndclient v0.19.0-9 github.com/lightninglabs/loop v0.31.2-beta github.com/lightninglabs/loop/looprpc v1.0.8 github.com/lightninglabs/loop/swapserverrpc v1.0.15 github.com/lightninglabs/pool v0.6.6-beta github.com/lightninglabs/pool/auctioneerrpc v1.1.3 github.com/lightninglabs/pool/poolrpc v1.0.1 - github.com/lightninglabs/taproot-assets v0.6.0 - github.com/lightninglabs/taproot-assets/taprpc v1.0.7 - github.com/lightningnetwork/lnd v0.19.1-beta + github.com/lightninglabs/taproot-assets v0.6.1-0.20250702120050-d963c73f266a + github.com/lightninglabs/taproot-assets/taprpc v1.0.9-0.20250702120050-d963c73f266a + github.com/lightningnetwork/lnd v0.19.1-beta.rc1.0.20250623232057-b48e2763a798 github.com/lightningnetwork/lnd/cert v1.2.2 github.com/lightningnetwork/lnd/clock v1.1.1 github.com/lightningnetwork/lnd/fn v1.2.3 github.com/lightningnetwork/lnd/fn/v2 v2.0.8 github.com/lightningnetwork/lnd/kvdb v1.4.16 - github.com/lightningnetwork/lnd/sqldb v1.0.9 - github.com/lightningnetwork/lnd/tlv v1.3.1 + github.com/lightningnetwork/lnd/sqldb v1.0.10 + github.com/lightningnetwork/lnd/tlv v1.3.2 github.com/lightningnetwork/lnd/tor v1.1.6 github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f github.com/mwitkow/grpc-proxy v0.0.0-20230212185441-f345521cb9c9 @@ -148,7 +148,7 @@ require ( github.com/lightninglabs/lightning-node-connect/hashmailrpc v1.0.3 // indirect github.com/lightninglabs/neutrino v0.16.1 // indirect github.com/lightninglabs/neutrino/cache v1.1.2 // indirect - github.com/lightningnetwork/lightning-onion v1.2.1-0.20240712235311-98bd56499dfb // indirect + github.com/lightningnetwork/lightning-onion v1.2.1-0.20240815225420-8b40adf04ab9 // indirect github.com/lightningnetwork/lnd/healthcheck v1.2.6 // indirect github.com/lightningnetwork/lnd/queue v1.1.1 // indirect github.com/lightningnetwork/lnd/ticker v1.1.1 // indirect @@ -247,3 +247,7 @@ replace google.golang.org/protobuf => github.com/lightninglabs/protobuf-go-hex-d // it is a replace in the tapd repository, it doesn't get propagated here // automatically, so we need to add it manually. replace github.com/golang-migrate/migrate/v4 => github.com/lightninglabs/migrate/v4 v4.18.2-9023d66a-fork-pr-2 + +replace github.com/lightningnetwork/lnd => github.com/GeorgeTsagk/lnd v0.0.0-20250702112743-e6c948cdf8f4 + +replace github.com/lightningnetwork/lnd/sqldb => github.com/GeorgeTsagk/lnd/sqldb v0.0.0-20250702112743-e6c948cdf8f4 diff --git a/go.sum b/go.sum index c24230d13..806bbc010 100644 --- a/go.sum +++ b/go.sum @@ -603,6 +603,10 @@ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03 github.com/BurntSushi/toml v1.3.2 h1:o7IhLm0Msx3BaB+n3Ag7L8EVlByGnpq14C4YWiu/gL8= github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/GeorgeTsagk/lnd v0.0.0-20250702112743-e6c948cdf8f4 h1:rJsjlTosFNEcaktrvZdNiuOxBDVOTnHrzs/in7YYFUE= +github.com/GeorgeTsagk/lnd v0.0.0-20250702112743-e6c948cdf8f4/go.mod h1:s8TSzKAEoXyzjOGsm9AXm/kIT1Hiugg7J15bykFM2y4= +github.com/GeorgeTsagk/lnd/sqldb v0.0.0-20250702112743-e6c948cdf8f4 h1:ec/mPVkKeKuBy/apao8JJTKcEPkthcuSXf1SspfmjjA= +github.com/GeorgeTsagk/lnd/sqldb v0.0.0-20250702112743-e6c948cdf8f4/go.mod h1:c/vWoQfcxu6FAfHzGajkIQi7CEIeIZFhhH4DYh1BJpc= github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c/go.mod h1:X0CRv0ky0k6m906ixxpzmDRLvX58TFUKS2eePweuyxk= github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= github.com/Masterminds/semver/v3 v3.2.0 h1:3MEsd0SM6jqZojhjLWWeBY+Kcjy9i6MQAeY7YgDP83g= @@ -1150,8 +1154,8 @@ github.com/lightninglabs/lightning-node-connect/hashmailrpc v1.0.3 h1:NuDp6Z+QNM github.com/lightninglabs/lightning-node-connect/hashmailrpc v1.0.3/go.mod h1:bDnEKRN1u13NFBuy/C+bFLhxA5bfd3clT25y76QY0AM= github.com/lightninglabs/lightning-node-connect/mailbox v1.0.1 h1:RWmohykp3n/DTMWY8b18RNTEcLDf+KT/AZHKYdOObkM= github.com/lightninglabs/lightning-node-connect/mailbox v1.0.1/go.mod h1:NYtNexZE9gO1eOeegTxmIW9fqanl7eZ9cOrE9yewSAk= -github.com/lightninglabs/lndclient v0.19.0-7 h1:8+wGQnO8KSUq9elzGLscBUGchID+bWvrpX2qCo+tU48= -github.com/lightninglabs/lndclient v0.19.0-7/go.mod h1:35d50tEMFxlJlKTZGYA6EdOllPsbxS4FUmEVbETUx+Q= +github.com/lightninglabs/lndclient v0.19.0-9 h1:ell27omDoks79upoAsO/7QY40O93ud4tAtBXXZilqok= +github.com/lightninglabs/lndclient v0.19.0-9/go.mod h1:35d50tEMFxlJlKTZGYA6EdOllPsbxS4FUmEVbETUx+Q= github.com/lightninglabs/loop v0.31.2-beta h1:lm5t5FqDpSfQCxoz/vTvXpylxSgU+gvJJIbfJiKeyUk= github.com/lightninglabs/loop v0.31.2-beta/go.mod h1:xnPKuZmLusNERwzz15RZ7mpQ8xuSqqh3g8Qw/PRyiRE= github.com/lightninglabs/loop/looprpc v1.0.8 h1:OFmJNLjem6fLuH1YUO+3G6QA1wmjAd0zyhvdHONOBDs= @@ -1172,14 +1176,12 @@ github.com/lightninglabs/pool/poolrpc v1.0.1 h1:XbNx28TYwEj/PVsnnF9TnveVCMCYfS1v github.com/lightninglabs/pool/poolrpc v1.0.1/go.mod h1:836icifg/SBnZbiae0v3jeRRzCrT6LWo32SqCS/JiGk= github.com/lightninglabs/protobuf-go-hex-display v1.34.2-hex-display h1:w7FM5LH9Z6CpKxl13mS48idsu6F+cEZf0lkyiV+Dq9g= github.com/lightninglabs/protobuf-go-hex-display v1.34.2-hex-display/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= -github.com/lightninglabs/taproot-assets v0.6.0 h1:nHloX+QR2PbUmogry1T+LiYh1TWBoFnTMHOy4Hyq1VM= -github.com/lightninglabs/taproot-assets v0.6.0/go.mod h1:CkK0drLPo5M6ib9YRE3lD+znOfe0Oxh6zMvGN1SJXDo= -github.com/lightninglabs/taproot-assets/taprpc v1.0.7 h1:yUG9vdpajiU0gp4wDkTPz/6BI8Vr52OM2paahlVrAys= -github.com/lightninglabs/taproot-assets/taprpc v1.0.7/go.mod h1:vOM2Ap2wYhEZjiJU7bNNg+e5tDxkvRAuyXwf/KQ4tgo= -github.com/lightningnetwork/lightning-onion v1.2.1-0.20240712235311-98bd56499dfb h1:yfM05S8DXKhuCBp5qSMZdtSwvJ+GFzl94KbXMNB1JDY= -github.com/lightningnetwork/lightning-onion v1.2.1-0.20240712235311-98bd56499dfb/go.mod h1:c0kvRShutpj3l6B9WtTsNTBUtjSmjZXbJd9ZBRQOSKI= -github.com/lightningnetwork/lnd v0.19.1-beta h1:lIixXD/CemfvFFU2pWzGciOGRZ8vuQNPCzpKn/xt8zA= -github.com/lightningnetwork/lnd v0.19.1-beta/go.mod h1:iHZ/FHFK00BqV6qgDkZZfqWE3LGtgE0U5KdO5WrM+eQ= +github.com/lightninglabs/taproot-assets v0.6.1-0.20250702120050-d963c73f266a h1:6fHTtKdyvuOr476pEW5uTmVZYAwSnTM+WE/Pb5JbBcU= +github.com/lightninglabs/taproot-assets v0.6.1-0.20250702120050-d963c73f266a/go.mod h1:spDBAvs+KEYiKzHQgUxh6ZqfWYm8bJH1MiYHMrV7Wis= +github.com/lightninglabs/taproot-assets/taprpc v1.0.9-0.20250702120050-d963c73f266a h1:0jJ/q7N0+S2W6Zctg7gLrkeqwZu1T2W+6lmfxr3Ps8Y= +github.com/lightninglabs/taproot-assets/taprpc v1.0.9-0.20250702120050-d963c73f266a/go.mod h1:c8gTEcKEUoUPVChgZNwqTL1hss7UWa5FDeObr8WBzQk= +github.com/lightningnetwork/lightning-onion v1.2.1-0.20240815225420-8b40adf04ab9 h1:6D3LrdagJweLLdFm1JNodZsBk6iU4TTsBBFLQ4yiXfI= +github.com/lightningnetwork/lightning-onion v1.2.1-0.20240815225420-8b40adf04ab9/go.mod h1:EDqJ3MuZIbMq0QI1czTIKDJ/GS8S14RXPwapHw8cw6w= github.com/lightningnetwork/lnd/cert v1.2.2 h1:71YK6hogeJtxSxw2teq3eGeuy4rHGKcFf0d0Uy4qBjI= github.com/lightningnetwork/lnd/cert v1.2.2/go.mod h1:jQmFn/Ez4zhDgq2hnYSw8r35bqGVxViXhX6Cd7HXM6U= github.com/lightningnetwork/lnd/clock v1.1.1 h1:OfR3/zcJd2RhH0RU+zX/77c0ZiOnIMsDIBjgjWdZgA0= @@ -1194,12 +1196,10 @@ github.com/lightningnetwork/lnd/kvdb v1.4.16 h1:9BZgWdDfjmHRHLS97cz39bVuBAqMc4/p github.com/lightningnetwork/lnd/kvdb v1.4.16/go.mod h1:HW+bvwkxNaopkz3oIgBV6NEnV4jCEZCACFUcNg4xSjM= github.com/lightningnetwork/lnd/queue v1.1.1 h1:99ovBlpM9B0FRCGYJo6RSFDlt8/vOkQQZznVb18iNMI= github.com/lightningnetwork/lnd/queue v1.1.1/go.mod h1:7A6nC1Qrm32FHuhx/mi1cieAiBZo5O6l8IBIoQxvkz4= -github.com/lightningnetwork/lnd/sqldb v1.0.9 h1:7OHi+Hui823mB/U9NzCdlZTAGSVdDCbjp33+6d/Q+G0= -github.com/lightningnetwork/lnd/sqldb v1.0.9/go.mod h1:OG09zL/PHPaBJefp4HsPz2YLUJ+zIQHbpgCtLnOx8I4= github.com/lightningnetwork/lnd/ticker v1.1.1 h1:J/b6N2hibFtC7JLV77ULQp++QLtCwT6ijJlbdiZFbSM= github.com/lightningnetwork/lnd/ticker v1.1.1/go.mod h1:waPTRAAcwtu7Ji3+3k+u/xH5GHovTsCoSVpho0KDvdA= -github.com/lightningnetwork/lnd/tlv v1.3.1 h1:o7CZg06y+rJZfUMAo0WzBLr0pgBWCzrt0f9gpujYUzk= -github.com/lightningnetwork/lnd/tlv v1.3.1/go.mod h1:pJuiBj1ecr1WWLOtcZ+2+hu9Ey25aJWFIsjmAoPPnmc= +github.com/lightningnetwork/lnd/tlv v1.3.2 h1:MO4FCk7F4k5xPMqVZF6Nb/kOpxlwPrUQpYjmyKny5s0= +github.com/lightningnetwork/lnd/tlv v1.3.2/go.mod h1:pJuiBj1ecr1WWLOtcZ+2+hu9Ey25aJWFIsjmAoPPnmc= github.com/lightningnetwork/lnd/tor v1.1.6 h1:WHUumk7WgU6BUFsqHuqszI9P6nfhMeIG+rjJBlVE6OE= github.com/lightningnetwork/lnd/tor v1.1.6/go.mod h1:qSRB8llhAK+a6kaTPWOLLXSZc6Hg8ZC0mq1sUQ/8JfI= github.com/ltcsuite/ltcd v0.0.0-20190101042124-f37f8bf35796 h1:sjOGyegMIhvgfq5oaue6Td+hxZuf3tDC8lAPrFldqFw= diff --git a/itest/assets_test.go b/itest/assets_test.go index 1fb456dac..21bfa0039 100644 --- a/itest/assets_test.go +++ b/itest/assets_test.go @@ -27,6 +27,7 @@ import ( "github.com/lightninglabs/taproot-assets/tapfreighter" "github.com/lightninglabs/taproot-assets/taprpc" "github.com/lightninglabs/taproot-assets/taprpc/assetwalletrpc" + "github.com/lightninglabs/taproot-assets/taprpc/authmailboxrpc" "github.com/lightninglabs/taproot-assets/taprpc/mintrpc" "github.com/lightninglabs/taproot-assets/taprpc/rfqrpc" tchrpc "github.com/lightninglabs/taproot-assets/taprpc/tapchannelrpc" @@ -2548,6 +2549,7 @@ type tapClient struct { rfqrpc.RfqClient tchrpc.TaprootAssetChannelsClient universerpc.UniverseClient + authmailboxrpc.MailboxClient } func newTapClient(t *testing.T, node *HarnessNode) *tapClient { From d030746760b073a5c8ccf94c6916786fd39e548a Mon Sep 17 00:00:00 2001 From: George Tsagkarelis Date: Wed, 28 May 2025 13:50:14 +0200 Subject: [PATCH 2/3] itest: fix typo in coop closer helper comment --- itest/assets_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/itest/assets_test.go b/itest/assets_test.go index 21bfa0039..2b6da5c02 100644 --- a/itest/assets_test.go +++ b/itest/assets_test.go @@ -2217,7 +2217,7 @@ func defaultCoOpCloseBalanceCheck(t *testing.T, local, remote *HarnessNode, // transaction was inserted into the local universe. // // We expect that at most four outputs exist: one for the local asset - // output, one for the remote asset output, one for the remote BTC + // output, one for the remote asset output, one for the local BTC // channel balance and one for the remote BTC channel balance. // // Those outputs are only present if the respective party has a From 67939130c8853360f3df39ea90b480a31ca46dab Mon Sep 17 00:00:00 2001 From: George Tsagkarelis Date: Wed, 28 May 2025 13:53:45 +0200 Subject: [PATCH 3/3] itest: add sats keysends to cover missing noop_htlc anchors 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. --- itest/litd_custom_channels_test.go | 37 +++++++++++++++++++++++------- 1 file changed, 29 insertions(+), 8 deletions(-) diff --git a/itest/litd_custom_channels_test.go b/itest/litd_custom_channels_test.go index 7a23314fb..c851b1cd5 100644 --- a/itest/litd_custom_channels_test.go +++ b/itest/litd_custom_channels_test.go @@ -1279,9 +1279,10 @@ func testCustomChannelsGroupTranchesForceClose(ctx context.Context, // that transports assets from two tranches. // ------------ const ( - keySendAmount = 5000 - numSends = 6 - totalFirstSend = keySendAmount * numSends + keySendAmount = 5000 + keySendSatAmount = 5000 + numSends = 6 + totalFirstSend = keySendAmount * numSends ) for i := 0; i < numSends; i++ { sendAssetKeySendPayment( @@ -1289,6 +1290,12 @@ func testCustomChannelsGroupTranchesForceClose(ctx context.Context, fn.None[int64](), withGroupKey(groupKey), ) } + + // With noop HTLCs implemented the sats balance of Dave will only + // increase up to the reserve amount. Let's make a direct non-asset + // keysend to make sure the sats balance is also enough. + sendKeySendPayment(t.t, charlie, dave, keySendSatAmount) + logBalanceGroup(t.t, nodes, groupIDs, "after keysend Charlie->Dave") // ------------ @@ -1528,8 +1535,9 @@ func testCustomChannelsGroupTranchesHtlcForceClose(ctx context.Context, // First, we'll send over some funds from Charlie to Dave, as we want // Dave to be able to extend HTLCs in the other direction. const ( - numPayments = 10 - keySendAmount = 2_500 + numPayments = 10 + keySendAmount = 2_500 + keySendSatAmount = 5000 ) for i := 0; i < numPayments; i++ { sendAssetKeySendPayment( @@ -1538,6 +1546,11 @@ func testCustomChannelsGroupTranchesHtlcForceClose(ctx context.Context, ) } + // With noop HTLCs implemented the sats balance of Dave will only + // increase up to the reserve amount. Let's make a direct non-asset + // keysend to make sure the sats balance is also enough. + sendKeySendPayment(t.t, charlie, dave, keySendSatAmount) + // Now that both parties have some funds, we'll move onto the main test. // // We'll make 2 hodl invoice for each peer, so 4 total. From Charlie's @@ -4119,16 +4132,24 @@ func runCustomChannelsHtlcForceClose(ctx context.Context, t *harnessTest, // First, we'll send over some funds from Alice to Bob, as we want Bob // to be able to extend HTLCs in the other direction. const ( - numPayments = 10 - keySendAmount = 2_500 + numPayments = 10 + keySendAssetAmount = 2_500 + keySendSatAmount = 5_000 ) for i := 0; i < numPayments; i++ { sendAssetKeySendPayment( - t.t, alice, bob, keySendAmount, assetID, + t.t, alice, bob, keySendAssetAmount, assetID, fn.None[int64](), ) } + // With noop HTLCs implemented the sats balance of Bob will only + // increase up to the reserve amount. Let's make a direct non-asset + // keysend to make sure the sats balance is also enough. + sendKeySendPayment(t.t, alice, bob, keySendSatAmount) + + logBalance(t.t, nodes, assetID, "after keysends to Bob") + // Now that both parties have some funds, we'll move onto the main test. // // We'll make 2 hodl invoice for each peer, so 4 total. From Alice's