Commit Graph

146 Commits

Author SHA1 Message Date
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 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 76840c9178
Merge branch 'dev' into hwwhww/strict-uint64 2020-06-19 17:01:04 +08:00
Hsiao-Wei Wang 4428a6aedf
Fix table 2020-06-18 13:50:10 +08:00
protolambda 41ebd51aff
Merge branch 'dev' into hwwhww/strict-uint64 2020-06-18 02:49:09 +02:00
protolambda ce0371a66b
fix comment: committees per slot for given *epoch* 2020-06-17 20:23:26 +02: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
Hsiao-Wei Wang 41cfa7fdf6
Merge branch 'dev' into dankrad-custody-256bit 2020-06-09 01:39:51 +08:00
Raw Pong Ghmoa 34412130c5
phase0: enable a tunable genesis time 2020-06-02 10:55:13 -06:00
Danny Ryan 3a4db69a20
Merge branch 'dev' into dankrad-custody-256bit 2020-06-01 18:45:22 -06:00
Danny Ryan a6d4566f51
Merge pull request #1834 from ethereum/clarify-genesis-safety
clarify that eth1 block follow distance for genesis
2020-05-20 12:44:29 -06:00
Danny Ryan 4ac2fc7eff
add missing column description fo SECONDS_PER_ETH1_BLOCK
Co-authored-by: Diederik Loerakker <proto@protolambda.com>
2020-05-20 12:28:08 -06:00
Danny Ryan c9f21f1f43
clarify that eth1 blocks must be at a safe fllow distance before being considered for genesis 2020-05-20 10:44:08 -06:00
Danny Ryan 943e51aef1
hww feedback for finality rewards fix 2020-05-20 10:12:57 -06:00
Danny Ryan 95c3295eeb
move proposer negation to inactivity_penalty deltas 2020-05-19 17:17:20 -06:00
Danny Ryan 85e78223dd
ensure when performing optimally that you don't lose money during a leak 2020-05-19 16:51:46 -06:00
Hsiao-Wei Wang cd91380d80
PR feedback from proto: set `length` back to `int` 2020-05-20 03:05:03 +08:00
Hsiao-Wei Wang 8f70453aef
PR feedback from Proto 2020-05-20 03:04:52 +08:00
Hsiao-Wei Wang 9f340d5fd1
(i) Fix leftover (ii) `SHARD_COMMITTEE_PERIOD` should be uint64 2020-05-20 03:04:41 +08:00
Hsiao-Wei Wang 88d7315739
Fix typing 2020-05-20 03:04:29 +08:00
Hsiao-Wei Wang 2bf020d49d
Apply strict uint64 casting 2020-05-20 03:04:15 +08:00
Danny Ryan 1623086088
make get_validator_from_deposit for better code reuse across phase 0 and 1 2020-05-19 08:14:04 -06:00
Danny Ryan c5367295c3
Merge branch 'dev' into v012x 2020-05-18 13:32:24 -06:00
Danny Ryan b7cfa94cb4
Merge branch 'dev' into v0113-dev-merge 2020-05-18 13:22:16 -06:00
Danny Ryan 4a86c39712
Merge pull request #1799 from ethereum/bls_v2
Update to IETF BLS draft-irtf-cfrg-bls-signature-02 + draft-irtf-cfrg-hash-to-curve-07
2020-05-18 07:35:49 -06:00
Danny Ryan 74c900f814
add conditoin that block must be later than latest_block_header 2020-05-15 16:43:53 -06:00
Hsiao-Wei Wang 6a3241be61
Remove leading space
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2020-05-15 00:48:53 +08:00
protolambda 68442c2eef
Update testing and restrict to incremental block transitions 2020-05-13 16:46:28 +02:00
Hsiao-Wei Wang 4a246ba5ac
Apply feedback from Danny, add a note of the hash to curve configuration 2020-05-13 13:01:08 +08:00
Hsiao-Wei Wang 3c11a4dc02
Fix `AggregateVerify` param name: `message` -> `messages`
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2020-05-13 12:56:50 +08:00
Hsiao-Wei Wang 2718dcc4ab
Update IETF standard description 2020-05-13 02:34:10 +08:00
Danny Ryan 17f656cefe
Merge branch 'dev' into v012x 2020-05-11 10:41:35 -06:00
Hsiao-Wei Wang cdd0ed0f7b
Update to IETF BLS draft-irtf-cfrg-bls-signature-02 2020-05-09 11:48:48 +08:00
Danny Ryan 7a130606ac
hww feedback 2020-05-08 10:51:41 -06:00
Danny Ryan 1137e0332d
move MAX_ATTESTER_SLASHINGS to 2, add multiple slashings per block tests 2020-05-08 10:43:11 -06:00
Danny Ryan 08652f543b
Merge branch 'v012x' into empty-bits-case 2020-05-07 10:17:26 -06:00
Danny Ryan 4f401133e1
address PR feedback from @protolambda 2020-05-05 15:37:14 -06:00
Danny Ryan 38f29ba0a8
remove PERSISTENT_COMMITTEE_PERIOD in favor of SHARD_COMMITTEE_PERIOD 2020-05-05 11:44:53 -06:00
Danny Ryan 3f250f7dd3
PR feedback 2020-05-04 21:05:10 -06:00
protolambda 09cae4b3cc
Handle empty-aggregation-bits case, and add tests. See #1713 2020-05-01 15:17:41 +02:00
Danny Ryan cd27e5e045
add tests for source, target, head 2020-04-29 10:23:12 -06:00
Danny Ryan 5f18dd778c
add baseline get_target_deltas tests 2020-04-28 19:26:14 -06:00
Danny Ryan 4a086fba5c
Merge branch 'dev' into rewards-rework 2020-04-28 17:24:45 -06:00
Danny Ryan 553a33cd2d
Merge pull request #1766 from ethereum/dev
backport dev to v012x
2020-04-27 17:35:28 -06:00
Raw Pong Ghmoa c841aa102b
genesis: clarify that eth1 timestamp can be less than min genesis time 2020-04-26 10:09:22 +02:00
Danny Ryan fde9b410f0
Merge pull request #1752 from ethereum/dev
sync v0.11.2 to `v012x`
2020-04-24 11:36:17 -06:00
Danny Ryan 7612667bbe
minor feedback and fixes on rewards/penalites proposal
Co-Authored-By: Hsiao-Wei Wang <hwwang156@gmail.com>
2020-04-23 11:13:09 -06:00
Danny Ryan fe13bab338
rework rewards/penalties to be more granular 2020-04-23 10:26:34 -06:00
Justin 5929aac799
Cosmetic changes from #1737 2020-04-22 11:40:10 +08:00
Danny Ryan a6b2679cb0
Merge pull request #1739 from ethereum/JustinDrake-patch-4
Partial fix for #1701
2020-04-21 08:44:22 -06:00
Justin 3436021e72
Update beacon-chain.md 2020-04-21 15:34:55 +01:00
Justin e2a320ef32
Partial fix for #1701
Clarify that state transitions with `uint64` overflows are invalid.
2020-04-21 08:59:53 +01:00
Justin 508811d641
Fix #1735—remove redundant check
As per #1735 the check `if not len(indices) <= MAX_VALIDATORS_PER_COMMITTEE: return False` is redundant. As such this PR should be purely cosmetic.
2020-04-21 08:50:42 +01:00
Hsiao-Wei Wang 6fdee75475
Fix phase0 types 2020-04-17 23:55:25 +08:00
Danny Ryan 4a94200c0b
Merge pull request #1712 from ethereum/hwwhww/inactivity_penalty_quotient_bug
Fix `INACTIVITY_PENALTY_QUOTIENT`
2020-04-14 11:53:43 -06:00
Hsiao-Wei Wang b2f6325db3
Fix `compute_committee` 2020-04-09 17:50:23 +08:00
Hsiao-Wei Wang 890c27d091
The input parameter `index` in `compute_shuffled_index` is the position of the given list, not `ValidatorIndex` 2020-04-09 17:33:14 +08:00
Hsiao-Wei Wang c10e59bdf7
Fix `INACTIVITY_PENALTY_QUOTIENT`
The amount of inactivity penalty was adjusted to half since we were applying penalty for missing FFG target and source. But now we only apply it for missing target, so `INACTIVITY_PENALTY_QUOTIENT` should be `2**24`.
2020-04-08 10:32:16 +08:00
Michael Sproul 1c49f99094
Fix bug in attestation reward calculation 2020-03-24 07:40:58 -06:00
Danny Ryan 0a9b306d60
PR feedback from @hwwhww 2020-03-18 09:55:09 -06:00
Danny Ryan e2ef4365e2
min total balance is now EFFECTIVE_BALANCE_INCREMENT. update testing 2020-03-16 11:19:21 -06:00
Danny Ryan 81dc71c312
Merge pull request #1652 from ethereum/gossip-topics-with-fork-digest
Gossip topics with fork digest
2020-03-11 13:32:25 -06:00
Danny Ryan 4bcdf91e8b
Apply suggestions from code review
PR feedback

