* Remove global cache variable. Rather than maintaining cached data in a global variable, instantiate a cache struct and keep it in the `Server` struct. * Store net params in RPC clients. This means net params only need to be supplied once at startup, and also removes a global instance of net params in `background.go`.
35 lines
1.1 KiB
Go
35 lines
1.1 KiB
Go
// Copyright (c) 2020-2022 The Decred developers
|
|
// Use of this source code is governed by an ISC
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package webapi
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/decred/vspd/version"
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
// vspInfo is the handler for "GET /api/v3/vspinfo".
|
|
func (s *Server) vspInfo(c *gin.Context) {
|
|
cachedStats := s.cache.getData()
|
|
s.sendJSONResponse(vspInfoResponse{
|
|
APIVersions: []int64{3},
|
|
Timestamp: time.Now().Unix(),
|
|
PubKey: s.signPubKey,
|
|
FeePercentage: s.cfg.VSPFee,
|
|
Network: s.cfg.NetParams.Name,
|
|
VspClosed: s.cfg.VspClosed,
|
|
VspClosedMsg: s.cfg.VspClosedMsg,
|
|
VspdVersion: version.String(),
|
|
Voting: cachedStats.Voting,
|
|
Voted: cachedStats.Voted,
|
|
TotalVotingWallets: cachedStats.TotalVotingWallets,
|
|
VotingWalletsOnline: cachedStats.VotingWalletsOnline,
|
|
Revoked: cachedStats.Revoked,
|
|
BlockHeight: cachedStats.BlockHeight,
|
|
NetworkProportion: cachedStats.NetworkProportion,
|
|
}, c)
|
|
}
|