Versions in this module Expand all Collapse all v0 v0.2.0 May 11, 2026 Changes in this version + const PointsSpoolRecordSize + const RewardTypeFee + const RewardTypeRent + const RewardTypeStaking + const RewardTypeVoting + const SpoolRecordSize + func CalculateNumRewardPartitions(numStakingRewards uint64) uint64 + func CalculatePreviousEpochInflationRewards(epochSchedule *sealevel.SysvarEpochSchedule, inflation *Inflation, ...) uint64 + func CalculateRewardPartitionForPubkey(pubkey solana.PublicKey, blockhash [32]byte, numPartitions uint64) uint64 + func CleanupPartitionedSpoolFiles(baseDir string, slot uint64, numPartitions uint64) + func CleanupPointsSpoolFile(path string) + func CleanupTempSpoolFile(path string) + func DistributeStakingRewardsFromSpool(acctsDb *accountsdb.AccountsDb, spoolDir string, spoolSlot uint64, ...) ([]*accounts.Account, []*accounts.Account, uint64, uint64) + func DistributeVotingRewards(acctsDb *accountsdb.AccountsDb, ...) ([]*accounts.Account, []*accounts.Account, uint64) + func GetInflationNumSlots(epochSchedule *sealevel.SysvarEpochSchedule, epoch uint64, ...) uint64 + func GetInflationStartSlot(f *features.Features) uint64 + func IsWithinRewardsPeriod(epoch uint64, slot uint64, epochSchedule *sealevel.SysvarEpochSchedule) bool + func SlotInYearForInflation(epochSchedule *sealevel.SysvarEpochSchedule, slotsPerYear float64, ...) float64 + type CalculatedStakePoints struct + ForceCreditsUpdateWithSkippedReward bool + NewCreditsObserved uint64 + Points wide.Uint128 + type CalculatedStakeRewards struct + NewCreditsObserved uint64 + StakerRewards uint64 + VoterPubkey solana.PublicKey + VoterRewards uint64 + func CalculateStakeRewardsForAcct(pubkey solana.PublicKey, stakePointsResult *CalculatedStakePoints, ...) *CalculatedStakeRewards + type CommissionSplit struct + IsSplit bool + StakerPortion uint64 + VoterPortion uint64 + type Inflation struct + FoundationTerm float64 + FoundationVal float64 + Initial float64 + Taper float64 + Terminal float64 + Unused float64 + func (inflation *Inflation) Foundation(year float64) float64 + func (inflation *Inflation) Total(year float64) float64 + func (inflation *Inflation) UnmarshalWithDecoder(decoder *bin.Decoder) error + func (inflation *Inflation) Validator(year float64) float64 + type PartitionReader struct + func NewPartitionReader(baseDir string, slot uint64, partition uint32) (*PartitionReader, error) + func (r *PartitionReader) Close() error + func (r *PartitionReader) Next() (*SpoolRecord, error) + type PartitionedRewardDistributionInfo struct + FirstStakingRewardSlot uint64 + NumRewardPartitionsRemaining uint64 + SpoolDir string + SpoolSlot uint64 + TotalStakingRewards uint64 + func DeterminePartitionedStakingRewardsInfo(epochSchedule *sealevel.SysvarEpochSchedule, inflation *Inflation, ...) *PartitionedRewardDistributionInfo + type PartitionedSpoolWriters struct + func NewPartitionedSpoolWriters(baseDir string, slot uint64, numPartitions uint64) *PartitionedSpoolWriters + func (p *PartitionedSpoolWriters) Close() error + func (p *PartitionedSpoolWriters) Slot() uint64 + func (p *PartitionedSpoolWriters) SpoolDir() string + func (p *PartitionedSpoolWriters) TotalRecords() int + func (p *PartitionedSpoolWriters) WriteRecord(rec *SpoolRecord) error + type PointValue struct + Points wide.Uint128 + Rewards uint64 + type PointsSpoolReader struct + func NewPointsSpoolReader(path string) (*PointsSpoolReader, error) + func (r *PointsSpoolReader) Close() error + func (r *PointsSpoolReader) Next() (*PointsSpoolRecord, error) + type PointsSpoolRecord struct + ForceCreditsUpdateWithSkippedReward bool + NewCreditsObserved uint64 + Points wide.Uint128 + StakeLamports uint64 + StakePubkey solana.PublicKey + VotePubkey solana.PublicKey + type PointsSpoolWriter struct + func NewPointsSpoolWriter(baseDir string, slot uint64) (*PointsSpoolWriter, error) + func (w *PointsSpoolWriter) Close() error + func (w *PointsSpoolWriter) Count() int + func (w *PointsSpoolWriter) Path() string + func (w *PointsSpoolWriter) WriteRecord(rec *PointsSpoolRecord) error + type SpoolRecord struct + CreditsObserved uint64 + PartitionIndex uint32 + RewardLamports uint64 + StakeLamports uint64 + StakePubkey solana.PublicKey + VotePubkey solana.PublicKey + type StreamingRewardsResult struct + NumPartitions uint64 + NumStakeRewards uint64 + SpoolDir string + SpoolSlot uint64 + TotalPoints wide.Uint128 + ValidatorRewards map[solana.PublicKey]*atomic.Uint64 + func CalculateRewardsStreaming(acctsDb *accountsdb.AccountsDb, slot uint64, ...) (*StreamingRewardsResult, error) + type TempSpoolReader struct + func NewTempSpoolReader(path string) (*TempSpoolReader, error) + func (r *TempSpoolReader) Close() error + func (r *TempSpoolReader) Next() (*SpoolRecord, error) + type TempSpoolWriter struct + func NewTempSpoolWriter(baseDir string, slot uint64) (*TempSpoolWriter, error) + func (w *TempSpoolWriter) Close() error + func (w *TempSpoolWriter) Count() int + func (w *TempSpoolWriter) Path() string + func (w *TempSpoolWriter) WriteRecord(rec *SpoolRecord) error v0.1.0-alpha.1 Jan 15, 2026