prysm-pulse/shared/featureconfig/flags.go
terence tsao c2deace3f4 Implement Cache Committee for RPC Server (#2151)
* add committees cache

* Hook committee cache to rpc service

* fixed TestCommitteeAssignment_OK

* comments for ValidatorAssignment

* added tests for committees cache

* more updates to committee_cache_test.go

* new tests in validator_Server_test for cached/uncached scenearios

* removed ????

* gaz

* fmt

* added feature flags

* fmt

* remove hello

* uncomment

* lint

* Update beacon-chain/rpc/validator_server.go

Co-Authored-By: terenc3t <terence@prysmaticlabs.com>

* preseton's feedback

* better err handling

* fixed tests
2019-04-10 03:36:49 -04:00

55 lines
2.2 KiB
Go

package featureconfig
import (
"github.com/urfave/cli"
)
var (
// VerifyAttestationSigsFlag determines whether to verify signatures for attestations.
VerifyAttestationSigsFlag = cli.BoolFlag{
Name: "enable-attestation-signature-verification",
Usage: "Verify signatures for attestations.",
}
// EnableComputeStateRootFlag enables the implemenation for the proposer RPC
// method to compute the state root of a given block. This feature is not
// necessary for the first iteration of the test network, but critical to
// future work. This flag can be removed once we are satisified that it works
// well without issue.
EnableComputeStateRootFlag = cli.BoolFlag{
Name: "enable-compute-state-root",
Usage: "Enable server side compute state root. Default is a no-op implementation.",
}
// EnableCrosslinksFlag enables the processing of crosslinks in epoch processing. It is disabled by default.
EnableCrosslinksFlag = cli.BoolFlag{
Name: "enable-crosslinks",
Usage: "Enable crosslinks in epoch processing, default is disabled.",
}
// EnableCommitteesCacheFlag enables crosslink committees cache for rpc server. It is disabled by default.
EnableCommitteesCacheFlag = cli.BoolFlag{
Name: "enable-committees-cache",
Usage: "Enable crosslink committees cache for rpc server, default is disabled.",
}
// EnableCheckBlockStateRootFlag check block state root in block processing. It is disabled by default.
EnableCheckBlockStateRootFlag = cli.BoolFlag{
Name: "enable-check-block-state-root",
Usage: "Enable check block state root in block processing, default is disabled.",
}
// EnableHistoricalStatePruningFlag allows the database to prune old historical states.
EnableHistoricalStatePruningFlag = cli.BoolFlag{
Name: "enable-historical-state-pruning",
Usage: "Enable database pruning of historical states after finalized epochs",
}
)
// ValidatorFlags contains a list of all the feature flags that apply to the validator client.
var ValidatorFlags = []cli.Flag{}
// BeaconChainFlags contains a list of all the feature flags that apply to the beacon-chain client.
var BeaconChainFlags = []cli.Flag{
EnableComputeStateRootFlag,
EnableCrosslinksFlag,
EnableCommitteesCacheFlag,
EnableCheckBlockStateRootFlag,
EnableHistoricalStatePruningFlag,
}