Skip to content
Snippets Groups Projects
  1. Aug 02, 2021
  2. Mar 10, 2021
  3. Mar 09, 2021
  4. Feb 03, 2021
    • Bastian Köcher's avatar
      Fix bug in statement table (#2369) · 41eeb571
      Bastian Köcher authored
      We only checked all validity votes, ignoring invalid votes. So, the
      condidition could not hold. Besides fixing the panic, I removed some old
      cruft that isn't required anymore.
      41eeb571
  5. Jan 29, 2021
  6. Jan 28, 2021
    • Peter Goodspeed-Niklaus's avatar
      misbehavior: report multiple offenses per validator as necessary (#2222) · 25cfb884
      Peter Goodspeed-Niklaus authored
      * use proper descriptive generic type names
      
      * cleanup
      
      * Table stores a list of detected misbehavior per authority
      
      * add Table::drain_misbehaviors_for
      
      * WIP: unify misbehavior types; report multiple misbehaviors per validator
      
      Code checks, but tests don't yet pass.
      
      * update drain_misbehaviors: return authority id as well as specific misbehavior
      
      * enable unchecked construction of Signed structs in tests
      
      * remove test-features feature & unnecessary generic
      
      * fix backing tests
      
      This took a while to figure out, because where we'd previously been
      passing around `SignedFullStatement`s, we now needed to construct
      those on the fly within the test, to take advantage of the signature-
      checking in the constructor. That, in turn, necessitated changing the
      iterable type of `drain_misbehaviors` to return the validator index,
      and passing that validator index along within the misbehavior report.
      
      Once that was sorted, however, it became relatively straightforward:
      just needed to add appropriate methods to deconstruct the misbehavior
      reports, and then we could construct the signed statements directly.
      
      * fix bad merge
      25cfb884
  7. Nov 17, 2020
    • ordian's avatar
      update most of the dependencies (#1946) · 0a8a607a
      ordian authored
      * update tiny-keccak to 0.2
      
      * update deps except bitvec and shared_memory
      
      * fix some warning after futures upgrade
      
      * remove useless package rename caused by bug in cargo-upgrade
      
      * revert parity-util-mem *
      
      * remove unused import
      
      * cargo update
      
      * remove all renames on parity-scale-codec
      
      * remove the leftovers
      
      * remove unused dep
      0a8a607a
  8. Nov 03, 2020
  9. Nov 02, 2020
  10. Jul 10, 2020
    • asynchronous rob's avatar
      Refactor primitives (#1383) · 3b13cd9a
      asynchronous rob authored
      * create a v1 primitives module
      
      * Improve guide on availability types
      
      * punctuate
      
      * new parachains runtime uses new primitives
      
      * tests of new runtime now use new primitives
      
      * add ErasureChunk to guide
      
      * export erasure chunk from v1 primitives
      
      * subsystem crate uses v1 primitives
      
      * node-primitives uses new v1 primitives
      
      * port overseer to new primitives
      
      * new-proposer uses v1 primitives (no ParachainHost anymore)
      
      * fix no-std compilation for primitives
      
      * service-new uses v1 primitives
      
      * network-bridge uses new primitives
      
      * statement distribution uses v1 primitives
      
      * PoV distribution uses v1 primitives; add PoV::hash fn
      
      * move parachain to v0
      
      * remove inclusion_inherent module and place into v1
      
      * remove everything from primitives crate root
      
      * remove some unused old types from v0 primitives
      
      * point everything else at primitives::v0
      
      * squanch some warns up
      
      * add RuntimeDebug import to no-std as well
      
      * port over statement-table and validation
      
      * fix final errors in validation and node-primitives
      
      * add dummy Ord impl to committed candidate receipt
      
      * guide: update CandidateValidationMessage
      
      * add primitive for validationoutputs
      
      * expand CandidateValidationMessage further
      
      * bikeshed
      
      * add some impls to omitted-validation-data and available-data
      
      * expand CandidateValidationMessage
      
      * make erasure-coding generic over v1/v0
      
      * update usages of erasure-coding
      
      * implement commitments.hash()
      
      * use Arc<Pov> for CandidateValidation
      
      * improve new erasure-coding method names
      
      * fix up candidate backing
      
      * update docs a bit
      
      * fix most tests and add short-circuiting to make_pov_available
      
      * fix remainder of candidate backing tests
      
      * squanching warns
      
      * squanch it up
      
      * some fallout
      
      * overseer fallout
      
      * free from polkadot-test-service hell
      3b13cd9a
  11. Jul 09, 2020
    • Fedor Sakharov's avatar
      CandidateBackingSubsystem (#1312) · c1196278
      Fedor Sakharov authored
      * Updates guide for CandidateBacking
      
      * Move assignment types to primitives
      
      * Initial implementation.
      
      * More functionality
      
      * use assert_matches
      
      * Changes to report misbehaviors
      
      * Some fixes after a review
      
      * Remove a blank line
      
      * Update guide and some types
      
      * Adds run_job function
      
      * Some comments and refactorings
      
      * Fix review
      
      * Remove warnings
      
      * Use summary in kicking off validation
      
      * Parallelize requests
      
      * Validation provides local and global validation params
      
      * Test issued validity tracking
      
      * Nits from review
      c1196278
  12. Jan 17, 2020
    • asynchronous rob's avatar
      Validation service refactoring (#773) · 3e17fcfb
      asynchronous rob authored
      * add some more docs about statement import
      
      * instantiate environment async
      
      * move attestation service into subfolder
      
      * refactor validation service architecture somewhat
      
      * remove dependence on validation service in proposer
      
      * fix a bunch of warnings
      
      * improve docs
      
      * introduce a builder for the validation service
      
      * extract block production to its own file
      
      * integrate new API into service
      
      * address review grumbles
      3e17fcfb
  13. Jan 05, 2020
  14. Aug 12, 2019
    • Kian Paimani's avatar
      Update to latest Substrate master. (#353) · 10fc88f6
      Kian Paimani authored
      
      * Integrate srml/im-online
      
      * Fix all build errors with old aura.
      
      * Fix most of the build errors.
      
      * Builds and tests seem to pass (I will not trust this commit yet)
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarRobert Habermeier <rphmeier@gmail.com>
      
      * Kill some warnings.
      
      * fix panics on 0 validators
      
      * Fix dev chain.
      
      * Fix author stuff
      
      * fix im online integration.
      
      * Some tweaks
      
      * Introduce app-crypto
      
      * Initial build work
      
      * codec update / tweaks
      
      * patch polkadot-erasure-coding input
      
      * More fixes for new crypto
      
      * More fixes
      
      * Update parachains module
      
      * evamp parachain crypto
      
      * More crypto work.
      
      * Chain spec and service.
      
      * ChainSpec stuff
      
      * Last bits for a clean build
      
      * Tweak coment
      
      * adapt polkadot-validation to the new keystore
      
      * polkadot-network compiles, but tests don't
      
      * Integrate the new parachain validation stuff
      
      * delete message_routing file
      
      * make polkadot-network tests compile and pass
      
      * runtime tests compile and pass
      
      * update substrate ref
      
      * service compiles
      
      * all tests pass
      
      * Add TODO, change branch back to polkadot-master
      
      * Lock file
      
      * TODOs done
      
      * Issue number
      
      * Remove old tODO
      
      * Remove commented code
      10fc88f6
  15. Jun 16, 2019
  16. May 29, 2019
  17. May 17, 2019
  18. May 08, 2019
    • Stanislav Tkach's avatar
      Don't pass validators' public keys with attestations (#186) · e8fcb43f
      Stanislav Tkach authored and asynchronous rob's avatar asynchronous rob committed
      * Don't pass validators' public keys with attestations
      
      * Update statement-table's Misbehaviour typedef
      
      * Update network/router
      
      * Expand MessageValidationData
      
      * Try to fix tests
      
      * Extend ApiContext
      
      * Remove 'index_mapping' from the SessionParams
      
      * Construct index_mapping from authorities
      
      * Move index_mapping to TableContext
      
      * Add test for index_mapping order
      e8fcb43f
  19. Jan 18, 2019
    • asynchronous rob's avatar
      Remove availability statement (#79) · 32cef976
      asynchronous rob authored
      * remove availability vote type from statement-table
      
      * expunge availability statement from consensus module
      
      * expunge availability from duty roster
      
      * rename StatementProducer to ParachainWork
      
      * fix runtime tests and remove availability statement variant
      
      * update wasm
      32cef976
  20. Nov 26, 2018
    • asynchronous rob's avatar
      Blocks carry full attestations for candidates (#42) · 7b468561
      asynchronous rob authored
      
      * statement table yields fully-attested candidates
      
      * attestation types in polkadot-primitives
      
      * propose block with fully-attested candidates in consensus
      
      * some signature-checking logic in the runtime
      
      * fix runtime compilation
      
      * ensure attestations are full and without duplicate when checking
      
      * fix consensus-service compilation
      
      * add some tests
      
      * use bitvec from crates.io now that it's published
      
      * sign statements based on primitive statement's encoding
      
      * remove some serialize bounds
      
      * Fix error message with duplicate availability attestations
      
      Co-Authored-By: default avatarrphmeier <rphmeier@gmail.com>
      7b468561
  21. Aug 08, 2018
    • Tomasz Drwięga's avatar
      Derivable Encode & Decode (#509) · 5fe73de4
      Tomasz Drwięga authored
      * Derive macro for simple structs.
      
      * Derive Encode/Decode wherever we can.
      
      * Derive for enums.
      
      * Support discriminant.
      
      * Get rid of some repetition.
      
      * Support custom indices.
      
      * Derive codec for enums wherever possible.
      
      * Fix no_std
      
      * WASM rebuilt
      
      * Avoid excessive import.
      
      * Fix compilation.
      
      * Address review grumbles.
      5fe73de4
  22. Jul 16, 2018
  23. Jul 15, 2018
  24. Jul 06, 2018
    • asynchronous rob's avatar
      Minimal parachains part 2: Parachain statement and data routing (#173) · 6bfcbd6d
      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
      6bfcbd6d
  25. May 25, 2018
    • asynchronous rob's avatar
      Minimal parachain framework part 1 (#113) · c473c0c7
      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
      c473c0c7
  26. Feb 15, 2018
    • asynchronous rob's avatar
      Split BFT into substrate-bft and runtime-specific proposer logic (#72) · 6fbe366f
      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
      
      * take polkadot-consensus down to the core.
      
      * test for preemption
      
      * fix test build
      6fbe366f
  27. Feb 08, 2018