Dustin Brody
0328cd49bf
mark several more functions and data structures as 0.9.3
2019-12-18 10:00:17 +00:00
Dustin Brody
1610981be6
mark several more spec-referencing code/data parts as 0.9.3
2019-12-17 16:51:46 +00:00
Dustin Brody
27bf8908a9
mark a couple dozen functions and data structures as 0.9.3; fix TRACE-level compiling; stop downloading 0.9.2 test vectors; update cosmetic/display spec versions in test suite
2019-12-17 16:51:46 +00:00
Jacek Sieka
22c44d254c
fix decoding for 0.9.3 types
2019-12-17 11:25:36 +01:00
Zahary Karadjov
15f289a281
Temporary switch back to the LibP2P daemon as the default choice
2019-12-17 00:13:51 +02:00
Dustin Brody
c824416f56
initial 0.9.3 spec update
2019-12-17 00:06:03 +02:00
Jacek Sieka
8c104a0b94
inspector: add readme entry, decoding option
2019-12-16 16:08:30 +02:00
Jacek Sieka
963f23e5ea
remove obsolete insecure comment
2019-12-16 13:36:39 +01:00
Jacek Sieka
c66ca39cee
update heads when adding resolved blocks
2019-12-16 12:18:08 +02:00
Jacek Sieka
4e85b50cb6
update head while syncing
2019-12-16 12:18:08 +02:00
Dustin Brody
741570113b
properly construct attestation data for selected slot
2019-12-13 09:04:30 +00:00
Dustin Brody
fbdb078eb3
fix return type to properly construct AggregateAndProof; check ATTESTATION_PROPAGATION_SLOT_RANGE as required, maintaining consistent slot offset
2019-12-13 09:04:30 +00:00
Dustin Brody
5880fc22ad
roadmap rest of naive attestation aggregation
2019-12-13 09:04:30 +00:00
Dustin Brody
c4daa726b5
fix AggregateAndProof definition
2019-12-13 09:04:30 +00:00
Dustin Brody
e2c68e075f
outline general flow of naive attestation aggregation
2019-12-13 09:04:30 +00:00
Dustin Brody
294db6aaca
initially implement specified attestation aggregation functions and data structures
2019-12-13 09:04:30 +00:00
tersec
cb1bc6cbf1
move attesting up from halfway to one third of the way through slots ( #643 )
...
* per honest validator and naïve/simple aggregator attestation specs, move attesting up from halfway to one third of the way through slots
* Update beacon_chain/beacon_node.nim
Co-Authored-By: Jacek Sieka <jacek@status.im>
2019-12-11 14:02:07 +01:00
Jacek Sieka
a3145f0f5c
cleanups
...
* move stuff out of beaconnode
* fix use-after-free in query
2019-12-10 14:47:52 +00:00
Zahary Karadjov
10e6d4842f
Local sim finalizes with native LibP2P
2019-12-10 15:02:16 +02:00
Zahary Karadjov
98656377a3
Eliminate the code duplication in the LibP2P back-ends
2019-12-10 15:02:16 +02:00
Zahary Karadjov
889031453f
The beacon node can be compiled with the LibP2P native back-end
...
This hasn't been tested yet even in local sim.
2019-12-10 15:02:16 +02:00
Jacek Sieka
eea523a89e
logging fixes
...
* don't log out-of-sync when there's no work to do
* small logging fixes
2019-12-10 10:18:30 +00:00
Zahary Karadjov
8ab0248209
Revert "tighten a few imports"
...
This reverts commit b24a9200d9
.
2019-12-10 02:18:47 +02:00
Jacek Sieka
b24a9200d9
tighten a few imports
2019-12-09 12:58:28 +00:00
Dustin Brody
eef040954c
remove unused hasSigningRoot(...); stop running time-consuming-but-stubbed-out tests; add timing for peer connection tests
2019-12-06 16:48:32 +00:00
Dustin Brody
362ef752dc
dedeplicate some functions duplicated between libp2p_backend and libp2p_daemon_backend; remove some unused declared variables
2019-12-06 12:55:13 +00:00
Dustin Brody
5729ceb58e
rename notice field
2019-12-06 12:12:59 +00:00
Dustin Brody
86f267bc5d
switch debug to notice and add some contextual information
2019-12-06 12:12:59 +00:00
Dustin Brody
c762c0232d
render get_beacon_proposer_index(...) return value an option and remove overly aggressive assertion formerly causing crashes when missing validators ( #617 )
...
* render get_beacon_proposer_index(...) return value an option and remove overly aggressive assertion formerly causing crashes when missing validators
* follow addBlock(...) after refactoring
* [skip ci] fix typo
2019-12-04 11:49:59 +01:00
kdeme
3b3a2b10f1
First attempt to have some fuzz tests exported for the fuzzing framework
2019-12-03 14:33:47 +02:00
Zahary Karadjov
a1198e5532
web3 fixes suggested by @yglukhov [skip ci]
2019-12-03 14:10:47 +02:00
Jacek Sieka
afc0686b36
save ssz dummps during processing ( #471 )
2019-12-03 11:32:27 +00:00
Jacek Sieka
c457904a61
avoid recursion when getting lmd ancestors
2019-12-03 13:24:16 +02:00
Zahary Karadjov
a641331448
Reduce the sync-related tracing in the testnets [skip ci]
2019-12-03 13:07:43 +02:00
Zahary Karadjov
ee2448b221
Simple validator onboarding
...
On your very first connection to each testnet, you'll be asked to
become a validator. Please consult our private repo for a Goerli
Eth1 private key that you can use for deposits.
Other changes:
* Added a simple wrapper ./connect-to-testnet script calling the
nims file in the correct environment. No extension was used to
make the command the same on Unix and Windows.
* Bumped a number of modules with fixes from this week
* `make testnet0` and `make testnet1` will no longer delete your
existing database. This is considered a more appropriate behavior
for testing forward sync.
2019-12-03 02:23:17 +02:00
Ștefan Talpalaru
7682a010a9
remove getCurrentExceptionMsg()
2019-12-02 22:06:42 +02:00
Dustin Brody
e88e559caf
render visible gradual validator emptying on catchup
2019-12-02 18:24:30 +02:00
Jacek Sieka
90212eed2a
avoid producing blocks/attestations when out of sync
...
this is a temporary measure until we figure something better out - as it
stands, we'll advance with empty slots and crash because all validators
are out.
2019-12-02 15:26:42 +00:00
Jacek Sieka
2a728d9468
fix stack overflow in isAncestor recursion
2019-11-28 17:36:07 +02:00
Jacek Sieka
c98a0d28ae
add workaround for stack overflow on block add
2019-11-28 17:36:07 +02:00
Dustin Brody
8f2e523d26
remove a few hints and warnings ( #603 )
2019-11-28 13:50:19 +01:00
Jacek Sieka
63f49eff76
document slot better
2019-11-27 15:14:20 +01:00
Jacek Sieka
e6ae9977b2
clarify slot time
2019-11-27 14:59:54 +01:00
Zahary Karadjov
8c3ea1cabf
Handle missing blocks better in block_pool.getBlockRange
2019-11-27 13:45:34 +02:00
Zahary Karadjov
897176761d
even more tracing for testnet1 [skip ci]
2019-11-27 11:21:45 +02:00
Dustin Brody
6f650ca144
avoid pointless stream usage for main basic type in SSZ objects ( #596 )
...
* avoid pointless stream usage for uint64 in SSZ objects
2019-11-26 18:22:36 +00:00
cheatfate
fa22ba22b9
PeerPool initial commit.
2019-11-26 17:16:55 +00:00
Zahary Karadjov
1099548775
Restore the number of simulation nodes to 4; More block pool tracing [skip ci]
2019-11-26 19:02:56 +02:00
Dustin Brody
bde20436e8
~50% speedup by fast-pathing Eth2Digest merkle hashing
2019-11-26 15:23:27 +00:00
Zahary Karadjov
843c461af6
Remove some debugging output
2019-11-26 02:47:41 +02:00
Zahary Karadjov
8b89bbe391
Fix off-by-one error in syncing
2019-11-26 02:45:25 +02:00
Zahary Karadjov
1d8bfd8c0d
Allow overriding the bootstrap node in run_node.sh
2019-11-26 02:45:25 +02:00
Zahary Karadjov
8de4d38e4e
More tracing
2019-11-26 02:45:25 +02:00
Zahary Karadjov
ff3da4e152
more network traffic tracing
2019-11-26 02:45:25 +02:00
Zahary Karadjov
957645d752
Fix the bulds with json logging enabled
2019-11-26 02:45:25 +02:00
Zahary Karadjov
acd490916f
Attempt to fix the failing tests in CI
2019-11-26 02:45:25 +02:00
Zahary Karadjov
258f6f6334
detailed tracing in block_pool.getBlockRange
2019-11-26 02:45:25 +02:00
Zahary Karadjov
4c2ded25a6
Add detailed tracing for blocks by range requests
2019-11-26 02:45:25 +02:00
Yuriy Glukhov
777b3f4e29
State/block pruning
2019-11-26 02:45:25 +02:00
Jacek Sieka
76d3e74b02
fix head update message
2019-11-25 18:50:45 +01:00
Jacek Sieka
a82869c03d
add validators even if they're not in startup state
2019-11-25 18:31:22 +02:00
Dustin Brody
1494bcc262
replace links to Apache and MIT licenses with HTTPS versions ( #592 )
2019-11-25 16:30:02 +01:00
Dustin Brody
904283e33e
make mount(...) public again
2019-11-25 14:48:59 +00:00
Dustin Brody
b82328b148
convert hash_tree_roots_prefix(...) to an iterator
2019-11-25 14:48:59 +00:00
Dustin Brody
c3d2634b97
re-export beginRecord(...)
2019-11-25 14:48:59 +00:00
Dustin Brody
f6de87b80e
remove O(n^2) eth1 deposit processing and scaffolding comparing it with O(n) deposit processing; re-enable now-viable-to-run genesis state initialization tests with around 16,384 validators
2019-11-25 14:48:59 +00:00
Dustin Brody
fa2a703a17
switch more funcs and procs from global to module scope; create scaffolding for non-O(n^2) eth1 deposit processing with assertions for equivalent functionality; fix a few more shellcheck warnings
2019-11-25 14:48:59 +00:00
Jacek Sieka
fd4de5de0f
start untangling beaconnode ( #589 )
...
* Move BeaconNode type to its own file (fewer imports)
* disentangle sync protocol/request manager
* fix some old nimisms
* de-fear some logs
* simplify eth1 data production
* add stack tracing to release builds
* drop release compile flag for testnet
2019-11-25 15:36:25 +01:00
Yuriy Glukhov
2e875ea17e
Better connection error handling in MainchainMonitor
2019-11-25 13:45:53 +02:00
Dustin Brody
a8de94ad05
add validator_leaving logging at debug chronicles level for all call paths to initiate_validator_exit(...)
2019-11-25 09:08:15 +00:00
Dustin Brody
8d9fdb0afd
miscellanous cleanups and removing a few funcs/procs from unnecessary global scopes
2019-11-25 09:08:15 +00:00
Mamy Ratsimbazafy
1938379bcd
Automated beacon constant checks ( #583 )
...
* Fix SSZ bitlist deserialization super silly bug
* Add an automated sanity checks of the beacon chain constants
* Remove SSZ consensus skipping procs [skip ci]
* Add phase 1 domains
* Fix mainnet constants
* Add missing phase 1 constants on minimal (they are not needed somehow on mainnet)
* Rebase artifact: constants were defined twice
2019-11-22 20:56:39 +01:00
Dustin Brody
edfd65fd5d
stop download 0.9.1 test vectors; finish 0.9.2 update, primarily via fixing preset constants; remove a couple 0.19.6 shims
2019-11-22 16:41:43 +00:00
Dustin Brody
f5b8931fad
switch assert(...) to doAssert(...) and minor cleanup
2019-11-22 16:39:05 +00:00
Dustin Brody
41fa377638
mark all non-changed 0.9.1 items as 0.9.2 ( #576 )
2019-11-22 09:29:04 +01:00
Dustin Brody
85f2596604
re-enable all_tests.nim mainnet tests
2019-11-21 19:40:35 +02:00
Jacek Sieka
7c6d87051a
simplify validator api ( #573 )
...
* avoid passing whole state to validator api (easier when it goes
out-of-process)
* clean up some cruft
2019-11-21 10:57:59 +01:00
Dustin Brody
c0f009908c
re-enable test_interop based on zcli with 0.9.1 specs and update initialize_beacon_state_from_eth1(...) to 0.9.1 ( #569 )
...
* re-enable test_interop based on zcli with 0.9.1 specs and update initialize_beacon_state_from_eth1(...) to 0.9.1
* switch many procs to funcs
* fix import os.nim instead; ospaths is deprecated [Deprecated] warnings
2019-11-21 09:15:10 +00:00
Mamy Ratsimbazafy
bb0979f232
Ssz fixes ( #566 )
...
* SSZ signature from EF are always opaque blobs (security issue - https://github.com/status-im/nim-beacon-chain/issues/555 )
Enable
- Attestation
- Beaconstate (minimal only)
- Deposit
- DepositData
- ProposerSlashing
Updates #518
* mv debug_ssz to helpers
* Small reorg of the list types
* Fix IndexedAttestation, AttesterSlashing and BeaconBlock
* Deactivate on mainnet: AttesterSlashing, BeaconBlockBody, IndexedAttestation, Attestation, BeaconBlock
* Fix Validators on minimal and mainnet
2019-11-19 12:04:51 +01:00
Dustin Brody
2749cb14a6
convert mostly-uncompiled verify_merkle_branch(...) calls to newer is_valid_merkle_branch(...) name; re-enable several lines of deposit testing code and outline roadmap for completion
2019-11-18 17:35:58 +00:00
Dustin Brody
d8590bbffc
fix several warnings and hints
2019-11-18 17:35:58 +00:00
Dustin Brody
827956b5b3
remove a pre-Nim 0.20.x workaround
2019-11-18 17:35:58 +00:00
Dustin Brody
6f87c8fd89
verify that state_sim is justifying and finalizing; fix 3 more warnings; rename crosslink_committee_cache to beacon_committee_cache; fix O(n^2) usage of get_base_reward(...)
2019-11-18 17:35:58 +00:00
Dustin Brody
c7c439ac61
use bounded List[] SSZ type for more hashing consistency with spec
2019-11-18 09:35:17 +01:00
Jacek Sieka
14712bbbdc
random warning fixes
2019-11-15 12:05:18 +01:00
Dustin Brody
3f958d3529
Merge branch 'master' into bat
2019-11-14 19:37:47 +00:00
Dustin Brody
7e70d16da9
remove BeaconStateNew and associated testing scaffolding/infrastructure
2019-11-14 20:03:08 +01:00
Dustin Brody
96dcb1cf95
Remove shard-relating code
2019-11-14 19:48:12 +01:00
Dustin Brody
c08698bffe
scaffolding to remove last vestiges of get_committee_count(...), SHARD_COUNT, and rest of that 0.8.x infrastructure; this demonstrates equivalence between two, before discarding old code
2019-11-14 18:37:51 +01:00
Dustin Brody
b4850fbb06
remove XDeclaredButNotUsed spam
2019-11-14 15:58:31 +00:00
Dustin Brody
df1d00f13a
remove UnusedImport spam ( #549 )
...
* remove UnusedImport spam
* re-add random import to beacon_node
2019-11-14 11:47:55 +01:00
Dustin Brody
3dcc00779a
replace deprecated toSet(...) with toHashSet(...); replace implicit with more explicit default constructor for readability
2019-11-13 13:49:38 +00:00
Dustin Brody
5a54c823d8
update to 0.9.1: don't try to run removed tests; re-add 1.5 tests (one only in minimal); remove bls_verify_multiple(...) and AttestationDataAndCustodyBit; and update process_attester_slashing(...), get_indexed_attestation(...), and is_valid_indexed_attestation(...)
2019-11-13 13:49:38 +00:00
Zahary Karadjov
f40675509a
Make all testnet env file values optional [skip CI]
...
Also removes some usages of SHARD_COUNT
2019-11-12 23:43:38 +00:00
Zahary Karadjov
5a93e50b5e
Sync-related fixes:
...
* off-by-one error in the returned range of blocks
* larger request time-outs to deal with non-responsive servers
* fix an unhandled exception when we fail to deliver a response chunk
2019-11-12 23:43:38 +00:00
cheatfate
6e8a518077
Fix getPersistentNetIdentity() do not use daemon anymore.
...
Fix change PeerInfo to MultiAddress.
2019-11-12 23:43:38 +00:00
Dustin Brody
1f352bf440
fix trace compilation
2019-11-12 16:35:12 +01:00
Dustin Brody
fb5d9edb7c
keep types consistent
2019-11-12 14:49:26 +00:00
Dustin Brody
d5ce142511
fix network sim finalization; remove get_attestation_data_slot(...); remove 2 more get_crosslink_committee(...) calls
2019-11-12 14:49:26 +00:00
Zahary Karadjov
07f0bd9378
Log the executable version at start-up [skip ci]
2019-11-12 00:05:59 +00:00