Skip to content
  1. Jun 22, 2021
    • André Silva's avatar
      runtime: remove randomness collective flip pallet (#3347) · 6b408d1e
      André Silva authored
      
      
      * runtime: remove randomness collective flip pallet
      
      * add storage migration to remove key
      
      Co-Authored-By: parity-processbot <>
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      6b408d1e
    • Lldenaurois's avatar
      Approval Checking: Avoid redundant checks (#3306) · 777499dc
      Lldenaurois authored
      * node/approval-voting: Introduce LruCache for pending Approval work
      
      This commit adds an LruCache that is intended to track the approval work
      submitted as background tasks in order to ensure that the validator needn't
      launch duplicate approval work for the same candidate across multiple blocks.
      A simple state machine is also introduced in order to differentiate pending
      and completed tasks. In addition, this LruCache will retain ValidationResults
      from the completed approval work once the task has completed. As per LruCache
      implementation, the oldest tasks will get evicted as new approval work is
      submitted to this cache.
      
      * node/approval-voting: Revert changes to master
      
      This commit reverts changes from the previous commit in order
      to simplify addressing the architecture discussion raised in the PR.
      
      * node/approval-voting: remove background task mpsc construct
      
      This diff removes the mpsc construct for background tasks in preparation
      for a move to leveraging RemoteHandles to launch approvals, rather than
      passing ApprovalRequests to a mpsc channel and handling the ApprovalRequests
      in the main subsystem task.
      
      * node/approval-voting: Introduce LRU Cache
      
      This commit introduces an LRU Cache but does not yet make use of it.
      
      * node/approval-voting: Remove BackgroundTasksMap and memoize currently_checking
      
      This commit removes the BackgroundTasksMap in the main subsystem task
      and introduces a method to keep track of RemoteHandles in such a way that
      we can ensure that a task is spawned once for a CandidateHash and
      relay parent tuple.
      
      * node/approval-voting: Remove BackgroundTasksMap and memoize currently_checking
      
      This commit removes the BackgroundTasksMap in the main subsystem task
      and introduces a map of FuturesUnordered per BlockNumber. In addition,
      a FusedFuture is generated by iterating across all FuturesUnordered for
      the BlockNumbers for which at least one candidate has approvals work
      running in the subsystem.
      
      * node/approval-voting: Address Rob's comments
      
      This diff removes the prior HashMap<BlockNumber, FuturesUnordered>
      construction and instead moves to a simple FuturesUnordered where
      all the work is await with Timeout.
      
      * node/approval-voting: Update Cargo.lock
      
      Due to a mismatch in rustc versions
      
      * node/approval-voting: Make use of actions when issuing_approval
      
      This commit fixes a small oversight in the logic of the prior commit.
      
      * node/approval-voting: Address Rob's feedback
      
      * node/approval-voting: Introduce lazy launch_approval evaluation
      
      * node/approval-voting: Send DistibruteApproval message on every LaunchApproval
      
      In addition to fixed the DistributeApproval bug, this commit also
      increases the size of the approvals cache and ensures the StaleGuard
      is removed when the advantageous approval state is reached.
      
      * node/approval-voting: Address final comments
      
      This commit removes the CandidateIndex from the ApprovalVoteRequest.
      Instead, the launch_approval function will compute the candidate_index
      from the block entry.
      
      In addition, a comment has been added explaining the difficulty of
      issuing approvals in the handle_actions function.
      
      * node/approval-voting: Set timeout to be 120s rather than 2s
      
      * Update Cargo.lock
      777499dc
    • Robert Klotzner's avatar
      Dispute distribution guide (#3158) · e3340e44
      Robert Klotzner authored
      * Dispute distribution initial design.
      
      * WIP.
      
      * Dispute distribution guide update.
      
      * Make invalid statement include `InvalidStatementKind`.
      
      * Clarify the scope of disputes.
      
      * A few fixes + introduced back pressure oneshot.
      
      * Fixes and spam protection WIP.
      
      * More spam considerations.
      
      * More fixes.
      
      * Fixes + add note about not dispute participating nodes.
      e3340e44
    • dependabot[bot]'s avatar
      Bump paste from 1.0.4 to 1.0.5 (#3340) · 78801904
      dependabot[bot] authored
      
      
      Bumps [paste](https://github.com/dtolnay/paste) from 1.0.4 to 1.0.5.
      - [Release notes](https://github.com/dtolnay/paste/releases)
      - [Commits](https://github.com/dtolnay/paste/compare/1.0.4...1.0.5)
      
      ---
      updated-dependencies:
      - dependency-name: paste
        dependency-type: direct:production
        update-type: version-update:semver-patch
      ...
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      78801904
    • dependabot[bot]'s avatar
      Bump rand_chacha from 0.3.0 to 0.3.1 (#3225) · 23f1b8ee
      dependabot[bot] authored
      
      
      Bumps [rand_chacha](https://github.com/rust-random/rand) from 0.3.0 to 0.3.1.
      - [Release notes](https://github.com/rust-random/rand/releases)
      - [Changelog](https://github.com/rust-random/rand/blob/master/CHANGELOG.md)
      - [Commits](https://github.com/rust-random/rand/compare/rand_chacha-0.3.0...rand_chacha-0.3.1)
      
      ---
      updated-dependencies:
      - dependency-name: rand_chacha
        dependency-type: direct:production
        update-type: version-update:semver-patch
      ...
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      23f1b8ee
    • Arkadiy Paronyan's avatar
      Fast sync companion PR (#3078) · 0225640d
      Arkadiy Paronyan authored
      
      
      * Fixed build
      
      * Bumped trie-db
      
      * update Substrate
      
      * impl-guide: fix broken links
      
      Co-authored-by: parity-processbot <>
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      0225640d
    • ordian's avatar
      make `ctx.spawn` blocking (#3337) · ffc6f7c7
      ordian authored
      * make spawn sync
      
      * improve error type
      ffc6f7c7
  2. Jun 21, 2021
    • Bastian Köcher's avatar
      Only fetch one collation at a time per relay parent (#3333) · 9fa5d28e
      Bastian Köcher authored
      * Only fetch one collation at a time per relay parent
      
      Before a validator would fetch all collations that were advertised to
      him. This pr changes the behavior to always just fetch one collation at
      a time. If fetching fails, the validator will start fetching one of the
      other collations.
      
      * Use enum to be more explicit
      
      * Review comments
      9fa5d28e
    • Bastian Köcher's avatar
      Remove the streamunordered crate (#3339) · 3d2931ac
      Bastian Köcher authored
      The functionality is now provided by the `futures` crate.
      3d2931ac
    • asynchronous rob's avatar
      Chain Selection Subsystem Logic (#3277) · 74baed8b
      asynchronous rob authored
      
      
      * crate skeleton and type definitions
      
      * add ChainSelectionMessage
      
      * add error type
      
      * run loop
      
      * fix overseer
      
      * simplify determine_new_blocks API
      
      * write an overlay struct and fetch new blocks
      
      * add new function to overlay
      
      * more flow
      
      * add leaves to overlay and add a strong type around leaves-set
      
      * add is_parent_viable
      
      * implement block import, ignoring reversions
      
      * add stagnant-at to overlay
      
      * add stagnant
      
      * add revert consensus log
      
      * flow for reversions
      
      * extract and import block reversions
      
      * recursively update viability
      
      * remove redundant parameter from WriteBlockEntry
      
      * do some removal of viable leaves
      
      * address grumbles
      
      * refactor
      
      * address grumbles
      
      * add comment about non-monotonicity
      
      * extract backend to submodule
      
      * begin the hunt for viable leaves
      
      * viability pivots for updating the active leaves
      
      * remove LeafSearchFrontier
      
      * partially -> explicitly viable and untwist some booleans
      
      * extract tree to submodule
      
      * implement block finality update
      
      * Implement block approval routine
      
      * implement stagnant detection
      
      * ensure blocks pruned on finality are removed from the active leaves set
      
      * write down some planned test cases
      
      * floww
      
      * leaf loading
      
      * implement best_leaf_containing
      
      * write down a few more tests to do
      
      * remove dependence of tree on header
      
      * guide: ChainApiMessage::BlockWeight
      
      * node: BlockWeight ChainAPI
      
      * fix compile issue
      
      * note a few TODOs for the future
      
      * fetch block weight using new BlockWeight ChainAPI
      
      * implement unimplemented
      
      * sort leaves by block number after weight
      
      * remove warnings and add more TODOs
      
      * create test module
      
      * storage for test backend
      
      * wrap inner in mutex
      
      * add write waker query to test backend
      
      * Add OverseerSignal -> FromOverseer conversion
      
      * add test harnes
      
      * add no-op test
      
      * add some more test helpers
      
      * the first test
      
      * more progress on tests
      
      * test two subtrees
      
      * determine-new-blocks: cleaner genesis avoidance and tighter ancestry requests
      
      * don't make ancestry requests when asking for one block
      
      * add a couple more tests
      
      * add to AllMessages in guide
      
      * remove bad spaces from bridge
      
      * compact iterator
      
      * test import with gaps
      
      * more reversion tests
      
      * test finalization pruning subtrees
      
      * fixups
      
      * test clobbering and fix bug in overlay
      
      * exhaustive backend state after finalizaiton tested
      
      * more finality tests
      
      * leaf tests
      
      * test approval
      
      * test ChainSelectionMessage::Leaves thoroughly
      
      * remove TODO
      
      * avoid Ordering::is_ne so CI can build
      
      * comment algorithmic complexity
      
      * Update node/core/chain-selection/src/lib.rs
      
      Co-authored-by: default avatarBernhard Schuster <[email protected]>
      
      Co-authored-by: default avatarBernhard Schuster <[email protected]>
      74baed8b
    • Shawn Tabrizi's avatar
      Use `max_code_size` and `max_wasm_data_size` from Parachains Configuration (#3329) · 6b1baba4
      Shawn Tabrizi authored
      
      
      * use `configuration::config()` for max bytes
      
      * Update integration_tests.rs
      
      * Update paras_registrar.rs
      
      * remove consts
      
      * add asserts for non-zero
      
      * more const clean up
      
      * cargo run --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_common::paras_registrar --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_common_paras_registrar.rs
      
      * cargo run --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=runtime_common::paras_registrar --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/runtime_common_paras_registrar.rs
      
      * add checks to `MAX_CODE_SIZE`
      
      * re-pot MAX_POV_SIZE
      
      * check pov limit in runtime
      
      * POV_BOMB_LIMIT multiplier
      
      * fix compile
      
      * Update configuration.rs
      
      * Update node/primitives/src/lib.rs
      
      * fix test
      
      Co-authored-by: default avatarParity Bot <[email protected]>
      6b1baba4
    • Alexander Popiak's avatar
      Export `fungibles_adapter` Types (#3334) · 45ed52a2
      Alexander Popiak authored
      * export fungibles_adapter types
      
      * formatting
      45ed52a2
  3. Jun 20, 2021
  4. Jun 19, 2021
    • André Silva's avatar
      Companion for substrate#9138 (#3294) · 85936d28
      André Silva authored
      * fix babe params
      
      * update Substrate
      
      Co-authored-by: parity-processbot <>
      85936d28
    • dependabot[bot]'s avatar
      Bump env_logger from 0.8.2 to 0.8.4 (#3298) · a5c6d30c
      dependabot[bot] authored
      
      
      Bumps [env_logger](https://github.com/env-logger-rs/env_logger) from 0.8.2 to 0.8.4.
      - [Release notes](https://github.com/env-logger-rs/env_logger/releases)
      - [Changelog](https://github.com/env-logger-rs/env_logger/blob/main/CHANGELOG.md)
      - [Commits](https://github.com/env-logger-rs/env_logger/compare/v0.8.2...v0.8.4)
      
      ---
      updated-dependencies:
      - dependency-name: env_logger
        dependency-type: direct:production
        update-type: version-update:semver-patch
      ...
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      a5c6d30c
    • ordian's avatar
      network-bridge: remove action_sink abstraction (#3308) · 71c50179
      ordian authored
      * network-bridge: remove action_sink abstraction
      
      * another wtf
      
      * filter out event stream
      
      * Revert "filter out event stream"
      
      This reverts commit 63bd8f5de5b44d415dcb205e1b9fad8145200e06.
      
      * retain cleanup though
      71c50179
    • asynchronous rob's avatar
      Block weight ChainAPI (#3301) · b70da7bf
      asynchronous rob authored
      
      
      * guide: ChainApiMessage::BlockWeight
      
      * node: BlockWeight ChainAPI
      
      * fix compile issue
      
      * implement ChainApi::BlockWeight
      
      * add test for ChainApi::BlockWeight
      
      * update substrate
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      b70da7bf
    • Andreas Doerr's avatar
      Bump BEEFY (#3302) · be2d1ce0
      Andreas Doerr authored
      be2d1ce0
    • Shawn Tabrizi's avatar
      039df45f
    • Lldenaurois's avatar
      Follow-up PR: Count no-shows (#3309) · 5c16c95b
      Lldenaurois authored
      * node/approval-voting: test for invalid validator index in assignments
      
      This commit adds a unit test to show that, currently, validator indexes
      greater than n_validators (or the length of the approvals bitvector) are
      counted in n_assignments. In the subsequent commit we will correct this
      behavior.
      
      * node/approval-voting: ignore invalid validator indexes in n_assignments
      
      This commit ignores any validator assignments whose index is beyond
      n_validators. Without this check, an improperly crafted assignment would
      be counted towards the approval.
      
      It still remains that n_assignments and count_no_shows inspect the
      number of validators and approvals, respectively. Ideally we would
      add greater safety around ensuring these two values cannot differ.
      5c16c95b
  5. Jun 18, 2021
  6. Jun 17, 2021
  7. Jun 16, 2021
    • Shawn Tabrizi's avatar
      fix xcm pallet origin (#3272) · 0282ad31
      Shawn Tabrizi authored
      0282ad31
    • asynchronous rob's avatar
      extract determine_new_blocks into a separate utility (#3261) · 462ca043
      asynchronous rob authored
      * extract determine_new_blocks into a separate utility
      
      * rework docs
      462ca043
    • Lldenaurois's avatar
      Approval checking unit tests (#3252) · 0da70dfa
      Lldenaurois authored
      * node/approval_checking: break out filled_tranch_iterator method
      
      In the subsequent commit, we will begin to test this method in
      isolation.
      
      * node/approval-voting: fix tranche back-filling algorithm
      
      Previously, this algorithm would generate duplicate, empty entries for
      tranches (1..pre_end). This is caused because the initial value (0) for
      gap_end is treated as the end of a prior tranche that wasn't actually
      processed. The first pass thus would add (1..tranche) empty entries, in
      addition to the (0..pre_end) empty entries chained at the end of the
      method.
      
      This is fixed by using the current tranche as the gap_start for the
      first iteration, ensuring that the approval_entries_filled only produces
      entries in the range (pre_end..post_start).
      
      * Address feedback
      0da70dfa