Hsiao-Wei Wang
b1eb157539
Merge branch 'dev' into hwwhww/phase-1-fork-slot
2020-07-28 23:59:19 +08:00
Danny Ryan
b529d47a3b
pr feedback
2020-07-28 11:48:45 -04:00
Hsiao-Wei Wang
a8370f7448
Apply refactoring suggestions from Danny
2020-07-28 21:51:00 +08:00
Danny Ryan
235fb7e2a5
add clarifying comment for genesis skip conditions
2020-07-28 06:48:16 -04:00
Danny Ryan
049e087da0
Merge pull request #1996 from status-im/epoch-check
...
process_attestation: Validate epoch before using it
2020-07-24 08:04:06 -06:00
Jacek Sieka
6f7652d330
process_attestation: Validate epoch before using it
...
`data.target.epoch` is used to count the active validator set.
Because `get_committee_count_per_slot` is extremely inefficient the way
the spec is written, clients cache it, or the underlying active
validator set.
Performing the checks in the given order leads to a (very unlikely)
security issue where the a cold and above all, distant value may get
used which may be costly - reordering the checks brings the value into a
more reasonable range before using it.
2020-07-24 07:26:37 +02:00
Danny Ryan
607041225f
split config vs constants in deposit-contract spec
2020-07-23 15:05:25 -06:00
Danny Ryan
4c3f866a0f
add links for network and chain id
2020-07-23 12:25:44 -06:00
Hsiao-Wei Wang
e7f070d525
Use `hash_tree_root` to generate `ShardBlockHeader.body_root`
...
Include the mix-in length to the proof.
2020-07-24 02:09:25 +08:00
Danny Ryan
9193a23f8e
add chain id and netowrk id to config
2020-07-23 12:05:22 -06:00
Diederik Loerakker
247da83e62
Merge pull request #1985 from ethereum/non-viable-gossip
...
add that current block is in the same chain as finalized ancestor
2020-07-23 19:18:53 +02:00
Danny Ryan
3cf6832198
Apply suggestions from code review
...
Co-authored-by: Diederik Loerakker <proto@protolambda.com>
2020-07-23 10:46:31 -06:00
Danny Ryan
b3e49ff0d3
add finalized ancestor checks to attestation gossip
2020-07-23 10:39:04 -06:00
Danny Ryan
fb13f67cca
add that current block is in the same chain as finalized ancestor
2020-07-23 10:13:42 -06:00
Danny Ryan
289564aec0
pr feedback
2020-07-23 10:03:43 -06:00
Danny Ryan
a64b8eba6e
remove 'ssz' format from req/resp. now only ssz_snappy
2020-07-23 09:37:16 -06:00
Hsiao-Wei Wang
cd8bb3d85a
Update v-guide: Shard head root
2020-07-22 23:39:18 +08:00
Hsiao-Wei Wang
33e56b5742
Apply Terence's suggestion: refactor on_shard_block interface
2020-07-22 22:48:52 +08:00
Danny Ryan
435f70208b
Merge pull request #1958 from ethereum/gossip-params
...
Match gossip v1.1 D_low, extend gossip_history param, add FAQ section
2020-07-21 18:18:25 -06:00
Danny Ryan
50cd0b2b31
Update specs/phase0/p2p-interface.md
...
Co-authored-by: Diederik Loerakker <proto@protolambda.com>
2020-07-21 17:49:39 -06:00
Danny Ryan
edcce7bfef
format
2020-07-21 17:00:11 -06:00
Danny Ryan
ec7be11c06
mod gossip params and rename to reflect spec names
2020-07-21 16:45:25 -06:00
Hsiao-Wei Wang
c981fc4411
Apply mkalinin's suggestion
2020-07-20 16:47:21 +08:00
Hsiao-Wei Wang
74aa027e38
Apply suggestions from @mkalinin
...
Co-authored-by: Mikhail Kalinin <noblesse.knight@gmail.com>
2020-07-20 16:37:43 +08:00
Hsiao-Wei Wang
0b81c967fa
Add notes
2020-07-17 00:46:25 +08:00
Hsiao-Wei Wang
cf42fd4828
Rename `PHASE_1_GENESIS_SLOT` to `PHASE_1_FORK_SLOT` and set it to `Slot(0)` for testing.
2020-07-16 23:58:47 +08:00
Hsiao-Wei Wang
8e82ca5d1a
Merge branch 'dev' into hwwhww/new_int_to_bytes_dev
2020-07-16 01:36:19 +08:00
Hsiao-Wei Wang
6e3a7ad8f2
Merge branch 'dev' into hwwhww/strict-uint64-2
2020-07-15 23:02:51 +08:00
Hsiao-Wei Wang
f6b1fe6172
Refactor tests and avoiding passing `shart_store` to helper functions
2020-07-15 19:07:39 +08:00
Hsiao-Wei Wang
43ef9aa294
Make ShardLatestMessage per shard per validator
...
1. Add `ShardLatestMessage` dataclass
2. To make it compatible with phase 0 tests and APIs, add `Store.shard_stores: Dict[Shard, ShardStore]`
3. Update `get_forkchoice_store` and `update_latest_messages`
2020-07-14 17:44:01 +08:00
Danny Ryan
7b43a3d772
Merge pull request #1956 from ethereum/queue-att
...
add queueing possibility to p2p messages in gossip
2020-07-08 10:53:19 -06:00
Danny Ryan
22b72180f7
Merge pull request #1962 from mkalinin/patch-1
...
Fix epoch_boundary_block_root computation
2020-07-08 10:52:57 -06:00
Mikhail Kalinin
b785c97051
Fix epoch_boundary_block_root computation
2020-07-08 21:58:20 +06:00
ericsson
3e9556202a
change `get_custody_period_for_validator()` return type to `uint64`
2020-07-08 18:19:41 +03:00
protolambda
07274736b9
Match gossip v1.1 D_low, extend gossip_history param, add FAQ section
2020-07-08 01:42:09 +02:00
Danny Ryan
334947f523
rearrange queuing conditions
2020-07-07 16:20:31 -06:00
Danny Ryan
4c1fa7fa6f
add note about max queue sizes in gossip
2020-07-07 12:41:41 -06:00
Danny Ryan
953d106163
add queueing possibility to p2p messages in gossip
2020-07-07 12:34:39 -06:00
Danny Ryan
6195e027f1
working through new-lines
2020-07-03 09:19:15 -06:00
Danny Ryan
04a6c96cdf
break p2p topics into separate md headers for better linking
2020-07-03 07:50:30 -06:00
Danny Ryan
e5f3b5dded
Merge pull request #1952 from status-im/no-tls
...
Update faq for tls
2020-07-03 07:37:38 -06:00
Jacek Sieka
30e0438d49
Update faq for tls
...
we're not using tls1.3 (yet?)
2020-07-03 10:47:17 +02:00
terence tsao
27fa15eb76
A few light client typos
2020-07-02 16:46:31 -07:00
Danny Ryan
c3350f4477
Merge pull request #1946 from ericsson49/fix_is_valid_fraud_proof2
...
Fix `is_valid_fraud_proof` which tries to access `message` field of a `ShardBlock` instance
2020-07-02 09:58:14 -06:00
Danny Ryan
5a9dd44ff4
Merge pull request #1943 from ethereum/avoid-neg-op
...
Avoid negative values and minor refactoring
2020-07-02 09:37:16 -06:00
Hsiao-Wei Wang
d608be72c3
Merge pull request #1937 from ethereum/hwwhww/custody-block-test
...
Fix `ShardTransition.shard_data_roots` and add custody game block-level tests
2020-07-02 13:24:07 +08:00
ericsson
dafbd98f2b
Merge branch 'dev' into fix_is_valid_fraud_proof2
2020-07-01 23:04:37 +03:00
ericsson
7674c76b61
get rid of `.message` as `block` is `ShardBlock` already
2020-07-01 17:23:05 +03:00
terence tsao
36339de511
Lint
2020-06-30 09:11:13 -07:00
terence tsao
c8752956ed
use next epoch for new_committee?
2020-06-30 08:44:09 -07:00
terence tsao
1876c9591b
Update light committee for next slot
2020-06-30 08:16:28 -07:00
Hsiao-Wei Wang
966363890b
PR feedback from @ericsson49: fix when `len(bytez) > BYTES_PER_CUSTODY_ATOM`
2020-06-30 19:16:18 +08:00
Hsiao-Wei Wang
eaae70b3b3
Minor refactoring
2020-06-30 17:16:48 +08:00
Hsiao-Wei Wang
96b71a19de
Avoid Python-specific negative operation
2020-06-30 16:58:56 +08:00
Hsiao-Wei Wang
2c0595da01
PR feedback from Danny
2020-06-30 00:11:43 +08:00
Hsiao-Wei Wang
4b239e94b7
Mix PR feedback from Danny and Proto
2020-06-29 12:50:01 +08:00
Hsiao-Wei Wang
1d954ee9bd
PR feedback from @ericsson49
...
Co-authored-by: Alex Vlasov <avv49@mail.ru>
2020-06-29 12:33:52 +08:00
protolambda
3b7617f51a
make extracted byte uint8 for bitshift, do not use negative slice indexing, avoid negative comparison in test
2020-06-26 16:14:27 +02:00
protolambda
531184f42b
Infer types where possible, e.g. uint64+uint64=uint64
2020-06-26 15:41:47 +02:00
Hsiao-Wei Wang
a159a2da82
Merge pull request #1928 from ethereum/hwwhww/shard-block-tests
...
Add tests for `shard_state_transition` and some refactorings
2020-06-26 11:54:23 +08:00
Hsiao-Wei Wang
94c231cf98
Fix `ShardTransition.shard_data_roots` and add test
...
1. Fix `ShardTransition.shard_data_roots`: use `get_block_data_merkle_root` helper to calculate it.
2. Rework `get_valid_custody_chunk_response` testing helper: accept
`block_length_or_custody_data`
3. Add `test_with_custody_challenge_and_response` test
2020-06-26 01:46:45 +08:00
Hsiao-Wei Wang
a061758a66
Use `encode_bytes` to implement `int_to_bytes`
...
Rename `bytes_to_int` to `bytes_to_uint64`
Use `encode_bytes` to implement `int_to_bytes`
Rename `int_to_bytes` to `uint_to_bytes` and move it to `ssz_impl.py`
2020-06-25 20:20:39 +08:00
Hsiao-Wei Wang
b239f6108c
Merge branch 'dev' into hwwhww/strict-uint64
2020-06-25 17:18:16 +08:00
Hsiao-Wei Wang
2a7b5f7e68
PR feedback from Danny: nuke optional beacon_parent_state
2020-06-25 11:14:25 +08:00
Hsiao-Wei Wang
79b6bc616d
PR feedback from danny
2020-06-25 10:58:04 +08:00
terence tsao
7e04c70ca1
Update beacon-chain.md
2020-06-24 16:53:53 -07:00
Hsiao-Wei Wang
661959c13e
Add `process_shard_block` verification
2020-06-24 18:18:50 +08:00
Hsiao-Wei Wang
4a46fb2a8a
Refactor phase 1 block tests a bit and add `shard_state_transition`
...
tests
1. Refacotr phase1/sanity/test_blocks.py
2. Add phase1/sanity/test_shard_blocks.py for testing `verify_shard_block_message` and `verify_shard_block_signature`
2020-06-24 18:08:26 +08:00
Hsiao-Wei Wang
c4973792e2
Make `get_pending_shard_blocks` return `Sequence[SignedShardBlock]`
2020-06-24 12:50:27 +08:00
Hsiao-Wei Wang
021788a634
Merge pull request #1925 from ethereum/hwwhww/shard_state_transition
...
Rework `shard_state_transition` interface + fix #1922
2020-06-24 12:29:31 +08:00
Hsiao-Wei Wang
dbd1d4e589
PR feedback: Enable `verify_shard_block_signature`
2020-06-24 12:22:24 +08:00
Hsiao-Wei Wang
e4d4527845
Merge pull request #1921 from ethereum/hwwhww/shard-tests
...
Fix no winning root case + add tests + fix #1881
2020-06-24 11:21:23 +08:00
Hsiao-Wei Wang
e52c19896d
Update
...
1. Check on-time attestations fit `attestation.data.shard_transition_root != hash_tree_root(ShardTransition())`
2. Move `attestation.data.shard_head_root` check to after winning root
2020-06-23 18:22:18 +08:00
Hsiao-Wei Wang
db5da9dc97
Fix return type
...
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2020-06-23 10:50:41 +08:00
Danny Ryan
05dc8fe9a0
Merge pull request #1922 from terencechain/patch-105
...
Remove shard check in `verify_shard_block_message`
2020-06-22 12:05:32 -06:00
Danny Ryan
e61efc14a3
Merge pull request #1886 from ethereum/fix_store_target_checkpoint_state
...
Fix store_target_checkpoint_state
2020-06-22 11:38:40 -06:00
Hsiao-Wei Wang
eec1442417
Reorg `shard_state_transition` argument and fix `get_shard_transition_fields`
2020-06-22 23:41:02 +08:00
Hsiao-Wei Wang
4f618fc62d
Rework `shard_state_transition` interface
...
To make `shard_state_transition` similar to phase 0
`state_transition` function
1. Rename old `shard_state_transition` to `process_shard_block`
2. Add `shard_state_transition` with `validate_message` flag, we only
validate it in shard fork choice
2020-06-22 23:21:24 +08:00
ericsson
723784b408
replace `[[]]*num` with `[()]*num` to avoild problems with mutability, as [] or () is copied
2020-06-20 01:02:19 +03:00
ericsson
40b397f53f
use [[]] * num instead of just [] * num
2020-06-20 00:09:59 +03:00
terence tsao
769e1d0339
Update shard-transition.md
2020-06-19 09:06:37 -07:00
Hsiao-Wei Wang
1a5016157a
Fix
...
1. To make it more compatible, update `is_on_time_attestation` argument: replace `attestation: Attestation` with `attestation_data:
AttestationData`
2. Fix `get_sample_shard_transition`
2020-06-19 23:46:01 +08:00
Hsiao-Wei Wang
c28857e4e1
Fix `attestation.data.shard_head_root` bug
2020-06-19 23:34:51 +08:00
Hsiao-Wei Wang
c2c2b4c444
Crosslink bugfix
...
1. Fix `is_winning_attestation` condition
2. Fix `process_crosslink_for_shard`: we can only check
`shard_data_roots` if `shard_transition != ShardTransition()`
2020-06-19 22:19:21 +08:00
Hsiao-Wei Wang
76840c9178
Merge branch 'dev' into hwwhww/strict-uint64
2020-06-19 17:01:04 +08:00
terence tsao
3888dc27a9
@djrtwo's feedback
2020-06-18 12:39:48 -07:00
terence tsao
db81f88c4e
Update beacon-chain.md
2020-06-18 10:59:37 -07:00
Danny Ryan
bd61c2686b
PR feedback
2020-06-18 09:45:10 -06:00
Danny Ryan
948ad23f96
Merge branch 'dev' into epochwise_committee_count_per_slot
2020-06-18 09:44:02 -06:00
Danny Ryan
05453b786d
Merge pull request #1895 from ethereum/hwwhww/attestation-shard
...
Add `shard: Shard` field to `AttestationData`
2020-06-18 09:37:07 -06:00
Danny Ryan
02d518c9e3
Merge pull request #1919 from ethereum/hwwhww/shard_block_length
...
Fix shard_block_length type in `compute_updated_gasprice`
2020-06-18 09:35:59 -06:00
Danny Ryan
13e7e7986d
Merge pull request #1915 from ethereum/hwwhww/fix-validator-arguments
...
Fix missing arguments of validator guide
2020-06-18 09:34:45 -06:00
Hsiao-Wei Wang
fe47869d5f
Revert `process_crosslinks` and add comment
2020-06-18 23:32:23 +08:00
Hsiao-Wei Wang
35bf3b5290
Refactor `validate_attestation`
...
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2020-06-18 23:20:24 +08:00
Hsiao-Wei Wang
8cf0774290
Fix shard_block_length type in `compute_updated_gasprice`
2020-06-18 20:39:29 +08:00
Hsiao-Wei Wang
6aca7afd81
Add notes of active shard count
2020-06-18 17:35:24 +08:00
Hsiao-Wei Wang
7dbecdf904
Fix some missing arguments
2020-06-18 17:35:16 +08:00
Hsiao-Wei Wang
c0b6df8fd0
Merge pull request #1906 from terencechain/patch-102
...
Fix links in phase1 validator doc
2020-06-18 15:10:43 +08:00
Hsiao-Wei Wang
4428a6aedf
Fix table
2020-06-18 13:50:10 +08:00
Hsiao-Wei Wang
0ae11cd70c
Merge pull request #1911 from terencechain/patch-103
...
get_shard_winning_roots uses on_time_slot
2020-06-18 12:28:23 +08:00