Commit Graph

31 Commits

Author SHA1 Message Date
andri lim cd21c4fbec
ForkedChain implementation (#2405)
* ForkedChain implementation

- revamp test_blockchain_json using ForkedChain
- re-enable previously failing test cases.

* Remove excess error handling

* Avoid reloading parent header

* Do not force base update

* Write baggage to database

* Add findActiveChain to finalizedSegment

* Create new stagingTx in addBlock

* Check last stateRoot existence in test_blockchain_json

* Resolve rebase conflict

* More precise nomenclature for block import cursor

* Ensure bad block nor imported and good block not rejected

* finalizeSegment become forkChoice and align with engine API forkChoice spec

* Display reason when good block rejected

* Fix comments

* Put BaseDistance into CalculateNewBase equation

* Separate finalizedHash from baseHash

* Add more doAssert constraint

* Add push raises: []
2024-06-26 07:27:48 +07:00
andri lim 83f6f89869
Add t8n debugging tool and fix EVM regression (#2386)
- fix blockNumber overflow in blockHash op code
- reenable 3 test cases of test_blockchain_json
- fix t8n crash when creating invalid tracer stream
2024-06-19 08:58:08 +07:00
tersec 70805d0346
update newBlockchainTests.md with results of make test (#2371) 2024-06-16 08:11:11 +07:00
jangko d261484dd7
evm: Reject contract creation if the storage is non-empty(EIP-7610) 2024-05-07 09:19:59 +07:00
andri lim 3a4da2cdb7
Bump eth_tests to 5bf1fff257c0662bc526c27d7546d470025b3239 (#2047) 2024-02-21 23:04:44 +07:00
andri lim 7b4ef814ea
Bump eth_tests and related fixes (#2042)
* Bump eth_tests and related fixes

* Fix tests
2024-02-21 16:14:20 +07:00
jangko affc763de6
Bump eth-tests: Refill tests with Cancun spec 2023-10-21 20:11:19 +07:00
andri lim 2f0444cebd
Nicer all_tests report (#1827) 2023-10-19 10:52:24 +07:00
andri lim b8e3fc5859
Call processBeaconBlockRoot before processing txs(EIP-4788) (#1822) 2023-10-19 06:55:50 +07:00
andri lim 34b1e29ac9
Fix test_blockchain_json and pyspec simulator for Cancun (#1805)
* Fix test_blockchain_json and pyspec simulator for Cancun

* Preserve applyDeletes comments

* Fix redefinition error

* Move test_macro to tests folder
2023-10-05 10:04:12 +07:00
jangko 270dfc33e3
fix test_blockchain_json for new tests 2023-07-06 15:48:35 +07:00
Adam Spitz 3ca6288c3b
Bumped the tests. Withdrawals tests pass now. 2023-03-18 05:17:07 -04:00
Kim De Mey a669b51ec5
Bump Nim to 1.6 and resolve the related issues (#1445)
Two unresolved items currently:
- Three tests that are temporarily disabled as they fail in the
macro_assembler code, which seems to be due to an ambigious
identifier Stop (Ops and chronos ServerCommand enum).
- i386 CI disabled as it fails at Nim compilation already. Failed
tests where already ignored for this target.
2023-01-26 13:37:19 +01:00
Kim De Mey 9b1193c402
Revert "Updated to the latest nim-eth, nim-rocksdb, nim-web3. (#1441)" (#1443)
This reverts commit 1c1a3352b3.
2023-01-23 10:50:17 +01:00
Adam Spitz 1c1a3352b3
Updated to the latest nim-eth, nim-rocksdb, nim-web3. (#1441) 2023-01-21 15:04:22 +01:00
Etan Kissling bc3f164b97
bump `nim-eth` for `withdrawalsRoot` support (#1326)
The `BlockHeader` structure in `nim-eth` was updated with support for
EIP-4895 (withdrawals). To enable the `nim-eth` bump, the ingress of
`BlockHeader` structures has been hardened to reject headers that have
the new `withdrawalsRoot` field until proper withdrawals support exists.
https://github.com/status-im/nim-eth/pull/562
2022-11-26 15:59:19 +01:00
Jordan Hrycaj d53eacb854
Prep for full sync after snap (#1253)
* Split fetch accounts into sub-modules

details:
  There will be separated modules for accounts snapshot, storage snapshot,
  and healing for either.

* Allow to rebase pivot before negotiated header

why:
  Peers seem to have not too many snapshots available. By setting back the
  pivot block header slightly, the chances might be higher to find more
  peers to serve this pivot. Experiment on mainnet showed that setting back
  too much (tested with 1024), the chances to find matching snapshot peers
  seem to decrease.

* Add accounts healing

* Update variable/field naming in `worker_desc` for readability

* Handle leaf nodes in accounts healing

why:
  There is no need to fetch accounts when they had been added by the
  healing process. On the flip side, these accounts must be checked for
  storage data and the batch queue updated, accordingly.

* Reorganising accounts hash ranges batch queue

why:
  The aim is to formally cover as many accounts as possible for different
  pivot state root environments. Formerly, this was tried by starting the
  accounts batch queue at a random value for each pivot (and wrapping
  around.)

  Now, each pivot environment starts with an interval set mutually
  disjunct from any interval set retrieved with other pivot state roots.

also:
  Stop fishing for more pivots in `worker` if 100% download is reached

* Reorganise/update accounts healing

why:
  Error handling was wrong and the (math. complexity of) whole process
  could be better managed.

details:
  Much of the algorithm is now documented at the top of the file
  `heal_accounts.nim`
2022-10-08 18:20:50 +01:00
jangko 16bc2de1cf
update EF test fixtures and fixes to pass all tests 2022-10-03 16:41:32 +07:00
jangko 480d77d3c9
update test logs 2022-02-10 15:48:38 +07:00
jangko 09dbe15eba
update test logs 2021-09-29 10:55:32 +07:00
jangko dff5799a5b
update test logs for London hard fork additional test cases 2021-06-30 20:44:35 +07:00
jangko 6055e0bd0f
update tests logs
recent EIP2718 and EIP2930 inclusion and ethereum/tests update
add and remove many entries
2021-05-17 11:14:33 +07:00
Jamie Lokier e4bd5532c5
Tests: Rename incorrect case `newBlockChainTests.md` file in repo
Commit 3d468a7 (`fixes path pointing to eth_tests`) renamed a test output
file subtly, changing just the capitalisation:

    - jsonTest(newFolder, "newBlockChainTests", testFixture, skipNewBCTests)
    + jsonTest(newFolder, "newBlockchainTests", testFixture, skipNewBCTests)

However, the file checked into the repo continued to be the old name, uppercase
`C`.  Of course, Mac and Windows have a sort of case insensitivity and Linux
does not.

This meant, on Linux, both files were created, test differences didn't make
themselves visible in `git diff`, and the repo would not get updates with
changed test output.  On Mac and Windows it worked.

Signed-off-by: Jamie Lokier <jamie@shareable.org>
2021-04-08 10:27:11 +01:00
Ștefan Talpalaru ea38893416
fix test dir name 2020-01-31 22:53:28 +01:00
Ștefan Talpalaru fb4d3a57c7
update newBlockchainTests.md 2020-01-27 16:30:37 +01:00
Ștefan Talpalaru 3ae82f8644
update test logs 2020-01-27 16:02:40 +01:00
andri lim 52fffa6e25 fixes long standing bug create2nocash 2020-01-20 18:36:58 +02:00
andri lim 2535219830 reenable previously OOM tests 2020-01-20 18:36:58 +02:00
andri lim 7bdbf85a7a update tests log 2019-12-10 12:34:48 +02:00
andri lim 05c57f93f3 update tests log 2019-12-10 12:34:48 +02:00
andri lim 19803bd685
skip incorrect and slow tests 2019-11-18 20:49:24 +07:00