1. Aug 03, 2022
  2. Aug 02, 2022
  3. Jul 29, 2022
    • yjh's avatar
      feat: generalize ConsensusDataProvider for manual-seal (#11827) · e82da9d4
      yjh authored
      
      
      * feat: generalize ConsensusDataProvider for manual-seal
      
      * rename all generic type param `proof`/`PROOF` to `P`
      
      * rename a missing thing
      
      * Update client/consensus/manual-seal/src/consensus.rs
      
      Co-authored-by: default avatarDavide Galassi <[email protected]>
      
      * Update client/consensus/manual-seal/src/consensus/babe.rs
      
      Co-authored-by: default avatarDavide Galassi <[email protected]>
      
      * Update client/consensus/manual-seal/src/consensus/aura.rs
      
      Co-authored-by: default avatarDavide Galassi <[email protected]>
      
      Co-authored-by: default avatarDavide Galassi <[email protected]>
      e82da9d4
    • Nazar Mokrynskyi's avatar
      Network sync refactoring (part 5) (#11825) · 56f16f55
      Nazar Mokrynskyi authored
      * Make `chain_sync` an explicit networking parameter instead of offering factory method
      
      * Derive `Copy` on `SyncMode` and remove cloning
      56f16f55
    • Adrian Catangiu's avatar
      Lean BEEFY to Full BEEFY - don't skip (older) mandatory blocks and import justifications (#11821) · 1c6867c6
      Adrian Catangiu authored
      
      
      * client/beefy: don't accept vote for older rounds
      
      * client/beefy: clean up and reorg the worker struct
      
      * client/beefy: first step towards Full BEEFY
      
      The first step from Lean->Full BEEFY is to have the worker
      enforce uninterrupted line of BEEFY finalized mandatory blocks.
      
      There is one mandatory block per session (the first block in the
      session). As such, votes processing and votes generation now
      enforces that all mandatory blocks are finalized in strict
      monotonically increasing sequence and no block 'N' will be worked
      on if there is any GRANDPA finalized but BEEFY non-final mandatory
      block 'M', where 'M < N'.
      
      Implementation details:
      
      - Introduced 'VoterOracle' to separate the voting decisions logic,
        and track new/pending sessions.
      
      - New sessions get queued up with the worker operating either:
        1. up-to-date - all mandatory blocks leading up to current GRANDPA
           finalized: queue has ONE element, the 'current session' where
           `mandatory_done == true`,
        2. lagging behind GRANDPA: queue has [1, N] elements, where all
           `mandatory_done == false`.
           In this state, everytime a session gets its mandatory block
           BEEFY finalized, the session is popped off the queue,
           eventually getting to operating mode `1. up-to-date`.
      
      - Votes get triaged and those that fall withing the `VoterOracle`
        allowed window get processed, the others get dropped if stale,
        or buffered for later processing (when they reach the window).
      
      - Worker general code was also updated to fall in one of two roles:
        1. react to external events and change internal 'state',
        2. generate events/votes based on internal 'state'.
      
      Signed-off-by: default avataracatangiu <[email protected]>
      
      * client/beefy: sketch idea for block import and sync
      
      Signed-off-by: default avataracatangiu <[email protected]>
      
      * client/beefy: add BEEFY block import
      
      * client/beefy: process justifications from block import
      
      * client/beefy: add TODOs for sync protocol
      
      * client/beefy: add more docs and comments
      
      * client/beefy-rpc: fix RPC error
      
      * client/beefy: verify justification validity on block import
      
      * client/beefy: more tests
      
      * client/beefy: small fixes
      
      - first handle and note the self vote before gossiping it,
      - don't shortcircuit on err when processing pending votes.
      
      * client/beefy: remove invalid justifications at block import
      
      * todo: beefy block import tests
      
      * RFC: ideas for multiple justifications per block
      
      * Revert "RFC: ideas for multiple justifications per block"
      
      This reverts commit 8256fb07d3124db69daf252720b3c0208202624d.
      
      * client/beefy: append justif to backend on block import
      
      * client/beefy: groundwork for block import test
      
      * client/beefy: groundwork2 for block import test
      
      * client/beefy: groundwork3 for block import test
      
      * client/beefy: add block import test
      
      * client/beefy: add required trait bounds to block import builder
      
      * remove client from beefy block import, backend gets the job done
      
      Signed-off-by: default avataracatangiu <[email protected]>
      1c6867c6
    • Dmitry Markin's avatar
      Always allocate slots for reserved nodes (#11909) · 2d8cf7b0
      Dmitry Markin authored
      * Always allocate slots for reserved nodes
      
      * minor: replace no-slot peer counter with a set
      2d8cf7b0
    • yjh's avatar
      feat: add propose method for SimpleSlotWorker (#11692) · 6d2f5d6a
      yjh authored
      * feat: add propose method for SimpleSlotWorker
      
      * remove param slot
      
      * improve code
      
      * fmt
      6d2f5d6a
    • Koute's avatar
      Prevent double allocation of the payload when calling `sp_io::storage::get` (#11523) · c4b607d4
      Koute authored
      
      
      * Expose allocation stats in `FreeingBumpHeapAllocator`
      
      * Return allocation stats when calling into the runtime
      
      * Bump `parity-scale-codec` to 3.1.3 (fork)
      
      * Prevent double allocation of the payload when calling `sp_io::storage::get`
      
      * Fix tests
      
      * Remove unnecessary `mut`
      
      * Enable the `bytes` feature for `parity-scale-codec` in `sp-runtime-interface`
      
      * Update client/allocator/src/freeing_bump.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Bump `parity-scale-codec` to 3.1.3
      
      * Fix some of the UI tests
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      c4b607d4
  4. Jul 28, 2022
  5. Jul 27, 2022
  6. Jul 26, 2022
    • Sebastian Kunert's avatar
      Prepare for rust 1.62.1 (#11903) · 9f409dc0
      Sebastian Kunert authored
      
      
      * Update UI test output for rust 1.62.1
      
      * switch ci to staging image to check that everything works
      
      * fix artifacts node-bench-regression-guard
      
      * Imeplement `scale_info::TypeInfo` manually to silence aggressive rust warning
      
      * Fix more clippy lints
      
      * Make clippy happy by relying on auto-deref were possible
      
      * Add tracking issue to the comments
      
      * pin ci image
      
      Co-authored-by: default avataralvicsam <[email protected]>
      9f409dc0
  7. Jul 25, 2022
  8. Jul 22, 2022
  9. Jul 21, 2022
  10. Jul 20, 2022
  11. Jul 18, 2022
  12. Jul 17, 2022
  13. Jul 16, 2022
  14. Jul 15, 2022
  15. Jul 12, 2022
    • Nazar Mokrynskyi's avatar
      Network sync refactoring (part 4) (#11412) · 5896072b
      Nazar Mokrynskyi authored
      
      
      * Remove direct dependency of `sc-network` on `sc-network-light`
      
      * Move `WarpSyncProvider` trait and surrounding data structures into `sc-network-common`
      
      * Move `WarpSyncProvider` trait and surrounding data structures into `sc-network-common`
      
      * Create `sync` module in `sc-network-common`, create `ChainSync` trait there (not used yet), move a bunch of associated data structures from `sc-network-sync`
      
      * Switch from concrete implementation to `ChainSync` trait from `sc-network-common`
      
      * Introduce `OpaqueStateRequest`/`OpaqueStateResponse` to remove generics from `StateSync` trait
      
      * Introduce `OpaqueBlockRequest`/`OpaqueBlockResponse`, make `scheme` module of `sc-network-sync` private
      
      * Surface `sc-network-sync` into `sc-service` and make `sc-network` not depend on it anymore
      
      * Remove now unnecessary dependency from `sc-network`
      
      * Replace crate links with just text since dependencies are gone now
      
      * Remove `warp_sync` re-export from `sc-network-common`
      
      * Update copyright in network-related files
      
      * Address review comments about documentation
      
      * Apply review suggestion
      
      * Rename `extra_requests` module to `metrics`
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      5896072b
    • Roman Proskuryakov's avatar
      Upgrade libp2p to 0.46.1 (#11787) · 1902dc16
      Roman Proskuryakov authored
      * Update libp2p to 0.46.0
      
      * Update libp2p to 0.46.1
      
      * Fix telemetry initialization
      
      * Fix tests
      1902dc16
    • Xiliang Chen's avatar
      CLI flag to configure tx ban duration (#11786) · 47b27c29
      Xiliang Chen authored
      
      
      * add tx-ban-seconds
      
      * fix
      
      * trigger CI
      
      * trigger CI
      
      * remove test print
      
      * Update client/cli/src/params/transaction_pool_params.rs
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      47b27c29
    • Arkadiy Paronyan's avatar
      sync: Fixed clearing subsequent ranges (#11815) · a1c60f09
      Arkadiy Paronyan authored
      * sync: Fixed clearing subsequent ranges
      
      * Warp sync fix
      
      * Better documentation
      a1c60f09
  16. Jul 08, 2022
  17. Jul 07, 2022
  18. Jun 28, 2022
    • Koute's avatar
      Prevent unsoundness in environments with broken `madvise(MADV_DONTNEED)` (#11722) · 3d89fa36
      Koute authored
      * Prevend unsoundness in environments with broken `madvise(MADV_DONTNEED)`
      
      * Add the `std` feature to `rustix` dependency
      
      Apparently not having this breaks compilation on non-nightly toolchains.
      
      * Autodetect the page size when checking whether `madvise` works
      
      * Only make sure that the madvice check doesn't return `Err`
      3d89fa36
  19. Jun 24, 2022
  20. Jun 22, 2022
  21. Jun 21, 2022
    • Davide Galassi's avatar
      More robust grandpa revert procedure (#11719) · c189bd15
      Davide Galassi authored
      * More robust revert procedure
      
      Return an error if revert is called in a node that is not actively
      running grandpa, i.e. grandpa genesis data has not been initialized.
      Previous implementation was just firing an `unreachable!` code exception.
      
      Furthermore we skip revert hassle if there is nothing to revert.
      
      * Nit
      c189bd15
  22. Jun 20, 2022
  23. Jun 18, 2022