Co-Authored-By: Hsiao-Wei Wang <hwwang156@gmail.com>
2020-03-11 13:24:30 -06:00
Danny Ryan 36e48fba99
enforce must match target to match head to avoid perverse incentive path 2020-03-11 12:51:05 -06:00
Danny Ryan 0881e21dc5
cleanup gossip topic fork digest based on PR feedback 2020-03-11 12:02:31 -06:00
Danny Ryan e2918c6364
Merge pull request #1626 from ethereum/proposer-index
add proposer index to BeaconBlock
2020-03-10 15:10:07 -06:00
Danny Ryan 415544bf03
modify gossip topics to use ForkDigest 2020-03-10 14:44:35 -06:00
Danny Ryan 3b7704a78f
Merge pull request #1649 from ethereum/eth1-voting-period-in-epochs
Eth1 voting period in epochs [updated for configs/phase1/tests compat.]
2020-03-10 13:24:03 -06:00
Danny Ryan 1c9ca3c168
Merge pull request #1635 from ethereum/rewards-overflow
handle rewards overflow
2020-03-10 13:23:21 -06:00
Danny Ryan 1579072e15
add note about total balance overflowing 2020-03-10 13:12:17 -06:00
Danny Ryan 1818f349ad
add ForkDigest type, clarify how genesis_validators_root is mixed into domains for chain isolation in p2p faq 2020-03-10 11:59:34 -06:00
Hsiao-Wei Wang 882b9ee035
Merge branch 'dev' into rewards-overflow 2020-03-11 00:41:17 +08:00
Danny Ryan 7e04989e29
add genesis_validators_root to beaconstate and utilize in sig domain separation as well as fork separation 2020-03-05 09:21:32 -07:00
Danny Ryan f082aa6ca9
use EFFECTIVE_BALANCE_INCREMENT to normalize reward calculations 2020-03-03 15:34:02 -07:00
Danny Ryan 33e7680836
make hysteresis calculations configurable 2020-03-03 10:58:47 -07:00
Danny Ryan 2d4ec7d52f
add REWARD_OVERFLOW_INCREMENT to avoid overflow in rewards calculation 2020-03-03 10:23:08 -07:00
Danny Ryan 0122081d05
hysteresis to -0.25/+1.25 2020-03-02 15:55:01 -07:00
Danny Ryan a02aac43c2
adjust hysteresis to avoid initial over-deposit incentive 2020-02-18 12:36:20 -06:00
Danny Ryan 757f5a31dd
add proposer index and add/modify tests 2020-02-18 11:38:17 -06:00
Anton Nashatyrev cfcb7b2f01 Measure eth1 voting period in epochs instead of slots 2020-02-18 16:12:43 +03:00
Ben Edgington 8620adcdf1 Correct the duration of HISTORICAL_ROOTS_LIMIT
The duration of HISTORICAL_ROOTS_LIMIT is:
    SECONDS_PER_SLOT * SLOTS_PER_HISTORICAL_ROOT * HISTORICAL_ROOTS_LIMIT
