Robert Habermeier
9ff2fa550f
beginnings of shared table
2018-01-08 15:34:21 +01:00
Robert Habermeier
acca871d20
define context trait and initialize statement table
2018-01-03 17:06:04 +01:00
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
f2cbae5948
add trailing comma
2018-01-01 20:36:54 +01:00
Robert Habermeier
53bc9e85bc
improve some panic guard proofs
2018-01-01 20:25:22 +01:00
Robert Habermeier
8310cae9f0
rename Communication enum variants
2018-01-01 20:06:03 +01:00
Robert Habermeier
cd438e51a8
more type-safe justifications
2018-01-01 20:00:44 +01:00
Robert Habermeier
e0b7e77f2c
fix a couple more style grumbles
2017-12-31 20:10:37 +01:00
Robert Habermeier
b44e8fd781
fix spaces
2017-12-29 15:41:39 +01:00
Robert Habermeier
a03d16c862
fix lock import logic and add a test
2017-12-29 15:15:10 +01:00
Robert Habermeier
6ab0fcef97
address some more review nits
2017-12-29 14:40:47 +01:00
Robert Habermeier
43b68b52bf
address some review grumbles
2017-12-29 14:28:13 +01:00
Robert Habermeier
136645aa4c
remove unused context trait and fix warning
2017-12-29 02:56:04 +01:00
Robert Habermeier
4b3b1249dc
basic tests for the strategy
2017-12-27 21:35:19 +01:00
Robert Habermeier
1503a23c43
do not check validity of locked candidate
2017-12-27 19:14:55 +01:00
Robert Habermeier
eec6d47a80
don't broadcast advance vote immediately if locked
2017-12-27 18:48:35 +01:00
Robert Habermeier
80e23bbfb4
poll repeatedly when state changes
2017-12-27 18:35:21 +01:00
Robert Habermeier
a16c06da5b
import and broadcast lock proofs
2017-12-27 18:27:18 +01:00
Robert Habermeier
cb7d407880
inex -> index
2017-12-27 18:03:41 +01:00
Robert Habermeier
2540a8728d
implement honest node strategy for BFT
2017-12-27 17:46:41 +01:00
Robert Habermeier
d5684c96c9
add sender to table's signed statement
2017-12-22 17:42:10 +01:00
Robert Habermeier
4a2162868b
a few more tests for the accumulator
2017-12-22 17:11:21 +01:00
Robert Habermeier
b89007122d
squash some warnings
2017-12-21 22:54:51 +01:00
Robert Habermeier
38b4dc2f22
BFT rewrite: vote accumulator with tests
2017-12-21 22:53:17 +01:00
Robert Habermeier
8e075e9963
check justification set for BFT
2017-12-18 16:07:55 +01:00
Robert Habermeier
dcce39c441
accept bft agreement on proposal not locally submitted
2017-12-18 15:49:35 +01:00
Robert Habermeier
dd7061e0d7
return summary upon statement import
2017-12-18 14:17:22 +01:00
Robert Habermeier
534b046040
test for not concluding on different prepares
2017-12-18 12:45:30 +01:00
Robert Habermeier
224efd656b
tests for BFT agreement
2017-12-18 11:47:56 +01:00
Robert Habermeier
6da40e8a7a
kill unused macro_use annotation
2017-12-18 11:08:43 +01:00
Robert Habermeier
9a030d6e09
simple BFT agreement
2017-12-18 11:08:29 +01:00
Robert Habermeier
afdc9d69e2
fix primitives compilation
2017-12-14 11:56:14 +01:00
Robert Habermeier
8d433278de
Merge branch 'master' into rh-candidate-agreement
2017-12-14 11:54:25 +01:00
Robert Habermeier
233d88fdb8
keep track of messages known by validators
2017-12-13 18:45:08 +01:00
Robert Habermeier
655b8ce275
count candidate issuance as implicit vote
2017-12-13 16:41:58 +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
Robert Habermeier
57f6dd4cc5
produce proposal from table
2017-12-13 12:12:26 +01:00
Robert Habermeier
ee05b9dbdf
some tests for misbehavior
2017-12-13 10:39:33 +01:00
Robert Habermeier
f8a28e4de4
add harness for tests
2017-12-13 10:11:41 +01:00
Robert Habermeier
45ac233cd1
test context for table
2017-12-12 18:27:24 +01:00
Robert Habermeier
2fa8fad0ef
make table mod public
2017-12-12 18:13:08 +01:00
Robert Habermeier
47d93e2cbd
candidate receipt type
2017-12-12 18:09:07 +01:00
Robert Habermeier
10312920b5
import availability votes
2017-12-12 17:57:03 +01:00
Robert Habermeier
cf4e4d7001
import votes on validity
2017-12-12 17:48:13 +01:00
Robert Habermeier
4ec91d687c
candidate statement importing
2017-12-12 17:24:28 +01:00
Tomasz Drwięga
55e74cd426
Update some types and interfaces to match the spec ( #24 )
...
* Update primitives.
* Fix validator interface.
2017-12-04 16:51:43 +01:00
Guanqun Lu
d17dcc1893
move version out of yaml and let it populate dynamically from package info ( #26 )
2017-12-04 14:57:13 +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
0ceebe6625
camel case and deny ( #20 )
2017-11-13 20:51:30 +01:00
Robert Habermeier
3dfafb5ec3
State Machine: Abstract function execution ( #19 )
...
* initial primitives
* add block primitives
* state machine: backend
* in-memory backend
* tests for overlayed storage
* blanked impl for state machine error
* abstract call execution
* squash warnings temporarily
* fix contracts crate
* address grumbles
* remove redundant state-machine dependency
2017-11-13 16:39:58 +01:00