Commit Graph

31 Commits

Author SHA1 Message Date
web3-developer 54644fa3cb
Witness Generation Bug Fixes (#1981)
* Return slots when verifying witness regardless of code length.

* Prevent AccountCache WitnessData codeTouched from being reset.

* Default to using {wfNoFlag} for witness flags in tests to allow running with data from before EIP170.

* Add additional json files to experimental JSON RPC test.

* Use HTTP RPC server in tests.

* Add test to check that block witness contains bytecode.
2024-01-25 01:18:45 +08:00
jangko b0000eed8b
Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00
Jordan Hrycaj 221e6c9e2f
Unified database frontend integration (#1670)
* Nimbus folder environment update

details:
* Integrated `CoreDbRef` for the sources in the `nimbus` sub-folder.
* The `nimbus` program does not compile yet as it needs the updates
  in the parallel `stateless` sub-folder.

* Stateless environment update

details:
* Integrated `CoreDbRef` for the sources in the `stateless` sub-folder.
* The `nimbus` program compiles now.

* Premix environment update

details:
* Integrated `CoreDbRef` for the sources in the `premix` sub-folder.

* Fluffy environment update

details:
* Integrated `CoreDbRef` for the sources in the `fluffy` sub-folder.

* Tools environment update

details:
* Integrated `CoreDbRef` for the sources in the `tools` sub-folder.

* Nodocker environment update

details:
* Integrated `CoreDbRef` for the sources in the
  `hive_integration/nodocker` sub-folder.

* Tests environment update

details:
* Integrated `CoreDbRef` for the sources in the `tests` sub-folder.
* The unit tests compile and run cleanly now.

* Generalise `CoreDbRef` to any `select_backend` supported database

why:
  Generalisation was just missed due to overcoming some compiler oddity
  which was tied to rocksdb for testing.

* Suppress compiler warning for `newChainDB()`

why:
  Warning was added to this function which must be wrapped so that
  any `CatchableError` is re-raised as `Defect`.

* Split off persistent `CoreDbRef` constructor into separate file

why:
  This allows to compile a memory only database version without linking
  the backend library.

* Use memory `CoreDbRef` database by default

detail:
 Persistent DB constructor needs to import `db/core_db/persistent

why:
 Most tests use memory DB anyway. This avoids linking `-lrocksdb` or
 any other backend by default.

* fix `toLegacyBackend()` availability check

why:
  got garbled after memory/persistent split.

* Clarify raw access to MPT for snap sync handler

why:
  Logically, `kvt` is not the raw access for the hexary trie (although
  this holds for the legacy database)
2023-08-04 12:10:09 +01:00
Adam Spitz c921135e2e
Refactored to introduce distinct types AccountsTrie and StorageTrie. (#1490)
This is in preparation for working on stateless mode; it's useful to
have a clearer and more type-safe interface for accessing accounts
versus slots.
2023-03-10 13:42:37 -05:00
Kim De Mey 73e93f1f11
Reduce Nim 1.6 compiler warnings & hints
* Reduce Nim 1.6 compiler warnings/hints for Fluffy and Nimbus proxy

Mostly raises Defect removals, TaintedString removal and some
unnecessary imports.

Also updating the copyright years alongside.

* Further reduce Nim 1.6 compiler warnings/hints for Nimbus
2023-01-31 13:38:08 +01:00
Jacek Sieka c2ed731fa5
eth: adapt to smaller eth_types (#1210) 2022-09-03 20:15:35 +02:00
jangko a2de3067a9
add test for short rlp in block witness 2020-07-08 23:17:48 +07:00
jangko 7d062e171b block witness: add test for unwanted multiple identical keys when constructing witness from trie 2020-06-02 12:27:13 +03:00
jangko 57e9bea4ec
add more test for invalid input 2020-05-24 11:41:20 +07:00
jangko ed3434f38f
fix test_witness_json wrong code arrangement 2020-05-20 11:36:09 +07:00
jangko 61c60abdf2
block witness new spec impl 2020-05-14 11:09:01 +07:00
jangko af28985f6e
fix error message in tests 2020-05-14 06:58:34 +07:00
andri lim ba4360ba34
fix multikeys algorithm with multiple nibbles common prefix 2020-05-07 21:36:51 +07:00
andri lim ea92951fc6
add missing export marker 2020-05-06 11:47:33 +07:00
andri lim e5c4c7d16f
fix typo 2020-05-06 10:36:00 +07:00
andri lim 9c999ffa9c
enable block witness test 2020-05-05 20:46:17 +07:00
andri lim 743759a979
wrong address ignored 2020-05-05 15:05:17 +07:00
andri lim e9191fefa1
witness builder major transformation, support multiproof 2020-05-05 13:50:31 +07:00
andri lim 6a9555b2b9
add raises to public API 2020-05-03 08:47:14 +07:00
andri lim 1ef3f60b40
validate the branch of the constructed trie beside validate rootHash 2020-05-03 08:11:04 +07:00
andri lim 7c2ed75b09
treebuilder will raise exception on parsing error 2020-04-29 16:22:39 +07:00
andri lim fdb750f67e
implement witness header encoding decoding and implement buildForest 2020-04-29 15:29:25 +07:00
andri lim 90c2ede43b
deals with EIP170 error 2020-04-29 13:06:27 +07:00
andri lim c325ce1863
fix contract code retrieval from db 2020-04-29 13:06:27 +07:00
andri lim 4974ca49db
fix buildWitness API 2020-04-29 13:06:27 +07:00
andri lim d95ded217b
implement account storage encoding and decoding 2020-04-29 13:06:26 +07:00
andri lim 4de8eaa81d
implement account code encoding and decoding 2020-04-29 13:06:26 +07:00
andri lim 692bed176e
allow test_block_witness to run single test 2020-04-29 13:06:24 +07:00
andri lim 649597e714
cleanup unused code 2020-04-29 13:06:23 +07:00
andri lim 73c487fdb0
switch back to InputStream 2020-04-29 13:06:22 +07:00
andri lim 323204d939
deals with short node len < 32 2020-04-29 13:06:22 +07:00