service

package
v0.0.0-...-3499ab5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 17, 2025 License: MIT Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Cors

func Cors() gin.HandlerFunc

func IpRageLimiter

func IpRageLimiter() gin.HandlerFunc

func Recovery

func Recovery() gin.HandlerFunc

func ReturnErr

func ReturnErr(c *gin.Context, res *Response)

func ReturnOk

func ReturnOk(c *gin.Context, data interface{})

func TraceLogger

func TraceLogger() gin.HandlerFunc

Types

type Block

type Block struct {
	Proposer    uint64 `json:"proposer"`
	Epoch       uint64 `json:"epoch"`
	Slot        uint64 `json:"slot"`
	BlockNumber uint64 `json:"blockNumber"`
}

type Cluster

type Cluster struct {
	ID         string          `json:"id"`
	Owner      string          `json:"owner"`
	Operators  []OperatorIntro `json:"operators"`
	Validators uint32          `json:"validators"`
	Status     bool            `json:"status"`
}

type ClusterDetails

type ClusterDetails struct {
	ID                         string          `json:"id"`
	Owner                      string          `json:"owner"`
	FeeRecipientAddress        string          `json:"feeRecipientAddress"`
	Active                     bool            `json:"active"`
	OnChainBalance             string          `json:"onChainBalance"`
	BurnFee                    string          `json:"burnFee"`
	OperationalRunaway         uint64          `json:"operationalRunaway"`
	UpcomingBurnFee            string          `json:"upcomingBurnFee"`
	UpcomingOperationalRunaway uint64          `json:"upcomingOperationalRunaway"`
	UpcomingCalcTime           int64           `json:"upcomingCalcTime"`
	ValidatorCount             uint32          `json:"validatorCount"`
	Operators                  []OperatorIntro `json:"operators"`
}

type ClusterReward

type ClusterReward struct {
	ID                  string `json:"id"`
	TotalProposedBlocks uint64 `json:"totalProposedBlocks"`
	TotalMissedBlocks   uint64 `json:"totalMissedBlocks"`
	TotalRewards        string `json:"totalRewards"`
	TotalPenalties      string `json:"totalPenalties"`
}

type DashboardCache

type DashboardCache struct {
	// contains filtered or unexported fields
}

type DashboardData

type DashboardData struct {
	ActiveOperators        int64             `json:"activeOperators"`
	ActiveValidators       int64             `json:"activeValidators"`
	ActiveClusters         int64             `json:"activeClusters"`
	StakedETH              int64             `json:"stakedETH"`
	ProposedBlocks         int64             `json:"proposedBlocks"`
	NetworkFee             string            `json:"networkFee"`
	OperatorValidatorLimit int64             `json:"operatorValidatorLimit"`
	LiquidationThreshold   int64             `json:"liquidationThreshold"`
	MinimumCollateral      string            `json:"minimumCollateral"`
	Events                 []Event           `json:"events"`
	Blocks                 []Block           `json:"blocks"`
	Validators             []Validator       `json:"validators"`
	Charts                 []store.ChartData `json:"charts"`
}

type Event

type Event struct {
	BlockNumber uint64 `json:"block"`
	TxHash      string `json:"transactionHash"`
	Action      string `json:"action"`
}

type MonitorConfig

type MonitorConfig struct {
	AlarmType                  int    `json:"alarm_type"`
	AlarmChannel               string `json:"alarm_channel"`
	ReportLiquidationThreshold uint64 `json:"report_liquidation_threshold"`
	ReportOperatorFeeChange    bool   `json:"report_operator_fee_change"`
	ReportNetworkFeeChange     bool   `json:"report_network_fee_change"`
	ReportProposeBlock         bool   `json:"report_propose_block"`
	ReportMissedBlock          bool   `json:"report_missed_block"`
	ReportBalanceDecrease      bool   `json:"report_balance_decrease"`
	ReportExitedButNotRemoved  bool   `json:"report_exited_but_not_removed"`
	ReportWeekly               bool   `json:"report_weekly"`
}

type MonitorSSV

type MonitorSSV struct {
	// contains filtered or unexported fields
}

func NewMonitorSSV

func NewMonitorSSV(store *store.Store, ssv *ssv.SSV, beaconMonitor *eth2.BeaconMonitor, alarm *alert.AlarmDaemon, password string) (*MonitorSSV, error)

func (*MonitorSSV) Dashboard

func (ms *MonitorSSV) Dashboard(c *gin.Context)

func (*MonitorSSV) DeleteMonitorConfig

func (ms *MonitorSSV) DeleteMonitorConfig(c *gin.Context)

