mirror of
https://gitlab.com/pulsechaincom/prysm-pulse.git
synced 2024-12-22 03:30:35 +00:00
cebb62997d
* Add AFL third_party libraries * add beacon state fuzzing, add afl fuzz bundle * rm fuzzing engine * fix and lint * Check for array out of bounds when calculating proposer delta * failing test * fix * Checkpoint progress * Add requirement that inclusion distance is not zero, add regression test * No need for HTR since that is covered in process slots * Removing some fuzzit logic, old fuzz tests * Add ssz encoder test and fix * Fuzzing checkpoint, adding fuzzing to the p2p layer * ignore some libfuzzer files * Full testing of p2p processing of blocks, with some mocked stuff * use tmpdir and always process blocks * use checkptr * Update ethereumapis * go mod tidy * benchmarks for ferran's fast ssz hash tree root * Update fastssz * fmt * gaz * goimports * Fix * fix ethereumapis * fix again * kafka * fix gen file * fix compute signing root * gofmt * checkpoint progress * progress * checkpoint * updates * updates * merge fix * WIP * merge * fix build * fix merge related issues * cleanup * revert unrelated * lint * lint * lint * manual tags for fuzz * Commentary on upload script * some import fixes, but not all * fix //fuzz:fuzz_tests * rm unused test * update generated ssz * Set // +build libfuzzer * remove debug code * A bit of refactoring ot explain why there is a committee_disabled file Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
41 lines
944 B
Go
41 lines
944 B
Go
package fuzz
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
|
|
stateutil "github.com/prysmaticlabs/prysm/beacon-chain/core/state"
|
|
"github.com/prysmaticlabs/prysm/beacon-chain/state"
|
|
pb "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1"
|
|
"github.com/prysmaticlabs/prysm/shared/featureconfig"
|
|
"github.com/prysmaticlabs/prysm/shared/params"
|
|
)
|
|
|
|
func init() {
|
|
featureconfig.Init(&featureconfig.Flags{
|
|
EnableSSZCache: false,
|
|
})
|
|
}
|
|
|
|
// BeaconStateFuzz --
|
|
func BeaconStateFuzz(input []byte) {
|
|
params.UseMainnetConfig()
|
|
st := &pb.BeaconState{}
|
|
if err := st.UnmarshalSSZ(input); err != nil {
|
|
return
|
|
}
|
|
s, err := state.InitializeFromProtoUnsafe(st)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
nextEpoch := helpers.SlotToEpoch(s.Slot()) + 1
|
|
slot, err := helpers.StartSlot(nextEpoch)
|
|
if err != nil {
|
|
return
|
|
}
|
|
if _, err := stateutil.ProcessSlots(context.Background(), s, slot); err != nil {
|
|
_ = err
|
|
return
|
|
}
|
|
}
|