Merge pull request #80 from rkfg/amount_formatting

Add pretty amount formatting
pull/81/head
Édouard 2 years ago committed by GitHub
commit 3f8f17cf87
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -286,6 +286,7 @@ func protoToRoutingPolicy(resp *lnrpc.RoutingPolicy) *models.RoutingPolicy {
return &models.RoutingPolicy{ return &models.RoutingPolicy{
TimeLockDelta: resp.TimeLockDelta, TimeLockDelta: resp.TimeLockDelta,
MinHtlc: resp.MinHtlc, MinHtlc: resp.MinHtlc,
MaxHtlc: resp.MaxHtlcMsat,
FeeBaseMsat: resp.FeeBaseMsat, FeeBaseMsat: resp.FeeBaseMsat,
FeeRateMilliMsat: resp.FeeRateMilliMsat, FeeRateMilliMsat: resp.FeeRateMilliMsat,
Disabled: resp.Disabled, Disabled: resp.Disabled,

@ -92,6 +92,7 @@ type ChannelUpdate struct {
type RoutingPolicy struct { type RoutingPolicy struct {
TimeLockDelta uint32 TimeLockDelta uint32
MinHtlc int64 MinHtlc int64
MaxHtlc uint64
FeeBaseMsat int64 FeeBaseMsat int64
FeeRateMilliMsat int64 FeeRateMilliMsat int64
Disabled bool Disabled bool

@ -133,14 +133,36 @@ func printPolicy(v *gocui.View, p *message.Printer, policy *netModels.RoutingPol
} }
fmt.Fprintf(v, "%s %d\n", fmt.Fprintf(v, "%s %d\n",
cyan(" Time lock delta:"), policy.TimeLockDelta) cyan(" Time lock delta:"), policy.TimeLockDelta)
fmt.Fprintf(v, "%s %d\n", fmt.Fprintf(v, "%s %s\n",
cyan(" Min htlc:"), policy.MinHtlc) cyan(" Min htlc (msat):"), formatAmount(policy.MinHtlc))
fmt.Fprintf(v, "%s %d\n", fmt.Fprintf(v, "%s %s\n",
cyan(" Fee base msat:"), policy.FeeBaseMsat) cyan(" Max htlc (sat):"), formatAmount(int64(policy.MaxHtlc/1000)))
fmt.Fprintf(v, "%s %s\n",
cyan(" Fee base msat:"), formatAmount(policy.FeeBaseMsat))
fmt.Fprintf(v, "%s %d\n", fmt.Fprintf(v, "%s %d\n",
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 +175,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 +195,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 +218,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)

@ -58,11 +58,11 @@ func (s *Summary) display() {
cyan := color.Cyan() cyan := color.Cyan()
red := color.Red() red := color.Red()
fmt.Fprintln(s.left, green("[ Channels ]")) fmt.Fprintln(s.left, green("[ Channels ]"))
fmt.Fprintln(s.left, p.Sprintf("%s %d (%s|%s)", fmt.Fprintln(s.left, p.Sprintf("%s %s (%s|%s)",
cyan("balance:"), cyan("balance:"),
s.channelsBalance.Balance+s.channelsBalance.PendingOpenBalance, formatAmount(s.channelsBalance.Balance+s.channelsBalance.PendingOpenBalance),
green(p.Sprintf("%d", s.channelsBalance.Balance)), green(p.Sprintf("%s", formatAmount(s.channelsBalance.Balance))),
yellow(p.Sprintf("%d", s.channelsBalance.PendingOpenBalance)), yellow(p.Sprintf("%s", formatAmount(s.channelsBalance.PendingOpenBalance))),
)) ))
fmt.Fprintln(s.left, fmt.Sprintf("%s %d %s %d %s %d %s", fmt.Fprintln(s.left, fmt.Sprintf("%s %d %s %d %s %d %s",
cyan("state :"), cyan("state :"),
@ -77,11 +77,11 @@ func (s *Summary) display() {
s.right.Clear() s.right.Clear()
fmt.Fprintln(s.right, green("[ Wallet ]")) fmt.Fprintln(s.right, green("[ Wallet ]"))
fmt.Fprintln(s.right, p.Sprintf("%s %d (%s|%s)", fmt.Fprintln(s.right, p.Sprintf("%s %s (%s|%s)",
cyan("balance:"), cyan("balance:"),
s.walletBalance.TotalBalance, formatAmount(s.walletBalance.TotalBalance),
green(p.Sprintf("%d", s.walletBalance.ConfirmedBalance)), green(p.Sprintf("%s", formatAmount(s.walletBalance.ConfirmedBalance))),
yellow(p.Sprintf("%d", s.walletBalance.UnconfirmedBalance)), yellow(p.Sprintf("%s", formatAmount(s.walletBalance.UnconfirmedBalance))),
)) ))
} }

Loading…
Cancel
Save