consensus: remove seal verification from the consensus engine interface (#22274)
This commit is contained in:
parent
7ed860d4f1
commit
e74bd587f7
@ -434,12 +434,6 @@ func (c *Clique) VerifyUncles(chain consensus.ChainReader, block *types.Block) e
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// VerifySeal implements consensus.Engine, checking whether the signature contained
|
|
||||||
// in the header satisfies the consensus protocol requirements.
|
|
||||||
func (c *Clique) VerifySeal(chain consensus.ChainHeaderReader, header *types.Header) error {
|
|
||||||
return c.verifySeal(chain, header, nil)
|
|
||||||
}
|
|
||||||
|
|
||||||
// verifySeal checks whether the signature contained in the header satisfies the
|
// verifySeal checks whether the signature contained in the header satisfies the
|
||||||
// consensus protocol requirements. The method accepts an optional list of parent
|
// consensus protocol requirements. The method accepts an optional list of parent
|
||||||
// headers that aren't yet part of the local blockchain to generate the snapshots
|
// headers that aren't yet part of the local blockchain to generate the snapshots
|
||||||
|
@ -77,10 +77,6 @@ type Engine interface {
|
|||||||
// rules of a given engine.
|
// rules of a given engine.
|
||||||
VerifyUncles(chain ChainReader, block *types.Block) error
|
VerifyUncles(chain ChainReader, block *types.Block) error
|
||||||
|
|
||||||
// VerifySeal checks whether the crypto seal on a header is valid according to
|
|
||||||
// the consensus rules of the given engine.
|
|
||||||
VerifySeal(chain ChainHeaderReader, header *types.Header) error
|
|
||||||
|
|
||||||
// Prepare initializes the consensus fields of a block header according to the
|
// Prepare initializes the consensus fields of a block header according to the
|
||||||
// rules of a particular engine. The changes are executed inline.
|
// rules of a particular engine. The changes are executed inline.
|
||||||
Prepare(chain ChainHeaderReader, header *types.Header) error
|
Prepare(chain ChainHeaderReader, header *types.Header) error
|
||||||
|
@ -731,7 +731,7 @@ func TestConcurrentDiskCacheGeneration(t *testing.T) {
|
|||||||
defer pend.Done()
|
defer pend.Done()
|
||||||
ethash := New(Config{cachedir, 0, 1, false, "", 0, 0, false, ModeNormal, nil}, nil, false)
|
ethash := New(Config{cachedir, 0, 1, false, "", 0, 0, false, ModeNormal, nil}, nil, false)
|
||||||
defer ethash.Close()
|
defer ethash.Close()
|
||||||
if err := ethash.VerifySeal(nil, block.Header()); err != nil {
|
if err := ethash.verifySeal(nil, block.Header(), false); err != nil {
|
||||||
t.Errorf("proc %d: block verification failed: %v", idx, err)
|
t.Errorf("proc %d: block verification failed: %v", idx, err)
|
||||||
}
|
}
|
||||||
}(i)
|
}(i)
|
||||||
|
@ -288,7 +288,7 @@ func (ethash *Ethash) verifyHeader(chain consensus.ChainHeaderReader, header, pa
|
|||||||
}
|
}
|
||||||
// Verify the engine specific seal securing the block
|
// Verify the engine specific seal securing the block
|
||||||
if seal {
|
if seal {
|
||||||
if err := ethash.VerifySeal(chain, header); err != nil {
|
if err := ethash.verifySeal(chain, header, false); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -488,12 +488,6 @@ var FrontierDifficultyCalulator = calcDifficultyFrontier
|
|||||||
var HomesteadDifficultyCalulator = calcDifficultyHomestead
|
var HomesteadDifficultyCalulator = calcDifficultyHomestead
|
||||||
var DynamicDifficultyCalculator = makeDifficultyCalculator
|
var DynamicDifficultyCalculator = makeDifficultyCalculator
|
||||||
|
|
||||||
// VerifySeal implements consensus.Engine, checking whether the given block satisfies
|
|
||||||
// the PoW difficulty requirements.
|
|
||||||
func (ethash *Ethash) VerifySeal(chain consensus.ChainHeaderReader, header *types.Header) error {
|
|
||||||
return ethash.verifySeal(chain, header, false)
|
|
||||||
}
|
|
||||||
|
|
||||||
// verifySeal checks whether a block satisfies the PoW difficulty requirements,
|
// verifySeal checks whether a block satisfies the PoW difficulty requirements,
|
||||||
// either using the usual ethash cache for it, or alternatively using a full DAG
|
// either using the usual ethash cache for it, or alternatively using a full DAG
|
||||||
// to make remote mining fast.
|
// to make remote mining fast.
|
||||||
|
@ -46,7 +46,7 @@ func TestTestMode(t *testing.T) {
|
|||||||
case block := <-results:
|
case block := <-results:
|
||||||
header.Nonce = types.EncodeNonce(block.Nonce())
|
header.Nonce = types.EncodeNonce(block.Nonce())
|
||||||
header.MixDigest = block.MixDigest()
|
header.MixDigest = block.MixDigest()
|
||||||
if err := ethash.VerifySeal(nil, header); err != nil {
|
if err := ethash.verifySeal(nil, header, false); err != nil {
|
||||||
t.Fatalf("unexpected verification error: %v", err)
|
t.Fatalf("unexpected verification error: %v", err)
|
||||||
}
|
}
|
||||||
case <-time.NewTimer(4 * time.Second).C:
|
case <-time.NewTimer(4 * time.Second).C:
|
||||||
@ -86,7 +86,7 @@ func verifyTest(wg *sync.WaitGroup, e *Ethash, workerIndex, epochs int) {
|
|||||||
block = 0
|
block = 0
|
||||||
}
|
}
|
||||||
header := &types.Header{Number: big.NewInt(block), Difficulty: big.NewInt(100)}
|
header := &types.Header{Number: big.NewInt(block), Difficulty: big.NewInt(100)}
|
||||||
e.VerifySeal(nil, header)
|
e.verifySeal(nil, header, false)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user