Multi wallet fix (#83)
* Fix min required check * Remove duplicated host logging on conn errors. * Show confirmed tickets on homepage.
This commit is contained in:
parent
225dcaf29e
commit
1a507badc2
@ -112,14 +112,13 @@ func (n *NotificationHandler) Notify(method string, params json.RawMessage) erro
|
||||
for i := 0; i < len(n.WalletConnect); i++ {
|
||||
walletConn, err := n.WalletConnect[i]()
|
||||
if err != nil {
|
||||
// TODO: what host?
|
||||
log.Errorf("dcrwallet connection error: %v", err)
|
||||
// If this fails, there is nothing more we can do. Return.
|
||||
return nil
|
||||
}
|
||||
walletClients[i], err = rpc.WalletClient(n.Ctx, walletConn, n.NetParams)
|
||||
if err != nil {
|
||||
log.Errorf("dcrwallet '%s' client error: %v", walletConn.String(), err)
|
||||
log.Errorf("dcrwallet client error: %v", err)
|
||||
// If this fails, there is nothing more we can do. Return.
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -305,7 +305,7 @@ func loadConfig() (*config, error) {
|
||||
}
|
||||
|
||||
// Verify minimum number of voting wallets are configured.
|
||||
if minRequired < len(cfg.WalletHosts) {
|
||||
if len(cfg.WalletHosts) < minRequired {
|
||||
return nil, fmt.Errorf("minimum required voting wallets has not been met: %d < %d",
|
||||
len(cfg.WalletHosts), minRequired)
|
||||
}
|
||||
|
||||
@ -142,7 +142,7 @@ func (vdb *VspDatabase) CountTickets() (int, int, error) {
|
||||
return fmt.Errorf("could not unmarshal ticket: %v", err)
|
||||
}
|
||||
|
||||
if ticket.FeeTxHash != "" {
|
||||
if ticket.FeeConfirmed {
|
||||
feePaid++
|
||||
}
|
||||
|
||||
|
||||
4
main.go
4
main.go
@ -91,14 +91,14 @@ func run(ctx context.Context) error {
|
||||
cfg.WalletHosts[i], cfg.walletCert, nil)
|
||||
walletConn[i], err = walletConnect[i]()
|
||||
if err != nil {
|
||||
log.Errorf("dcrwallet '%s' connection error: %v", cfg.WalletHosts[i], err)
|
||||
log.Errorf("dcrwallet connection error: %v", err)
|
||||
requestShutdown()
|
||||
shutdownWg.Wait()
|
||||
return err
|
||||
}
|
||||
_, err = rpc.WalletClient(ctx, walletConn[i], cfg.netParams.Params)
|
||||
if err != nil {
|
||||
log.Errorf("dcrwallet '%s' client error: %v", cfg.WalletHosts[i], err)
|
||||
log.Errorf("dcrwallet client error: %v", err)
|
||||
requestShutdown()
|
||||
shutdownWg.Wait()
|
||||
return err
|
||||
|
||||
@ -74,7 +74,7 @@ func Setup(ctx context.Context, shutdownWg *sync.WaitGroup, user, pass, addr str
|
||||
if c != nil {
|
||||
select {
|
||||
case <-c.Done():
|
||||
log.Debugf("RPC client errored (%v); reconnecting...", c.Err())
|
||||
log.Debugf("RPC client %s errored (%v); reconnecting...", addr, c.Err())
|
||||
c = nil
|
||||
default:
|
||||
return c, nil
|
||||
|
||||
@ -10,32 +10,32 @@ import (
|
||||
)
|
||||
|
||||
type vspStats struct {
|
||||
PubKey []byte
|
||||
TotalTickets int
|
||||
FeePaidTickets int
|
||||
VSPFee float64
|
||||
Network string
|
||||
UpdateTime string
|
||||
SupportEmail string
|
||||
VspClosed bool
|
||||
PubKey []byte
|
||||
TotalTickets int
|
||||
FeeConfirmedTickets int
|
||||
VSPFee float64
|
||||
Network string
|
||||
UpdateTime string
|
||||
SupportEmail string
|
||||
VspClosed bool
|
||||
}
|
||||
|
||||
var stats *vspStats
|
||||
|
||||
func updateVSPStats(db *database.VspDatabase, cfg Config) (*vspStats, error) {
|
||||
total, feePaid, err := db.CountTickets()
|
||||
total, feeConfirmed, err := db.CountTickets()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &vspStats{
|
||||
PubKey: signPubKey,
|
||||
TotalTickets: total,
|
||||
FeePaidTickets: feePaid,
|
||||
VSPFee: cfg.VSPFee,
|
||||
Network: cfg.NetParams.Name,
|
||||
UpdateTime: time.Now().Format("Mon Jan _2 15:04:05 2006"),
|
||||
SupportEmail: cfg.SupportEmail,
|
||||
VspClosed: cfg.VspClosed,
|
||||
PubKey: signPubKey,
|
||||
TotalTickets: total,
|
||||
FeeConfirmedTickets: feeConfirmed,
|
||||
VSPFee: cfg.VSPFee,
|
||||
Network: cfg.NetParams.Name,
|
||||
UpdateTime: time.Now().Format("Mon Jan _2 15:04:05 2006"),
|
||||
SupportEmail: cfg.SupportEmail,
|
||||
VspClosed: cfg.VspClosed,
|
||||
}, nil
|
||||
}
|
||||
|
||||
|
||||
@ -41,13 +41,13 @@ func withWalletClient() gin.HandlerFunc {
|
||||
for i := 0; i < len(walletConnect); i++ {
|
||||
walletConn, err := walletConnect[i]()
|
||||
if err != nil {
|
||||
log.Errorf("dcrwallet '%s' connection error: %v", err)
|
||||
log.Errorf("dcrwallet connection error: %v", err)
|
||||
sendErrorResponse("dcrwallet RPC error", http.StatusInternalServerError, c)
|
||||
return
|
||||
}
|
||||
walletClient[i], err = rpc.WalletClient(c, walletConn, cfg.NetParams)
|
||||
if err != nil {
|
||||
log.Errorf("dcrwallet '%s' client error: %v", walletClient[i].String(), err)
|
||||
log.Errorf("dcrwallet client error: %v", err)
|
||||
sendErrorResponse("dcrwallet RPC error", http.StatusInternalServerError, c)
|
||||
return
|
||||
}
|
||||
|
||||
@ -43,7 +43,7 @@
|
||||
<img src="/public/images/decred-logo.svg" />
|
||||
<table>
|
||||
<tr><td>Total tickets:</td><td>{{ .TotalTickets }}</td></tr>
|
||||
<tr><td>FeePaid tickets:</td><td>{{ .FeePaidTickets }}</td></tr>
|
||||
<tr><td>Fee confirmed tickets:</td><td>{{ .FeeConfirmedTickets }}</td></tr>
|
||||
<tr><td>VSP Fee:</td><td>{{ .VSPFee }}</td></tr>
|
||||
<tr><td>Network:</td><td>{{ .Network }}</td></tr>
|
||||
<tr><td>Support:</td><td>{{ .SupportEmail }}</td></tr>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user