Alex Sharov
720b5f77d6
e3: bsc oom fix ( #6526 )
2023-01-08 15:07:34 +07:00
Alex Sharov
08904da83e
e3: fix couple deadlocks in parallel exec ( #6525 )
2023-01-08 10:00:41 +07:00
Andrew Ashikhmin
ac1428e15e
Amend EIP-3860 per EIPs/pull/6249 ( #6502 )
...
See https://github.com/ethereum/EIPs/pull/6249 and
https://github.com/ethereum/tests/pull/1125
2023-01-06 17:46:27 +01:00
Andrew Ashikhmin
4f536abe46
Unify forkSegment with HeaderAndBody ( #6517 )
...
Small refactoring after PR #6515 .
2023-01-06 15:12:07 +01:00
Alex Sharov
4c3bb1cca5
kv_temporal: DomainGet ( #6511 )
2023-01-06 14:27:54 +07:00
Alex Sharov
c38868cc46
better pagesize error message ( #6497 )
2023-01-04 13:07:46 +07:00
Alex Sharov
0483fc5539
integration: cancel warmup ( #6494 )
2023-01-03 12:51:00 +07:00
Alex Sharov
17e0afbe44
"erigon snapshots retire" save progress ( #6486 )
2023-01-02 12:38:03 +07:00
alex.sharov
f0be579fd1
warmup: 100K prefixes
2023-01-02 10:50:08 +07:00
alex.sharov
8ffdda14f2
warmup: million prefixes
2023-01-02 10:47:06 +07:00
Andrew Ashikhmin
58893937b0
core/vm: Make INVALID a defined opcode ( #6477 )
...
Cherry-pick https://github.com/ethereum/go-ethereum/pull/24017 .
* core/vm: Define 0xfe opcode as INVALID
* core/vm: Remove opInvalid as opUndefined handles it
Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>
Co-authored-by: Andrei Maiboroda <andrei@ethereum.org>
Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>
2022-12-30 17:13:54 +01:00
Alex Sharov
4a9c871628
a bit rename 22 to v3 ( #6476 )
2022-12-30 21:53:42 +07:00
Andrew Ashikhmin
a369fd026f
core/vm: clean up contract creation error handling ( #6475 )
...
Cherry-pick https://github.com/ethereum/go-ethereum/pull/22766 .
Do not keep separate flag for "max code size exceeded" case, but instead
assign appropriate error for it sooner.
Co-authored-by: Paweł Bylica <chfast@gmail.com>
2022-12-30 15:19:16 +01:00
Alex Sharov
9159f7e8aa
"integration stage_exec --warmup" ( #6471 )
2022-12-30 15:44:50 +07: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
72ffce2ba8
e3: more print_stages info
2022-12-29 15:18:11 +07:00
Alex Sharov
ca3bc54428
Shared genesis db ( #6465 )
2022-12-29 14:47:17 +07:00
alex.sharov
92c95e6e68
cleanup
2022-12-29 11:02:33 +07:00
alex.sharov
a893899fc2
save
2022-12-29 11:02:11 +07:00
alex.sharov
9efb8e838b
save
2022-12-29 10:09:09 +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
Andrew Ashikhmin
b4a73e0579
Fix intra_block_state_test ( #6458 )
...
Postfix after PR #6440
2022-12-28 12:26:37 +01:00
Andrew Ashikhmin
714888b016
HashBuilder: fix top node shorter than 32 bytes ( #6456 )
...
Prior to withdrawals, it was extremely unlikely to have short (RLP < 32)
top trie nodes outside test scenarios.
2022-12-28 11:58:37 +01:00
Alex Sharov
fc71d441a6
mdbx_to_mdbx better logging ( #6455 )
2022-12-28 13:27:42 +07:00
Alex Sharov
fa6f6038e7
kv: tx.Prefix method ( #6441 )
2022-12-26 17:58:21 +07: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
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
Alex Sharov
45fd92f17b
exclude genesis from "append with gap" assert ( #6428 )
2022-12-24 14:28:02 +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
Andrew Ashikhmin
49bb63661f
core/vm: derive maxStack from numPop & numPush ( #6397 )
2022-12-21 14:55:00 +01:00
Andrew Ashikhmin
dc248c5ea4
core/vm: Move interpreter.ReadOnly check into the opcode implementations ( #6396 )
...
Cherry-pick https://github.com/ethereum/go-ethereum/pull/23970
Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>
Co-authored-by: Martin Holst Swende <martin@swende.se>
2022-12-21 12:44:01 +01:00
Andrew Ashikhmin
5582435a95
core/vm: Simplify error handling in interpreter loop ( #6394 )
...
Cherry-pick https://github.com/ethereum/go-ethereum/pull/23952
Co-authored-by: Paweł Bylica <chfast@gmail.com>
2022-12-21 11:57:53 +01:00
Andrew Ashikhmin
0986342690
core/vm: remove unused NewEVMInterpreterByVM ( #6393 )
2022-12-21 09:51:00 +01:00
Giulio rebuffo
173d11c43c
removed retry logic from Erigon-CL ( #6389 )
2022-12-20 22:11:08 +01:00
Alex Sharov
0ce84e41e1
integration: warmup staeg ( #6388 )
2022-12-20 22:59:23 +07:00
Andrew Ashikhmin
06df4333b2
core/vm: avoid memory expansion check for trivial ops ( #6383 )
...
Cherry-pick https://github.com/ethereum/go-ethereum/pull/24048
Co-authored-by: Martin Holst Swende <martin@swende.se>
2022-12-20 16:47:51 +01:00
alex.sharov
dd9f117a0c
save
2022-12-20 22:27:11 +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
Andrew Ashikhmin
31d30df59f
core/vm: fill gaps in jump table with opUndefined ( #6372 )
...
Cherry-pick https://github.com/ethereum/go-ethereum/pull/24031
Co-authored-by: Paweł Bylica <chfast@gmail.com>
2022-12-20 08:18:24 +01:00
Alex Sharov
cce0f251b4
e3: kv/temporal prototype 2 ( #6377 )
2022-12-20 09:28:10 +07:00
Andrew Ashikhmin
e5f818c832
core/vm: remove unused 'unofficial' opcodes ( #6371 )
...
Co-authored-by: Martin Holst Swende <martin@swende.se>
2022-12-19 14:47:29 +01:00
Andrew Ashikhmin
a00a4000a4
core/vm: simplify op lookup in contract ( #6370 )
...
Cherry-pick https://github.com/ethereum/go-ethereum/pull/23974
Co-authored-by: Andrei Maiboroda <andrei@ethereum.org>
2022-12-19 14:10:45 +01: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