rpcserver: return total num of fwdPkgs in PendingChannels

This commit adds a new field, NumForwardingPackages, in the
PendingChannels RPC response to specify how many forwarding packages the
channel has.
This commit is contained in:
yyforyongyu
2021-08-27 17:24:30 +08:00
parent 556b038398
commit 16f97e6f41
4 changed files with 1681 additions and 1641 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -2236,6 +2236,9 @@ message PendingChannelsResponse {
// The commitment type used by this channel.
CommitmentType commitment_type = 9;
// Total number of forwarding packages created in this channel.
int64 num_forwarding_packages = 10;
}
message PendingOpenChannel {

View File

@@ -2698,6 +2698,11 @@
"commitment_type": {
"$ref": "#/definitions/lnrpcCommitmentType",
"description": "The commitment type used by this channel."
},
"num_forwarding_packages": {
"type": "string",
"format": "int64",
"description": "Total number of forwarding packages created in this channel."
}
}
},

View File

@@ -3239,6 +3239,17 @@ func (r *rpcServer) PendingChannels(ctx context.Context,
return nil, err
}
// Get the number of forwarding packages from the historical
// channel.
fwdPkgs, err := historical.LoadFwdPkgs()
if err != nil {
rpcsLog.Errorf("unable to load forwarding packages "+
"for channel:%s, %v",
historical.ShortChannelID, err)
return nil, err
}
channel.NumForwardingPackages = int64(len(fwdPkgs))
closeTXID := pendingClose.ClosingTXID.String()
switch pendingClose.CloseType {
@@ -3350,16 +3361,25 @@ func (r *rpcServer) PendingChannels(ctx context.Context,
)
}
fwdPkgs, err := waitingClose.LoadFwdPkgs()
if err != nil {
rpcsLog.Errorf("unable to load forwarding packages "+
"for channel:%s, %v",
waitingClose.ShortChannelID, err)
return nil, err
}
channel := &lnrpc.PendingChannelsResponse_PendingChannel{
RemoteNodePub: hex.EncodeToString(pub),
ChannelPoint: chanPoint.String(),
Capacity: int64(waitingClose.Capacity),
LocalBalance: int64(waitingClose.LocalCommitment.LocalBalance.ToSatoshis()),
RemoteBalance: int64(waitingClose.LocalCommitment.RemoteBalance.ToSatoshis()),
LocalChanReserveSat: int64(waitingClose.LocalChanCfg.ChanReserve),
RemoteChanReserveSat: int64(waitingClose.RemoteChanCfg.ChanReserve),
Initiator: rpcInitiator(waitingClose.IsInitiator),
CommitmentType: rpcCommitmentType(waitingClose.ChanType),
RemoteNodePub: hex.EncodeToString(pub),
ChannelPoint: chanPoint.String(),
Capacity: int64(waitingClose.Capacity),
LocalBalance: int64(waitingClose.LocalCommitment.LocalBalance.ToSatoshis()),
RemoteBalance: int64(waitingClose.LocalCommitment.RemoteBalance.ToSatoshis()),
LocalChanReserveSat: int64(waitingClose.LocalChanCfg.ChanReserve),
RemoteChanReserveSat: int64(waitingClose.RemoteChanCfg.ChanReserve),
Initiator: rpcInitiator(waitingClose.IsInitiator),
CommitmentType: rpcCommitmentType(waitingClose.ChanType),
NumForwardingPackages: int64(len(fwdPkgs)),
}
waitingCloseResp := &lnrpc.PendingChannelsResponse_WaitingCloseChannel{