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
Giulio rebuffo
4932aa5264
added indexes to beacon blocks ( #6460 )
2022-12-29 15:15:25 +01:00
Alex Sharov
e7104c9a68
e3: support withdrawals ( #6467 )
2022-12-29 19:57:58 +07:00
alex.sharov
82e7893837
e3: remove debug line
2022-12-29 18:52:33 +07:00
alex.sharov
ed94d60671
e3: disable some checks for genesis, to fix tests
2022-12-29 16:04:56 +07:00
Alex Sharov
c04668d0ff
e3: agg cancel background jobs ( #6463 )
2022-12-29 15:04:07 +07:00
Andrew Ashikhmin
0fdd60a0d1
Execution Spec Tests & HashCheck() ( #6444 )
...
Run tests from a new repo
https://github.com/ethereum/execution-spec-tests .
Also introduce `HashCheck()` function that checks correctness of block's
uncle, transaction, and withdrawals hashes.
2022-12-28 17:01:40 +01:00
ledgerwatch
387b4d7f35
Native tracers step 10 - remove duplicate SelfDestruct capture, clean up ( #6440 )
...
Moved some of the tracers to `eth/tracers/logger` to make it more
similar to go-ethereum.
Removed Erigon-specific `Capture-` functions
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro-2.local>
2022-12-26 04:56:39 +00:00
Alex Sharov
8161e17694
e3: fix non-parallel nil ( #6438 )
2022-12-25 19:48:44 +07:00
ledgerwatch
24040f3044
Native tracers step 9 - add native tracers ( #6434 )
...
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro-2.local>
2022-12-25 07:28:41 +00:00
ledgerwatch
8198cc2740
Native tracers step 8 - added trace test suite, fixed some bugs ( #6430 )
...
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro-2.local>
2022-12-24 13:18:11 +00:00
Alex Sharov
4e26f53a75
e3: return error from inline-apply ( #6427 )
2022-12-24 17:30:26 +07:00
Alex Sharov
2fa3f69a1f
stage_snapshots: clean table before initial write ( #6431 )
2022-12-24 16:15:24 +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
f364eff389
Native tracers step 7 - restructure js tracer files ( #6415 )
...
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro-2.local>
2022-12-23 18:10:37 +00:00
Andrew Ashikhmin
4931f113c2
Add override.shanghaiTime flag ( #6414 )
...
and remove `--override.terminaltotaldifficulty` &
`--override.mergeNetsplitBlock`
2022-12-23 17:06:56 +01:00
ledgerwatch
a49e287618
Native tracers step 6: Rename Tracer to EVMLogger, reduce args CaptureExit ( #6410 )
...
Getting closer to Geth's tracer interfaces
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro-2.local>
2022-12-23 05:43:08 +00:00
Alex Sharov
130ab85bea
e3: kv/temporal prototype 3 ( #6395 )
2022-12-22 09:37:32 +07:00
Max Revitt
4bdb35f94c
Withdrawals part 2 ( #6180 )
...
Continuation of PR #6009 . Storage and retrieval of withdrawals.
- [x] storage of withdrawals on writeblock
- [x] composite key (block number | block hash)
- [x] value ([]withdrawal)
- [x] retrieval of withdrawals with block
- [x] tests around storing/retrieving withdrawals
- [x] tested in hive
- [x] commits tidied
## Hive Failures
- [x] Withdrawals Fork on Block 2
- [x] Withdrawals Fork on Block 3
- [ ] Sync after 2 blocks - Withdrawals on Block 1 - Single Withdrawal
Account - No Transactions ( Syncing client rejected valid chain)
- [ ] Sync after 2 blocks - Withdrawals on Block 1 - Single Withdrawal
Account (Timeout while waiting for secondary client to sync)
- [ ] Sync after 2 blocks - Withdrawals on Genesis - Single Withdrawal
Account (Timeout while waiting for secondary client to sync)
- [ ] Sync after 2 blocks - Withdrawals on Block 2 - Single Withdrawal
Account - No Transactions (Syncing client rejected valid chain)
- [ ] Sync after 2 blocks - Withdrawals on Block 2 - Single Withdrawal
Account (Timeout while waiting for secondary client to sync)
- [ ] Sync after 128 blocks - Withdrawals on Block 2 - Multiple
Withdrawal Accounts (Unexpected error on BalanceAt: Post
"http://172.17.0.4:8545/ ": context deadline exceeded, expected=<None>)
- [ ] Withdrawals Fork on Block 1 - 8 Block Re-Org, Sync (Expected no
error on EngineNewPayloadV2: error=Post "http://172.17.0.4:8551/ ":
context deadline exceeded)
- [ ] Withdrawals Fork on Block 8 - 10 Block Re-Org Sync (Expected no
error on EngineNewPayloadV2: error=Post "http://172.17.0.4:8551/ ":
context deadline exceeded)
- [ ] Withdrawals Fork on Canonical Block 8 / Side Block 7 - 10 Block
Re-Org Sync (Expected no error on EngineNewPayloadV2: error=Post
"http://172.17.0.4:8551/ ": context deadline exceeded)
- [ ] Withdrawals Fork on Canonical Block 8 / Side Block 9 - 10 Block
Re-Org Sync (Expected no error on EngineNewPayloadV2: error=Post
"http://172.17.0.4:8551/ ": context deadline exceeded)
2022-12-20 09:09:04 +00:00
Alex Sharov
cce0f251b4
e3: kv/temporal prototype 2 ( #6377 )
2022-12-20 09:28:10 +07:00
Alex Sharov
dfa6505f93
e3: kv/temporal prototype ( #6367 )
2022-12-19 15:38:54 +07:00
ledgerwatch
97c9a9108d
Native tracers - step 4 ( #6363 )
...
Remove `callType` argument from `CaptureStart`, and change `callType
vm.CallType` to `typ vm.OpCode` in `CaptureEnter` and move to the first
position (as it is in geth)
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro-2.local>
2022-12-19 03:12:08 +00:00
ledgerwatch
0761671607
Native tracers step 3 ( #6362 )
...
Remove `env` argument from all Capture functions except for
`CaptureStart`
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro-2.local>
2022-12-18 17:06:40 +00:00
ledgerwatch
b8c6a4d263
Native tracers - step 2 ( #6360 )
...
Splitting function `CaptureStart` into `CaptureStart` (when depth == 0)
and `CaptureEnter` (when depth > 0), while removing argument `depth`.
Same with splitting `CaptureEnd` into `CaptureEnd` and `CaptureExit`
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro-2.local>
2022-12-18 16:11:31 +00:00
ledgerwatch
3999c46046
Native tracers - step 1 ( #6356 )
...
In this first step, the new functions `CaptureTxStart` and
`CaptureTxEnd` are introduced to all tracers
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro-2.local>
2022-12-18 04:36:57 +00:00
Alex Sharov
4ef39ea43c
unify logs a bit ( #6354 )
2022-12-18 09:23:11 +07:00
hexoscott
d4623ec9d7
mining updates around txpool yielding ( #6342 )
...
Co-authored-by: Alex Sharov <AskAlexSharov@gmail.com>
2022-12-18 08:45:03 +07:00
Giulio rebuffo
0a3bfef484
Added prototype for Beacon history reconstruction stage ( #6351 )
2022-12-17 16:05:56 +01:00
awskii
222dc96581
add missed break clause during protocols port picking ( #6343 )
...
Missing break clause leaded to unnecessary incrementing of `pi` when
port is already picked.
2022-12-16 16:59:22 +00:00
Andrew Ashikhmin
0fc2022a0e
Extend fork ID to timestamp-based forks ( #6324 )
...
Starting from
[Shanghai](https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/shanghai.md ),
forks are based on timestamps rather than block heights (see PR #6238 ).
This PR extends [EIP-2124](https://eips.ethereum.org/EIPS/eip-2124 ) Fork
ID to include timestamp-based blocks. See also
https://github.com/ethereum/go-ethereum/pull/25878 .
Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
2022-12-16 12:08:54 +01:00
Alex Sharov
d95f0ca51e
e3: apply inline-retry ( #6336 )
2022-12-16 14:14:00 +07:00
Alex Sharov
43f83cd7d8
e3: use of ordered-map generic ( #6335 )
2022-12-16 13:59:57 +07:00
Alex Sharov
895fe97f29
e3: fix devel overlap tx ( #6334 )
2022-12-16 13:13:18 +07:00
Alex Sharov
625bb39a82
E3: unlimited inline-apply ( #6333 )
2022-12-16 12:22:52 +07:00
Alex Sharov
a8c5318c56
e3: exec tx right after conflict (but only 1 such exec per applyLoopStep) ( #6332 )
2022-12-16 11:10:12 +07:00
ledgerwatch
e4d4a985b4
Demote TxLookup warning to debug ( #6327 )
2022-12-15 15:24:29 +00:00
Alex Sharov
b2bf12827c
e3: cancel background build ( #6323 )
2022-12-15 17:18:00 +07:00
Alex Sharov
863e1ed07b
e3: handle "kill -9" during merge, auto-hide history .ef file if not corresponding .v file ( #6304 )
2022-12-15 13:49:06 +07:00
Alex Sharov
7de7b37418
hash_state/ih: enable ReadAhead for "promote cleanly" case ( #6317 )
2022-12-15 09:25:31 +07:00
Igor Mandrigin
786610df3f
Fix debug_traceTransaction on Gnosis Chain ( #6311 )
...
Support 0-gas service transactions in tracing module.
2022-12-14 14:35:28 +01:00
Alex Sharov
1b4dbefa95
grafana/prometheus version up ( #6301 )
2022-12-14 10:57:47 +07:00
Alex Sharov
ce9203d80d
e3: more aggressive prune #780 ( #6299 )
2022-12-14 09:50:48 +07:00
Alex Sharov
f92f525d8f
e3: return err from parallel exec ( #6283 )
2022-12-14 09:02:57 +07:00
Andrew Ashikhmin
1e206e375b
Set default for externalcl based on whether embedded CL is supported ( #6294 )
...
Embedded CL is not supported for Gnosis Chain, so it makes sense to set
`externalcl` to true by default for it.
Also, this PR sets `terminalTotalDifficultyPassed` for Gnosis Chain &
Chiado (see https://docs.gnosischain.com/updates/20221210-merge ).
2022-12-13 14:51:13 +01:00
awskii
a124bcf6ac
added --p2p.allowed-port flag ( #6263 )
...
Regarding https://github.com/ledgerwatch/erigon/issues/6260
added flag `--p2p.allowed-ports=<porta>,<portb>` to restrict which ports
to use for sentries for different protocol versions.
Default for this flag is `30303, 30304` (first port is inherited from
`--port` flag defaults.
If `--port` is changed and it's new value is not presented in allowed
port list, provided port will be allowed as well as list provided via
`--p2p.allowed-ports`
Port picking is straightforward, we create sentry gRPC server for
protocol over first allowed port that is not already taken.
If there are no allowed ports left, erigon exits with hint.
2022-12-12 13:25:47 +00:00
hexoscott
c0d2523b06
reset txpool yielded flags before starting mining ( #6284 )
2022-12-12 17:27:57 +07:00
Alex Sharov
9d20045ad3
e3: reconDB - to use 64kb pageSize ( #6282 )
2022-12-12 14:06:33 +07:00
Giulio rebuffo
0f0d0de783
Use of proper beacon state interface ( #6277 )
2022-12-11 15:12:38 +01:00
Alex Sharov
7a055a51d4
e3: graceful shutdown ( #6272 )
2022-12-11 13:15:55 +07:00
Andrew Ashikhmin
ecefc53dd0
Remove Ropsten & Fermion ( #6262 )
...
See https://blog.ethereum.org/2022/11/30/ropsten-shutdown-announcement
2022-12-10 22:55:31 +00:00