func (*MonitorSSV) Get30DayLiquidationRankingClusters

func (ms *MonitorSSV) Get30DayLiquidationRankingClusters(c *gin.Context)

func (*MonitorSSV) Get30DaySimulatedLiquidationRankingClusters

func (ms *MonitorSSV) Get30DaySimulatedLiquidationRankingClusters(c *gin.Context)

func (*MonitorSSV) GetBlocks

func (ms *MonitorSSV) GetBlocks(c *gin.Context)

func (*MonitorSSV) GetClusterDetails

func (ms *MonitorSSV) GetClusterDetails(c *gin.Context)

func (*MonitorSSV) GetClusterMonitorConfig

func (ms *MonitorSSV) GetClusterMonitorConfig(c *gin.Context)

func (*MonitorSSV) GetClusterMonitorInfo

func (ms *MonitorSSV) GetClusterMonitorInfo(c *gin.Context)

func (*MonitorSSV) GetClusters

func (ms *MonitorSSV) GetClusters(c *gin.Context)

func (*MonitorSSV) GetEvents

func (ms *MonitorSSV) GetEvents(c *gin.Context)

func (*MonitorSSV) GetNetworkFees

func (ms *MonitorSSV) GetNetworkFees(c *gin.Context)

func (*MonitorSSV) GetOperators

func (ms *MonitorSSV) GetOperators(c *gin.Context)

func (*MonitorSSV) GetPosData

func (ms *MonitorSSV) GetPosData(c *gin.Context)

func (*MonitorSSV) GetSSVReward

func (ms *MonitorSSV) GetSSVReward(c *gin.Context)

func (*MonitorSSV) GetValidators

func (ms *MonitorSSV) GetValidators(c *gin.Context)

func (*MonitorSSV) NewRouter

func (ms *MonitorSSV) NewRouter() *gin.Engine

func (*MonitorSSV) SaveClusterMonitorConfig

func (ms *MonitorSSV) SaveClusterMonitorConfig(c *gin.Context)

func (*MonitorSSV) Status

func (ms *MonitorSSV) Status(c *gin.Context)

func (*MonitorSSV) Stop

func (ms *MonitorSSV) Stop()

func (*MonitorSSV) TestAlarm

func (ms *MonitorSSV) TestAlarm(c *gin.Context)

type NetworkFee

type NetworkFee struct {
	CurrentFee  string `json:"current"`
	UpcomingFee string `json:"upcoming"`
}

type Operator

type Operator struct {
	ID                 uint64   `json:"id"`
	Name               string   `json:"name"`
	Owner              string   `json:"owner"`
	Validators         uint32   `json:"validators"`
	OperatorFee        string   `json:"operatorFee"`
	OperatorEarnings   string   `json:"operatorEarnings"`
	Privacy            bool     `json:"privacy"`
	Removed            bool     `json:"removed"`
	WhitelistedAddress []string `json:"whitelistedAddress"`
	PendingOperatorFee string   `json:"pendingOperatorFee"`
	BeginUpdateTime    int64    `json:"beginUpdateTime"`
	EndUpdateTime      int64    `json:"endUpdateTime"`
}

type OperatorIntro

type OperatorIntro struct {
	Name string `json:"name"`
	ID   uint64 `json:"id"`
}

type PosData

type PosData struct {
	TotalProposedBlocks int64 `json:"totalProposedBlocks"`
	TotalMissedBlocks   int64 `json:"totalMissedBlocks"`
	TotalOfflineCount   int64 `json:"totalOfflineCount"`
	PendingRemovalCount int64 `json:"pendingRemovalCount"`
}

type Response

type Response struct {
	Code    int    `json:"code"`
	Message string `json:"message"`
}

type SSVReward

type SSVReward struct {
	Account     string   `json:"account"`
	Amount      string   `json:"cumulativeAmount"`
	MerkleRoot  string   `json:"expectedMerkleRoot"`
	MerkleProof []string `json:"merkleProof"`
}

type Status

type Status struct {
	ELLastMonitoringBlock          uint64 `json:"el_last_monitoring_block"`
	CLLastProposalMonitoringEpoch  uint64 `json:"cl_last_proposal_monitoring_epoch"`
	CLLastValidatorMonitoringEpoch uint64 `json:"cl_last_validator_monitoring_epoch"`
}

type Validator

type Validator struct {
	PublicKey string          `json:"publicKey"`
	Owner     string          `json:"owner"`
	Operators []OperatorIntro `json:"operators"`
	ClusterId string          `json:"clusterId"`
	Status    string          `json:"status"`
	Online    bool            `json:"online"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL