1. May 22, 2021
  2. May 21, 2021
  3. May 19, 2021
  4. May 15, 2021
  5. May 13, 2021
  6. May 03, 2021
    • Robert Klotzner's avatar
      More secure `Signed` implementation (#2963) · 0dbdfef9
      Robert Klotzner authored
      * Remove signature verification in backing.
      
      `SignedFullStatement` now signals that the signature has already been
      checked.
      
      * Remove unused check_payload function.
      
      * Introduced unchecked signed variants.
      
      * Fix inclusion to use unchecked variant.
      
      * More unchecked variants.
      
      * Use unchecked variants in protocols.
      
      * Start fixing statement-distribution.
      
      * Fixup statement distribution.
      
      * Fix inclusion.
      
      * Fix warning.
      
      * Fix backing properly.
      
      * Fix bitfield distribution.
      
      * Make crypto store optional for `RuntimeInfo`.
      
      * Factor out utility functions.
      
      * get_group_rotation_info
      
      * WIP: Collator cleanup + check signatures.
      
      * Convenience signature checking functions.
      
      * Check signature on collator-side.
      
      * Fix warnings.
      
      * Fix collator side tests.
      
      * Get rid of warnings.
      
      * Better Signed/UncheckedSigned implementation.
      
      Also get rid of Encode/Decode for Signed! *party*
      
      * Get rid of dead code.
      
      * Move Signed in its own module.
      
      * into_checked -> try_into_checked
      
      * Fix merge.
      0dbdfef9
    • Bastian Köcher's avatar
      Companion for Substrate#8526 (#2845) · 7830bae5
      Bastian Köcher authored
      * Update branch
      
      * Make it compile
      
      * Compile
      
      * gate approval-checking logic (#2470)
      
      * Fix build
      
      * Updates
      
      * Fix merge
      
      * Adds missing crate
      
      * Companion for Substrate#8386
      
      https://github.com/paritytech/substrate/pull/8386
      
      
      
      * Fix fix fix
      
      * Fix
      
      * Fix compilation
      
      * Rewrite to `ParachainsInherentDataProvider`
      
      * Make it compile
      
      * Renamings
      
      * Revert stuff
      
      * Remove stale file
      
      * Guide updates
      
      * Update node/core/parachains-inherent/src/lib.rs
      
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      
      * Update node/core/parachains-inherent/src/lib.rs
      
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      
      * Apply suggestions from code review
      
      * Reset accidental changes
      
      * More
      
      * Remove stale file
      
      * update Substrate
      
      Co-authored-by: default avatarRobert Habermeier <[email protected]>
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      Co-authored-by: parity-processbot <>
      7830bae5
  7. Apr 25, 2021
  8. Apr 16, 2021
    • Robert Klotzner's avatar
      Infrastructure improvements (#2897) · dacde443
      Robert Klotzner authored
      * Factor out runtime module into utils.
      
      * Add maybe_authority information to `PeerConnected` event.
      
      We already gather this information in authority discovery, so we might
      as well share it with others.
      
      This opens up an easy path to trigger validators differently from normal
      nodes, e.g. for prioritization. This change has become more important
      now, that we just connect to all validators and therefore just have a
      long peer list without any information about those nodes.
      
      * Test fix.
      dacde443
  9. Apr 14, 2021
  10. Apr 09, 2021
    • Robert Klotzner's avatar
      Req/res optimization for statement distribution (#2803) · 305375e1
      Robert Klotzner authored
      * Wip
      
      * Increase proposer timeout.
      
      * WIP.
      
      * Better timeout values now that we are going to be connected to all nodes. (#2778)
      
      * Better timeout values.
      
      * Fix typo.
      
      * Fix validator bandwidth.
      
      * Fix compilation.
      
      * Better and more consistent sizes.
      
      Most importantly code size is now 5 Meg, which is the limit we currently
      want to support in statement distribution.
      
      * Introduce statement fetching request.
      
      * WIP
      
      * Statement cache retrieval logic.
      
      * Review remarks by @rphmeier
      
      * Fixes.
      
      * Better requester logic.
      
      * WIP: Handle requester messages.
      
      * Missing dep.
      
      * Fix request launching logic.
      
      * Finish fetching logic.
      
      * Sending logic.
      
      * Redo code size calculations.
      
      Now that max code size is compressed size.
      
      * Update Cargo.lock (new dep)
      
      * Get request receiver to statement distribution.
      
      * Expose new functionality for responding to requests.
      
      * Cleanup.
      
      * Responder logic.
      
      * Fixes + Cleanup.
      
      * Cargo.lock
      
      * Whitespace.
      
      * Add lost copyright.
      
      * Launch responder task.
      
      * Typo.
      
      * info -> warn
      
      * Typo.
      
      * Fix.
      
      * Fix.
      
      * Update comment.
      
      * Doc fix.
      
      * Better large statement heuristics.
      
      * Fix tests.
      
      * Fix network bridge tests.
      
      * Add test for size estimate.
      
      * Very simple tests that checks we get LargeStatement.
      
      * Basic check, that fetching of large candidates is performed.
      
      * More tests.
      
      * Basic metrics for responder.
      
      * More metrics.
      
      * Use Encode::encoded_size().
      
      * Some useful spans.
      
      * Get rid of redundant metrics.
      
      * Don't add peer on duplicate.
      
      * Properly check hash
      
      instead of relying on signatures alone.
      
      * Preserve ordering + better flood protection.
      
      * Get rid of redundant clone.
      
      * Don't shutdown responder on failed query.
      
      And add test for this.
      
      * Smaller fixes.
      
      * Quotes.
      
      * Better queue size calculation.
      
      * A bit saner response sizes.
      
      * Fixes.
      305375e1
    • asynchronous rob's avatar
      set groups correctly even if not validator (#2863) · bc7761a3
      asynchronous rob authored
      shows what I get for being hasty last time. i added a test this time, which would have caught this issue last time.
      bc7761a3
  11. Apr 08, 2021
    • asynchronous rob's avatar
      no backing job early exit if not validator (#2860) · 234d0df5
      asynchronous rob authored
      with the MaxValidators parameter set, this meant that only validators participating in parachain consensus would be able to author relay-chain blocks containing backed candidates
      234d0df5
    • ordian's avatar
      silence some parachain warnings (#2859) · 78a46da3
      ordian authored
      * silence some parachain warnings
      
      * that was actually a bug that Rob is fixing
      78a46da3
    • Sergey Pepyakin's avatar
      New PVF validation host (#2710) · 59b4d651
      Sergey Pepyakin authored
      
      
      * Implement PVF validation host
      
      * WIP: Diener
      
      * Increase the alloted compilation time
      
      * Add more comments
      
      * Minor clean up
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Fix pruning artifact removal
      
      * Fix formatting and newlines
      
      * Fix the thread pool
      
      * Update node/core/pvf/src/executor_intf.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Remove redundant test declaration
      
      * Don't convert the path into an intermediate string
      
      * Try to workaround the test failure
      
      * Use the puppet_worker trick again
      
      * Fix a blip
      
      * Move `ensure_wasmtime_version` under the tests mod
      
      * Add a macro for puppet_workers
      
      * fix build for not real-overseer
      
      * Rename the puppet worker for adder collator
      
      * play it safe with the name of adder puppet worker
      
      * Typo: triggered
      
      * Add more comments
      
      * Do not kill exec worker on every error
      
      * Plumb Duration for timeouts
      
      * typo: critical
      
      * Add proofs
      
      * Clean unused imports
      
      * Revert "WIP: Diener"
      
      This reverts commit b9f54e513366c7a6dfdd117ac19fbdc46b900b4d.
      
      * Sync version of wasmtime
      
      * Update cargo.lock
      
      * Update Substrate
      
      * Merge fixes still
      
      * Update wasmtime version in test
      
      * bastifmt
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Squash spaces
      
      * Trailing new line for testing.rs
      
      * Remove controversial code
      
      * comment about biasing
      
      * Fix suggestion
      
      * Add comments
      
      * make it more clear why unwrap_err
      
      * tmpfile retry
      
      * proper proofs for claim_idle
      
      * Remove mutex from ValidationHost
      
      * Add some more logging
      
      * Extract exec timeout into a constant
      
      * Add some clarifying logging
      
      * Use blake2_256
      
      * Clean up the merge
      
      Specifically the leftovers after removing real-overseer
      
      * Update parachain/test-parachains/adder/collator/Cargo.toml
      
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      59b4d651
    • asynchronous rob's avatar
      Code, PoV compression and remove `CompressedPoV` struct (#2852) · 896ec8db
      asynchronous rob authored
      * use compressed blob in candidate-validation
      
      * add some tests for compressed code blobs
      
      * remove CompressedPoV and apply compression in collation-generation
      
      * decompress BlockData before executing
      
      * don't produce oversized collations
      
      * add test for PoV decompression failure
      
      * fix tests and clean up
      
      * fix test
      
      * address review and fix CI
      
      * take this )
      896ec8db
  12. Apr 07, 2021
  13. Apr 05, 2021
  14. Apr 03, 2021
    • asynchronous rob's avatar
      Collation protocol: stricter validators (#2810) · 11b8e4c8
      asynchronous rob authored
      
      
      * guide: declare one para as a collator
      
      * add ParaId to Declare messages and clean up
      
      * fix build
      
      * fix the testerinos
      
      * begin adding keystore to collator-protocol
      
      * remove request_x_ctx
      
      * add core_for_group
      
      * add bump_rotation
      
      * add some more helpers to subsystem-util
      
      * change signing_key API to take ref
      
      * determine current and next para assignments
      
      * disconnect collators who are not on current or next para
      
      * add collator peer count metric
      
      * notes for later
      
      * some fixes
      
      * add data & keystore to test state
      
      * add a test utility for answering runtime API requests
      
      * fix existing collator tests
      
      * add new tests
      
      * remove sc_keystore
      
      * update cargo lock
      
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      11b8e4c8
  15. Apr 01, 2021
    • thiolliere's avatar
      Ease parachain candidate code fetching (#2593) · beca01f1
      thiolliere authored
      
      
      * code stored in para + modify CandidateDescriptor.
      
      * WIP: digest + some more impl
      
      * validation_code_hash in payload + check in inclusion
      
      * check in client + refator
      
      * tests
      
      * fix encoding indices
      
      * remove old todos
      
      * fix test
      
      * fix test
      
      * add test
      
      * fetch validation code inside collation-generation from the relay-chain
      
      * HashMismatch -> PoVHashMismatch + miscompilation
      
      * refactor, store hash when needed
      
      * storage rename: more specific but slightly too verbose
      
      * do not hash on candidate validation, fetch hash instead
      
      * better test
      
      * fix test
      
      * guide updates
      
      * don't panic in runtime
      
      Co-authored-by: default avatarRobert Habermeier <[email protected]>
      beca01f1
    • ordian's avatar
    • asynchronous rob's avatar
      Approval Voting improvements (#2781) · 57b56770
      asynchronous rob authored
      
      
      * extract database from av-store itself
      
      * generalize approval-voting over database type
      
      * modes (without handling) and pruning old wakeups
      
      * rework approval importing
      
      * add our_approval_sig to ApprovalEntry
      
      * import assignment
      
      * guide updates for check-full-approval changes
      
      * some aux functions
      
      * send messages when becoming active.
      
      * guide: network bridge sends view updates only when done syncing
      
      * network bridge: send view updates only when done syncing
      
      * tests for new network-bridge behavior
      
      * add a test for updating approval entry with sig
      
      * fix some warnings
      
      * test load-all-blocks
      
      * instantiate new parachains DB
      
      * fix network-bridge empty view updates
      
      * tweak
      
      * fix wasm build, i think
      
      * Update node/core/approval-voting/src/lib.rs
      
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      
      * add some versioning to parachains_db
      
      * warnings
      
      * fix merge changes
      
      * remove versioning again
      
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      57b56770
    • asynchronous rob's avatar
      Add dispute types and change InclusionInherent to ParasInherent (#2791) · 0794f693
      asynchronous rob authored
      * dispute types
      
      * add Debug to dispute primitives in std and InherentData
      
      * use ParachainsInherentData on node-side
      
      * change inclusion_inherent to paras_inherent
      
      * RuntimeDebug
      
      * add type parameter to PersistedValidationData users
      
      * fix test client
      
      * spaces
      
      * fix collation-generation test
      
      * fix provisioner tests
      
      * remove references to inclusion inherent
      0794f693
    • asynchronous rob's avatar
      Avoid querying the local validator in availability recovery (#2792) · 5da762e7
      asynchronous rob authored
      * guide: don't request availability data from ourselves
      
      * add QueryAllChunks message
      
      * implement QueryAllChunks
      
      * remove unused relay_parent from StoreChunk
      
      * test QueryAllChunks
      
      * fast paths make short roads
      
      * test early exit behavior
      5da762e7
  16. Mar 30, 2021
  17. Mar 29, 2021
  18. Mar 28, 2021
    • asynchronous rob's avatar
      Split NetworkBridge and break cycles with Unbounded (#2736) · 8ebbe19d
      asynchronous rob authored
      
      
      * overseer: pass messages directly between subsystems
      
      * test that message is held on to
      
      * Update node/overseer/src/lib.rs
      
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <[email protected]>
      
      * give every subsystem an unbounded sender too
      
      * remove metered_channel::name
      
      1. we don't provide good names
      2. these names are never used anywhere
      
      * unused mut
      
      * remove unnecessary &mut
      
      * subsystem unbounded_send
      
      * remove unused MaybeTimer
      
      We have channel size metrics that serve the same purpose better now and the implementation of message timing was pretty ugly.
      
      * remove comment
      
      * split up senders and receivers
      
      * update metrics
      
      * fix tests
      
      * fix test subsystem context
      
      * use SubsystemSender in jobs system now
      
      * refactor of awful jobs code
      
      * expose public `run` on JobSubsystem
      
      * update candidate backing to new jobs & use unbounded
      
      * bitfield signing
      
      * candidate-selection
      
      * provisioner
      
      * approval voting: send unbounded for assignment/approvals
      
      * async not needed
      
      * begin bridge split
      
      * split up network tasks into background worker
      
      * port over network bridge
      
      * Update node/network/bridge/src/lib.rs
      
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      
      * rename ValidationWorkerNotifications
      
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <[email protected]>
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      8ebbe19d
    • ordian's avatar
      approval-voting: more spans and metrics (#2742) · 171fc699
      ordian authored
      * approval-voting: more spans and metrics
      
      * s/db/approval db
      171fc699
    • Robert Klotzner's avatar
      Request based PoV distribution (#2640) · c6f07d8f
      Robert Klotzner authored
      * Indentation fix.
      
      * Prepare request-response for PoV fetching.
      
      * Drop old PoV distribution.
      
      * WIP: Fetch PoV directly from backing.
      
      * Backing compiles.
      
      * Runtime access and connection management for PoV distribution.
      
      * Get rid of seemingly dead code.
      
      * Implement PoV fetching.
      
      Backing does not yet use it.
      
      * Don't send `ConnectToValidators` for empty list.
      
      * Even better - no need to check over and over again.
      
      * PoV fetching implemented.
      
      + Typechecks
      + Should work
      
      Missing:
      
      - Guide
      - Tests
      - Do fallback fetching in case fetching from seconding validator fails.
      
      * Check PoV hash upon reception.
      
      * Implement retry of PoV fetching in backing.
      
      * Avoid pointless validation spawning.
      
      * Add jaeger span to pov requesting.
      
      * Add back tracing.
      
      * Review remarks.
      
      * Whitespace.
      
      * Whitespace again.
      
      * Cleanup + fix tests.
      
      * Log to log target in overseer.
      
      * Fix more tests.
      
      * Don't fail if group cannot be found.
      
      * Simple test for PoV fetcher.
      
      * Handle missing group membership better.
      
      * Add test for retry functionality.
      
      * Fix flaky test.
      
      * Spaces again.
      
      * Guide updates.
      
      * Spaces.
      c6f07d8f
    • asynchronous rob's avatar
      Approval voting failsafe (#2675) · ef816b08
      asynchronous rob authored
      
      
      * add consensus log type
      
      * origin and issue force_approve
      
      * add origin in runtimes
      
      * ref API
      
      * scrape force_approve digest from header
      
      * add parent_hash to BlockEntry
      
      * add block_number to block entry and force_approve skeleton
      
      * implement and plug in force-approve
      
      * test force_approve
      
      * test force_approve extraction
      
      * westend runtime
      
      * Update node/core/approval-voting/src/approval_db/v1/mod.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * rename
      
      * Update runtime/parachains/src/initializer.rs
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarAndré Silva <[email protected]>
      ef816b08
  19. Mar 26, 2021
  20. Mar 25, 2021
  21. Mar 24, 2021
  22. Mar 23, 2021