Commit Graph

109 Commits

Author SHA1 Message Date
Robert Habermeier 45c3e40a62 Candidate Agreement + Consensus (#29)
* candidate statement importing

* import votes on validity

* import availability votes

* candidate receipt type

* make table mod public

* test context for table

* add harness for tests

* some tests for misbehavior

* produce proposal from table

* count candidate issuance as implicit vote

* keep track of messages known by validators

* fix primitives compilation

* simple BFT agreement

* kill unused macro_use annotation

* tests for BFT agreement

* test for not concluding on different prepares

* return summary upon statement import

* accept bft agreement on proposal not locally submitted

* check justification set for BFT

* BFT rewrite: vote accumulator with tests

* squash some warnings

* a few more tests for the accumulator

* add sender to table's signed statement

* implement honest node strategy for BFT

* inex -> index

* import and broadcast lock proofs

* poll repeatedly when state changes

* don't broadcast advance vote immediately if locked

* do not check validity of locked candidate

* basic tests for the strategy

* remove unused context trait and fix warning

* address some review grumbles

* address some more review nits

* fix lock import logic and add a test

* fix spaces

* fix a couple more style grumbles

* more type-safe justifications

* rename Communication enum variants

* improve some panic guard proofs

* add trailing comma
2018-01-03 15:50:05 +01:00
Robert Habermeier 9612e1d7c1 Minimal collation work-flow and necessary traits (#25)
* collator crate skeleton and description

* parachain primitives: proof -> witness and egress format

* collation of ingress queues through trait

* add ingress collation test

* structure for collated ingress

* add collated ingress to proposal

* witness -> proof

* ingress collation and candidate creation + code cleanup

* update collator lib to new definitions

* address formatting grumble
2017-12-13 15:04:58 +01:00
Tomasz Drwięga db78e5fb4c RPC & Client (#21)
* Initial version of http server.

* Refactor the structure.

* add unassigned ports info.

* Rename servers to match conventions.

* Add client crate and some proper RPC implementations.

* Style & docs.
2017-11-15 19:29:14 +01:00
Tomasz Drwięga 2fa0239dab State machine crate and rust impl of executor (#17)
* Executor.

* Rust contracts implementation.

* Add documentation and fix transfer data.

* Fix auth contract interface.

* Add some executor tests.

* Validator set contract.
2017-11-12 16:53:11 +01:00
Tomasz Drwięga e9177294f6 Initial validator trait. (#14)
* Initial validator trait.

* Add missing docs warning.

* Fix formatting.

* Fix validator output and serialization.

* Get rid of redundant ValidationCode type.
2017-11-12 16:48:35 +01:00
Tomasz Drwięga 799d03254f Serialization with serde. 2017-11-10 21:31:48 +01:00
Tomasz Drwięga dbb123d09c Uint & Hash types. (#10)
* Uint & Hash types.

* Fix author

* Rename crate to primitives.
2017-11-10 13:34:36 +01:00
Tomasz Drwięga 5c57479348 CLI crate. 2017-11-10 12:19:47 +01:00
Robert Habermeier 72dba98250 initial commit 2017-11-07 19:15:12 +01:00