go-ethereum/tests
Manav Darji adad83d6ac
consensus/bor: add span store abstraction for stateless verification (#1472)
Add a new abstraction called span store in bor consensus. This makes the header verification stateless as instead of fetching validator set (of a span) from genesis contract, we rely on span from heimdall itself for validator set. This doesn't change any assumptions for consensus as the data in genesis contracts is written by fetching span details from heimdall in the first place. 

This helps us with multiple things such as header verification for snap sync, validating producer set against header's extra data, and using heimdall as a source of truth instead of making a contract call to genesis contract which generally leads to issues when importing side chains (as we need to use the side chain state and not canonical). 

Span store is a minimal cache which maintains last 10 spans in memory. It provide simple read methods via span id and block number so that we can use it in consensus.
2025-05-07 21:34:12 +05:30
..
bor consensus/bor: add span store abstraction for stateless verification (#1472) 2025-05-07 21:34:12 +05:30
deps Prepare Bor package for testing (#416) 2022-06-08 16:39:30 +03:00
fuzzers fix: lint, add: milestone related tests in downloader 2024-09-05 14:03:10 +05:30
solidity all: update license headers and AUTHORS from git history (#24947) 2022-05-24 20:39:40 +02:00
block_test.go all: remove forkchoicer and reorgNeeded (#29179) 2024-09-04 15:03:06 +02:00
block_test_util.go Merge tag 'v1.14.10' into lmartins/upstream_merge_v1.14.10 2025-02-04 07:41:07 -03:00
difficulty_test.go dev: add: merge upstream 2023-06-09 14:34:30 +02:00
difficulty_test_util.go dev: fix: most of wsl lint issues 2023-06-15 15:48:26 +02:00
gen_btheader.go Merge tag 'v1.13.5' of https://github.com/ethereum/go-ethereum into shivam/upstream-geth-1.13.5 2023-12-15 13:55:57 +05:30
gen_difficultytest.go dev: fix: most of wsl lint issues 2023-06-15 15:48:26 +02:00
gen_stenv.go Merge branch 'release/1.13' into upstream_merge_1.13 2024-07-10 11:19:34 +05:30
gen_sttransaction.go Merge tag 'v1.13.5' of https://github.com/ethereum/go-ethereum into shivam/upstream-geth-1.13.5 2023-12-15 13:55:57 +05:30
init.go Merge tag 'v1.14.10' into lmartins/upstream_merge_v1.14.10 2025-02-04 07:41:07 -03:00
init_test.go Merge tag 'v1.14.6' into upstream_merge_1.14.6 2024-08-05 16:29:10 +05:30
rlp_test.go new: dev: pos-398 restore old testing way 2022-07-12 11:53:30 +02:00
rlp_test_util.go merge geth v1.12.2 into develop 2023-08-18 14:05:34 +05:30
state_test.go fix test-integration 2025-02-04 11:10:19 -03:00
state_test_util.go Merge remote-tracking branch 'origin/upstream_merge_v1.14.8' into lmartins/upstream_merge_v1.14.10 2025-02-04 10:35:52 -03:00
transaction_test.go make bor && make all successful 2025-01-22 15:36:07 +05:30
transaction_test_util.go make bor && make all successful 2025-01-22 15:36:07 +05:30