-
Notifications
You must be signed in to change notification settings - Fork 12
/
prunable_epoch.go
40 lines (32 loc) · 987 Bytes
/
prunable_epoch.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package prunable
import (
"github.com/iotaledger/hive.go/kvstore"
"github.com/iotaledger/iota-core/pkg/core/account"
"github.com/iotaledger/iota-core/pkg/model"
"github.com/iotaledger/iota-core/pkg/storage/prunable/epochstore"
iotago "github.com/iotaledger/iota.go/v4"
)
const (
epochPrefixDecidedUpgradeSignals byte = iota
epochPrefixPoolRewards
epochPrefixPoolStats
epochPrefixCommittee
)
const (
pruningDelayDecidedUpgradeSignals = 7
)
func (p *Prunable) RewardsForEpoch(epoch iotago.EpochIndex) (kvstore.KVStore, error) {
return p.poolRewards.GetEpoch(epoch)
}
func (p *Prunable) Rewards() *epochstore.EpochKVStore {
return p.poolRewards
}
func (p *Prunable) PoolStats() *epochstore.BaseStore[*model.PoolsStats] {
return p.poolStats
}
func (p *Prunable) DecidedUpgradeSignals() *epochstore.BaseStore[model.VersionAndHash] {
return p.decidedUpgradeSignals
}
func (p *Prunable) Committee() *epochstore.CachedStore[*account.SeatedAccounts] {
return p.committee
}