1. Jun 05, 2019
    • Andrew Jones's avatar
      Remove dependency on error_chain (#277) · d6b0e1f7
      Andrew Jones authored
      
      
      * Convert validation error
      
      * Convert wasm_executor error
      
      * Convert block evaluation error
      
      * Convert collation errors and the compilation
      
      * Remove error-chain dep from service
      
      * Remove unused Result type
      
      * Remove unused error variants
      
      * Remove redundant intos
      
      * Add missing comments
      
      * Update validation/src/collation.rs
      
      Co-Authored-By: default avatarthiolliere <[email protected]>
      
      * Fix new error variant
      d6b0e1f7
  2. May 29, 2019
  3. May 25, 2019
  4. May 06, 2019
  5. Mar 18, 2019
    • Gav Wood's avatar
      Update to Substrate master (#176) · c12969e1
      Gav Wood authored
      
      
      * Update to master
      
      This introduces a new type `CollatorId`, currently just `SessionKey`
      but which would forseeably change to its own thing. It seems to work
      like this (despite there being a lot of the new-incompatible
      `AccountId` replaced). No idea if it does anything sensible, though.
      
      * Cleanups
      
      * Fix tests
      
      * Remove commented code
      
      * Specify commit hash
      
      * Remove commented code
      
      * Correct version
      
      * Update runtime/Cargo.toml
      
      Co-Authored-By: default avatargavofyork <[email protected]>
      
      * PairT instead of _Pair
      
      * Update lock file
      
      * Remove rev causing upset
      c12969e1
  6. Feb 21, 2019
  7. Jan 08, 2019
  8. Dec 20, 2018
    • asynchronous rob's avatar
      Update to latest substrate (#57) · b736abcc
      asynchronous rob authored
      * update to latest substrate
      
      * update WASM and runtime
      
      * Rename Id to ParaId in decl_{module,storage} (exported metadata type) (#58)
      
      * Rename Id to ParaId in decla_module (exported type)
      
      * AccountParaId -> AccountId
      b736abcc
  9. Nov 25, 2018
    • Gav Wood's avatar
      Make work with Substrate master (#36) · a35ddc58
      Gav Wood authored
      * Fix up wasm runtime build
      
      * Fixes for runtime
      
      * Fix.
      
      * More fixes
      
      * Runtime builds on native.
      
      * Native and wasm both build without warnings.
      
      * Fix runtime tests.
      
      * Merge #20
      
      * Final fix for native runtime.
      
      * Compile polkadot wo consensus
      
      * Reverted changes to polkadot-consensus
      
      * reintroduce minimal subset of consensus
      
      * reintroduce checked_block to runtime for std
      
      * polkadot_consensus compiles without most of the code
      
      * remove checked_block again and do more checks in parachains for runtime
      
      * uncomment proposer
      
      * remove offline tracker
      
      * extract out parachain-attestation logic from proposal directly
      
      * reintroduce transaction_pool
      
      * write some custom aura verification logic for the block verifier
      
      * use transaction pool in more generic way
      
      * service compiles again
      
      * polkadot-network and tests pass
      
      * remove unused session_key function from router
      
      * everything but CLI compiles due to service hell
      
      * Fixes compilation of `polkadot_cli`
      
      * everything compiles
      
      * update adder wasm
      a35ddc58
  10. Jul 06, 2018
    • asynchronous rob's avatar
      Minimal parachains part 2: Parachain statement and data routing (#173) · 6d8720ac
      asynchronous rob authored
      * 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
      
      * schedule collation work as soon as BFT is started
      
      * impl future in collator
      
      * fix comment
      
      * governance proposals for adding and removing parachains
      
      * bump protocol version
      
      * tear out polkadot-specific pieces of substrate-network
      
      * extract out polkadot-specific stuff from substrate-network
      
      * begin polkadot network subsystem
      
      * grumbles
      
      * update WASM checkins
      
      * parse status from polkadot peer
      
      * allow invoke of network specialization
      
      * begin statement router implementation
      
      * remove dependency on tokio-timer
      
      * fix sanity check and have proposer factory create communication streams
      
      * pull out statement routing from consensus library
      
      * fix comments
      
      * adjust typedefs
      
      * extract consensus_gossip out of main network protocol handler
      
      * port substrate-bft to new tokio
      
      * port polkadot-consensus to new tokio
      
      * fix typo
      
      * start message processing task
      
      * initial consensus network implementation
      
      * remove known tracking from statement-table crate
      
      * extract router into separate module
      
      * defer statements until later
      
      * double signature is invalid
      
      * propagating statements
      
      * grumbles
      
      * request block data
      
      * fix compilation
      
      * embed new consensus network into service
      
      * port demo CLI to tokio
      
      * all test crates compile
      
      * some tests for fetching block data
      
      * whitespace
      
      * adjusting some tokio stuff
      
      * update exit-future
      
      * remove overly noisy warning
      
      * clean up collation work a bit
      
      * address review grumbles
      
      * fix lock order in protocol handler
      
      * rebuild wasm artifacts
      
      * tag AuthorityId::from_slice for std only
      
      * address formatting grumbles
      
      * rename event_loop to executor
      
      * some more docs for polkadot-network crate
      6d8720ac
  11. Jun 06, 2018
    • Gav Wood's avatar
      Make substrate generic (#169) · 521e3a23
      Gav Wood authored and asynchronous rob's avatar asynchronous rob committed
      * Some initial work on RPC and client
      
      * Rephrase as params
      
      * More work on traitifying substrate.
      
      * Traitify in_mem.rs
      
      * traitify client.rs
      
      * Make new primitives (mainly traits) build again.
      
      * Many (superficial) build fixes throughout.
      
      * Fix remaining build issues up to bft interface.
      
      * Make bft primitives be generic.
      
      * Switch out MisBehaviorReport for generic version.
      
      * Merge Hashing into Header.
      
      * Update runtime for new generics (with Hashing).
      
      * Update demo runtime.
      
      * Make runtime compile.
      
      * Build fixes for runtime
      
      * Remove old modules.
      
      * port substrate-bft to use generic substrate types
      
      * port client
      
      * port substrate-test-runtime
      
      * mostly port test-runtime to get compiling for std
      
      * Ensure `AccountId` has a `Default`.
      
      * Fix type deps.
      
      * finish porting
      
      * initialize test_runtime from genesis correctly
      
      * remove commented code
      
      * maybe unsigned signatures
      
      * runtimes compile
      
      * port over most of network
      
      * serialization for generic types
      
      * fix comment
      
      * remove some unnecessary trait bounds
      
      * network compiles
      
      * tests compile for sync
      
      * fix deserialization
      
      * temporarily remove deserialize derives
      
      * workarounds for serde issues for deriving deserialization
      
      * get demo-runtime compiling on std
      
      * port extrinsic-pool
      
      * primitives reshuffling
      
      * get network compiling again
      
      * remove debugging file
      
      * runtime tests now passing
      
      * port client-db
      
      * start to port over substrate-rpc
      
      * mostly port over PolkadotApi
      
      * test_runtime follows normal conventions
      
      * substrate runtime tests pass
      
      * deal with inherent extrinsics correctly in polkadot-api
      
      * port transaction-pool
      
      * port polkadot-consensus
      
      * port substrate-rpc
      
      * everything compiles
      
      * tests compile
      
      * fix grumbles
      
      * test-runtime uses its own transfer type
      
      * switch to master branch of jsonrpc
      
      * fix network tests and some warnings
      
      * all tests pass locally
      
      * [ci-skip] add another comment about issue
      
      * remove some curlies
      521e3a23
  12. May 25, 2018
    • asynchronous rob's avatar
      Minimal parachain framework part 1 (#113) · f41a4959
      asynchronous rob authored
      * 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
      f41a4959
  13. Apr 12, 2018
  14. Mar 30, 2018
    • Arkadiy Paronyan's avatar
      Polkadot service (#82) · d3f3cb71
      Arkadiy Paronyan authored and asynchronous rob's avatar asynchronous rob committed
      * Block import notifications
      
      * Build fix
      
      * Consensus messages supported in the networking
      
      * Started consensus service
      
      * BFT service
      
      * Transaction propagation
      
      * Polkadot service
      
      * CLI integration
      
      * Build fix
      
      * Added signatures validation
      
      * Removed executor argument
      
      * Refactored steam loops; Queue size increased
      
      * Limit queue size
      
      * Fixed doc comment
      
      * Fixed wasm build
      
      * Fixed wasm build
      
      * Check id properly
      d3f3cb71
  15. Mar 02, 2018
    • asynchronous rob's avatar
      Integrate transaction pool to the proposal logic (#80) · 3367658d
      asynchronous rob authored
      * 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
      3367658d
  16. Feb 25, 2018
    • asynchronous rob's avatar
      Proposal creation and evaluation to plug into BFT (#77) · 05583c34
      asynchronous rob authored
      * 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
      05583c34