Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CalculatePrm ¶
type CalculatePrm struct { // Number of epoch to perform the calculation. Epoch uint64 }
CalculatePrm groups the required parameters of Calculator.CalculateForEpoch call.
type Calculator ¶
type Calculator struct {
// contains filtered or unexported fields
}
Calculator represents a component for calculating payments based on data audit results and sending remittances to the chain.
func NewCalculator ¶
func NewCalculator(p *CalculatorPrm, opts ...CalculatorOption) *Calculator
NewCalculator creates, initializes and returns a new Calculator instance.
func (*Calculator) Calculate ¶
func (c *Calculator) Calculate(p *CalculatePrm)
Calculate calculates payments for audit results in a specific epoch of the network. Wraps the results in a money transfer transaction and sends it to the network.
type CalculatorOption ¶
type CalculatorOption func(*options)
CalculatorOption is a Calculator constructor's option.
func WithLogger ¶
func WithLogger(l *logger.Logger) CalculatorOption
WithLogger returns an option to specify the logging component.
type CalculatorPrm ¶
type CalculatorPrm struct { ResultStorage ResultStorage ContainerStorage common.ContainerStorage PlacementCalculator common.PlacementCalculator SGStorage SGStorage AccountStorage common.AccountStorage Exchanger common.Exchanger AuditFeeFetcher FeeFetcher }
CalculatorPrm groups the parameters of Calculator's constructor.
type FeeFetcher ¶
FeeFetcher wraps AuditFee method that returns audit fee price from the network configuration.
type ResultStorage ¶
type ResultStorage interface { // Must return all audit results by epoch number. AuditResultsForEpoch(epoch uint64) ([]*audit.Result, error) }
ResultStorage is an interface of storage of the audit results.