Commit Graph

641 Commits

Author SHA1 Message Date
andri lim 74cc3b6127
Implement engine_getClientVersionV1 (#2233)
* Implement engine_getClientVersionV1

* full git revision string

* Limit GitRevisionString to 8 chars

* Fixes

* Debug windows CI

* debug windows ci

* produce git revision using -C

* try not to delete .git folder in windows ci

* Harden GitRevision procuration

* Add double quotes to git -C param

* Escape sourcePath

* Remove double quotes from git -C param
2024-05-29 09:20:50 +02:00
Jacek Sieka a649e633ae
eth: bump (#2225)
* new rlp code
* binary sparse tries removed
2024-05-26 10:56:17 +02:00
andri lim 9c3dfc93a7
Bump nim-web3 to 46b4b4c8bc42013196a6290ee53029131f97931a (#2224)
* Bump nim-web3 to 46b4b4c8bc42013196a6290ee53029131f97931a

* Fix beacon_lc_bridge and nimbus_verified_proxy
2024-05-26 14:13:59 +07:00
andri lim e6d5a791f5
Bump nim-stint to 9d2b382c5dc34f0d6bbd93b2a5d65dde85067e0f (#2223) 2024-05-26 10:48:59 +07:00
andri lim d4866d5003
Bump nim-json-serialization to 4d0b0662ed960ab2c5a1ddbd08f77048bac13ae7 (#2222) 2024-05-26 10:48:45 +07:00
Kim De Mey 72912626a2
Several spec fixes for HistoricalSummaries + add test-vector test (#2217) 2024-05-24 23:15:04 +02:00
Kim De Mey 95089f103a
Bump portal-spec-tests for additional header validation tests (#2208) 2024-05-22 19:23:18 +02:00
web3-developer 047f8ec4b2
Bump portal spec tests and update state validation tests to use state roots in test vectors. (#2193)
* Bump portal spec tests to version a549242

* Update state validation tests to use state roots in portal spec test vectors.
2024-05-17 23:20:57 +08:00
Etan Kissling c4c37302b1
Introduce wrapper type for EIP-4844 transactions (#2177)
* Introduce wrapper type for EIP-4844 transactions

EIP-4844 blob sidecars are a concept that only exists in the mempool.
After inclusion of a transaction into an execution block, only the
versioned hash within the transaction remains. To improve type safety,
replace the `Transaction.networkPayload` member with a wrapper type
`PooledTransaction` that is used in contexts where blob sidecars exist.

* Bump nimbus-eth2 to 87605d08a7f9cfc3b223bd32143e93a6cdf351ac

* IPv6 'listen-address' in `nimbus_verified_proxy`

* Bump nim-libp2p to 21cbe3a91a70811522554e89e6a791172cebfef2

* Fix beacon_lc_bridge payload conversion and conf.listenAddress type

* Change nimbus_verified_proxy.asExecutionData param to SomeExecutionPayload

* Rerun nph to fix asExecutionData style format

* nimbus_verified_proxy listenAddress

* Use PooledTransaction in nimbus-eth1 tests

---------

Co-authored-by: jangko <jangko128@gmail.com>
2024-05-15 10:07:59 +07:00
Etan Kissling 766823cd49
Bump nim-chronos to 8a306763cec8105fa83574b56734b0f66823f844 (#2183)
Co-authored-by: jangko <jangko128@gmail.com>
2024-05-14 12:58:32 +07:00
jangko 37e7e52944
Bump nim-graphql to 54dcec7f6f01a2f1e0d5115b7352a1e16182a655 2024-05-14 09:23:09 +07:00
jangko 47a86f0df6
Bump nim-web3 to de87f860874be944cdc3dfd08765c687fff736c4 2024-05-13 10:07:48 +07:00
Kim De Mey 3be298f58f
Add tests for beacon block proofs Capella and onwards (#2161) 2024-05-10 22:51:24 +02:00
jangko d1f21f39c1
Bump nim-kzg4844 to bd372ec8e673c928ed2ad5ca887b696aab58b0b3 2024-05-07 10:28:40 +07:00
Jordan Hrycaj b9187e0493
Aristo selective read cashing for rocksdb backend (#2145)
* Aristo+Kvt: Better RocksDB profiling

why:
  Providing more detailed information, mainly for `Aristo`

* Aristo: Renamed journal `stats()` to `capacity()`

why:
  `Stats()` was a misnomer

* Aristo: Provide backend read caches for key and vertex IDs

why:
  Dedicated LRU caching for particular types gives a throughput advantage.
  The sizes of the LRU queues used for caching are currently constant
  but might be adjusted at a later time.

* Fix copyright year
2024-04-22 19:02:22 +00:00
Jordan Hrycaj d6a4205324
Aristo update rocksdb backend drivers (#2135)
* Aristo+RocksDB: Update backend drivers

why:
  RocksDB update allows use some of the newly provided methods which
  were previously implemented by using the very C backend (for the lack
  of NIM methods.)

* Aristo+RocksDB: Simplify drivers wrapper

* Kvt: Update backend drivers and wrappers similar to `Aristo`

* Aristo+Kvm: Use column families for RocksDB

* Aristo+MemoryDB: Code cosmetics

* Aristo: Provide guest column family for export

why:
  So `Kvt` can piggyback on `Aristo` so there avoiding to run a second
  DBMS system in parallel.

* Kvt: Provide import mechanism for RoksDB guest column family

why:
  So `Kvt` can piggyback on `Aristo` so there avoiding to run a second
   DBMS system in parallel.

* CoreDb+Aristo: Run persistent `Kvt` DB piggybacked on `Aristo`

why:
  Avoiding to run two DBMS systems in parallel.

* Fix copyright year

* Ditto
2024-04-16 20:39:11 +00:00
andri lim e713f3c287
Implement eth_feeHistory (#2130)
* Implement eth_feeHistory

* Fix copyright year
2024-04-16 08:02:42 +07:00
andri lim b6f8a000b9
Bump nim-web3 to a31bc63448d8259255a00c130af68d6e558c60f5 (#2126) 2024-04-04 15:23:25 +07:00
web3-developer c17966d585
Update nim-rocksdb version. (#2120)
Update nim-rocksdb version to latest.
2024-03-30 00:35:56 +08:00
Kim De Mey 095bcae8b7
Use yaml versions of the portal beacon lc test vectors (#2117) 2024-03-29 17:12:23 +01:00
andri lim ea6701a68f
Bump ssz-serialization to 248f2bdca2d65ff920920c72b764d0622d522596 (#2118) 2024-03-29 11:21:02 +07:00
andri lim fd9bb28b20
Bump nim-web3 to 9e370474fb16039860d074535dd1649f1c2307b2 (#2112) 2024-03-28 14:16:40 +07:00
andri lim be74ea83f9
Bump nim-evmc to 86d22a026b0aa07c07b3afd7d91ca475e0eae12a (#2113) 2024-03-28 13:47:02 +07:00
andri lim 64fe19a590
Bump nim-kzg4844 to 4fbcfbe4c452313bd440936318a87ed708987d8b (#2111) 2024-03-28 09:16:02 +07:00
web3-developer 0c0141817c
Static link rocksdb with Nimbus. (#2084)
* Static link rocksdb into Nimbus.

* Link in additional compression libraries.

* Support static linking for MacOS.

* Add flag to support disabling rocksdb static linking.

* Static linking is disabled by default. Build nimbus with static linking using: make nimbus_rocksdb_static

* Update nim-rocksdb to latest.
2024-03-28 09:55:12 +08:00
andri lim 32f631534d
Bump nim-web3 to 4d80530dd54af2c3285496317eddb2b7a82b10ad (#2105) 2024-03-26 09:31:10 +07:00
Kim De Mey f3de770c14
Bump nimbus-eth2 module (#2104) 2024-03-25 13:40:57 +01:00
Kim De Mey 1379e05db1
Add bellatrix block proof test using new test vectors (#2099) 2024-03-22 13:05:06 +01:00
Kim De Mey d3a706c229
Replace status-im/portal-spec-tests with ethereum fork version (#2097)
- The fluffy test vector repo got forked (well, copied rather) to
become the official one under ethereum github org, so we change
to that repo now and archive ours.
- Our repo also stored accumulator / historical_roots, replace
that with a new repo which is only for network configs.
- Several changes needed to be made due to test vectors that got
updated + some of them got changed to / are yaml format instead of
json.
2024-03-22 11:28:44 +01:00
andri lim 30277be1f3
Bump nim-web3 to 285d97c2b05bbe2a13dab4b52ea878157fb1a1a1 (#2088)
* Bump nim-web3 to 285d97c2b05bbe2a13dab4b52ea878157fb1a1a1

Unify EthCall/EthSend into TransactionArgs (#138)

* bump ssz-serialization

* Fix BlockNumber conversion

* Bump ssz-serialization: Restrict toSszType usage to non SszType in readSszBytes (#81)
2024-03-21 08:05:22 +07:00
Kim De Mey 49a199dbc3
Add beacon state historical_roots to fluffy (#2085)
- Add historical_roots in the binary for proof verification
pre-capella
- Add command to export historical_roots to file in
eth_data_exporter tool
2024-03-19 16:45:32 +01:00
andri lim 90622c0915
Bump libtommath to f96ffdf38803218fe74079738c9ff888bc9ab48c (#2069) 2024-03-15 20:52:41 +07:00
Kim De Mey bfa756c36b
Bump json-rpc and web3 and remove unneeded errors import/export (#2078) 2024-03-15 11:44:18 +01:00
web3-developer 799acf301d
Added support for namespaces to RocksDb kvstore. (#2066)
* Add new RocksNamespaceRef type and remove backups and readonly support from RocksDb KvStore.

* Bump nim-rocksdb to fc2ba4a836b6b47ae1b17d1c45801c7e06585e19

* Fix tests.

* Fix copyright notice.
2024-03-12 11:04:46 +08:00
Kim De Mey 88a93beb26
Provide a specific error in JSON-RPC API when content is not found (#2059) 2024-03-06 08:57:09 +01:00
web3-developer 11691c33e9
Update Nimbus codebase to use the new nim-rocksdb API. (#2054)
* Bump nim-rocksdb.

* Update codebase to use latest nim-rocksdb API.

* Update copyright notices.

* Fix memory leak due to allocCStringArray without deallocCStringArray.

* Improve kvstore_rocksdb code.

* Refactor and cleanup RocksStoreRef.

* Update nim-rocksdb submodule to latest.
2024-03-05 12:54:42 +08:00
andri lim 7079c7b305
Bump nim-web3 to 747001250a27278e0f0f1706fe1dec88ad3ede8d (#2057)
Remove error field from AccessListResult
Add optional yParity field to TransactionObject
2024-02-29 22:02:38 +07:00
andri lim a32a6200b6
Bump json-serialization to 7516a92eb8339f8fc1de7dd16cfa3d77bce87cd2 (#2056)
- avoid XDeclaredButNotUsed when no field isnot JsonVoid (#87)
- Fix JsonValueRef.Object comparison
2024-02-29 20:16:36 +07:00
andri lim 66c0f92cc6
Bump nim-stint to 7bb0ccc7842577243edc3b8d61f75bf498551a7a (#2053)
Make decimal string parser raise ValueError instead of RangeDefect. (#148)
Upgrade github actions to v4 (#149)
2024-02-29 07:38:31 +07:00
andri lim d830692b72
Bump nim-evmc: add push raises: [] (#2051) 2024-02-24 09:38:50 +07:00
andri lim 3a1b0d8674
Bump json-serialization and nimbus-eth2 (#2049)
* Bump json-serialization and nimbus-eth2

* Remove deprecated ValidIpAddress usage
2024-02-22 12:15:25 +07:00
andri lim f2694d86e0
Bump submodules (#2045) 2024-02-22 09:03:15 +07:00
andri lim 4735af8603
Bump cryptographics libraries (#2041) 2024-02-21 16:14:00 +07:00
andri lim 2a1386e46a
Bump nim-eth: Fix improper yield usage (#2036) 2024-02-19 16:33:55 +07:00
andri lim 795d0d779e
Bump json-rpc to 9c65df305390ab01a13788af5aea78cd62dceb2a (#2035) 2024-02-19 16:33:43 +07:00
andri lim bea558740f
Reduce compiler warnings (#2030)
* Reduce compiler warnings

* Reduce compiler warnings in test code
2024-02-16 16:08:07 +07:00
andri lim 966adcb124
Prepare source code for nim v2 CI (#2028)
* Prepare source code for nim v2 CI

* Fix copyright year
2024-02-15 09:57:05 +07:00
andri lim f5a7dff148
Bump stew to 5a792e762faa8e2e4acea0d60b651ebdbc7a3d2d (#2025) 2024-02-13 21:03:41 +07:00
Daniil Sobol 009caee2dc
portal-spec-tests update 2024-02-12 12:07:57 +03:00
jangko d8ec962b6a
Bump confutils: no more exception leak 2024-02-12 13:01:05 +07:00
Kim De Mey 2fb90cfb43
Initial implementation of era1 + export + verify (#1998)
* Initial implementation of era1 + export + verify

Initial implementation of era1 + export and verify command in the
existing eth_data_exporter.

* Quick verify version to test with geth created era1 files

* Add Era1File object and getter for specific block tuple

* Add getAccumulatorRoot and update AccumulatorRoot type name

+ clean-up of some comments.

* Implement BlockIndex based verify + additional helper calls

+ fix bug for reading last (incomplete) Era1 file

* Fix init BlockIndex offsets for last era + extra check on reading

* Remove duplicated e2store code
2024-02-09 11:13:12 +01:00
Kim De Mey fa7f5de162
Bump nimbus-eth2 to latest unstable + related bumps (#2013) 2024-02-08 12:27:13 +01:00
Kim De Mey 04d9ebcf33
Bump nim-eth for RLP receipts serdes fixes (#2010) 2024-02-06 07:49:50 +01:00
Daniel Sobol 9c53c73173
state network test vectors update (#2003)
* state network test vectors update
* nibbles codec
* moving test vectors into portal-spec-tests
* fix copyright year in all_fluffy_tests
2024-02-03 00:12:36 +03:00
jangko 66e0c6a56c
Bump json-rpc: Support more optional types 2024-02-02 14:40:15 +07:00
andri lim 24f7a94d5b
Bump json-rpc to v0.4.0: Support RPC batch call (#1997) 2024-01-31 18:56:03 +07:00
andri lim c635e160d9
Implement combo http server for rpc, engine_api, and graphql services (#1992)
* Combo HTTP server implementation

* Use json flavor for jwt_auth decoder
2024-01-29 20:20:04 +07:00
Vit∀ly Vlasov 048fc380a9
Nimbus light client integration with status-go rebased version (#1971)
* Nimbus light client integration with status-go

* Add cleanup code, address review comments

* Disable metrics for libverifproxy only

* Update confutils

* missing import

* build proxy in tests

* more build stuff

* namespace make vars

* export NimMain for windows

* reduce dependency on Nim compiler in header file

* copyright

---------

Co-authored-by: Vitaliy Vlasov <siphiuel@protonmail.com>
Co-authored-by: Jacek Sieka <jacek@status.im>
2024-01-26 23:04:08 +01:00
jangko 5b7857e181
Bump graphql, json-rpc and websock in preparation for combo HTTP server 2024-01-25 20:27:32 +07:00
Kim De Mey dbc1ae86e2
Vendor bumps + related fixes + warning fixes (#1985)
- Vendor bump of stew, nim-eth, chronos, nimbus-eth2 and libp2p
- Bump related fixes + fixes of deprecation warnings
- Several other warnings fixed.
2024-01-24 16:28:03 +01:00
andri lim cba5d166f4
Bump websock (#1982)
* Bump nim-websock to 475ad35c89b0c6e63d8fda556c108a02b5f5e447

* Fix obsolete Rng cast

* Fix copyright year

* Remove obsolete comments
2024-01-23 22:29:12 +07:00
andri lim 107d81dbc9
Bump unittest2 to 0fe665e509340fa5ed88632e2e32692b867b08fc (#1980)
* Bump unittest2 to 0fe665e509340fa5ed88632e2e32692b867b08fc

* Bump nim-unittest2
2024-01-22 19:56:10 +07:00
andri lim b098484e4d
Bump nat-traversal to 3398a649f4e895cae86fbe85b54769ebc0967878 (#1979) 2024-01-20 07:58:54 +07:00
kdeme 9875eb11d6
Bumps for chronos, nim-eth and unittest2 and future callback fixes 2024-01-19 13:37:14 +01:00
jangko 36dd297331
Bump nim-json-rpc to 8d79d528412d7cdd022ff91fb6bacd4f5bb01d58
Fix improper yield usage in json-rpc-websocketserver
Improve both client and server resilience against fields and elements with null value (#195)
2024-01-17 14:30:59 +07:00
jangko 1d50d03456
Bump nim-web3 to ce47cde31c9b08e4b702766d4d788cc83fa55cf0
Synchronize order of blobGasUsed / excessBlobGas in test (#126)
2024-01-17 13:56:08 +07:00
jangko 4d44f7b576
Bump nim-json-serialization to d9394dc7286064902d825bbc1203d03d7218633a
Add flavor feature: reader will skip null fields
add lexer test cases (#76)
Deconvolute optional fields writer (#77)
Resilience against null fields (#78)
2024-01-17 13:53:10 +07:00
jangko 4fb94cacad
Bump nim-web3 to c595e0d6c8ec1ea7c28b267c8141fa70437cccaa 2024-01-14 15:25:57 +07:00
jangko 3e21281d12
Bump nim-web3 and others
Bump nim-json-rpc and nimbus-eth2 too.
Reason: both nim-json-rpc and nim-web3 migrate from
stdlib/json to nim-json-serialization
2024-01-14 10:41:23 +07:00
Kim De Mey 964b355dc8
Bump Nim version, nimbus-eth2 and ssz-serialization (#1967) 2024-01-13 22:46:06 +01:00
Kim De Mey cbf5f59681
Bump chronos and other sub modules + related fixes (#1966)
* Bump chronos and additional modules + fixes

* Additional chronos bump + nim-eth bump for utp and discv5 fixes

* Fix the raw Exception errors in async evm

---------

Co-authored-by: jangko <jangko128@gmail.com>
2024-01-12 22:06:19 +01:00
andri lim 3f4d3fef25
Bump serialization family (#1965)
* Bump serialization family
2024-01-12 21:18:15 +07:00
Daniel Sobol 70013422cd
Initial impl of state network bridge 1902 (#1948) 2024-01-09 12:32:29 +03:00
jangko 5e95df6bde
Bump json-serialization to v0.2.0: Improve lexer flexibility 2023-12-26 17:27:06 +07:00
andri lim 540db59357
bump toml-serialization to v0.2.10: improve strictness (#1954) 2023-12-26 14:00:38 +07:00
Kim De Mey dded8643d9
Update the beacon and state network content key prefixes (#1950) 2023-12-19 19:59:38 +01:00
jangko 5fd54961e3
Bump nim-web3: remove rpc types duplicates 2023-12-13 07:58:12 +07:00
Kim De Mey 49d6c5728b
Bump nim-ssz-ser for fix for Empty SSZ list in Union + add test (#1909) 2023-12-01 13:04:34 +01:00
Kim De Mey a7bb52e5b5
Add force prune for statically set radius (#1896) 2023-11-21 16:16:15 +01:00
Kim De Mey 86f93fdba5
ValidIpAddress -> IpAddress related vendor bumps and changes (#1892) 2023-11-10 19:38:11 +01:00
Kim De Mey 494a61ceb6
Bump nim-eth for duplicate metrics fix (#1874) 2023-10-31 19:51:37 +01:00
jangko 26ede94a73
Add Holesky testnet configuration 2023-10-25 14:06:36 +07:00
andri lim d1252665b2
Bump nim-eth: remove EIP-4844 blobs before hashing tx (#1840) 2023-10-22 15:59:05 +07:00
jangko 87fbc43867
Bump nim-kzg4844: Use official trusted setup 2023-10-19 12:23:48 +07:00
andri lim 04c7ed8ec9
Change EthTime from std.Time to distinct uint64 (#1820)
* Change EthTime from std.Time to distinct uint64

* Bump nimbus-eth2
2023-10-18 09:16:11 +07:00
Kim De Mey ca61a7009d
Bump submodules and related fixes (#1729)
* Bump submodules and related fixes

* Fix some warnings due to chronos and Nim bumps

* Seems macOS and Windows have different behavior
2023-10-17 14:19:50 +02:00
andri lim 750a075a6c
nimbus-build-system: Bump Nim to version 1.6.16 (#1818) 2023-10-16 22:12:41 +02:00
Kim De Mey 3444ffaf30
Update test to latest beacon LC test vectors (#1815) 2023-10-11 15:44:23 +02:00
Kim De Mey 7b313ec1ac
Use signature slot instead of attested header slot (#1811)
Use signature slot instead of attested header slot in the
OptimisticUpdate content key.
2023-10-06 17:42:34 +02:00
Kim De Mey f72f02c88b
Remove optimistic slot from FinalityUpdate content key (#1810) 2023-10-06 15:46:53 +02:00
andri lim 744e4f9739
bump web3 and add shouldOverrideBuilder field to GetPayloadV3Response (#1807)
* bump web3 and add shouldOverrideBuilder field to GetPayloadV3Response

* Resolve ambiguous identifier error
2023-10-05 20:54:51 +07:00
andri lim b7365085ae
Implement EIP-7516: BLOBBASEFEE opcode (#1791)
* Implement EIP-7516: BLOBBASEFEE opcode
2023-10-01 14:24:15 +07:00
andri lim dc1dcfb206
EIP-4844: Fix excessBlobGas handling (#1771)
* EIP-4844: Fix excessBlobGas handling

* Change vmState.difficulty to vmState.difficultyOrPrevRandao
2023-09-24 22:25:41 +07:00
andri lim 56215ed83f
Bump stint to v2.0: new array backend (#1747)
* Bump stint to v2.0: new array backend
2023-09-13 09:32:38 +07:00
andri lim 948c94763c
Bump nim-eth: Add closeWait to EthereumNode (#1742) 2023-09-09 13:54:58 +07:00
andri lim db6bd9af16
Switch to llvm-mingw for faster Windows CI (#1740) 2023-09-08 22:10:16 +07:00
Kim De Mey c04f2477ac
Add version to fluffy cli flags and metrics (#1736)
Also update Grafana dashboard to incorperate the metrics and do
a confutils module bump.
2023-09-07 16:27:13 +02:00
Kim De Mey 2b23fe2ba4
Bump chronos submodule (#1735) 2023-09-07 16:15:58 +02:00
Kim De Mey 7ae333ac8b
Add discv5 provided ENR directly to Portal protocol routing table (#1714)
* Add discv5 provided ENR directly to Portal protocol routing table

Previous version of getting the ENR from the discv5 routing table
would not work due to the order of first calling the talk protocol
handler and only after that the addEnr to the disc5 routing table.

Instead of changing this order, pass along the ENR directly to
avoid this additional getNode call.

* Still request ENR from discv5 if it wasn't passed via handshake
2023-08-30 20:38:15 +02:00
andri lim bf65378006
Bump nim-web3 and nim-eth: Add EIP-4788 parentBeaconBlockRoot field (#1696) 2023-08-19 16:33:41 +07:00
jangko dd9e181acc
EIP-1153: completing transient storage on EVMC side 2023-08-18 10:19:34 +07:00
jangko 53d7165f6d
bump web3: Change withdrawals field of ExecutionPayloadBodyV1 become optional 2023-08-17 11:31:43 +07:00
jangko 629970dab8
bump nim-web3: add engine_getPayloadBodiesByRangeV1 callsig 2023-08-17 06:46:28 +07:00
jangko a7db7b9101
add engine API V3 of Cancun 2023-08-08 21:41:40 +07:00
jangko ec17a5a348
engine_api: add getPayloadV3 and newPayloadV3 to echangeCapabilities
also add echangeCapabilities test to hive sim
2023-08-08 10:50:28 +07:00
andri lim bdaeedb09f
rename data gas to blob gas (#1659)
* rename data gas to blob gas

* bump more submodules
* extend evmc tx_context with EIP-4844 blob_hashes
2023-08-04 19:43:30 +07:00
Kim De Mey 89b3e679e2
Add new portal beacon chain lc content encoding tests (#1636) 2023-07-08 17:01:33 +02:00
jangko 08bc05a56a
stew without results 2023-07-06 15:49:03 +07:00
Kim De Mey 9a360793db
Bump nimbus-eth2 and (limited) nim-stew (#1618) 2023-06-28 09:35:36 +02:00
Kim De Mey 8ebac4c878
Some more Options to Opt and similar changes (#1611)
Includes nim-eth bump.
2023-06-27 19:43:32 +02:00
jangko e183449072
update nim-json-rpc
httpserver.nim: adding 'Content-Type: application/json' header to
the response.
2023-06-27 07:19:51 +07:00
andri lim 26a8759c34
implementation of EIP-4844: Shard Blob Transactions (#1440)
* EIP-4844: add pointEvaluation precompiled contract

* EIP-4844: validate transaction and block header

* EIP-4844: implement DataHash Op Code

* EIP-4844: txPool support excessDataGas calculation

* EIP-4844: make sure tx produce correct txHash

* EIP-4844: node should not automatically broadcast blob tx to it's peers

* EIP-4844: add test cases

* EIP-4844: add EIP-4844 support to t8n tool

* EIP-4844: update nim-eth to branch eip-4844

* fix t8n transaction decoding

* add t8n test data

* EIP-4844: fix blobHash opcode

* disable blobHash test when evmc_enable
2023-06-24 20:56:44 +07:00
Kim De Mey 2de9c95770
Remove a socket.close after destroy + bump nim-eth for uTP fixes (#1604) 2023-06-21 18:56:57 +02:00
jangko 8700d8b1e1
reduce compiler warnings 2023-06-12 12:58:53 +07:00
jangko 67aaf92c1d
bump submodules 2023-06-07 18:12:02 +07:00
jangko cbd593f514
bump nim-eth and accompanying fixes 2023-05-31 19:10:17 +07:00
Kim De Mey c9f3f82877
Add new Portal BlockBody type for Shanghai fork (#1589) 2023-05-30 06:56:54 +02:00
jangko 9868eceed1 fix withdrawals problem in tx-pool 2023-05-23 11:36:20 +03:00
jangko 4e58f9d79a
modexp precompile allow arbitrary input length 2023-05-11 07:21:03 +07:00
Kim De Mey 408394a2bd
Bump nim-eth and remove unneeded Defect raises (#1575) 2023-05-10 18:04:35 +02:00
Kim De Mey f565b2bc57
Bump nim-eth and accompanying nim-secp2561k module (#1574) 2023-05-09 21:40:59 +02:00
Adam Spitz 7f56e90654
Revert "Some work on speculative execution (#1552)" (#1561)
This reverts commit ddbdf34c3d.
2023-04-24 16:59:38 -04:00
Adam Spitz ddbdf34c3d
Some work on speculative execution (#1552)
* Recreating some of the speculative-execution code.

Not really using it yet. Also there's some new inefficiency in
memory.nim, but it's fixable - just haven't gotten around to it yet.

The big thing introduced here is the idea of "cells" for stack,
memory, and storage values. A cell is basically just a Future (though
there's also the option of making it an Identity - just a simple
distinct wrapper around a value - if you want to turn off the
asynchrony).

* Bumped nim-eth.

* Cleaned up a few comments.

* Bumped nim-secp256k1.

* Oops.

* Fixing a few compiler errors that show up with EVMC enabled.
2023-04-22 10:17:37 -04:00
Jordan Hrycaj 0387afb7b1
Remove local block body rlp fix (#1555)
* Remove local block body rlp fix

why:
  Fix moved to `nim-eth` module

* Update nim-eth bumper
2023-04-21 20:08:18 +01:00
Kim De Mey ff90f4fd22
Improve logging and logging options in Fluffy (#1548)
* Improve logging and logging options in Fluffy

- Allow selection of log format, including:
  - JSON
  - automatic selection based on tty
- Allow log levels per topic configured on cli
2023-04-19 17:01:01 +02:00
jangko b378e19892
bump submodules and accompanying fixes 2023-04-17 15:52:14 +07:00
Kim De Mey 3eafb15d7c
Make beacon LC adjustements to support capella in light clients (#1545)
- Bump nimbus-eth2 repo
- Beacon LC adjustements in fluffy
- Beacon LC adjustements in nimbus_verified_proxy
2023-04-13 18:40:01 +02:00
Adam Spitz c58d83efd5
More work on stateless mode (#1535)
* Reviving more of the code for stateless mode.

* Made asyncProcessTransaction.

* More work on stateless mode.
2023-04-12 08:39:11 -04:00
Kim De Mey 2d51196645
Add usage of header 14764013 for historya content test vectors (#1533) 2023-04-06 19:57:01 +02:00
Kim De Mey 0b960f323c
Add test vectors for history content block bodies and receipts (#1525) 2023-03-30 14:21:09 +02:00
Adam Spitz 8d9b2522ea
More on withdrawals (#1508)
* Gwei conversion should use u256 because u64 can overflow.

* Make withdrawals follow the EIP-158 state-clearing rules.

(i.e. Empty accounts should be deleted.)

* Allow the zero address in normalizeNumber.

(Necessary for one of the new withdrawals-related tests.)

* Another fix with a withdrawals-related test.
2023-03-17 14:16:24 -04:00
Kim De Mey 6bc1fedf59
Bump nim-eth module for rlpx improvements (#1502) 2023-03-16 21:21:49 +01:00
Zahary Karadjov db0a117f54 Bump Nim to 1.6.12 2023-03-16 12:37:07 +02:00
Kim De Mey e724feaf96
Bump nim-eth module and related dependency modules (#1498) 2023-03-14 21:13:37 +01:00
Adam Spitz d8a1adacaa
More work on withdrawals (#1482)
* Part of EIP-4895: add withdrawals processing to block processing.

* Refactoring: extracted the engine API handler bodies into procs.

Intending to implement the V2 versions next. (I need the bodies to be
in separate procs so that multiple versions can use them.)

* Working on Engine API changes for Shanghai.

* Updated nim-web3, resolved ambiguity in Hash256 type.

* Updated nim-eth3 to point to master, now that I've merged that.

* I'm confused about what's going on with engine_client.

But let's try resolving this Hash256 ambiguity.

* Still trying to fix this conflict with the Hash256 types.

* Does this work now that nimbus-eth2 has been updated?

* Corrected blockValue in getPayload responses back to UInt256.

c834f67a37

* Working on getting the withdrawals-related tests to pass.

* Fixing more of those Hash256 ambiguities.

(I'm not sure why the nim-web3 library introduced a conflicting type
named Hash256, but right now I just want to get this code to compile again.)

* Bumped a couple of libraries to fix some error messages.

* Needed to get "make fluffy-tools" to pass, too.

* Getting "make nimbus_verified_proxy" to build.
2023-03-09 18:40:55 -05:00
Kim De Mey b64135b830
Bump nimbus-eth2 and fix beacon LC related changes (#1473)
* Bump nimbus-eth2 and fix beacon LC related changes

* Disable local_testnet test in CI
Latest version is no longer compatible with the old nightlies that are being downloaded for the test
2023-02-26 16:44:05 +01:00
jangko 55b4baa6ba bump submodules to reduce compiler warnings 2023-02-23 20:14:29 +07:00
jangko f5c12062bd
bump submodules to reduce compiler warnings 2023-02-22 12:21:41 +07:00
jangko 54958d4731 bump submodules to reduce compiler warnings 2023-02-16 08:56:37 +07:00
jangko 0f065e91b5
bump submodules to further reduce compiler warnings 2023-02-02 09:29:02 +07:00
Kim De Mey 8523d8b40e
Bump submodules and fix related issues (#1448)
* Updated to the latest nim-eth, nim-rocksdb, nim-web3

* Bump nimbus-eth2 module and fix related issues

Temporarily disabling Portal beacon light client network as it is
a lot of copy pasted code that did not yet take into account
forks. This will require a bigger rework and was not yet tested
in an actual network anyhow.

* More nimbus fixes after module bumps

---------

Co-authored-by: Adam Spitz <adamspitz@status.im>
Co-authored-by: jangko <jangko128@gmail.com>
2023-01-27 15:57:48 +01: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
Kim De Mey 12f66ae598
Move BlockHeaderWithProof content to content key selector 0 (#1379)
* Move BlockHeaderWithProof content to content key selector 0

- Remove as content type with content key selector 4
- Replace regular block header with BlockHeaderWithProof at
content key selector 0

* Apply blockHeader content key also to bridge

* Add tests for header with proof generation and verification
2023-01-20 23:04:58 +01:00
jangko cdf40b2d37
emergency fix windows ci 2023-01-13 11:18:30 +07:00
Kim De Mey abafc3e91f
Bump nim-eth for rlpx disconnect rlp decode fix (#1370) 2022-12-14 14:00:04 +01:00
Etan Kissling 22338b7870 bump `nim-eth` for `eip4844` support
The `BlockHeader` structure in `nim-eth` was updated with support for
EIP-4844 (danksharding). To enable the `nim-eth` bump, the ingress of
`BlockHeader` structures has been hardened to reject headers that have
the new `excessDataGas` field until proper EIP4844 support exists.
https://github.com/status-im/nim-eth/pull/570
2022-12-14 11:04:13 +02:00
KonradStaniec 1cc6fc5cff
bump nimbus-eth2 and web3 (#1360)
- nimbus-eth2 exposes new callbacks in LightClient
- web3 exposes createAccessList call
2022-12-09 18:00:45 +01:00
KonradStaniec f4cacdfc6a
bump nimbus-eth2 (#1345)
* bump nimbus-eth2
2022-12-02 16:09:31 +01:00