1. Apr 04, 2022
    • cheme's avatar
      Trie State migration rpc (#5180) · 8f784d59
      cheme authored
      * update
      
      * unsafe
      
      * switch remote
      
      * update rpc usage
      
      * update cargo.lock
      
      * lock from master
      
      * updated lock
      8f784d59
  2. Apr 03, 2022
  3. Apr 02, 2022
  4. Apr 01, 2022
  5. Mar 31, 2022
  6. Mar 30, 2022
  7. Mar 29, 2022
  8. Mar 28, 2022
  9. Mar 26, 2022
    • Georges's avatar
      Adding `Fallback` on election failure (#5093) · 7793796b
      Georges authored
      
      
      * Adding `Fallback` on election failure
      Use the newly introduced `BoundedOnChainSequentialPhragmen`
      and `UnboundedOnChainSequentialPhragmen`
      
      * Adding `BoundedOnchainExecution`
      after changes in substrate
      
      * Introducing `ExecutionConfig`
      from `frame_election_provider_support::onchain`
      
      * `OnChainSequentialPhragmen` > `OnChainSeqPhragmen`
      Renaming to have a shorter name
      
      * `BoundedOnchainExecution` -> `BoundedExecution`
      And `UnboundedOnchainExecution` -> `UnboundedExecution`
      
      * `Fallback` back to `NoFallback`
      `UnboundedExecution` for `GovernanceFallback`
      
      * Update runtime/test-runtime/src/lib.rs
      
      * update lockfile for {"substrate"}
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      Co-authored-by: parity-processbot <>
      7793796b
  10. Mar 25, 2022
  11. Mar 24, 2022
    • Vsevolod Stakhov's avatar
      Try to fix out of view statements (#5177) · af94fc95
      Vsevolod Stakhov authored
      This issue happens when some peer sends a good but already known Seconded statement and the statement-distribution code does not update the statements_received field in the peer_knowledge structure. Subsequently, a Valid statement causes out-of-view message that is incorrectly emitted and causes reputation lose.
      
      This PR also introduces a concept of passing the specific pseudo-random generator to subsystems to make it easier to write deterministic tests. This functionality is not really necessary for the specific issue and unit test but it can be useful for other tests and subsystems.
      af94fc95
    • Koute's avatar
      Companion for Substrate#11107 (#5197) · b424e5e7
      Koute authored
      
      
      * Rename to BagError
      
      * Additional parameter for 'revert' command
      
      * Set aux revert param to None
      
      * Align to changes in how the WASM executor is configured in `substrate`
      
      * update lockfile for {"substrate"}
      
      * update lockfile for {"substrate"}
      
      * Update substrate
      
      * Update substrate
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      Co-authored-by: default avatarDavide Galassi <[email protected]>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      Co-authored-by: parity-processbot <>
      b424e5e7
    • Sergei Shulepov's avatar
      paras: `include_pvf_check_statement` rt bench (#4938) · c8fda4f1
      Sergei Shulepov authored
      
      
      * paras: `include_pvf_check_statement` rt bench
      
      Resolves #4933
      
      This PR adds a benchmark for the `include_pvf_check_statement`
      dispatchable. This is a necessary step to make it work without
      modifications. That enables us to proceed with testing on Versi.
      
      This introduces 5 new benchmarks. Those measure performance of the
      `include_pvf_check_statement` under 2 different conditions:
      
      1. regular vote submission. That's the common case.
      2. submission of the last vote. That happens only once and leads to a
         heavy finalization stage.
      
      There are 2 different types of finalization (one for onboarding, one for
      upgrading) and there are two outcomes: accepted and rejected. Those 4
      are similar but I decided to cover them all and assign the maximum of
      all 4. This is to avoid a situation when one of those paths becomes more
      heavier than others and opens up an attack venue.
      
      The regular vote submission weight is drastically different from the
      submission last vote weight. That's why in case during runtime
      finalization was not executed the weight consumed value will be lowered
      down to the regular vote submission.
      
      The finalization weight is proportional to the number of "causes", i.e.
      the events that caused the PVF pre-checking vote in the first place, and
      here we assume that the maximum number of causes is 100.
      
      Theoretically, there is nothing that prevents an adversary to
      register/upgrade to more than 100 parachains. In that case, the consumed
      weight will be lower than the actual time consumed by the finalization
      process. That can enable a DoS vector.
      
      However, practically, it is not very possible. Right now it is very
      expensive to call `schedule_para_initialize` because it requires a very
      large lock up of funds. Moreover, finalizing a vote with 100 causes
      leads to around 31ms time spent. Finalizing more will require more time.
      However, finalizing with 200 causes will cause ≈62ms delay. This is not
      that bad since even though we had a full block and the adversary tried
      to finalize 200 causes it won't be able to even exceed the operational
      extrinsic boundary of 250ms and even if so it won't make big difference.
      
      That said, this should be addressed later on, esp. when we enable
      parathreads, which will make creating causes easier. One of potential
      solutions will be shifting the logic of finalization into
      `on_initialize`/`on_finalize`. Another is to create a maximum number of
      causes and then reject upgrades or onboardings if that was reached.
      
      * cargo run --quiet --profile=production  --features=runtime-benchmarks -- benchmark --chain=polkadot-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/polkadot/src/weights/runtime_parachains_paras.rs
      
      * cargo run --quiet --profile=production  --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_parachains_paras.rs
      
      * cargo run --quiet --profile=production  --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/runtime_parachains_paras.rs
      
      * cargo run --quiet --profile=production --features runtime-benchmarks -- benchmark --chain=rococo-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/rococo/src/weights/runtime_parachains_paras.rs
      
      * Fix import error
      
      Co-authored-by: default avatarParity Bot <[email protected]>
      Co-authored-by: default avatarRobert Klotzner <[email protected]>
      Co-authored-by: default avatarLldenaurois <[email protected]>
      c8fda4f1
    • Alexander Samusev's avatar
    • Keith Yeung's avatar
      Companion for paritytech/substrate#10242 (#4862) · 7cf80108
      Keith Yeung authored
      
      
      * Rename to BagError
      
      * update lockfile for {"substrate"}
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      Co-authored-by: parity-processbot <>
      7cf80108
    • Alexander Samusev's avatar
      [ci] Add short benchmarks to the pipeline (#5188) · dea0cc42
      Alexander Samusev authored
      
      
      * [ci] Add short benchmarks to the pipeline
      
      * fix bench
      
      * divide build and bench
      
      * debug
      
      * debug
      
      * remove build from bench script
      
      * run benches on ci runners
      
      * return full pipeline
      
      * fix pipeline
      
      * Update scripts/run_short_benches_for_runtime.sh
      
      Co-authored-by: default avatarMara Robin B. <[email protected]>
      
      * change short benchmark script
      
      * allow short bench fail
      
      Co-authored-by: default avatarMara Robin B. <[email protected]>
      Co-authored-by: parity-processbot <>
      dea0cc42
  12. Mar 23, 2022