Andrew Ashikhmin
9b63764b16
Move ApplyDAOHardFork & UpgradeBuildInSystemContract to engine.Initialize ( #8095 )
...
Now all protocol-stipulated changes at the beginning of the block (AuRa
stuff,
[DAO](https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/dao-fork.md )
irregular state change, Calcutta system contract upgrade,
[EIP-4788](https://eips.ethereum.org/EIPS/eip-4788 ) beacon root) are
handled by consensus engine `Initialize()`.
2023-08-30 15:51:19 +02:00
Andrew Ashikhmin
f854a73185
Add enough blob gas for block building (EIP-4844) ( #8001 )
2023-08-11 16:09:03 +02:00
Andrew Ashikhmin
03927d3e27
Call InitializeBlockExecution in SpawnMiningExecStage (EIP-4788) ( #7999 )
...
This fixes the trie state root issue that was occurring in the Hive
tests for Cancun.
2023-08-11 14:04:53 +02:00
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
Somnath Banerjee
71231140a5
Block Gas limit contract integration for Chiado ( #7727 )
...
Changes summary:
- Continue with the gasLimit check skip in ``verifyHeader`` of
``merge.go`` for unless pre-merge block and blockGasLimitContract
present
- Refactor ``aura.go`` a bit
- Have ``sysCall`` method customized to be able to call state (contract)
at a parent (or any other) header state
2023-06-19 22:06:51 +05:30
Andrew Ashikhmin
190bc9dfd8
EIP-4844: add data_gas_used ( #7639 )
...
Implement https://github.com/ethereum/EIPs/pull/7062 and
https://github.com/ethereum/EIPs/pull/7095 . Pick up
https://github.com/ledgerwatch/erigon-lib/pull/1006 .
2023-06-02 21:26:19 +01:00
Andrew Ashikhmin
f3144a6ed0
Proper Gnosis Chain rewards in trace_block ( #7473 )
2023-05-09 17:19:23 +02:00
Andrew Ashikhmin
1533674dad
Implement EIP-1153 transient storage ( #7405 )
...
Port https://github.com/ethereum/go-ethereum/pull/26003
---------
Co-authored-by: Mark Tyneway <mark.tyneway@gmail.com>
2023-05-01 18:26:24 +02:00
Andrew Ashikhmin
96bb5d544b
Remove Parlia ( #7306 )
...
Pre-requisite: https://github.com/ledgerwatch/erigon-lib/pull/969
2023-04-14 06:24:10 +00:00
alex.sharov
6e57f3ef92
e3: less conlicts
2023-04-10 09:38:08 +07:00
Alex Sharov
e26c607922
e3: combine input tasks channel+heap to class PriorityQueueWithRetry and add docs ( #7275 )
2023-04-07 06:43:05 +00:00
Alex Sharov
a42d362cbd
move aura epoch data from chainDB to auraDB. remove epochReader
parameter from consensus interface ( #7250 )
2023-04-04 03:30:07 +00:00
racytech
04b57904b0
eip-4844: excessDataGas param added to block execution functions ( #7217 )
...
Small addition to block execution functions. Now they expect
excessDataGas param so the BlockContext can be created with it.
2023-03-30 20:42:43 +00:00
Alex Sharov
417a437584
Break dependency of ethcfg
package to core
/consensus
/etc... move genesis struct to 'types' package ( #7206 )
2023-03-29 07:27:06 +00:00
Alex Sharov
201572c6f5
enable more linters #954 ( #7179 )
2023-03-25 05:13:27 +00:00
Alex Sharov
f432cde16b
e3: reconst: run workers in errgroup ( #7071 )
2023-03-13 04:04:49 +00:00
Andrew Ashikhmin
3270720cb7
Remove ETC-specific DAOForkSupport=false functionality ( #7075 )
2023-03-10 12:10:11 +00:00
ledgerwatch
ee83447fa1
CL lightclient to create memdb in the tmpdir which gets cleaned up on… ( #6829 )
...
… startup
---------
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro-2.local>
2023-02-11 20:44:51 +00:00
Andrew Ashikhmin
de5a061fdf
Remove StarknetTransaction and friends ( #6745 )
2023-01-30 16:56:58 +01:00
Alex Sharov
d317722aef
e3: storageRangeAt ( #6580 )
2023-01-17 14:16:36 +07:00
hexoscott
7dcbfbc283
reference hash, address, and chain config from lib ( #6536 )
2023-01-13 18:12:18 +00:00
Alex Sharov
b0af04f2df
bsc: incrementally calc and store all old snapshots. slower initial stage_snapshots, but faster restart during initial sync ( #6457 )
2022-12-30 12:44:54 +07:00
Alex Sharov
e7104c9a68
e3: support withdrawals ( #6467 )
2022-12-29 19:57:58 +07:00
Alex Sharov
ade933be6b
kv_remote: server to support thread-safe multi-streams per 1 tx ( #6402 )
2022-12-24 13:11:15 +07:00
ledgerwatch
b5a7faa8db
[e3] Incremental reconstitution ( #6270 )
...
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro-2.local>
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-12-10 09:34:17 +00:00
Alex Sharov
c401a2e9d2
e3: experiment with Ibs.Reset ( #6159 )
2022-12-04 11:45:06 +07:00
Andrew Ashikhmin
d82c778ab3
Withdrawals part 1 ( #6009 )
...
This PR partially implements
[EIP-4895](https://eips.ethereum.org/EIPS/eip-4895 ): Beacon chain push
withdrawals as operations. The new Engine API methods
(https://github.com/ethereum/execution-apis/pull/195 ) are implemented.
_Body downloader and saving withdrawals into DB are not implemented
yet!_
2022-12-01 09:15:01 +01:00
Alex Sharov
16cd87748f
E3: fix unwind changes visibility ( #6147 )
2022-11-30 08:31:13 +07:00
Alex Sharov
e47c4f7a7a
e3: use usual headerfunc ( #6099 )
2022-11-21 12:39:51 +07:00
Alex Sharov
9bcd7fe6c3
e3: reduce state write lock ( #6096 )
2022-11-21 10:38:22 +07:00
Andrew Ashikhmin
e469afdff5
Rewrite bytecode of the token contract on Gnosis Chain ( #5997 )
...
See https://github.com/NethermindEth/nethermind/pull/3930
2022-11-08 13:03:06 +01:00
Andrew Ashikhmin
d4c2acc152
AuRa system calls to Certifier should be const ( #5929 )
...
This fixes gas used in
https://gnosisscan.io/tx/0x8f3b839a3d179102084a58dc4c3ec91fe13bb00cc1450cd69d22add7f25444e3
2022-11-01 14:37:45 +01:00
Alex Sharov
fde630f76b
e3: wal preallocate historyKey #713 ( #5899 )
2022-10-29 19:18:35 +07:00
Alex Sharov
2d7cd0fae2
e3: better prune logs, apply thread can work without rwTx ( #5860 )
2022-10-25 16:08:01 +07:00
Alex Sharov
4ca4aa7144
e3: bsc recon leack fix ( #5852 )
2022-10-24 09:14:34 +07:00
Alex Sharov
993fde4d92
E3: par logs ( #5839 )
2022-10-23 18:51:14 +07:00
Alex Sharov
ae449eba4a
E3 exec atomics ( #5641 )
2022-10-06 13:11:11 +07:00
Alex Sharov
ca9aa4723c
Compress params change ( #5631 )
...
as of https://github.com/ledgerwatch/erigon-lib/pull/651
2022-10-05 17:54:54 +07:00
Alex Sharov
39383d936d
erigon3: move tx.AsMessage() out of critical path ( #5611 )
...
* save
* save
2022-10-04 10:56:41 +01:00
Alex Sharov
e26243f14c
erigon3: fix state reconstitution segfault #5537
2022-09-27 11:40:47 +07:00
Alex Sharov
fb44051a82
erigon3: move temporary db creation inside Recon22 ( #5533 )
2022-09-27 10:41:30 +07:00
Alex Sharov
cb60382e6d
erigon3: rename "history.v2" to "history.v3" to avoid naming miss-match with "erigon3" ( #5519 )
2022-09-26 10:54:42 +07:00