Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var (
// EstimationServiceErr defines sno service error.
EstimationServiceErr = errs.Class("storage node estimation payout service error")
)
Functions ¶
func RoundFloat ¶ added in v1.15.1
func RoundFloat(value float64) float64
RoundFloat rounds float value till 2 signs after dot.
Types ¶
type EstimatedPayout ¶
type EstimatedPayout struct {
CurrentMonth PayoutMonthly `json:"currentMonth"`
PreviousMonth PayoutMonthly `json:"previousMonth"`
}
EstimatedPayout contains usage and estimated payout data for current and previous months.
type PayoutMonthly ¶
type PayoutMonthly struct {
EgressBandwidth int64 `json:"egressBandwidth"`
EgressBandwidthPayout float64 `json:"egressBandwidthPayout"`
EgressRepairAudit int64 `json:"egressRepairAudit"`
EgressRepairAuditPayout float64 `json:"egressRepairAuditPayout"`
DiskSpace float64 `json:"diskSpace"`
DiskSpacePayout float64 `json:"diskSpacePayout"`
HeldRate float64 `json:"heldRate"`
Payout float64 `json:"payout"`
Held float64 `json:"held"`
}
PayoutMonthly contains usage and estimated payout date.
func (*PayoutMonthly) SetDiskSpacePayout ¶
func (pm *PayoutMonthly) SetDiskSpacePayout(diskSpacePrice int64)
SetDiskSpacePayout counts disk space payout for PayoutMonthly object.
func (*PayoutMonthly) SetEgressBandwidthPayout ¶
func (pm *PayoutMonthly) SetEgressBandwidthPayout(egressPrice int64)
SetEgressBandwidthPayout counts egress bandwidth payout for PayoutMonthly object.
func (*PayoutMonthly) SetEgressRepairAuditPayout ¶
func (pm *PayoutMonthly) SetEgressRepairAuditPayout(auditRepairPrice int64)
SetEgressRepairAuditPayout counts audit and repair payout for PayoutMonthly object.
func (*PayoutMonthly) SetHeldAmount ¶
func (pm *PayoutMonthly) SetHeldAmount()
SetHeldAmount counts held amount for PayoutMonthly object.
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
Service is handling storage node estimation payout logic.
architecture: Service
func NewService ¶
func NewService(bandwidthDB bandwidth.DB, reputationDB reputation.DB, storageUsageDB storageusage.DB, pricingDB pricing.DB, satelliteDB satellites.DB, trust *trust.Pool) *Service
NewService returns new instance of Service.
func (*Service) GetAllSatellitesEstimatedPayout ¶
func (s *Service) GetAllSatellitesEstimatedPayout(ctx context.Context) (payout EstimatedPayout, err error)
GetAllSatellitesEstimatedPayout returns estimated payout for current and previous months from all satellites with current level of load.
func (*Service) GetSatelliteEstimatedPayout ¶
func (s *Service) GetSatelliteEstimatedPayout(ctx context.Context, satelliteID storj.NodeID) (payout EstimatedPayout, err error)
GetSatelliteEstimatedPayout returns estimated payout for current and previous months from specific satellite with current level of load.