Jacek Sieka
2695cfa864
EH cleanup ( #2455 )
...
almost 100% raises in nimbus-eth2 now!
* fix some rare exception-related crashes in json-rpc
2021-03-26 07:52:01 +01:00
Zahary Karadjov
2eacfc4685
Bump modules to take advantage of the new Json format flavors support
...
Since quite a lot of additional procs were now compiled as generics, this lead to compiler bugs that had
to be worked-around:
* The `Domain` type was renamed to `Eth2Domain` to avoid compilation errors
due to conflicts with `nativesockets.Domain`.
Similarly, `eth2_network.KeyPair` was renamed to `NetKeyPair`.
* A new more robust version of `hexToByteArray` was added to stew
2021-03-25 09:37:35 +02:00
Jacek Sieka
8b76ceed52
Fix minor exception effect issues ( #2448 )
...
Makes code compatible with
https://github.com/status-im/nim-chronos/pull/166 without requiring it.
2021-03-24 17:20:55 +01:00
tersec
3076f5c3b6
rm std/random from beacon_chain and rm attestation timing randomness ( #2442 )
...
* remove added attestation timing randomness
* remove os/random from rest of beacon_chain, primarily deposit_contract
* remove scaffolding
* randomize std/random seed in beacon node and validator client
* use CSPRNG to more securely seed std/random
2021-03-23 06:57:10 +00:00
tersec
97850741a0
remove unused imports in slashing prtection ( #2436 )
2021-03-19 08:26:02 +00:00
Jacek Sieka
3cb31e66b4
set upper bound on EpochRef cache ( #2403 )
...
* set upper bound on EpochRef cache
* max 32 EpochRef instances
* less memory waste in BlockRef by removing EpochRef seq that is mostly
unused (~20mb)
* less memory waste in dag block lookup by not keeping an extra copy of
digest (~70mb)
* fix `==` and `$` for Eth2Digest
* remove `ChainDAG.tmpState` (~50mb?)
all in all, this branch cuts mainnet memory usage by ~160-180mb and puts
limits on EpochRef cache usage - where normally it hovered around 950mb
before, it's now sitting at 600-700mb on my machine.
* docs
2021-03-17 11:17:15 +01:00
Mamy Ratsimbazafy
c47d636cb3
Split Eth2Processor in prep for batching ( #2396 )
...
* Split Eth2Processor in gossip and consensus part and materialize the shared block queue
* Update initialization in test_sync_manager
2021-03-11 11:10:57 +01:00
Mamy Ratsimbazafy
f7cddcc8ab
Fix #2393 ( #2395 )
...
* Fix #2393
* check both
* Fix shortLog(int64)
2021-03-10 16:53:42 +01:00
tersec
82c300186b
annotate slashing protection v2 with uint64 -> int64 overflow conditions ( #2392 )
...
* annotate slashing protection v2 with uint64 -> int64 overflow conditions
* fix variables
* remove assertion which gets tripped by interchange tests
2021-03-10 08:35:04 +00:00
Mamy Ratsimbazafy
de1060e7f3
centralize p2p validation in a single file and address https://github.com/status-im/nimbus-eth2/pull/2377#issuecomment-791313118 ( #2383 )
2021-03-06 08:32:55 +01:00
Mamy Ratsimbazafy
d47f53cd9d
Reorg (5/5) ( #2377 )
...
* Reorg things left into networking and gossip_processing
* time -> beacon_clock
* fix builds
2021-03-05 14:12:00 +01:00
Mamy Ratsimbazafy
5d7f9c3a04
Consensus object pools [reorg 4/5] ( #2374 )
...
* Add documentation
* make test doesn't try to build the beacon node :/
2021-03-04 10:13:44 +01:00
Mamy Ratsimbazafy
2f17ac7b64
Move SSZ, deposit_contracts & eth1_monitor [reorg files 3/5] ( #2371 )
...
* move deposit_contract
* Move SSZ
* fix ssz import in tests
* move also eth1_monitor
* forgot to delete the original
* fix comma [skip ci]
* Fix "make" & tools imports
* Fix import
* Fix import again
* rename deposit_contract -> eth1
* Revert ssz move to subfolder
* path fixes [skip ci]
2021-03-03 07:23:05 +01:00
tersec
2b5a3a6810
remove more int64 usage ( #2369 )
...
* remove more int64 usage
* explain loop bounds
2021-03-02 13:40:28 +00:00
Mamy Ratsimbazafy
3276dfc683
Consolidate modules by areas [part 1] ( #2365 )
...
* Move sync in subfolder
* move validator related thingies in validators
* fix binary builds
* update bounds comment [skip ci]
2021-03-02 11:27:45 +01:00