1. Aug 10, 2022
  2. Aug 09, 2022
    • Nazar Mokrynskyi's avatar
      Network sync refactoring (part 6) (#11940) · a685582b
      Nazar Mokrynskyi authored
      * Extract `NetworkKVProvider` trait in `sc-authority-discovery` and remove unnecessary dependency
      
      * Extract `NetworkSyncForkRequest` trait in `sc-finality-grandpa`
      
      * Relax requirements on `SyncOracle` trait, remove extra native methods from `NetworkService` that are already provided by trait impls
      
      * Move `NetworkSigner` trait from `sc-authority-discovery` into `sc-network-common` and de-duplicate methods on `NetworkService`
      
      * Move `NetworkKVProvider` trait from `sc-authority-discovery` into `sc-network-common` and de-duplicate methods on `NetworkService`
      
      * Minimize `sc-authority-discovery` dependency on `sc-network`
      
      * Move `NetworkSyncForkRequest` trait from `sc-finality-grandpa` to `sc-network-common` and de-duplicate methods in `NetworkService`
      
      * Extract `NetworkStatusProvider` trait and de-duplicate methods on `NetworkService`
      
      * Extract `NetworkPeers` trait and de-duplicate methods on `NetworkService`
      
      * Extract `NetworkEventStream` trait and de-duplicate methods on `NetworkService`
      
      * Move more methods from `NetworkService` into `NetworkPeers` trait
      
      * Move `NetworkStateInfo` trait into `sc-network-common`
      
      * Extract `NetworkNotification` trait and de-duplicate methods on `NetworkService`
      
      * Extract `NetworkRequest` trait and de-duplicate methods on `NetworkService`
      
      * Remove `NetworkService::local_peer_id()`, it is already provided by `NetworkStateInfo` impl
      
      * Extract `NetworkTransaction` trait and de-duplicate methods on `NetworkService`
      
      * Extract `NetworkBlock` trait and de-duplicate methods on `NetworkService`
      
      * Remove dependencies on `NetworkService` from most of the methods of `sc-service`
      
      * Address simple review comments
      a685582b
    • Koute's avatar
      Restore `wasmtime`'s default stack size limit to 1MB (#11993) · 9c56e79c
      Koute authored
      * Restore `wasmtime`'s default stack size limit to 1MB
      
      * Add extra comments
      
      * Enforce different maximum call depth in release mode
      
      * Split the call depth limit in two
      9c56e79c
  3. Aug 08, 2022
  4. Aug 05, 2022
    • Bastian Köcher's avatar
      system_syncState: Always return highest block (#11979) · a3144848
      Bastian Köcher authored
      Before `highestBlock` was an optional that was omitted when it was `None`. We recently changed the
      way the `highestBlock` is determined, this resulted in having this value in 99.99% of the time being
      `None` when the node is syncing blocks at the tip. Now we always return a block for `highestBlock`.
      If sync doesn't return us any best seen block, we return our own local best block as `highestBlock`.
      This should mainly reflect the same behavior to before we changed the way the best seen block is determined.
      a3144848
    • Dmitry Markin's avatar
    • Dmitry Markin's avatar
      Change on-the-wire protocol names to include genesis hash & fork id (#11938) · 6eda842c
      Dmitry Markin authored
      * Rename transactions protocol to include genesis hash
      
      * Add protocol name generation to sc_network::utils
      
      * Use utils functions for transactions protocol name generation
      
      * Extract protocol name generation into public module
      
      * Use sc_network::protocol_name::standard_protocol_name() for BEEFY and GRANDPA
      
      * minor: add missing newline at EOF
      
      * Change block-announces protocol name to include genesis_hash & fork_id
      
      * Change protocol names to include genesis hash and fork id
      
      Protocols changed:
          - sync
          - state
          - light
          - sync/warp
      
      * Revert "Use sc_network::protocol_name::standard_protocol_name() for BEEFY and GRANDPA"
      
      This reverts commit cd60a95a3face397e1b67f4bc95dd0f2b581bfae.
      
      * Get rid of `protocol_name` module
      6eda842c
  5. Aug 04, 2022
  6. Aug 03, 2022
  7. Aug 02, 2022
  8. Aug 01, 2022
  9. Jul 30, 2022
  10. 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
    • ZhiYong's avatar
      Add Event to Pallet Asset-Tx-Payment (#11690) · 3a4ad68d
      ZhiYong authored
      * Add Event to Pallet Asset-Tx-Payment
      
      * add asset_id into the Event
      
      Co-authored-by: parity-processbot <>
      3a4ad68d
    • 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
    • Mak's avatar
      Integrate automatic update of substrate-node-template (#11931) · 135c5843
      Mak authored
      
      
      * Integrate automatic update of substrate-node-template
      
      * Update scripts/ci/gitlab/pipeline/publish.yml
      
      Co-authored-by: default avatarAlexander Samusev <[email protected]>
      
      Co-authored-by: default avatarAlexander Samusev <[email protected]>
      135c5843
    • joe petrowski's avatar
      Require Alliance Initialisation Before Joining (#11917) · 3bb68baa
      joe petrowski authored
      * require alliance initialisation before joining
      
      * use noop
      
      * make one definition of initialization
      
      * rename event
      
      * add todo comment
      
      * update doc
      3bb68baa
    • 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
    • Bastian Köcher's avatar
      construct_runtime!: Support parsing `struct Runtime` (#11932) · 4b3aced8
      Bastian Köcher authored
      * construct_runtime!: Support parsing `struct Runtime`
      
      * FMT
      4b3aced8
    • 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