Commit Graph

42 Commits

Author SHA1 Message Date
jangko 4e58f9d79a
modexp precompile allow arbitrary input length 2023-05-11 07:21:03 +07:00
Kim De Mey 9430619272
Remove Accumulator as network content type and add it to binary (#1267)
Portal master accumulator was removed from the network specs as a
content type shared on the network, as since the merge this is
a finite accumulator (pre-merge only).
So in this PR the accumulator gets removed as network type and
gets instead baked into the library. Building it is done by
seperate tooling (eth_data_exporter).
Because of this a lot of extra code can be removed that was
located in history_network, content_db, portal_protocol, etc.

Also removed to option to build the accumulator at start-up
of fluffy as this takes several minutes making it not viable.
It can still be loaded from a provided file however.

The ssz accumulator file is for now stored in the recently
created portal-spec-tests repository.
2022-10-17 20:38:51 +02:00
KonradStaniec 5be329741a
Bump deps related to lc-proxy (#1230) 2022-09-19 16:25:25 +02:00
KonradStaniec b43709f473
Add missing nimbus-eth2 modules (#1224) 2022-09-14 15:10:05 +02:00
Nikolay Mitev 1e4f138574 Add nimbus-eth2 as submodule. Add launch_local_testnet script to CI. 2022-08-18 18:06:38 +03:00
Ștefan Talpalaru 51bc1cf87f
dist: precompiled binaries and Docker images (#1015)
* dist: precompiled binaries and Docker images

The builds are reproducible, the binaries are portable and statically link librocksdb.

This took some patching. Upstream PR: https://github.com/facebook/rocksdb/pull/9752

32-bit ARM is missing as a target because two different GCC versions
fail with an ICE when trying to cross-compile RocksDB. Using Clang
instead is too much trouble for a platform that nobody should be using
anyway.

(Clang doesn't come with its own target headers and libraries, can't be
easily convinced to use the ones from GCC, so it needs an fs image from
a 32-bit ARM distro - at which point I stopped caring).

* CI: disable reproducibility test
2022-03-27 13:21:15 +02:00
Zahary Karadjov 137eb97766 Initial implementation of the merge spec
Includes a simple test harness for the merge interop M1 milestone

This aims to enable connecting nimbus-eth2 to nimbus-eth1 within
the testing protocol described here:

https://github.com/status-im/nimbus-eth2/blob/amphora-merge-interop/docs/interop_merge.md

To execute the work-in-progress test, please run:

In terminal 1:
tests/amphora/launch-nimbus.sh

In terminal 2:
tests/amphora/check-merge-test-vectors.sh
2022-01-24 09:44:39 +02:00
Kim De Mey 0ba3c682e4
Use SSZ code from nim-ssz-serialization module (#875) 2021-10-23 14:28:12 +02:00
jangko 02afb27e47
vendor: update graphql, json-rpc, chronicles, http-utils, websock
- nim-graphql from v0.2.16 to v0.2.18:
  - replace nim-miniz with nim-zlib
  - replace unittest with unittest2

- nim-http-utils:
  - Fix to handle HTTP response with `<space>CRLF` after response status code.

- nim-json-rpc:
  - rename ws to websocket

- nim-websock:
  - rename ws to websock
  - fix mutual closing bug
  - fix compile time error when using chronicles sink:json

- nim-chronicles:
  - add isLogFormatUsed, used by nim-websock
2021-06-29 12:15:36 +07:00
jangko 8cde70c573
vendor: update json-rpc, ws, and chronos, remove news
- nim-json-rpc already replace news with nim-ws
- we also remove news from dependency
- we already have include nim-ws as dependency
- new chronos features is needed by nim-ws
2021-06-24 08:29:06 +07:00
jangko 41c4d186b5
vendor: update nim-graphql, replace nim-miniz with nim-zlib, add nim-ws
- we replace nim-miniz with nim-zlib because nim-ws requires
  features not available in miniz
- nim-graphql also switch to nim-zlib
- nim-ws depends on nim-zlib and we need it for upcoming
  websocket rpc
2021-06-21 16:30:02 +07:00
jangko 051957c464
add nim-miniz submodule to vendor
nim-miniz now sit in it's own repo after
extracted from nim-graphql

it also a dependency of incoming nim-ws
2021-06-06 11:23:30 +07:00
Jamie Lokier ee88e0266a EVMC: Bump `nim-evmc` module for type improvements (API 7.5 branch)
This bump is required by `TransactionHost` coming next.

There have been many changes to `nim-evmc` since earlier developments on
`nimbus-eth1`.  The types in the API have changed, and there is no longer a
need to cast the function types.

This commit bumps the submodule while keeping with EVMC API 7.5 for now.
`.gitmodules` is updated to follow the module branch `api-version-7.5`.

Submodule changes:

  > Nim: Function casts no longer required, type-checking finally works
  > Nim: Make the test host use exactly the type signatures in the API
  > add github action script
  > Nim: Export `evmc_create_vm_name_fn`
  > Nim: Use `var` instead of `ptr` for arguments that are pass-by-ref
  > Nim: Fix missing `ptr` in signature of `execute`
  > Nim: Use `ptr` in `release` for API consistency
  > Nim: Disable "Imported and not used" warning in test program
  > Nim: Remove unnecessary exports from the Nim example host/VM
  > Nim: Simplify Nim C++ codegen bug workaround
  > Nim: Add type and documentation for `evmc_create_example_fn`
  > Nim: Workaround Nim compiler bug with Nim 1.2.10
  > Nim: Workaround Nim compiler bug with `uint32`-sized bitset
  > Nim: Use a more varied bit pattern in `get_capabilities` test
  > Nim: Convert `evmc_capabilities` to Nim bitset
  > Nim: Convert `evmc_flags` to Nim bitset
  > Nim: Compile time verify that target C enums are `int` sized
  > Nim: Recognise that target C enums are not always `cint`
  > Nim: Make `evmc_status_code` a normal enum
  > Nim: Use `csize_t` in test program and Nim example host/VM
  > Nim: Use `csize_t` in the VM support API
  > Nim: Use `csize_t` in appropriate places to match EVMC API
  > Nim: Use binary-compatible C99 `bool` without target assumptions
  > Version (README): Announce we support EVMC 7.5.0 and Istanbul fork
  > Doc: Tweak GitHub badges on README
  > Doc: Make title fit on GitHub page without wrapping
  > Doc: README edits
  > Doc: Update the README for 2021 - the year of Nimbus!
  > License: Add licensing info about third-party files
  > License: Update license text in README
  > License: Fix incorrect name of Apache v2 license file and tweak
  > License: Add missing MIT license file
  > Nim: Add and update copyright headers
  > Nim: Update Nim API to follow EVMC API 7.5.0
  > Nim: Update doc comments and fix formatting
  > Make the tests work with the new C++ mini-EVM in EVMC 7.5.0
  > Change C++ `example_host` to workaround Nim -> C call type mismatch
  > The EVMC package expects C++14 now
  > Upgrade C++ `example_host` in `tests/evmc_c` to EVMC 7.5.0
  > Upgrade C++ `example_vm` in `tests/evmc_c` to EVMC 7.5.0
  > Upgrade C/C++ headers in `tests/evmc_c` to EVMC 7.5.0

Signed-off-by: Jamie Lokier <jamie@shareable.org>
2021-05-28 13:14:17 +03:00
jangko e76e0144d0
add submodules: graphql and toml-serialization 2021-04-22 11:29:42 +07:00
jangko c0db998947
add eth_tests submodule 2021-01-06 17:01:46 +07:00
jangko ed3b753276
add nim-blscurve submodule 2020-11-19 10:56:29 +07:00
jangko e31a2ec3fc
replace tormund/news with status-im/news 2020-09-15 11:40:52 +07:00
jangko 51f2017b03
add bearssl submodule 2020-06-24 13:10:09 +07:00
Jacek Sieka ed7dbab70f db: use kvstore from nim-eth 2020-04-27 18:40:45 +03:00
Zed fff29f7a6a Replace markdown report code with testutils 2020-03-10 14:03:04 +02:00
Ștefan Talpalaru 06e0eb80e6
lightweight stack traces
Also converted the top-level nim.cfg into a config.nims, in the process.
2020-02-11 04:33:21 +01:00
andri lim 3c57cd638f add evmc submodule 2020-01-23 18:07:44 +02:00
kdeme 7b80b313e4 Start implementation of waku node 2020-01-23 12:39:36 +02:00
Ștefan Talpalaru d84e4810d5
unittest2 (parallelism disabled)
This is https://github.com/status-im/nimbus/pull/332 with parallelism
disabled, while some threadpool deadlock is being debugged.
2019-10-31 06:17:01 +01:00
andri lim 70c96a77e0 fix typo in .gitmodules 2019-09-26 12:33:43 +03:00
andri lim fbcef2ee1f fix .gitmodules 2019-09-26 12:33:43 +03:00
andri lim dcc82fad74 add ethash submodule 2019-09-26 12:33:43 +03:00
Ștefan Talpalaru 047bb23291
clean up .gitmodules 2019-08-30 17:28:11 +02:00
Ștefan Talpalaru 2314b4d593
use nimbus-build-system
Also remove the nim-beacon-chain submodule and its specific
dependencies.
2019-08-22 02:02:32 +02:00
Zahary Karadjov 628f2461c5
Implement the latest ETH2 networking spec 2019-08-07 06:09:42 +03:00
Ștefan Talpalaru 8947ec7be7
bump submodules 2019-08-01 23:08:27 +02:00
Ștefan Talpalaru 5ee668516a
add nim-metrics 2019-07-10 16:32:44 +02:00
Jacek Sieka 3a0a32a6fe
fix submodule name 2019-07-08 14:46:30 +02:00
Jacek Sieka 2763bd0dd5
std_shims -> stew 2019-07-07 12:12:01 +02:00
Zahary Karadjov d10f929d48 Pin down the news submodule 2019-06-20 16:34:17 +03:00
Ștefan Talpalaru d4aff04cbd
NAT port mapping 2019-04-17 03:56:28 +02:00
Jacek Sieka 9faad19569
vendor: remove nim-package-visible-types 2019-04-09 22:23:30 -06:00
Ștefan Talpalaru 12d18a1fd6 build p2pd and run some client tests
(with `make V=0 test-libp2p-daemon`)
2019-02-27 13:33:18 +02:00
Ștefan Talpalaru 16f9183dc9 add "tempfile" - used by nim-rocksdb tests 2019-02-24 10:41:05 +02:00
Ștefan Talpalaru f8faa16e76 various fixes and improvements
- "vendor/Nim/dist" might not exist
- work around build_all.sh not liking a symbolic link for csources
- submodule rename: asyndispatch2 -> chronos
- allow parallel building of Nim csources
- Windows testing
- go back to detached HEADs for reproducible historical builds
- update submodules
- document workflows
2019-02-24 10:41:05 +02:00
Ștefan Talpalaru f98902e2e5 add submodules for csources and Nimble 2019-02-24 10:41:05 +02:00
Ștefan Talpalaru 16296cbe72 add submodules 2019-02-24 10:41:05 +02:00