Shout-out to @Gabriel-Trintinalia for discovering this issue. The gist of it as follows: When processing a block, we should provide the parent block as well as the last 256 block hashes. Some of these parents data (specifically the hash) was incorrect because even though during the processing of the parent block we have updated the header, that header was not updating the TransactionsRoot and ReceiptsRoot fields (types.NewBlock makes a new copy of the header and changes it only on that instance). --------- Co-authored-by: lightclient <lightclient@protonmail.com> |
||
---|---|---|
.. | ||
override | ||
testdata | ||
addrlock.go | ||
api.go | ||
api_test.go | ||
backend.go | ||
dbapi.go | ||
errors.go | ||
logtracer.go | ||
simulate.go | ||
simulate_test.go | ||
transaction_args.go | ||
transaction_args_test.go |