NewForkChoice¶
| Source (upstream pre-purge) | Current | |
|---|---|---|
| File | core/forkchoice.go |
forkchoice_pow.go |
| Symbol | NewForkChoice |
NewForkChoice |
| Ref | f4d53133f~1 |
etc/v1.17.3-full-node |
3-way merge — purge → getc ← upstream¶
pre-purge
↗func NewForkChoice(chainReader ChainReader, preserve func(header *types.Header) bool) *ForkChoice {
// Seed a fast but crypto originating random generator
seed, err := crand.Int(crand.Reader, big.NewInt(math.MaxInt64))
if err != nil {
log.Crit("Failed to initialize random seed", "err", err)
}
return &ForkChoice{
chain: chainReader,
rand: mrand.New(mrand.NewSource(seed.Int64())),
preserve: preserve,
}
}
core-geth validation — +1 -1
| | | |---|---| | File | [`forkchoice.go`](https://github.com/etclabscore/core-geth/blob/v1.12.20/core/forkchoice.go) | | Symbol | `NewForkChoice` | | Ref | `v1.12.20` |--- a/core-geth/core/forkchoice.go
+++ b/etc/core/forkchoice_pow.go
@@ -1,4 +1,4 @@
-func NewForkChoice(chainReader consensus.ChainHeaderReader, preserve func(header *types.Header) bool) *ForkChoice {
+func NewForkChoice(chainReader ChainReader, preserve func(header *types.Header) bool) *ForkChoice {
// Seed a fast but crypto originating random generator
seed, err := crand.Int(crand.Reader, big.NewInt(math.MaxInt64))
if err != nil {