* dynamic inclusion threshold calculator
* collators interface
* collation helpers
* initial proposal-creation future
* create proposer when asked to propose
* remove local_availability duty
* statement table tracks includable parachain count
* beginnings of timing future
* finish proposal logic
* remove stray println
* extract shared table to separate module
* change ordering
* includability tracking
* fix doc
* initial changes to parachains module
* initialise dummy block before API calls
* give polkadot control over round proposer based on random seed
* propose only after enough candidates
* flesh out parachains module a bit more
* set_heads
* actually introduce set_heads to runtime
* update block_builder to accept parachains
* split block validity errors from real errors in evaluation
* update WASM runtimes
* polkadot-api methods for parachains additions
* delay evaluation until candidates are ready
* comments
* fix dynamic inclusion with zero initial
* test for includability tracker
* wasm validation of parachain candidates
* move primitives to primitives crate
* remove runtime-std dependency from codec
* adjust doc
* polkadot-parachain-primitives
* kill legacy polkadot-validator crate
* basic-add test chain
* test for basic_add parachain
* move to test-chains dir
* use wasm-build
* new wasm directory layout
* reorganize a bit more
* Fix for rh-minimal-parachain (#141)
* Remove extern "C"
We already encountered such behavior (bug?) in pwasm-std, I believe.
* Fix `panic_fmt` signature by adding `_col`
Wrong `panic_fmt` signature can inhibit some optimizations in LTO mode.
* Add linker flags and use wasm-gc in build script
Pass --import-memory to LLD to emit wasm binary with imported memory.
Also use wasm-gc instead of wasm-build.
* Fix effective_max.
I'm not sure why it was the way it was actually.
* Recompile wasm.
* Fix indent
* more basic_add tests
* validate parachain WASM
* produce statements on receiving statements
* tests for reactive statement production
* fix build
* add OOM lang item to runtime-io
* use dynamic_inclusion when evaluating as well
* fix update_includable_count
* remove dead code
* grumbles
* actually defer round_proposer logic
* update wasm
* address a few more grumbles
* grumbles
* update WASM checkins
* remove dependency on tokio-timer
* move responsibility of storage_root calculation to state backend
* have `storage_root` produce a memoizable transaction
* store trie nodes in kvdb
* fix up test fallout
* remove stray newline
* Fix comment
* test for setting and checking state data
* fiddle with dependencies
* all parity deps on same commit hash
* fix network protocol registration
* call `on_new_transactions` when we import
* fix trace
* pass correct bytes to network
* clean up
* cull before repropagating; repropagate on timer
* add a little tracing
* barrier on starting network
* handle exit better
* give consensus service its own internal exit signal
* update comment
* remove stop_notifications and fix build
* initial draft of the macro
* traits for all storage types
* test for list wrapper
* map API
* move generator to runtime-support
* specialize traits further for runtime storage
* restore storage vec for unhashed
* double-commit and prepare misbehavior
* get misbehavior on completion
* collect misbehavior on drop, not only on success
* kill unused transaction_index field
* add primitive misbehavior report type
* add misbehavior report transaction
* store prior session
* fix set_items
* basic checks for misbehavior reports
* crate for substrate bft misbehavior checking
* integrate misbehavior check crate
* fix comment
* new wasm binaries
* fix hash in test
* import misbehavior transactions into queue
* fix test build
* sign on digest and full proposal when proposing
* detect proposal misbehavior
* fix fallout
* restore balance/bondage types
* reshuffle consensus libraries
* polkadot-useful type definitions for statement table
* begin BftService
* primary selection logic
* bft service implementation without I/O
* extract out `BlockImport` trait
* allow bft primitives to compile on wasm
* Block builder (substrate)
* take polkadot-consensus down to the core.
* test for preemption
* fix test build
* Fix wasm build
* Bulid on any block
* Test for block builder.
* Block import tests for client.
* Tidy ups
* clean up block builder instantiation
* justification verification logic
* JustifiedHeader and import
* Propert block generation for tests
* network and tablerouter trait
* use statement import to drive creation of further statements
* Fixed rpc tests
* custom error type for consensus
* create proposer
* asynchronous proposal evaluation
* inherent transactions in polkadot runtime
* fix tests to match real polkadot block constraints
* implicitly generate inherent functions
* add inherent transaction functionality to block body
* block builder logic for polkadot
* some tests for the polkadot API
* avoid redundancy in native code compatibility check
* helper for extracting nonce
* transaction pool implementation
* transaction pool
* integrate transaction pool with proposer
* indentation
* kill storage keys module
* accept new transactions to replace old
* reshuffle consensus libraries
* polkadot-useful type definitions for statement table
* begin BftService
* primary selection logic
* bft service implementation without I/O
* extract out `BlockImport` trait
* allow bft primitives to compile on wasm
* Block builder (substrate)
* take polkadot-consensus down to the core.
* test for preemption
* fix test build
* Fix wasm build
* Bulid on any block
* Test for block builder.
* Block import tests for client.
* Tidy ups
* clean up block builder instantiation
* justification verification logic
* JustifiedHeader and import
* Propert block generation for tests
* network and tablerouter trait
* use statement import to drive creation of further statements
* Fixed rpc tests
* custom error type for consensus
* create proposer
* asynchronous proposal evaluation
* inherent transactions in polkadot runtime
* fix tests to match real polkadot block constraints
* implicitly generate inherent functions
* add inherent transaction functionality to block body
* block builder logic for polkadot
* some tests for the polkadot API
* reshuffle consensus libraries
* polkadot-useful type definitions for statement table
* begin BftService
* primary selection logic
* bft service implementation without I/O
* extract out `BlockImport` trait
* allow bft primitives to compile on wasm
* Block builder (substrate)
* take polkadot-consensus down to the core.
* test for preemption
* fix test build
* Fix wasm build
* Bulid on any block
* Test for block builder.
* Block import tests for client.
* Tidy ups
* clean up block builder instantiation
* justification verification logic
* JustifiedHeader and import
* Propert block generation for tests
* Fixed rpc tests
* reshuffle consensus libraries
* polkadot-useful type definitions for statement table
* begin BftService
* primary selection logic
* bft service implementation without I/O
* extract out `BlockImport` trait
* allow bft primitives to compile on wasm
* take polkadot-consensus down to the core.
* test for preemption
* fix test build
* client-api type and move duty roster types to primitives
* tuple implementation for slicable
* mild cleanup of deserialization code
* stubs which handle encoding and decoding themselves
* fancier impl_stubs macro
* zero-copy slicable API
* minimal polkadot-client API
* fix WASM API generation
* move native environment stuff to substrate executor
* fix warnings and grumbles
* 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