mirror of
https://gitlab.com/pulsechaincom/prysm-pulse.git
synced 2024-12-25 21:07:18 +00:00
Use latest block header + slot as skip slot cache key (#8443)
This commit is contained in:
parent
0716519be9
commit
28839fbab2
@ -2,6 +2,7 @@ package state
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"errors"
|
||||||
|
|
||||||
"github.com/prysmaticlabs/prysm/beacon-chain/cache"
|
"github.com/prysmaticlabs/prysm/beacon-chain/cache"
|
||||||
beaconstate "github.com/prysmaticlabs/prysm/beacon-chain/state"
|
beaconstate "github.com/prysmaticlabs/prysm/beacon-chain/state"
|
||||||
@ -19,7 +20,11 @@ var SkipSlotCache = cache.NewSkipSlotCache()
|
|||||||
// state root is in the mix to defend against different forks with same skip slots
|
// state root is in the mix to defend against different forks with same skip slots
|
||||||
// to hit the same cache. We don't want beacon states mixed up between different chains.
|
// to hit the same cache. We don't want beacon states mixed up between different chains.
|
||||||
func cacheKey(ctx context.Context, state *beaconstate.BeaconState) ([32]byte, error) {
|
func cacheKey(ctx context.Context, state *beaconstate.BeaconState) ([32]byte, error) {
|
||||||
r, err := state.HashTreeRoot(ctx)
|
bh := state.LatestBlockHeader()
|
||||||
|
if bh == nil {
|
||||||
|
return [32]byte{}, errors.New("block head in state can't be nil")
|
||||||
|
}
|
||||||
|
r, err := bh.HashTreeRoot()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return [32]byte{}, err
|
return [32]byte{}, err
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user