Paul Hauner
c64d2bfce9
Merge pull request #125 from sigp/newtype-bls
...
Wrap Signature and AggregateSignature in a newtype
2018-12-26 08:56:10 +11:00
Paul Hauner
4330acdd96
Tidy up var name in BLS
2018-12-26 08:54:26 +11:00
Paul Hauner
810156a0fb
Remove Default impls for BLS newtypes
2018-12-26 08:46:37 +11:00
Grant Wuerker
77838734b5
tests passing again
2018-12-25 12:19:20 -06:00
Paul Hauner
3c4541156a
Add BeaconBlock genesis
2018-12-25 19:25:48 +11:00
Paul Hauner
b978db23fc
Merge new beacon block, Rust 2018
2018-12-25 19:00:41 +11:00
Paul Hauner
e635423eac
Fix clippy lint in ssz
2018-12-25 18:34:45 +11:00
Paul Hauner
a7756ea4b5
Remove old chain state transition code
2018-12-25 18:22:46 +11:00
Paul Hauner
b95395d1e1
Rename types::random
types::test_utils
2018-12-25 10:36:49 +11:00
Paul Hauner
91dea4bf29
Merge Rust 2018 updates
2018-12-24 10:03:56 +11:00
Paul Hauner
a42d931d66
Remove state-transition
crate
2018-12-24 10:00:52 +11:00
Grant Wuerker
1b3de3a507
Merge branch 'master' into validator-record-update
2018-12-23 12:21:49 -06:00
Paul Hauner
6f039e6e6a
Add ssz enc/dec for beacon block
2018-12-23 23:41:22 +11:00
Grant Wuerker
50767c7bfd
testing around balance increase and zero balance replacement
2018-12-21 22:45:35 -06:00
Grant Wuerker
537c5e2846
more testing around deposit processing
2018-12-21 18:41:13 -06:00
Paul Hauner
368a218af4
Add types, more ssz testing for existing types
2018-12-21 15:44:11 +11:00
Grant Wuerker
faaba18799
types updated against spec and process_deposit routine partially implemented
2018-12-20 20:22:08 -06:00
Stan Drozd
dcf9f2244a
Add 'edition = "2018"' to every Cargo.toml
2018-12-19 16:38:59 +01:00
Stan Drozd
e502872083
cargo-fix the whole workspace into Rust 2018
2018-12-19 16:07:01 +01:00
Paul Hauner
c9f82f8a1d
Implement ssz enc/decode for beaconblock
...
Not yet fully tested
2018-12-19 17:56:09 +11:00
Paul Hauner
459be0b4b6
Merge pull request #109 from ralexstokes/update-hash-function
...
Updates the hash function used to Keccak-256
Closes #111
2018-12-19 17:11:47 +11:00
Paul Hauner
0260564c15
Begin implementing new types
2018-12-18 18:09:21 +11:00
Paul Hauner
be4c6701ac
Remove SSZ helpers
2018-12-18 18:08:51 +11:00
Paul Hauner
7f00f167e3
Fix error in agg sig newtype
2018-12-18 17:55:21 +11:00
Paul Hauner
92ed2ffc22
Update Attestation to use new bls structs
2018-12-18 17:30:34 +11:00
Paul Hauner
f046a326b8
Implement "newtype" wrappers for BLS structs
2018-12-18 17:04:54 +11:00
Alex Stokes
bd3d388b92
Use resize
instead of extend
which fits this use much better
2018-12-17 17:16:25 -08:00
Grant Wuerker
e93eb55dcd
removed inductor.old.rs
2018-12-16 20:35:15 -06:00
Grant Wuerker
8adf5f7990
exit count changed to 0
2018-12-16 20:32:19 -06:00
Grant Wuerker
eef3627c92
one test passing
2018-12-16 17:00:53 -06:00
Paul Hauner
5c3ee698a7
Add issue link to vec_shuffle/src/lib.rs
2018-12-17 09:14:54 +11:00
Grant Wuerker
a05364cb49
first pass at updating inductor with deposit structs - lots of compilation errors
2018-12-15 23:19:15 -06:00
Grant Wuerker
7065454b5c
deposit and validator_record type changes
2018-12-15 23:18:23 -06:00
Grant Wuerker
5fa251943b
updated deposit structs and validator record accrding to spec
2018-12-14 17:32:01 -06:00
Grant Wuerker
8974d8e1df
Merge branch 'master' into validator-record-update
2018-12-14 17:22:04 -06:00
Alex Stokes
914760e19f
update expected hash
2018-12-13 07:04:50 -08:00
Paul Hauner
fdca969868
Merge pull request #119 from ralexstokes/remove-active-validators-crate
...
Remove active validators crate
2018-12-13 17:46:01 +11:00
Paul Hauner
01f3b2f0c1
Update BeaconChain
w/ new genesis code
2018-12-13 17:33:53 +11:00
Paul Hauner
493a16ac18
Update attestation_validator for spec updates
2018-12-13 17:33:16 +11:00
Paul Hauner
96c2012434
Add canonical_hash method to BeaconState
2018-12-13 17:32:48 +11:00
Paul Hauner
220a5bad76
Add clone method to some types
2018-12-13 17:32:17 +11:00
Alex Stokes
9b59acb95b
remove file lost in merge
2018-12-12 21:58:21 -08:00
Alex Stokes
e339d4bd71
update hash usage to get tests passing
2018-12-12 21:56:28 -08:00
Alex Stokes
c700d014db
update function we removed so test compiles
2018-12-12 21:54:05 -08:00
Alex Stokes
cc7982b277
Fixes a bug that was not returning the hash
...
The way this library works is that it is demand-driven, not
supply-driven; i.e. it will only fill as many bytes as you provide in a
given slice. The prior implementation was a vector of length 0 so the
backing slice requested no bytes.
2018-12-12 21:54:05 -08:00
Alex Stokes
97bd323a52
Updates the hash function used to Keccak-256
2018-12-12 21:54:04 -08:00
Paul Hauner
06e1ee0e5f
Add extra params to ChainSpec
2018-12-13 16:01:04 +11:00
Alex Stokes
7d77ebd1b5
remove active-validators crate from deps desc
2018-12-12 19:24:15 -08:00
Alex Stokes
ca3aa82f4e
rustfmt changes
2018-12-12 19:22:52 -08:00
Alex Stokes
5eabdad0dc
remove active_validators crate
2018-12-12 19:22:44 -08:00
Alex Stokes
1ff47720f1
Clean up representation of ValidatorStatus
2018-12-12 19:05:32 -08:00
Grant Wuerker
6089b7c108
chain config TODO
2018-12-12 19:55:30 -06:00
Paul Hauner
4f0a223579
Change some ShardAndCommittee
-> ShardCommittee
2018-12-13 12:28:37 +11:00
Paul Hauner
6847e68c5e
Move genesis code into its own crate
2018-12-13 12:27:45 +11:00
Grant Wuerker
82b3a21767
Merge branch 'master' into validator-record-update
2018-12-12 18:42:16 -06:00
Grant Wuerker
045f7b5b98
typo
2018-12-12 17:59:50 -06:00
Grant Wuerker
c7f7bfaab4
deposit and deposit_parameters types added
2018-12-12 17:57:14 -06:00
Grant Wuerker
071e099203
validator registration removed
2018-12-12 17:56:44 -06:00
Paul Hauner
bf49c881d5
Introduce un-tested BeaconState genesis code.
2018-12-12 18:36:12 +11:00
Paul Hauner
56dc73fbd1
Update some shard u16
to u64
...
This is pretty hacky, is just serving my purpose for `BeaconChain`.
These structs will need to be fully updated to the latest spec.
2018-12-12 18:35:31 +11:00
Paul Hauner
92786520e4
Update (hacky) validator induction and shuffling.
...
This allows the `BeaconChain` struct to be updated but it doesn't bring
these functions in line with the spec.
2018-12-12 18:32:19 +11:00
Paul Hauner
c944c435e2
Update CrosslinkRecord
to latest spec
...
Addresses #100
2018-12-12 18:30:20 +11:00
Paul Hauner
89bea5b5e8
Update BeaconState
rename ShardCommittee
...
Both structs are now consistent with the spec.
Addresses #100
2018-12-12 18:25:21 +11:00
Paul Hauner
211d3961a0
Add ChainSpec
structure.
...
It includes all constants from the
[Constants](https://github.com/ethereum/eth2.0-specs/blob/master/specs/core/0_beacon-chain.md#attestation )
section in the spec, except for things that are clearly enums.
My reasoning is that these enums are not so much "chain specification"
and this struct should be reserved for items that "configure" the chain.
2018-12-12 16:08:01 +11:00
Paul Hauner
4d0641636e
Rename AttestationRecord
-> Attestation
2018-12-12 12:16:11 +11:00
Alex Stokes
fa3d9bdb07
begin the transition to using ValidatorStatus as a distinct type
2018-12-11 15:17:55 -08:00
Alex Stokes
d3681e876a
add method to determine validator status
2018-12-11 15:16:25 -08:00
Paul Hauner
4fdc2e4ac6
Merge branch 'master' into attestation-update
2018-12-12 09:45:14 +11:00
Paul Hauner
f29d7961fd
Merge pull request #87 from ralexstokes/fix-boolean-bitfield-serde-bug
...
Fix boolean bitfield serde bug
2018-12-12 09:36:54 +11:00
Alex Stokes
6c2c42e6b7
Adds custom std::cmp::PartialEq
impl
...
Two bitfields now match if they contain the same information.
There were some discrepancies before when comparing fields with the same
bits set but came from different sources, e.g. off the wire vs created
in memory, due to the existence of unset bits in the high byte.
2018-12-10 20:34:35 -08:00
Alex Stokes
1ffd9e10b3
Fixes bug with attestation validation that arose from change to API
2018-12-10 20:33:43 -08:00
Alex Stokes
4d43de1cea
rustfmt edits
2018-12-10 20:32:44 -08:00
Grant Wuerker
1d48aa280b
test passing in validator_record.rs
2018-12-09 22:22:08 -06:00
Grant Wuerker
c63ef6d032
ValidatorRecord initialization updated to reflect struct
2018-12-09 22:13:57 -06:00
Paul Hauner
3ae82c0710
Strip out anitquated parts of chain crate
2018-12-10 10:48:02 +11:00
Paul Hauner
7ea701aa30
Remove old block processing code
2018-12-10 09:54:25 +11:00
Paul Hauner
a35a28f522
Remove old validation
crate
2018-12-10 09:48:41 +11:00
Paul Hauner
0f9482f9d1
Complete attestation_validation, bar tests
2018-12-10 09:33:57 +11:00
Grant Wuerker
0627b658f1
struct updated accoding to spec
2018-12-08 21:11:10 -06:00
Paul Hauner
a8bfa4d733
Add more attestation validation tests
2018-12-07 08:59:05 +11:00
Paul Hauner
2d2da001b9
Implement tests for attestation validation
2018-12-06 19:50:33 +11:00
Paul Hauner
36bda7502b
Implement signature verification test
2018-12-06 18:41:22 +11:00
Paul Hauner
3533b8b892
Add untested attestation validation logic
2018-12-06 18:16:03 +11:00
Paul Hauner
d4b6d81c9d
Merge branch 'beacon-state-pub-fields' into attestation-update
2018-12-05 09:46:50 +11:00
Paul Hauner
140df1a689
Make all BeaconState fields public (doh!)
2018-12-05 09:45:03 +11:00
Alex Stokes
564f13be5f
fixes bug with serialization logic for boolean bitfield
...
should match the python impl
2018-12-03 20:46:11 -08:00
Paul Hauner
e0360edde0
Update ssz_utils
for new AttestationRecord
.
2018-12-04 14:50:47 +11:00
Paul Hauner
6e0daec1da
Update AttestationData struct
2018-12-04 14:50:32 +11:00
Paul Hauner
bedc1abec0
Add failing boolean bitfield test
2018-12-03 17:13:39 +11:00
Paul Hauner
1e3fd1ff80
Add ssz encode/decode for AttestationData
2018-12-03 16:19:31 +11:00
Paul Hauner
430bc224a4
Update BeaconState
object
...
Also adds the following structs:
- AttestationData
- ForkData
- PendingAttestationRecord
The `AttestationRecord` object has _not_ been updated.
2018-12-03 14:29:05 +11:00
Paul Hauner
54db7b5272
Merge pull request #76 from sigp/state-merge
...
Add new `State` type and dependant types
Closes #73
2018-11-27 15:10:06 +11:00
Paul Hauner
3ed4de65d2
Add new State
type and dependant types
2018-11-25 15:39:50 +11:00
mjkeating
d6bf1a6119
removed unnecessary call to saturated_sub() in vec_shuffle
2018-11-23 19:29:03 -08:00
Paul Hauner
f65888226a
Add some extra tests for boolean-bitfield
2018-11-22 14:18:08 -08:00
Alex Stokes
a695382260
Run cargo fmt
that got clobbered in merge
2018-11-20 12:54:35 -08:00
Alex Stokes
11cdf66079
Remove warning about unused import
2018-11-20 12:51:51 -08:00
Alex Stokes
57dcad149f
Fixes bug with ssz
encoding of BooleanBitfield
2018-11-20 12:40:13 -08:00
Alex Stokes
031b7bf225
Add method to calculate the underlying number of bytes
...
Required for part of attestation validation logic
2018-11-20 12:40:13 -08:00
Alex Stokes
72cf7ad1bd
Begin updating tests to reflect changes to bitfield
2018-11-20 12:40:13 -08:00