les, light: remove untrusted header retrieval in ODR (#21907)

* les, light: remove untrusted header retrieval in ODR

* les: polish

* light: check the hash equality in odr
This commit is contained in:
gary rong
2020-12-10 21:33:52 +08:00
committed by GitHub
parent 817a3fb562
commit 9f6bb492bb
9 changed files with 125 additions and 82 deletions

View File

@@ -30,6 +30,10 @@ import (
"github.com/ethereum/go-ethereum/trie"
)
var (
sha3Nil = crypto.Keccak256Hash(nil)
)
func NewState(ctx context.Context, head *types.Header, odr OdrBackend) *state.StateDB {
state, _ := state.New(head.Root, NewStateDatabase(ctx, head, odr), nil)
return state