|
|
@ -141,6 +141,26 @@ func printPolicy(v *gocui.View, p *message.Printer, policy *netModels.RoutingPol
|
|
|
|
cyan(" Fee rate milli msat:"), policy.FeeRateMilliMsat)
|
|
|
|
cyan(" Fee rate milli msat:"), policy.FeeRateMilliMsat)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
func formatAmount(amt int64) string {
|
|
|
|
|
|
|
|
btc := amt / 1e8
|
|
|
|
|
|
|
|
ms := amt % 1e8 / 1e6
|
|
|
|
|
|
|
|
ts := amt % 1e6 / 1e3
|
|
|
|
|
|
|
|
s := amt % 1e3
|
|
|
|
|
|
|
|
if btc > 0 {
|
|
|
|
|
|
|
|
return fmt.Sprintf("%d.%02d,%03d,%03d", btc, ms, ts, s)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if ms > 0 {
|
|
|
|
|
|
|
|
return fmt.Sprintf("%d,%03d,%03d", ms, ts, s)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if ts > 0 {
|
|
|
|
|
|
|
|
return fmt.Sprintf("%d,%03d", ts, s)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if s >= 0 {
|
|
|
|
|
|
|
|
return fmt.Sprintf("%d", s)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return fmt.Sprintf("error: %d", amt)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
func (c *Channel) display() {
|
|
|
|
func (c *Channel) display() {
|
|
|
|
p := message.NewPrinter(language.English)
|
|
|
|
p := message.NewPrinter(language.English)
|
|
|
|
v := c.view
|
|
|
|
v := c.view
|
|
|
@ -153,12 +173,12 @@ func (c *Channel) display() {
|
|
|
|
cyan(" Status:"), status(channel))
|
|
|
|
cyan(" Status:"), status(channel))
|
|
|
|
fmt.Fprintf(v, "%s %d (%s)\n",
|
|
|
|
fmt.Fprintf(v, "%s %d (%s)\n",
|
|
|
|
cyan(" ID:"), channel.ID, ToScid(channel.ID))
|
|
|
|
cyan(" ID:"), channel.ID, ToScid(channel.ID))
|
|
|
|
fmt.Fprintf(v, "%s %d\n",
|
|
|
|
fmt.Fprintf(v, "%s %s\n",
|
|
|
|
cyan(" Capacity:"), channel.Capacity)
|
|
|
|
cyan(" Capacity:"), formatAmount(channel.Capacity))
|
|
|
|
fmt.Fprintf(v, "%s %d\n",
|
|
|
|
fmt.Fprintf(v, "%s %s\n",
|
|
|
|
cyan(" Local Balance:"), channel.LocalBalance)
|
|
|
|
cyan(" Local Balance:"), formatAmount(channel.LocalBalance))
|
|
|
|
fmt.Fprintf(v, "%s %d\n",
|
|
|
|
fmt.Fprintf(v, "%s %s\n",
|
|
|
|
cyan(" Remote Balance:"), channel.RemoteBalance)
|
|
|
|
cyan(" Remote Balance:"), formatAmount(channel.RemoteBalance))
|
|
|
|
fmt.Fprintf(v, "%s %s\n",
|
|
|
|
fmt.Fprintf(v, "%s %s\n",
|
|
|
|
cyan(" Channel Point:"), channel.ChannelPoint)
|
|
|
|
cyan(" Channel Point:"), channel.ChannelPoint)
|
|
|
|
fmt.Fprintln(v, "")
|
|
|
|
fmt.Fprintln(v, "")
|
|
|
@ -173,8 +193,8 @@ func (c *Channel) display() {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
fmt.Fprintf(v, "%s %s\n",
|
|
|
|
fmt.Fprintf(v, "%s %s\n",
|
|
|
|
cyan(" Alias:"), alias)
|
|
|
|
cyan(" Alias:"), alias)
|
|
|
|
fmt.Fprintf(v, "%s %d\n",
|
|
|
|
fmt.Fprintf(v, "%s %s\n",
|
|
|
|
cyan(" Total Capacity:"), channel.Node.TotalCapacity)
|
|
|
|
cyan(" Total Capacity:"), formatAmount(channel.Node.TotalCapacity))
|
|
|
|
fmt.Fprintf(v, "%s %d\n",
|
|
|
|
fmt.Fprintf(v, "%s %d\n",
|
|
|
|
cyan(" Total Channels:"), channel.Node.NumChannels)
|
|
|
|
cyan(" Total Channels:"), channel.Node.NumChannels)
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -196,8 +216,8 @@ func (c *Channel) display() {
|
|
|
|
for _, htlc := range channel.PendingHTLC {
|
|
|
|
for _, htlc := range channel.PendingHTLC {
|
|
|
|
fmt.Fprintf(v, "%s %t\n",
|
|
|
|
fmt.Fprintf(v, "%s %t\n",
|
|
|
|
cyan(" Incoming:"), htlc.Incoming)
|
|
|
|
cyan(" Incoming:"), htlc.Incoming)
|
|
|
|
fmt.Fprintf(v, "%s %d\n",
|
|
|
|
fmt.Fprintf(v, "%s %s\n",
|
|
|
|
cyan(" Amount:"), htlc.Amount)
|
|
|
|
cyan(" Amount:"), formatAmount(htlc.Amount))
|
|
|
|
fmt.Fprintf(v, "%s %d\n",
|
|
|
|
fmt.Fprintf(v, "%s %d\n",
|
|
|
|
cyan(" Expiration:"), htlc.ExpirationHeight)
|
|
|
|
cyan(" Expiration:"), htlc.ExpirationHeight)
|
|
|
|
fmt.Fprintln(v)
|
|
|
|
fmt.Fprintln(v)
|
|
|
|