mirror of
https://github.com/lightningnetwork/lnd.git
synced 2025-03-13 11:09:23 +01:00
lnrpc+itest: return channel Memo for Pending channels
In a previous PR we added a Memo field for channels that could be specified when opening a channel. This was a reference note-to-self with no bearing on the functioning of the channel. In that PR, the memo value was returned only through ListChannels. This commit builds upon that PR by also returning the Memo field for channels returned by PendingChannels RPC.
This commit is contained in:
parent
453fbb3358
commit
44fdd02ab4
5 changed files with 1813 additions and 1773 deletions
|
@ -459,6 +459,7 @@ func testAnchorThirdPartySpend(ht *lntest.HarnessTest) {
|
|||
const (
|
||||
firstChanSize = 1_000_000
|
||||
anchorFeeBuffer = 500_000
|
||||
testMemo = "bob is a good peer"
|
||||
)
|
||||
ht.FundCoins(firstChanSize+anchorFeeBuffer, alice)
|
||||
|
||||
|
@ -467,6 +468,7 @@ func testAnchorThirdPartySpend(ht *lntest.HarnessTest) {
|
|||
aliceChanPoint1 := ht.OpenChannel(
|
||||
alice, bob, lntest.OpenChannelParams{
|
||||
Amt: firstChanSize,
|
||||
Memo: testMemo,
|
||||
},
|
||||
)
|
||||
|
||||
|
@ -509,6 +511,12 @@ func testAnchorThirdPartySpend(ht *lntest.HarnessTest) {
|
|||
// PendingChannels RPC under the waiting close section.
|
||||
waitingClose := ht.AssertChannelWaitingClose(alice, aliceChanPoint1)
|
||||
|
||||
// Verify that the channel Memo is returned even for channels that are
|
||||
// waiting close (close TX broadcasted but not confirmed)
|
||||
pendingChannelsResp := alice.RPC.PendingChannels()
|
||||
require.Equal(ht, testMemo,
|
||||
pendingChannelsResp.WaitingCloseChannels[0].Channel.Memo)
|
||||
|
||||
// At this point, the channel is waiting close, and we have both the
|
||||
// commitment transaction and anchor sweep in the mempool.
|
||||
const expectedTxns = 2
|
||||
|
@ -531,6 +539,12 @@ func testAnchorThirdPartySpend(ht *lntest.HarnessTest) {
|
|||
// on the number of anchor channels.
|
||||
ht.AssertChannelPendingForceClose(alice, aliceChanPoint1)
|
||||
|
||||
// Verify that the channel Memo is returned even for channels that are
|
||||
// pending force close (close TX confirmed but sweep hasn't happened)
|
||||
pendingChannelsResp = alice.RPC.PendingChannels()
|
||||
require.Equal(ht, testMemo,
|
||||
pendingChannelsResp.PendingForceClosingChannels[0].Channel.Memo)
|
||||
|
||||
// With the anchor output located, and the main commitment mined we'll
|
||||
// instruct the wallet to send all coins in the wallet to a new address
|
||||
// (to the miner), including unconfirmed change.
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -2556,6 +2556,13 @@ message PendingChannelsResponse {
|
|||
|
||||
// Whether this channel is advertised to the network or not.
|
||||
bool private = 12;
|
||||
|
||||
/*
|
||||
An optional note-to-self to go along with the channel containing some
|
||||
useful information. This is only ever stored locally and in no way
|
||||
impacts the channel's operation.
|
||||
*/
|
||||
string memo = 13;
|
||||
}
|
||||
|
||||
message PendingOpenChannel {
|
||||
|
|
|
@ -3028,6 +3028,10 @@
|
|||
"private": {
|
||||
"type": "boolean",
|
||||
"description": "Whether this channel is advertised to the network or not."
|
||||
},
|
||||
"memo": {
|
||||
"type": "string",
|
||||
"description": "An optional note-to-self to go along with the channel containing some\nuseful information. This is only ever stored locally and in no way\nimpacts the channel's operation."
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
|
@ -3424,6 +3424,7 @@ func (r *rpcServer) fetchPendingOpenChannels() (pendingOpenChannels, error) {
|
|||
Initiator: rpcInitiator(pendingChan.IsInitiator),
|
||||
CommitmentType: rpcCommitmentType(pendingChan.ChanType),
|
||||
Private: isPrivate(pendingChan),
|
||||
Memo: string(pendingChan.Memo),
|
||||
},
|
||||
CommitWeight: commitWeight,
|
||||
CommitFee: int64(localCommitment.CommitFee),
|
||||
|
@ -3513,6 +3514,7 @@ func (r *rpcServer) fetchPendingForceCloseChannels() (pendingForceClose,
|
|||
)
|
||||
|
||||
channel.Private = isPrivate(historical)
|
||||
channel.Memo = string(historical.Memo)
|
||||
|
||||
// If the error is non-nil, and not due to older versions of lnd
|
||||
// not persisting historical channels, return it.
|
||||
|
@ -3715,6 +3717,7 @@ func (r *rpcServer) fetchWaitingCloseChannels() (waitingCloseChannels,
|
|||
NumForwardingPackages: int64(len(fwdPkgs)),
|
||||
ChanStatusFlags: waitingClose.ChanStatus().String(),
|
||||
Private: isPrivate(waitingClose),
|
||||
Memo: string(waitingClose.Memo),
|
||||
}
|
||||
|
||||
waitingCloseResp := &lnrpc.PendingChannelsResponse_WaitingCloseChannel{
|
||||
|
|
Loading…
Add table
Reference in a new issue