rewards

package
v0.0.0-...-ace8a2a Latest Latest
Warning

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

Go to latest
Published: Nov 14, 2024 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var YieldFractionDecimalPrecision = big.NewInt(1e+6)

Functions

func GetMultipliedYield

func GetMultipliedYield(reward, stake *big.Int) *big.Int

func GetValidatorsYield

func GetValidatorsYield(rewards map[string]*big.Int, validators *Validators) []storage.ValidatorYield

func GetYieldForInterval

func GetYieldForInterval(yields_sum, blocks_per_year *big.Int, elem_count int64) float64

func ZeroTotalRewards

func ZeroTotalRewards() (tr totalPeriodRewards)

Types

type IntervalRewards

type IntervalRewards struct {
	ValidatorRewards map[string]*big.Int
	TotalReward      *big.Int
	BlockFee         *big.Int
}

type Rewards

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

func MakeRewards

func MakeRewards(storage storage.Storage, batch storage.Batch, config *common.Config, block *chain.BlockData) *Rewards

func (*Rewards) AfterCommit

func (r *Rewards) AfterCommit()

func (*Rewards) GetIntervalRewards

func (r *Rewards) GetIntervalRewards(periodStats *storage.RewardsStats, distributionFrequency uint32) (intervalRewards IntervalRewards)

func (*Rewards) Process

func (r *Rewards) Process(total_minted *big.Int, dags []chain.DagBlock, trxs []chain.Transaction, votes chain.VotesResponse, block_author string) (currentBlockFee *big.Int)

func (*Rewards) ProcessStats

func (r *Rewards) ProcessStats(periodStats *storage.RewardsStats, total_minted *big.Int, totalStake *big.Int) (*big.Int, *big.Int)

type RewardsStats

type RewardsStats struct {
	storage.RewardsStats
	ValidatorsStats map[string]storage.ValidatorStats
}

func (*RewardsStats) ToStorage

func (s *RewardsStats) ToStorage() *storage.RewardsStats

type Validators

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

func MakeValidators

func MakeValidators(config *common.Config, validators []chain.Validator) *Validators

func (*Validators) Exists

func (v *Validators) Exists(address string) bool

func (*Validators) IsEligible

func (v *Validators) IsEligible(address string) bool

Jump to

Keyboard shortcuts

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