erigon-pulse/consensus/ethash
Mark Holt bd9896bf4b
added bor tx indexing with tests (#7826)
This request implements the insertion of Bor ephemeral transactions into
snapshot indexes.

I does this by taking the block hash from the header index and passing
it to the transaction indexer to add an additional index entry per block
into the transaction hash -> block index.

The passed entries are currently contained in an in memory array which
is (32 * number of blocks / sprint size) bytes.

In addition to the functional code there is also an update to the
`dump_test.go` so that it runs `DumpBlocks` to exercise the indexing
code. To facilitate this the `InsertChain` method in `mock_sentry` has
been modified so that it can process >128 blocks.

The code in this request also includes additional bor/consensus code
with the following functions:

`CalculateSprint`
`CalculateSprintCount`

The first function is a modification of the code in erigon-lib so that
the sprints are numerically rather than lexically ordered. This code
should be migrated to erigon-lib and should have its sprint set
calculated once from its underlying map rather than this process being
repeated every calculation.

---------

Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro-2.local>
Co-authored-by: ledgerwatch <akhounov@gmail.com>
Co-authored-by: Enrique Jose  Avila Asapche <eavilaasapche@gmail.com>
Co-authored-by: Giulio <giulio.rebuffo@gmail.com>
2023-07-12 23:31:38 +01:00
..
ethashcfg Break dependency of ethcfg package to core/consensus/etc... move genesis struct to 'types' package (#7206) 2023-03-29 07:27:06 +00:00
algorithm_test.go reference hash, address, and chain config from lib (#6536) 2023-01-13 18:12:18 +00:00
algorithm.go reference hash, address, and chain config from lib (#6536) 2023-01-13 18:12:18 +00:00
api.go reference hash, address, and chain config from lib (#6536) 2023-01-13 18:12:18 +00:00
consensus_test.go reference hash, address, and chain config from lib (#6536) 2023-01-13 18:12:18 +00:00
consensus.go added bor tx indexing with tests (#7826) 2023-07-12 23:31:38 +01:00
difficulty.go up version of uint256 lib (#2082) 2021-06-04 17:25:28 +01:00
ethash_test.go reference hash, address, and chain config from lib (#6536) 2023-01-13 18:12:18 +00:00
ethash.go Break dependency of ethcfg package to core/consensus/etc... move genesis struct to 'types' package (#7206) 2023-03-29 07:27:06 +00:00
fake.go Break dependency of ethcfg package to core/consensus/etc... move genesis struct to 'types' package (#7206) 2023-03-29 07:27:06 +00:00
sealer_test.go Break dependency of ethcfg package to core/consensus/etc... move genesis struct to 'types' package (#7206) 2023-03-29 07:27:06 +00:00
sealer.go reference hash, address, and chain config from lib (#6536) 2023-01-13 18:12:18 +00:00