Skip to content
  1. Nov 29, 2021
  2. Nov 26, 2021
    • Sergey Pepyakin's avatar
      Impose new restrictions on paras init and cleanup (#4360) · bce0e5ac
      Sergey Pepyakin authored
      * Impose new restrictions on paras init and cleanup
      
      For upcoming PVF pre-checking feature we will need to impose a couple of
      new restrictions for:
      
      - `schedule_para_initialize`.
      - `schedule_para_cleanup`.
      
      Specifically, for the former we do not want to allow registration of
      wasm blob that is empty, i.e. 0 bytes. While that currently already
      does not make a lot of sense, it allows us to simplify the PVF
      pre-checking logic: if this PR is deployed before the following changes
      for PVF prechecking then we can be sure that no paras onboarding have to
      have to go through the PVF pre-checking. In case, we deploy it
      altogether this property will allow us to distingush paras that came in
      before PVF pre-checking.
      
      For `schedule_para_cleanup` we do not want to allow offboarding of paras
      that are undergoing the upgrade process. While this is not a harsh
      restriction this change allows us to avoid making the PVF prechecking
      more complicated than it has to be.
      
      * Add a test for schedule_para_initialize
      
      * Link to `ParaLifecycle::is_stable` in docs.
      
      * `schedule_para_{init,cleanup}` docs
      
      Now they link to their original declarations in the pallet for more
      details.
      bce0e5ac
    • Keith Yeung's avatar
      Update W3F URL links (#4376) · bbde75e8
      Keith Yeung authored
      bbde75e8
  3. Nov 24, 2021
    • Bernhard Schuster's avatar
      add additional assurances to `create_inherent` (#4349) · 10961815
      Bernhard Schuster authored
      
      
      * minor: move checks into separate fn
      
      * add additional validity checks
      
      * simplify shuffling
      
      * Closes potential OOB weight
      
      * improve docs
      
      * fooo
      
      * remove obsolete comment
      
      * move filtering into the rollback-transaction
      
      Technically this is not necessary but avoids future footguns.
      
      * move check up and avoid duplicate checks
      
      * refactor: make sure backed candidates are sane, even more
      
      * doc wording
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * refactor: avoid const generics for sake of wasm size
      
      `true` -> `FullCheck::Skip`, `false` -> `FullCheck::Yes`.
      
      * chore: unify `CandidateCheckContext` instance names
      
      * refactor: introduce `IndexedRetain` for `Vec<T>`
      
      * chore: make tests prefix free
      
      * doc: re-introduce removed comment
      
      * refactor: remove another const generic to save some wasm size
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      10961815
  4. Nov 23, 2021
    • Zeke Mostov's avatar
      Inherent filtering follow up (#4305) · 90e12734
      Zeke Mostov authored
      
      
      * Add feature more feature gating for benchmarking + tests
      
      * New line
      
      * cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras_inherent --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_parachains_paras_inherent.rs
      
      * cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=polkadot-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras_inherent --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/polkadot/src/weights/runtime_parachains_paras_inherent.rs
      
      * Do not assume we use max validators per core
      
      * Use kusama weights for rococo (hopefully temp)
      
      * cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras_inherent --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/runtime_parachains_paras_inherent.rs
      
      * Add more validity votes when neccesary
      
      * Some fixes for the last commit
      
      * Restore westend weights
      
      * cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras_inherent --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/runtime_parachains_paras_inherent.rs
      
      * Revert bad westend weights write
      
      * Make sure to update val idx before skipping
      
      * Fix validity vote range to max at group size'
      
      * Temp setup for rococo
      
      * cargo run --quiet --release --features runtime-benchmarks -- benchmark --chain=rococo-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras_inherent --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./runtime/rococo/src/weights/runtime_parachains_paras_inherent.rs --header=./file_header.txt
      
      * Augment generated Rococo weights
      
      * Make it compile
      
      * Revert range for enter_backed_candidates_variable
      
      * Delete runtime/kusama/src/weights/runtime_paras_paras_inherent.rs
      
      Co-authored-by: default avatarParity Bot <[email protected]>
      90e12734
  5. Nov 19, 2021
  6. Nov 18, 2021
  7. Nov 17, 2021
  8. Nov 16, 2021
    • Bernhard Schuster's avatar
      move paras inherent filtering to runtime (#4028) · 1aa6a4ab
      Bernhard Schuster authored
      
      
      * move things around, add filter methods
      
      * validator keys, modify availability bitfields according to disputes
      
      * simplify, keep the filter -> sanitize generic for both usecases
      
      * minor
      
      * assure tests still work, reduce changeset
      
      * integration
      
      * start entropy passing
      
      * fixins
      
      * compile, 1 failing test
      
      * filter with coverage
      
      * fixins
      
      * Update runtime/parachains/src/paras_inherent.rs
      
      Co-authored-by: default avatarRobert Habermeier <[email protected]>
      
      * slip of the pen
      
      * improve test cases
      
      * misc
      
      * fix
      
      * fixins
      
      * test avoid extra into() calls in assert_noop!
      
      * chores
      
      * ff
      
      * test fixup superfluous into call
      
      * chore: pfmt
      
      * improve apply_block_weight_limit to try to maximize the number of sufficiently backed
      
      blocks and add extra bitfields in a round-robin fashion
      
      * new code treats the lack of backed candidates as ok
      
      * Use vrf based entropy
      
      * fixup vrf random
      
      * add warn
      
      * slip of the pen
      
      * fixup
      
      * assure ordering
      
      * rethink apply_weights
      
      * mock
      
      * use a closure as predicate check
      
      * extract and use DisputedBitfield
      
      * chore: simplify
      
      * remove stray dbg
      
      * chore: fmt
      
      * address feedback
      
      * fix test, halfway there
      
      * stage1
      
      * dbg stuff
      
      * make group selection align
      
      * fix session index
      
      * fix wrongly returned candidates
      
      * cleanup
      
      * chore fmt
      
      * fix ensure check
      
      * make good case test work
      
      * more tests for bitfields
      
      * create sanitize_backed_candidates
      
      * fixup tests
      
      * update guide
      
      * add check referenced in the guide
      
      * improve weights code
      
      * fmt
      
      * fixins
      
      * Update roadmap/implementers-guide/src/runtime/inclusion.md
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * compiling + address review
      
      * add comments
      
      * fix weight calc
      
      * address review comments and test failure
      
      * fix
      
      * fix: condition
      
      * Fix random_sel function
      
      * Fix overlength block check
      
      * Zeke + Ladi commit for disputes filtering + integration test builder + runtime benchmarks + integration tests
      
      * Add benchmarks for code upgrades
      
      * Code upgrade bench; Feature gate TestWeightInfo
      
      * Try and make CI happier
      
      * Feature gate enter test to not(benchmarks)
      
      * Make sure no unused imports/fn
      
      * refactor, re-use, the beginning
      
      * Fix issue with frame benchmarking dep compilation
      
      * More precise feature gating for some derives
      
      * integrate piece-wise
      
      * foo
      
      * fixins
      
      * chore fmt
      
      * fixins
      
      * rename const generic
      
      * Update runtime/parachains/src/paras_inherent.rs
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * Fix compilation
      
      * limit to test
      
      * remove unused spam slots
      
      * spellcheck
      
      * remove a tick, fix a typo
      
      * Add Code upgrade weights
      
      * comment improvements + >=
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * remove another tick
      
      * Update runtime/parachains/src/paras_inherent/benchmarking.rs
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * saturating fixins + some spaces
      
      * fix
      
      * benchmarking - preliminary results
      
      * Add training wheels
      
      * Refactor some early exit logic for enter
      
      * Gracefully handle filtering bitfields & candidates (#4280)
      
      This updates the logic for sanitize_bitfields and sanitize_backed_candidates to never error when there is an issue, but instead to simply skip the problematic items.
      
      * Refactor inherent data weight limiting logic (#4287)
      
      * Apply suggestions from code review
      
      * Update runtime/parachains/src/builder.rs
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * Update runtime/parachains/src/builder.rs
      
      * Update runtime/parachains/src/paras_inherent.rs
      
      * final pass
      
      * Run cargo +nightly-2021-10-29 fmt
      
      * Update implementors guide with `sanitize_*` & `enter` (#4294)
      
      * Make spell check happier
      
      * Make wasm runtimes compile with benchmarks enabled (#4303)
      
      * comment stuff out, use old toml
      
      * Seems to be working?
      
      * Remove feature gating from builder
      
      * Remove commented out stuff
      
      * Remove generic from digest
      
      * Update weight files for runtime
      
      Co-authored-by: default avatarRobert Habermeier <[email protected]>
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      Co-authored-by: default avatarLldenaurois <[email protected]>
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      1aa6a4ab
  9. Nov 15, 2021
  10. Nov 13, 2021
  11. Nov 12, 2021
  12. Oct 22, 2021
    • Chris Sosnin's avatar
      Introduce new Runtime API endpoint for fetching the validation data (#3728) · ad33b874
      Chris Sosnin authored
      * Introduce new Runtime API endpoint
      
      `persisted_validation_data_with_code_hash` that will be used
      by the candidate validation subsystem in order to decrease amount
      of runtime API requests.
      
      * Node-side part of new runtime API request
      
      * Define code hash getter via macro
      
      * Rename new endpoint to `assumed_validation_data`
      
      * Docs for runtime API impl of new endpoint
      
      * AssumedValidationData specialized request function
      
      * fmt
      ad33b874
  13. Oct 18, 2021
  14. Oct 16, 2021
  15. Oct 15, 2021
  16. Oct 12, 2021
  17. Oct 07, 2021
  18. Oct 06, 2021
    • Bernhard Schuster's avatar
      collect included disputes from on-chain (#3924) · 30bdc8f5
      Bernhard Schuster authored
      
      
      * dummy: impl another runtime API
      
      * query the on chain disputes, and inform self
      
      * make use of the refactor
      
      * minro
      
      * SPLIT ME
      
      * write dispute values
      
      * wip
      
      * impl for all runtimes
      
      * chore: fmt
      
      * [] -> get
      
      * fixup mock runtime
      
      * fixup
      
      * fixup discovery for overseer init
      
      * chore: fmt
      
      * spellcheck
      
      * rename imported_on_chain_disputes -> on_chain_votes
      
      * reduction
      
      * make it mockable
      
      * rename and refactor
      
      * don't query on chain info if it's not needed
      
      * yikes
      
      * fmt
      
      * fix test
      
      * minimal fix for existing tests
      
      * attempt to fetch the session info from the rolling window before falling back
      
      * moved
      
      * comments
      
      * comments
      
      * test for backing votes
      
      * rename
      
      * Update runtime/polkadot/src/lib.rs
      
      * chore: spellcheck + dict
      
      * chore: fmt
      
      * fixup cache size
      
      * add warning
      
      * logging, rationale, less defense
      
      * introduce new unchecked, that still checks in debug builds
      
      * fix
      
      * draft alt approach
      
      * fix unused imports
      
      * include the session
      
      * Update node/core/dispute-coordinator/src/real/mod.rs
      
      Co-authored-by: default avatarRobert Habermeier <[email protected]>
      
      * provide where possible
      
      * expand comment
      
      * fixin
      
      * fixup
      
      * ValidityVote <-> ValidityAttestation <-> CompactStatement has a 1:1 representation
      
      * mark TODO
      
      * Update primitives/src/v1/mod.rs
      
      Co-authored-by: default avatarRobert Habermeier <[email protected]>
      
      * address review comments
      
      * update docs
      
      Co-authored-by: default avatarRobert Habermeier <[email protected]>
      30bdc8f5
    • André Silva's avatar
      Companion for substrate#9448 (#3527) · 9bdded5f
      André Silva authored
      
      
      * Companion for substrate#9448
      
      * fix on_disabled
      
      * use temporary beefy branch
      
      * revert beefy updates
      
      * update Substrate
      
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      Co-authored-by: parity-processbot <>
      9bdded5f
    • Zeke Mostov's avatar
      Add benchmarking to rococo; Remove weights from runtime_parachains (#3914) · dc38cf89
      Zeke Mostov authored
      
      
      * Add benchmarking to rococo; Remove weights from runtime_parachains
      
      * cargo run --quiet --release --features runtime-benchmarks -- benchmark --chain=rococo-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./runtime/rococo/src/weights/runtime_parachains_paras.rs --header=./file_header.txt
      
      * Impl TestWeightInfo for Paras and Configuration
      
      * fmt
      
      * cargo run --quiet --release --features runtime-benchmarks -- benchmark --chain=rococo-dev --steps=50 --repeat=20 --pallet=runtime_parachains::configuration --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./runtime/rococo/src/weights/runtime_parachains_configuration.rs --header=./file_header.txt
      
      * Fix CI complaint: error: unused variable: `c`
      
      * polkadot-runtime-common & polkadot-test-runtime compile
      
      * xcm-simulator compile
      
      * change TestWeightInfo to max_block
      
      * cargo run --quiet --release --features runtime-benchmarks -- benchmark --chain=rococo-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./runtime/rococo/src/weights/runtime_parachains_paras.rs --header=./file_header.txt
      
      * ordering
      
      * cargo run --quiet --release --features runtime-benchmarks -- benchmark --chain=rococo-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./runtime/rococo/src/weights/runtime_parachains_paras.rs --header=./file_header.txt
      
      * Replace max_block with Weight::MAX
      
      Co-authored-by: default avatarParity Bot <[email protected]>
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      dc38cf89
  19. Oct 05, 2021
  20. Oct 04, 2021
    • asynchronous rob's avatar
      Free disputed cores before processing bitfields (#4008) · a1bf894d
      asynchronous rob authored
      * guide: extract free_cores in scheduler
      
      * scheduler: extract free cores to a separate function
      
      * guide: remove disputed cores from scheduler first
      
      * free disputed cores in scheduler before processing bitfields
      
      * spellcheck is mostly right but sometimes stupid
      
      * add comment and fmt
      a1bf894d
    • Bastian Köcher's avatar
      Fix unoccupied bitfields (#4004) · dc13782f
      Bastian Köcher authored
      * Fix unoccupied bitfields
      
      If there is an unoccupied bitfield set, we should just ignore it and not
      keep it for the rest of the logic in `process_bitfields`.
      
      * Bring back test, but this time corrected
      
      * Remove incorrect code
      dc13782f
  21. Oct 03, 2021
  22. Oct 01, 2021
  23. Sep 30, 2021
  24. Sep 29, 2021
    • Keith Yeung's avatar
      Make most XCM APIs accept an Into<MultiLocation> where MultiLocation is accepted (#3627) · 819849f0
      Keith Yeung authored
      * Change send_xcm MultiLocation argument to be generic
      
      * Change pallet_xcm::send_xcm MultiLocation and Junctions argument to be generic
      
      * Change convert_origin MultiLocation argument to be generic
      
      * Change OnResponse MultiLocation arguments to be generic
      
      * Change UniversalWeigher MultiLocation argumente to be generic
      
      * Change ExecuteXcm MultiLocation argument to be generic
      
      * Remove usages of into for the MultiLocation argument in execute_xcm
      
      * Make use of generic MultiLocation arguments in rustdocs
      
      * Cargo fmt
      
      * Remove unused import in tests
      
      * Resolve conflicts
      
      * cargo fmt
      
      * Appease spellcheck
      
      * impl Into<MultiLocation> in more places
      819849f0
    • asynchronous rob's avatar
      Drop availability only for candidates that lose disputes (#3973) · b6a87891
      asynchronous rob authored
      
      
      * guide: updates for disputes changes
      
      * paras_inherent: drop availability only for candidates that lose disputes
      
      * spellcheck
      
      * Update runtime/parachains/src/paras_inherent.rs
      
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      b6a87891
    • ordian's avatar
      paras_inherent: reject only candidates with concluded disputes (#3969) · 019d4e3b
      ordian authored
      * paras_inherent: reject only candidates with concluded disputes
      
      * remove unused Error variant
      019d4e3b
    • Bernhard Schuster's avatar
      remove `AllSubsystems` and `AllSubsystemsGen` types (#3874) · c57a1e79
      Bernhard Schuster authored
      
      
      * introduce the OverseerConnector, use it
      
      * introduce is_relay_chain to RelayChainSelection
      
      * Update node/service/src/lib.rs
      
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      
      * avoid the deferred setting of `is_relay_chain` in `RelayChainSelection`
      
      * positive assertion is not mandated, only the negative one, to avoid a stall
      
      * cleanup: overseer residue
      
      * spellcheck
      
      * fixin
      
      * groundwork to obsolete Overseer::new and AllSubsystemsGen proc-macro
      
      * Now all malus & tests can be ported to the builder pattern.
      
      Obsoletes `Overseer::new`, `AllSubsystemsGen` derive macro, `AllSubsystems`.
      
      * spellcheck
      
      * adjust tests, minor fixes
      
      * remove derive macro AllSubsystemsGen
      
      * add forgotten file dummy.rs
      
      * remove residue
      
      * good news everyone!
      
      * spellcheck
      
      * address review comments
      
      * fixup imports
      
      * make it conditional
      
      * fixup docs
      
      * reduce import
      
      * chore: fmt
      
      * chore: fmt
      
      * chore: spellcheck / nlprules
      
      * fixup malus variant-a
      
      * fmt
      
      * fix
      
      * fixins
      
      * pfmt
      
      * fixins
      
      * chore: fmt
      
      * remove expanded overseer generation
      
      * tracing version
      
      * Update node/network/statement-distribution/src/lib.rs
      
      Co-authored-by: default avatarRobert Habermeier <[email protected]>
      
      * use future::ready instead
      
      * silence warning
      
      * chore: fmt
      
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      Co-authored-by: default avatarRobert Habermeier <[email protected]>
      c57a1e79
    • dependabot[bot]'s avatar
      Bump parity-scale-codec from 2.3.0 to 2.3.1 (#3959) · c0719034
      dependabot[bot] authored
      
      
      Bumps [parity-scale-codec](https://github.com/paritytech/parity-scale-codec) from 2.3.0 to 2.3.1.
      - [Release notes](https://github.com/paritytech/parity-scale-codec/releases)
      - [Changelog](https://github.com/paritytech/parity-scale-codec/blob/master/CHANGELOG.md)
      - [Commits](https://github.com/paritytech/parity-scale-codec/compare/parity-scale-codec-v2.3.0...parity-scale-codec-v2.3.1)
      
      ---
      updated-dependencies:
      - dependency-name: parity-scale-codec
        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>
      c0719034
  25. Sep 28, 2021
    • Keith Yeung's avatar
      Add benchmarking for parachain runtime initializer pallet (#3913) · 7da1421b
      Keith Yeung authored
      
      
      * Add benchmarking for parachain runtime initializer pallet
      
      * Fix default impl for initializer pallet WeightInfo
      
      * cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=runtime_parachains::initializer --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/runtime_parachains_initializer.rs
      
      * cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_parachains::initializer --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_parachains_initializer.rs
      
      * Use real weights and use max_block as default weight
      
      * Add variable for digest vec length for initializer benchmark
      
      * Fix compilation errors
      
      * Add WeightInfo to parachains_initializer config in polkadot runtime
      
      * cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=runtime_parachains::initializer --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/runtime_parachains_initializer.rs
      
      * cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_parachains::initializer --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_parachains_initializer.rs
      
      * Appease spellchecker
      
      * Use kusama weights in polkadot runtime for parachain initializer pallet
      
      Co-authored-by: default avatarParity Bot <[email protected]>
      7da1421b
  26. Sep 27, 2021
  27. Sep 24, 2021
  28. Sep 23, 2021