Danny Ryan
c3ae85387c
add larger validator set test for regression test for active_shard_count issue
2020-08-05 13:26:21 -06:00
Danny Ryan
56dbc17793
fix active shard count bugs
2020-08-05 12:44:31 -06:00
Hsiao-Wei Wang
e3bbf3c702
Merge branch 'dev' into shard-fork-choice-fix
2020-07-29 23:55:30 +08:00
Hsiao-Wei Wang
bd5346b624
Merge pull request #1989 from ethereum/enable-bls-citest
...
Enable Milagro BLS in CI
2020-07-29 23:54:53 +08:00
Hsiao-Wei Wang
b58633ce5d
Quick fix the phase 1 configurations and tests ( #1990 )
...
* Quick fix the configurations
* Remove the unused `CUSTODY_RESPONSE_DEADLINE`
2020-07-29 02:06:25 +08:00
Hsiao-Wei Wang
f6fd151872
Merge branch 'dev' into shard-fork-choice-fix
2020-07-29 00:15:41 +08:00
Hsiao-Wei Wang
b1eb157539
Merge branch 'dev' into hwwhww/phase-1-fork-slot
2020-07-28 23:59:19 +08:00
Hsiao-Wei Wang
a8370f7448
Apply refactoring suggestions from Danny
2020-07-28 21:51:00 +08: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
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
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
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
ericsson
3e9556202a
change `get_custody_period_for_validator()` return type to `uint64`
2020-07-08 18:19:41 +03: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
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
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
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
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
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
Hsiao-Wei Wang
0eeffc47bc
Merge pull request #1909 from ericsson49/fix_process_custody_game_operations
...
Fix typing error in `process_custody_game_operations`
2020-06-18 12:22:35 +08:00
ericsson
9dc43957e2
a fix according to @protolambda comments
2020-06-18 03:39:51 +03:00
ericsson
e479e96480
lint fix
2020-06-18 02:46:06 +03:00
terence tsao
cc84b49d13
on_time_attestation_slot instead of current_slot
2020-06-17 16:20:46 -07:00
ericsson
adced70c54
use `aggregate.data` instead of hust `data`
2020-06-18 02:04:16 +03:00
ericsson
17c86177d9
Change types of BeaconBlockBody chunk_challenges and
...
chunk_challenge_responses to List[CustodyChunkChallenge, ...]
2020-06-18 01:43:41 +03:00
terence tsao
3eabcddb4c
Update validator.md
2020-06-17 13:24:00 -07:00
protolambda
9b60a9b799
Avoid state usage in p2p validation, compute committee count per slot for epoch as a whole
2020-06-17 20:19:32 +02:00
Danny Ryan
fbf10a0db3
fix tests
2020-06-16 22:32:09 -06:00
Hsiao-Wei Wang
23cbbb1d08
Fix shard number assertion and refactor it
2020-06-17 09:48:47 +08:00
Hsiao-Wei Wang
c8ae7d99f9
Fix after auto-merge
2020-06-17 09:05:44 +08:00
Danny Ryan
a21f93646c
Merge pull request #1878 from ethereum/hwwhww/remove_digest
...
Remove `ShardState.transition_digest`
2020-06-16 16:40:52 -06:00
Danny Ryan
759185632f
Merge branch 'dev' into phase1-validator
2020-06-16 16:07:20 -06:00
Danny Ryan
2e0950560b
PR feedback
2020-06-16 16:03:36 -06:00
Hsiao-Wei Wang
7fba94a73d
Merge branch 'dev' into hwwhww/attestation-shard
2020-06-17 01:58:05 +08:00
Dankrad Feist
e6e694fad9
Fix toc
2020-06-16 17:35:33 +01:00
Dankrad Feist
58935c19d6
Move constant
2020-06-16 17:23:09 +01:00
Dankrad Feist
df1a932534
Rename misleading variable all_secrets_are_revealed
2020-06-16 15:19:45 +01:00
dankrad
4bc849bcc2
Update specs/phase1/custody-game.md
...
Co-authored-by: Hsiao-Wei Wang <hwwang156@gmail.com>
2020-06-16 15:05:12 +01:00
dankrad
4b8b3f2cbc
Update specs/phase1/custody-game.md
...
Co-authored-by: Hsiao-Wei Wang <hwwang156@gmail.com>
2020-06-16 15:05:01 +01:00
Dankrad Feist
a4c2950c4a
Phase 1 validator guide stub. This is to start collecting important details with correct validator operation.
2020-06-16 14:48:00 +01:00
Danny Ryan
a0175ca1b3
Merge branch 'dankrad-custody-256bit' into dankrad-custody-0.01bit
2020-06-16 07:15:00 -06:00
Hsiao-Wei Wang
3ee0761d17
Add `shard: Shard` field to `AttestationData`
2020-06-16 00:17:49 +08:00
Hsiao-Wei Wang
50ac8ebb0c
Fix DOMAIN_CUSTODY_BIT_SLASHING
2020-06-15 21:25:40 +08:00
Hsiao-Wei Wang
458d343497
Fix configs and put domain types to the same table
2020-06-15 21:15:11 +08:00
Danny Ryan
f62125eaa6
add phase 1 on-time aggregation
2020-06-15 06:54:48 -06:00
Hsiao-Wei Wang
8697b30eea
Fix configuration
2020-06-15 15:30:32 +08:00
Hsiao-Wei Wang
e80f6727dc
Merge branch 'dev' into dankrad-custody-256bit
2020-06-15 15:13:45 +08:00
Dankrad Feist
f6d7dac30c
Change to 2**14 epoch (73 day) custody periods as per #1888
2020-06-13 15:15:37 +01:00
Dankrad Feist
42a9f1afdf
Fix Legendre bit computations
2020-06-12 23:44:36 +01:00
Dankrad Feist
04fb9926e8
Remove custody bits from phase 1 and tests
2020-06-12 17:16:08 +01:00