Commit Graph

363 Commits

Author SHA1 Message Date
jangko 3e60948785 bump nim-eth
changes because of EIP-4399 preparation:
- `mixDigest` field of BlockHeader got alias `random`
2022-02-01 18:11:14 +02:00
Kim De Mey ac1196d915
Bump nim-ssz-serialization and clean-up fromSszBytes raises (#948) 2022-01-31 21:57:34 +01:00
KonradStaniec 296bf3156d
Bump nim-eth (#946)
implementation of utp fast resends
implementation of utp fast resends when processing selective acks
more logging for utp
2022-01-28 06:55:13 +01:00
Zahary Karadjov 3cbb920406
Migrate to Engine API spec version v1.0.0-alpha.5; More progress towards working M1 2022-01-25 12:52:50 +02:00
KonradStaniec 990846135a
Bump nim-eth (#941)
* Bump nim-eth
2022-01-25 10:19:16 +01: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
Zahary Karadjov e7adc609f4
Bump nim-stew 2022-01-23 19:25:46 +02:00
Zahary Karadjov 8ef9c620cb
Bump nim-json-rpc 2022-01-23 19:19:24 +02:00
Jacek Sieka f47c710ada
stew: bump (#924)
`Result` changes and `endians2` performance fix
2022-01-13 21:11:54 +01:00
Kim De Mey 73b4a73423
Bump nim-eth and nim-ssz-serialization vendor modules (#926)
- nim-eth: uTP updates, ENR improvemens and extra discv5 metrics
- nim-ssz-serialization: require BitList pairs
- update github actions cache keys to invalidate cache
2022-01-12 21:41:23 +01:00
Jordan Hrycaj 1f774c01a2
Jordan/accounts cache scenario (#904)
* crash test scenario

details:
  Example code for inspecting nested block chain and accounts cache
  database transaction framework. There seems to be a pathological
  case where the system crashes after a rollback (as appeared in the
  tx-pool packer code.)

* simplified crash scenario

* Workable solution (as suggested by Andri)

details:
  Avoiding db.rollback() (db.commit() is OK) while vmState.stateDB is
  alive.

* Rename text_txcrash => test_accounts_cache

why:
  Unit tests covers part of accounts_cache handling

* comment update
2021-12-13 11:58:05 +00:00
Kim De Mey 70625bc02c
Use one bootstrap nodes argument for discv5 and Portal (#911)
Currently bootstrap nodes for discv5 and for the Portal nodes
were provided through separate cli arguments. This is however
confusing and cumbersome as typically when (currently) testing
a node will have both discv5 and the Portal networks enabled.
We merge them into one argument.

If a node happens not to support a Portal network, it will be
removed after message request failure.

Commit also contains additional clean-up and nim-eth bump.
2021-12-13 09:06:29 +01:00
jangko d5d0a44b0e
bump nim-confutils with addition features needed by nimbus-eth1
new features:
- multiple lines long description
- ignore property in addition to hidden
2021-12-12 16:38:10 +07:00
Kim De Mey 63b0945b52
Use json rpc client to run tests on portal testnet (#899)
Tests have also been added & adjusted. Original ones were actually
failing but unnoticed due to mistake in port passed in curl command.
2021-12-03 09:51:25 +01:00
jangko dcd86bb221
vendor: bump nim-json-rpc
bugfix and features:
- Switch to the Chronos HTTP client (adds support for HTTPS)
- Allow dynamic RPC method names in the 'rpc' macro
- Restore the support for using the news package
2021-11-30 11:47:11 +07:00
Kim De Mey 903350bdde
Add local testnet script and required json-rpc calls (#891)
- Add basic discv5 and portal json-rpc calls and activate them in
fluffy
- Renames in the rpc folder
- Add local testnet script and run this script in CI
- bump nim-eth
2021-11-24 08:45:55 +01:00
KonradStaniec f9ed83c221
bump nim eth (#890) 2021-11-22 12:35:08 +01:00
Kim De Mey 02afda1b45
Run everything fluffy with chronosStrictException (#889) 2021-11-18 17:52:44 +01:00
Kim De Mey 78f585399f
Bump submodules (#887)
* Bump submodules

* Fix missing import for state and history networks
2021-11-18 12:06:53 +01:00
Kim De Mey bdbd8e4c87
Add SSZ Unions through case objects (#882)
* Add SSZ Unions through case objects

* Add connection id content response test and improve other test vectors

* Implement content keys and ids for state network as per spec

Content keys case object is used so that it can be serialized and
deserialized as an SSZ Union.

* Let message Union in Portal wire protocol start at 0 as per new spec
2021-11-17 17:11:17 +01:00
kdeme 6de2be146a
Bump unittest2 and testutils 2021-11-14 16:02:22 +07:00
Kim De Mey 0ba3c682e4
Use SSZ code from nim-ssz-serialization module (#875) 2021-10-23 14:28:12 +02:00
Kim De Mey 447deb29ff
Add HistoryNetwork that uses Portal wire protocol (#856)
* Add HistoryNetwork that uses Portal wire protocol

* Further implement getContent and adjust naming of distance calc calls
2021-10-09 13:22:03 +02:00
jangko 7757b03d0b
vendor: bump nim-graphql version from 0.2.18 to 0.2.20
features:
- playground: add support to run inside docker
- add secure mode to graphql http server
- add secure mode to graphql http client
- httpclient: add unzip dan chunked transfer of HTTP 1.1

bugfixes:
- fix accept-encoding bug in httpserver
2021-09-21 13:35:52 +07:00
KonradStaniec 8f683bd318
bump nim-eth module (#828)
* bump-nim-eth

* fix breaking changes

* Increase result limit
2021-09-15 11:24:03 +02:00
jangko 3f60764675
vendor: bump nim-confutils
new features:
- add compile time check to detect duplicate abbr and duplicate name
- separator text when displaying help
2021-09-09 07:44:34 +07:00
Kim De Mey 07b2116f6b
Another nim-eth bump and API changes fix (#821) 2021-09-07 15:56:51 +02:00
Kim De Mey 832a50df6e
Bump nim-eth module and adjust for `distanceTo` API change (#819) 2021-09-06 17:04:21 +02:00
jangko e357a4ea5d
vendor: update websock and json-rpc
websock:
- "Host" header override (#87)
- Use caps for log-levels in tests
- Perform utf-8 validation at message boundaries (#90)

json-rpc:
- fix both ws rpc server and client due to websock breaking changes
2021-08-05 17:30:49 +07:00
KonradStaniec 4b1fa050e9
Use websockets in proxy (#779) 2021-08-05 08:14:25 +02:00
Ștefan Talpalaru e43e1cc932
bump nimbus-build-system (#775) 2021-08-03 14:13:05 +02:00
Kim De Mey e2b50d2339
Add routing table and required lookup code to Portal protocol (#773)
* Add routing table and required lookup code to Portal protocol

* Enable Portal lookup and validate loops + minor adjustments
2021-07-30 21:19:03 +02:00
Kim De Mey e9bfcedcaf
Bump nimbus-build-system and nim-eth vendor modules (#774) 2021-07-30 13:11:25 +02:00
Kim De Mey 66532e8ad5
Use ssz vectors for the hashes and add enrs in the tests (#763) 2021-07-20 14:04:57 +02:00
Kim De Mey 25522b2c24
Further implement Portal Nodes and FoundContent messages (#757) 2021-07-13 15:15:33 +02:00
KonradStaniec bd862cd649
[BUMP] bump json rpc module (#758) 2021-07-13 13:34:52 +02:00
Kim De Mey 117f744f52
Bump nim-eth to test after removing portal code (#755) 2021-07-09 23:55:02 +02:00
KonradStaniec aaab0d7bfd
[BUMP] bump json rpc (#745) 2021-07-02 16:45:53 +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 1cdb30df90
bump nim-emvc with evmc revision 8.0.0 to 9.0.0
- EIP-1559: add block_base_fee to tx_context
- EVMC_API_VERSION from 8 to 9
- add EVMC_LONDON to evmc_revision enum
2021-06-29 07:34:45 +07:00
jangko b5de442d33
bump submodule nim-eth with EIP-1559 addition 2021-06-29 07:34:00 +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
Kim De Mey 4ce9b5883c
Add Portal eth json-rpc stubs and Portal content file (#720)
* Bump nim-json-rpc module

* Add eth json rpc stubs

* Add portal content file
2021-06-18 19:20:48 +02:00
Kim De Mey 137875ba36
Bump nim-eth vendor repository (#713) 2021-06-15 12:38:54 +02:00
jangko f42c76467b
bump nim-graphql from 0.2.14 to 0.2.16
- fixes non repeatable directive error message
- refactor nim caching in github action ci
- refactor github action ci matrix
- extract miniz to it's own repo
2021-06-06 11:27:12 +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 df9bae3517
bump nim-eth submodule
eip2718: protect against malformed rlp in tx sequence decoder
2021-05-17 11:14:33 +07:00
jangko 96d1969017
bump nim-eth: eip2718 typed transaction envelope
these series of commits labelled eip2718 will pave the way for
eip2930: optional access lists
2021-05-15 18:09:36 +07:00
kdeme 273a94ed76 Bump nim-eth to get better exception tracking 2021-05-12 00:35:37 +03:00
jangko 03784848eb
bump nim-graphql version from 0.2.12 to 0.2.14
enhancements:
- scalar `Float` now have proper validation
- seqs are not copied anymore in some places, but using system.move

bugfixes:
- `removeWhitespaces` in test_common no longer eat white spaces
  from quoted string.
- `skipWhitespace` in lexer.nim now preserve \r\n instead of replace it with \n

new features:
- add custom instrument infrastructure
- add Query Complexity instrumen
2021-05-10 22:22:04 +07:00
jangko 7f509a00df
bump nim-graphql from 0.2.10 to 0.2.12
- enhancements:
  - response stream reform:
    - allow for more response stream implementation easily

- features:
  - add NodeRespStream:
    - return AST produced by execution engine instead of serialize
      it into json or something else

  - add store flag to parseSchema and parseQuery family:
    - with this additional flag, both query and schema can be marked
      with stored flag
    - purge also become selective when purging queries
    - dog fooding the introspection schema loader using this flag

bugfixes:
  - next fields will continue execution if there is error:
    - if one field failed, it will not terminate subsequent fields
      execution, but errors are kept.
  - propagate inner field error to it's parent
    - Since Non-Null type fields cannot be null, field errors are propagated to be
      handled by the parent field. If the parent field may be null then it resolves
      to null, otherwise if it is a Non-Null type, the field error is further
      propagated to it’s parent field.

    - If a List type wraps a Non-Null type, and one of the elements of that list
      resolves to null, then the entire list must resolve to null. If the List type
      is also wrapped in a Non-Null, the field error continues to propagate upwards.

    - If all fields from the root of the request to the source of the field error
      return Non-Null types, then the "data" entry in the response should be null.
2021-05-07 17:38:51 +07:00
jangko cf9ed5c2ca
bump nim-graphql
fixes stupid bug in http gzip func
2021-05-05 16:49:30 +07:00
jangko 331a95f363
bump nim-graphql from from 0.2.8 to 0.2.10
- fixes httpserver gzip crc32 calculation
- catch exception and turn it into error code in
  public api functions
2021-05-05 14:07:28 +07:00
jangko 0cdda3c437
bump nim-graphql from 0.2.6 to 0.2.8
- AST node now is inheritable
2021-05-05 11:20:12 +07:00
jangko 44601157f3
bump nim-graphql from 0.2.4 to 0.2.6
bugfixes:
- empty list should be allowed as argument value or input field value

features:
- add `parseSchemas`
2021-05-04 13:01:33 +07:00
jangko 24ce283498
bump nim-graphql from 0.2.2 to 0.2.4
bug fixes:
- fixes copyTree for nkMap node
- fixes queries with variables reusability
- fixes non nullable variables with no runtime value
2021-05-02 15:25:29 +07:00
jangko 86edf449cf
bump nim-graphql from 0.2.0 to 0.2.2
nim-graphql v0.2.2 have numerous bugfixes, but notable ones are:
- only one non-introspection field are allowed in subscription root
- @skip and @include should not allowed for subscription root
- more descriptive error message for playground ethapi, fixes
- fixes GraphiQL client complaint about our instrospection system is old
- graphql http server enhancements: gzip encoding and chunked transfer
2021-05-01 15:08:36 +07:00
jangko 6e79fa3708
bump nim-graphql from 0.1.2 to 0.2.0
- fixes http server response status code
- fixes `__schema.types` and `__schema.directives` implementation
- fixes 'getOperation' in executor.nim
- web ui(graphiql) for http server
2021-04-30 12:56:14 +07:00
jangko 1a68388969
bump nim-graphql submodule from 0.1.0 to 0.1.2
a crash bug is found in nim-graphql validator for
input object value coercion. the bug already fixed.
another non critical bug is about builtin 'specifiedByURL'
directive changed to 'specifiedBy' following the newest
graphql spec.
2021-04-27 12:51:56 +07:00
jangko 1ca4b63c3a
bump chronicles, serialization and json-serialization
recent nim-serialization API changes already made it's way into
toml-serialization. and with the addition of newest toml-serialization
along with it's bugfixes, those submodules mentioned above
become out of date because toml-serialization need newer version of
nim-serialization.
2021-04-24 10:36:48 +07:00
jangko e76e0144d0
add submodules: graphql and toml-serialization 2021-04-22 11:29:42 +07:00
Jacek Sieka 3147df0dcd
switch to chronos metrics, remove insecure (#580)
* switch to chronos metrics, remove insecure

See https://github.com/status-im/nimbus-eth2/pull/2468

also fixes pcre linking for real, and adds some random build flags that
help nimbus-eth2 stay afloat

* fix help

* don't omit frame pointers on windows
2021-04-09 09:26:06 +02:00
Jamie Lokier 6d30b349b3
Bump nim-eth for: Kademlia crash when trying to sync with testnet or mainnet (#489)
Prior to this commit, when using discv4 (Kademlia) to find peers, there is a
crash after a few minutes.  It occurs for most of us on Eth1 mainnet, and
everyone on Ropsten.

Tested for about 4 days constant operation on Ropsten.  The crash which occured
every few minutes no longer occurs, and discv4 keeps working.

Signed-off-by: Jamie Lokier <jamie@shareable.org>
2021-04-07 18:09:22 +01:00
kdeme f34431e2d4
Bump nim-eth and nim-chronos and fix exception effects 2021-04-02 19:55:21 +02:00
jangko 1988d08ad8 bump submodules 2021-03-19 12:30:00 +07:00
jangko a836c122ed bump submodules 2021-02-14 11:01:27 +07:00
jangko 8c5c967715 bump submodules 2021-01-20 11:50:07 +07:00
jangko fab894f5ad
bump nim-blscurve 2020-12-02 15:16:03 +07:00
jangko ed3b753276
add nim-blscurve submodule 2020-11-19 10:56:29 +07:00
jangko 952ad654e4
bump nim-chronos 2020-11-18 17:54:12 +07:00
jangko 71b4c44112
bump submodules 2020-11-17 10:01:00 +07:00
jangko d5f45f13da
bump nim-eth and nim-stew 2020-10-01 14:06:47 +07:00
jangko 43308c8e76
bump submodules 2020-09-30 13:09:54 +07:00
jangko e31a2ec3fc
replace tormund/news with status-im/news 2020-09-15 11:40:52 +07:00
jangko 1c7316a419
bump submodules 2020-09-10 09:54:36 +07:00
Zahary Karadjov d058509e69
Bump modules 2020-08-19 14:29:09 +03:00
jangko 6e4676e325
bump submodules 2020-08-04 12:32:57 +07:00
Ștefan Talpalaru 46e8870db3
Nim-1.2.6-RC1 (#524) 2020-07-30 14:10:22 +02:00
jangko 063019ab95
bump submodules 2020-07-20 12:35:32 +07:00
jangko 376cbcdfd5
bump nim-eth 2020-07-04 17:16:56 +07:00
jangko 51f2017b03
add bearssl submodule 2020-06-24 13:10:09 +07:00
jangko 702977276b
bump vendor/news 2020-06-24 12:57:44 +07:00
jangko ef5a964b42
bump submodules 2020-06-24 11:44:09 +07:00
Ștefan Talpalaru 75b5d4effe
Makefile: move "nat-libs" to "deps" 2020-06-22 17:12:12 +02:00
Ștefan Talpalaru b4f5d8d62f
Nim-1.2.2 2020-06-17 15:10:07 +02:00
Ștefan Talpalaru 6fcf7f4ef4
add link to nimbus-build-system docs 2020-06-13 02:03:02 +02:00
Ștefan Talpalaru d0d2b3dd8d
bump vendor/nimbus-build-system 2020-06-01 22:49:23 +02:00
jangko 4a0b3c4f16
bump more submodules 2020-05-14 10:28:07 +07:00
jangko a5d805aac5
bump submodules 2020-05-14 07:50:39 +07:00
Jacek Sieka ff028982d6 bump 2020-04-27 18:40:45 +03:00
Jacek Sieka d441687488 bump 2020-04-27 18:40:45 +03:00
Jacek Sieka ed7dbab70f db: use kvstore from nim-eth 2020-04-27 18:40:45 +03:00
kdeme 55fb4987d7
Bump chronicles + adjust some raises in libnimbus 2020-04-21 14:17:08 +02:00
kdeme 905102c736
Bump nim-eth for waku v1 changes 2020-04-21 14:16:19 +02:00
Jacek Sieka 4ade5797ee
rlp: don't use ranges / experimental features (#495) 2020-04-20 20:12:44 +02:00
Ștefan Talpalaru 73e9199ebf
new initial submodule update strategy (#494)
* new initial submodule update strategy

* Azure: increase timeout

* Makefile: change comment [skip ci]
2020-04-18 14:56:40 +02:00
Jacek Sieka 45a9933d83
vendor: bump (#493) 2020-04-18 00:11:42 +02:00
Ștefan Talpalaru a783b096fe
bump vendor/nimbus-build-system (#491)
* bump vendor/nimbus-build-system

- add the Nim compiler header to the Nimbus header
- also support the USE_LIBBACKTRACE env var

* "go-checks" target no longer available
2020-04-16 00:21:58 +02:00