which is
    12s * 2^13 * 2^24 = 1.65e12s = 52,262 years
2020-02-14 14:29:45 +00:00
Danny Ryan eec57f29b7
add explicit instrucutions for construction of signed_aggregate_and_proof. add DOMAIN_SELECTION_PROOF and DOMAIN_AGGREGATE_AND_PROOF 2020-02-11 15:45:51 -07:00
Danny Ryan 67a4d5e659
Merge branch 'dev' into master-copy 2020-01-24 13:49:22 -07:00
protolambda 86b699bfd1
Merge branch 'dev' into phase1rebase 2020-01-23 19:24:03 +01:00
Hsiao-Wei Wang a13271af41
Fix BLS API description 2020-01-23 09:52:40 -07:00
Ben Edgington f8250b6a1a
Correct typo in heading level 2020-01-23 09:51:58 -07:00
Diederik Loerakker 9f5f501e5b
Merge pull request #1586 from ethereum/fix-default-compute-domain
fix default value in compute_domain
2020-01-23 00:29:28 +01:00
Danny Ryan e821476c07
explicitly use Optiona type for fork_version in compute_domain
Co-Authored-By: Carl Beekhuizen <carl@ethereum.org>
2020-01-22 11:38:50 -07:00
Danny Ryan cf18b040b4
fix default value in compute_domain 2020-01-22 07:24:15 -07:00
Danny Ryan 2015433fa1
revert exit queue epoch issue introduced in v0.10.0. add test to catch subtlety 2020-01-20 20:03:38 -07:00
Danny Ryan 08621a7973
Merge pull request #1567 from ethereum/fix_bls_api
[Minor] fix BLS API description
2020-01-15 14:21:15 -07:00
protolambda 4732c7beb1
merge in dev (v0.10) and fix reorg/lint issues 2020-01-13 18:55:21 +01:00
Ben Edgington b001f250db Correct typo in heading level 2020-01-13 09:34:34 +00:00
Hsiao-Wei Wang efbea8c53c
Fix BLS API description 2020-01-13 12:49:03 +08:00
Danny Ryan 676e216beb
reorg specs by fork and move ssz out to own folder. make all of the build and link changes to support move 2020-01-10 11:55:13 -07:00