httphandlers

package
v1.7.0 Latest Latest
Warning

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

Go to latest
Published: Feb 21, 2025 License: MIT Imports: 24 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DurationPtrToStringPtr

func DurationPtrToStringPtr(t *time.Duration) *string

func LMRWithDecimalsToLMR

func LMRWithDecimalsToLMR(LMRWithDecimals *big.Int) float64

LMRWithDecimalsToLMR converts LMR with decimals to LMR without decimals

func NewHTTPHandler

func NewHTTPHandler(allocator *allocator.Allocator, contractManager *contractmanager.ContractManager, globalHashrate *hr.GlobalHashrate, sysConfig *system.SystemConfigurator, publicUrl *url.URL, hashrateCounter string, cycleDuration time.Duration, config Sanitizable, derivedConfig *config.DerivedConfig, appStartTime time.Time, logStorage *lib.Collection[*interfaces.LogStorage], log interfaces.ILogger) *gin.Engine

func TimePtrToStringPtr

func TimePtrToStringPtr(t *time.Time) *string

TimePtrToStringPtr converts nullable time to nullable string

Types

type BuyerTotal

type BuyerTotal struct {
	Number            int
	HashrateGHS       int
	ActualHashrateGHS int
	StarvingGHS       int
}

type ConfigResponse

type ConfigResponse struct {
	Version       string
	Commit        string
	DerivedConfig interface{}
	Config        interface{}
}

type Contract

type Contract struct {
	Resource

	Logs                    string
	ConsoleLogs             string
	Role                    string
	Stage                   string
	ID                      string
	BuyerAddr               string
	SellerAddr              string
	ValidatorAddr           string
	ResourceEstimatesTarget map[string]int
	ResourceEstimatesActual map[string]int
	StarvingGHS             int

	BalanceLMR     float64
	IsDeleted      bool
	HasFutureTerms bool
	Version        uint32

	StartTimestamp string
	EndTimestamp   string
	Duration       string
	PriceLMR       float64
	ProfitTarget   int8

	Elapsed           string
	ApplicationStatus string
	BlockchainStatus  string
	Error             string
	Dest              string
	PoolDest          string
	Miners            []*allocator.MinerItemJobScheduled
}

type ContractFactory

type ContractFactory func(contractData *hashrate.Terms) (resources.Contract, error)

type ContractsQP

type ContractsQP struct {
	IsDeleted         *bool   `form:"isDeleted"`
	HasFutureTerms    *bool   `form:"hasFutureTerms"`
	Role              *string `form:"role" validate:"omitempty,oneof=seller buyer"`
	BlockchainStatus  *string `form:"blockchainStatus" validate:"omitempty,oneof=available running"`
	ApplicationStatus *string `form:"applicationStatus" validate:"omitempty,oneof=pending running"`
	BuyerAddr         *string `form:"buyerAddr" validate:"omitempty,eth_addr"`
	SellerAddr        *string `form:"sellerAddr" validate:"omitempty,eth_addr"`
	ValidatorAddr     *string `form:"validatorAddr" validate:"omitempty,eth_addr"`
}

type ContractsResponse

type ContractsResponse struct {
	SellerTotal    SellerTotal
	BuyerTotal     BuyerTotal
	ValidatorTotal BuyerTotal

	Contracts []Contract
}

type HTTPHandler

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

func (*HTTPHandler) ChangeDest

func (h *HTTPHandler) ChangeDest(ctx *gin.Context)

func (*HTTPHandler) CreateContract

func (h *HTTPHandler) CreateContract(ctx *gin.Context)

func (*HTTPHandler) GetConfig

func (h *HTTPHandler) GetConfig(ctx *gin.Context)

func (*HTTPHandler) GetContract

func (c *HTTPHandler) GetContract(ctx *gin.Context)

func (*HTTPHandler) GetContracts

func (c *HTTPHandler) GetContracts(ctx *gin.Context)

func (*HTTPHandler) GetContractsV2

func (c *HTTPHandler) GetContractsV2(ctx *gin.Context)

func (*HTTPHandler) GetDeliveryLogs

func (c *HTTPHandler) GetDeliveryLogs(ctx *gin.Context)

func (*HTTPHandler) GetDeliveryLogsConsole

func (c *HTTPHandler) GetDeliveryLogsConsole(ctx *gin.Context)

func (*HTTPHandler) GetFiles

func (h *HTTPHandler) GetFiles(ctx *gin.Context)

func (*HTTPHandler) GetMiners

func (c *HTTPHandler) GetMiners(ctx *gin.Context)

func (*HTTPHandler) GetWorkers

func (c *HTTPHandler) GetWorkers(ctx *gin.Context)

func (*HTTPHandler) HealthCheck

func (h *HTTPHandler) HealthCheck(ctx *gin.Context)

func (*HTTPHandler) MapMiner

func (c *HTTPHandler) MapMiner(m *allocator.Scheduler) *Miner

type Miner

type Miner struct {
	Resource

	ID                    string
	WorkerName            string
	Status                string
	HashrateAvgGHS        map[string]int
	CurrentDestination    string
	CurrentDifficulty     int
	ConnectedAt           string
	Uptime                string
	ActivePoolConnections *map[string]string `json:",omitempty"`
	Destinations          []*allocator.DestItem
	Stats                 interface{}
}

type MinersResponse

type MinersResponse struct {
	TotalHashrateGHS     int
	UsedHashrateGHS      int
	AvailableHashrateGHS int

	TotalMiners       int
	VettingMiners     int
	FreeMiners        int
	PartialBusyMiners int
	BusyMiners        int

	Miners []Miner
}

type Proxy

type Proxy interface {
	SetDest(ctx context.Context, newDestURL *url.URL, onSubmit func(diff float64)) error
}

type Resource

type Resource struct {
	Self string
}

type Sanitizable

type Sanitizable interface {
	GetSanitized() any
}

type SellerTotal

type SellerTotal struct {
	TotalNumber     int
	TotalGHS        int
	TotalBalanceLMR float64

	RunningNumber    int
	RunningTargetGHS int
	RunningActualGHS int

	StarvingNumber int
	StarvingGHS    int

	AvailableNumber int
	AvailableGHS    int
}

type Worker

type Worker struct {
	WorkerName string
	Hashrate   map[string]float64
	Reconnects int
}

Jump to

Keyboard shortcuts

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