Andrew Ashikhmin
dd43d486f3
Enable London in AllEthashProtocolChanges ( #5891 )
...
`AllEthashProtocolChanges` should contain all the EIPs accepted by the
core developers into the Ethash consensus, including the
[London](https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/london.md )
protocol upgrade.
2022-10-28 17:19:18 +02:00
Alex Sharov
0074ad0e48
e3: parallel exec, rotate and partial-flush of indices wal - while main thread is idle ( #5889 )
...
While main thread is idle (apply is on RoTx now):
- periodically still hisotry/index etl collectors and load them to db
- prune old history/index in db
Also:
- fixed RAM estimation calculation of State22
2022-10-28 21:13:53 +07:00
Andrew Ashikhmin
f46300e37e
core/vm: Rename SHA3 instruction to KECCAK256 ( #5890 )
...
Cherry-pick https://github.com/ethereum/go-ethereum/pull/23976
Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>
2022-10-28 13:38:34 +02:00
Alex Sharov
8d1ed547b0
E3: parallel exec, apply on roTx ( #5879 )
2022-10-28 08:47:45 +07:00
Giulio rebuffo
5a321d6240
Dispersed fixes for incremental verkle trees ( #5880 )
2022-10-27 10:22:53 +02:00
Andrew Ashikhmin
6a5968e7f0
AuRa service transactions are free ( #5873 )
...
and the don't pay baseFee after EIP-1559.
See https://openethereum.github.io/Permissioning.html#gas-price
2022-10-26 13:03:47 +02: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
26fdf9169d
move all packages from "internal" folder - to simplify users live ( #5857 )
2022-10-25 09:58:25 +07:00
Alex Sharov
592ad57921
add DECOMPRESS_CONDENSITY env variable ( #5853 )
2022-10-24 10:00:55 +07:00
Alex Sharov
8d75d0dc4b
e3: return old reader version ( #5849 )
2022-10-23 19:22:33 +07:00
Alex Sharov
993fde4d92
E3: par logs ( #5839 )
2022-10-23 18:51:14 +07:00
Alex Sharov
96233cfa7f
e3: metrics ( #5846 )
2022-10-23 17:05:26 +07:00
Alex Sharov
d6de913a34
e3: fix races ( #5822 )
2022-10-21 21:02:18 +07:00
Andrew Ashikhmin
da354bc01a
Unify Bor burntContract with Gnosis eip1559FeeCollector ( #5798 )
2022-10-21 13:03:38 +02:00
Andrew Ashikhmin
64a3156112
Support BaseFee in AuRa headers ( #5820 )
...
BaseFee is required in AuRa headers when
[EIP-1559](https://eips.ethereum.org/EIPS/eip-1559 ) is activated.
Also:
- Basic AuRa header verification
- Extract some common RLP methods
- Tiny log clean-up
2022-10-21 12:43:44 +02:00
Alex Sharov
86551e82f4
e3: parallel build missed indices ( #5817 )
2022-10-21 13:45:20 +07:00
Levi Aul
e85d4b76aa
Return bor receipts correctly in getTransactionReceipt and getBlockReceipts ( #5787 )
...
Fixes a nil-pointer dereference in Decode when attempting to call
`getTransactionReceipt` / `getBlockReceipts` on blocks containing
stateSync events.
2022-10-20 19:25:46 +01:00
Alex Sharov
0db6b9b44b
e3: move skip analysis out of the loop ( #5803 )
2022-10-20 10:39:40 +07:00
Andrew Ashikhmin
0fb74172a8
FinalizeTx after engine.Initialize ( #5783 )
...
AuRa storage changes made by `onEpochBegin` should be finalized.
Otherwise, `SSTORE` cost might be incorrect in block transactions when
[EIP-2200](https://eips.ethereum.org/EIPS/eip-2200 ) is active.
https://gnosisscan.io/tx/0xa6d45d903c977ad237165737ebc4e34fb7756675719d112a199af858bb1275e0
is an example of a transaction on Gnosis Chain whose gas used was
previously calculated incorrectly.
2022-10-18 10:44:56 +02:00
Andrew Ashikhmin
241348c5d4
core: implement EIP-3651, warm coinbase ( #5745 )
...
[EIP-3651](https://eips.ethereum.org/EIPS/eip-3651 ) is part of
[Shanghai](https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/shanghai.md ).
Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
2022-10-14 14:00:00 +02:00
Alex Sharov
1f8bd5de1b
e3: less allocations reconstitution ( #5735 )
2022-10-13 21:25:57 +07:00
Alex Sharov
63a6fb29ba
e3: cleanup ( #5729 )
2022-10-13 12:09:14 +07:00
Alex Sharov
86a03987d8
e3: header no copy ( #5727 )
2022-10-13 11:07:42 +07:00
Alex Sharov
b12b0d4627
e3: history bsc and mainnet snapshots ( #5725 )
2022-10-13 09:46:32 +07:00
Alex Sharov
d2436ab344
e3: optimize stateWriter.Put ( #5724 )
2022-10-13 09:37:14 +07:00
ledgerwatch
df5c16fe06
Not use IsMaxStorageTxNum function ( #5715 )
...
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-10-12 13:38:51 +01:00
Alex Sharov
a9853d2ef8
Recon parallel: split ReconState to 2 objects to avoid lock contention between .Done() and .Get(), less ram in beginning ( #5713 )
2022-10-12 17:23:10 +07:00
ledgerwatch
750d23427d
Covalenthq move status execution flag into vm config ( #5710 )
...
Co-authored-by: Sudeep <sudeepdino008@gmail.com>
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-10-12 09:27:48 +01:00
Alex Sharov
4795217e4e
e3: prevent files ranges overlap ( #5684 )
2022-10-12 10:18:55 +07:00
Giulio rebuffo
7e6896b72e
downgraded go-verkle to safe ( #5707 )
...
Co-authored-by: giuliorebuffo <giuliorebuffo@system76-pc.localdomain>
2022-10-12 00:38:02 +02:00
Andrew Ashikhmin
7286a0fef7
Create in-memory MDBX inside dirs.Tmp ( #5702 )
...
Previously "in-memory" MDBX instances for fork validation and mining
were created inside `os.TempDir()`. We should create them inside
Erigon's datadir so that the file permissions and the disk are the same
as for the main database.
Prerequisite: https://github.com/ledgerwatch/erigon-lib/pull/676 .
2022-10-11 16:49:38 +01:00
Tim Mustafin
70851c35ee
[BSC] support for Moran fork ( #5696 )
...
This PR brings support for BSC Moran fork
Co-authored-by: Timur Mustafin <timur@mustafin.dev>
2022-10-11 13:33:32 +01:00
Andrew Ashikhmin
b8059d7f96
No MaxCodeSize limit for AuRa ( #5685 )
...
[Nethermind/Chains/xdai.json](https://github.com/NethermindEth/nethermind/blob/master/src/Nethermind/Chains/xdai.json )
does not contain `maxCodeSize`, so it defaults to 2^63-1 (virtually
unlimited).
https://gnosisscan.io/tx/0x3bfa6631d0a3a845c16674f56771de30bc840e828ea8ead21dbea04541a30173
is a transaction example on Gnosis Chain where the code size exceed the
mainnet `maxCodeSize` of 24576.
2022-10-10 12:11:12 +02:00
Levi Aul
7144b2664c
Support BSC Nano hardfork ( #5654 )
2022-10-07 07:20:48 +01:00
Andrew Ashikhmin
ca60b197a1
Fix Gnosis Chain transition to safeContract validator ( #5645 )
2022-10-06 18:06:18 +02: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
Andrew Ashikhmin
2217b2785e
SysCallContract shouldn't increase nonce of SystemAddress ( #5617 )
...
* Test GnosisGenesisStateRoot
* Delete obsolete allocations
* SysCallContract shouldn't increase nonce of SystemAddress
* Max gas limit in SysCallContract
* Restore error swallowing for Bor
2022-10-04 18:02:17 +02:00
ledgerwatch
fd52a788b7
Fix creation of block snapshots ( #5579 )
...
* Print snapshot prune
* More print
* Print
* Print
* Print
* Move snapshots stage forward
* Cleanup
* Fix tests
* Print
* Too much logging
* Remove print
* Log, check
* Revert
* No panic, print
* Fix tx numbering
* Harder condition to start retiring blocks
* Disable Pow verification after TTD is reached
* Fix POW verifying
* Print
* Prints
* Fix?
* cleanup
* Add migrations and hack
* More diagnostics
* More print
* Reset sequence only once
* Fix migration
* Remove print reset
* Fix lint
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2022-10-04 11:14:18 +01:00
Alex Sharov
39383d936d
erigon3: move tx.AsMessage() out of critical path ( #5611 )
...
* save
* save
2022-10-04 10:56:41 +01:00
hexoscott
b581bf30c0
Reintroduce oom fix ( #5604 )
...
* bring back oom fix for bodies with some new tweaks
* use in memory body cache when processing stages in memory
2022-10-04 10:44:23 +01:00
Andrew Ashikhmin
ffe983b06d
Fix callBlockRewardAbi ( #5600 )
...
* Add a comment
* Fix callBlockRewardAbi
2022-10-03 10:53:07 +02:00
Enrique Jose Avila Asapche
c2a1558923
changed erigon logs fields ( #5476 )
...
* changed erigon logs fields
* lint
* Update erigon_receipts.go (#5485 )
* lint
Co-authored-by: a <edward9.lee@gmail.com>
2022-09-28 20:46:42 +01:00
Giulio rebuffo
62d4552b03
Updated go-verkle library ( #5548 )
...
* updated go verkle
* updated go verkle
* now it is well adapted
* accessories
Co-authored-by: giuliorebuffo <giuliorebuffo@system76-pc.localdomain>
2022-09-27 22:45:48 +02:00
ledgerwatch
11893429f5
cleanup bloombits and filters ( #5551 )
...
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-09-27 17:19:59 +01:00
Enrique Jose Avila Asapche
a968c7ed5b
cleaned up storage and retrieval of state sync receipts ( #5379 )
...
* cleaned up storage and retrieval of state sync receipts
* added ctx to the error and got rid of unused var
* missing one
* small change
* log error
* ops
* read header number
* checking if status is succesful
* nil ptr err
2022-09-27 11:39:58 +01:00
ledgerwatch
c094a2b960
Revert "OOM fix for bodies stage ( #5253 )" ( #5525 )
...
This reverts commit 7fc7b91270abefe15be7daa2af235961f0d9c203.
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-09-26 15:27:38 +01: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
Andrew Ashikhmin
4b55358bde
Fix Gnosis Chain fork ID ( #5487 )
2022-09-23 12:26:35 +02:00
ledgerwatch
8b65d45499
Fix state reconstitution after change of txNums semantics ( #5484 )
...
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-09-23 08:46:25 +07:00
Giulio rebuffo
a9bde213d9
Introduced separate buckets for Verkle tries ( #5480 )
...
* updated Erigon lib
* updated Erigon lib
* added proper verkle database buckets
Co-authored-by: giuliorebuffo <giuliorebuffo@system76-pc.localdomain>
2022-09-22 19:03:57 +02:00