1. Feb 19, 2021
    • Shawn Tabrizi's avatar
      Session Delayed Para Changes / Actions Queue (#2406) · a5defa7c
      Shawn Tabrizi authored
      
      
      * initial implementation of lifecycles and upgrades
      
      * clean up a bit
      
      * fix doc comment
      
      * more rigid lifecycle checks
      
      * include paras which are transitioning, and lifecycle query
      
      * format guide
      
      * update api
      
      * update guide
      
      * explicit outgoing state, fix genesis
      
      * handle outgoing with transitioning paras
      
      * do not include transitioning paras in identifier
      
      * Update roadmap/implementers-guide/src/runtime/paras.md
      
      * Update roadmap/implementers-guide/src/runtime/paras.md
      
      * Update roadmap/implementers-guide/src/runtime/paras.md
      
      * Apply suggestions from code review
      
      * Use matches macro
      
      * Correct terms
      
      * Apply suggestions from code review
      
      * actions queue
      
      * Revert "actions queue"
      
      This reverts commit b2e9011ec8937d6c73e99292416c9692aeb30f73.
      
      * collapse onboarding state
      
      * starting actions queue
      
      * consolidate actions queue
      
      * schedule para initialize result
      
      * more actions queue for upgrade/downgrade
      
      * clean up with fully implemented actions queue
      
      * fix tests
      
      * fix scheduler tests
      
      * fix hrmp tests
      
      * fix test
      
      * doc fixes
      
      * fix hrmp test w/ valid para
      
      * Update paras.md
      
      * fix paras registrar
      
      * Update propose_parachain.rs
      
      * fix merge
      
      * Introduce "shared" module
      
      * fix rococo build
      
      * fix up and use shared
      
      * guide updates
      
      * add shared config to common tests
      
      * add shared to test-runtime
      
      * remove println
      
      * fix note
      
      Co-authored-by: default avatarGavin Wood <[email protected]>
      a5defa7c
  2. Feb 09, 2021
  3. Feb 02, 2021
    • Liu-Cheng Xu's avatar
      Conpanion for Substrate#7127 (#1865) · d353c76e
      Liu-Cheng Xu authored
      * Conpanion for Substrate#7127
      
      * Use sp_session::OneSessionHandler
      
      * .
      
      * Fix pallet_session::OneSessionHandler
      
      * OneSessionHandler is in frame_support now
      
      * "Update Substrate"
      
      Co-authored-by: parity-processbot <>
      d353c76e
  4. Jan 16, 2021
  5. Jan 13, 2021
    • Sergey Pepyakin's avatar
      HRMP channel deposits (#2225) · c644c39f
      Sergey Pepyakin authored
      * Drive by fixes
      
      The visibility modifiers are remnants of the previous structure where
      HRMP wasn't a standalone module, by rather a submodule of the router
      module.
      
      * Add Currency assoc type to Config
      
      This would allow us to reserve balance for deposits. This commit also
      integrates the HRMP module in rococo, test-runtime and mocks to use the
      balances pallet.
      
      * Fix a bug that doesn't increment the age
      
      In case the request is not confirmed, the age would be incremented but
      not persisted.
      
      * Fix cleaning the indexes
      
      Before that change, the cleaning of the channel indexes was wrong, because it
      naively removed entire rows that was pertaining to the para we delete.
      This approach is flawed because it doesn't account for the rows that are
      pertaining to other paras that contain the outgoing one.
      
      This clearly violates the invariant imposed on the indexes, that all
      the index rows must contain alive paras, but apart from that it also
      lead to the situation where ingress index would contain the a different
      set of channels that an egress have.
      
      * Reserve currency for opening the channels
      
      Note the ugly `unique_saturated_into` calls. The reason for them is the
      currency trait accepts and defines the `Balance` associated type and the
      deposit values are coming from the `HostConfiguration` where they are
      defined using the `Balance`.
      
      I figured that parameterising `HostConfiguration` would be annoying. On
      the other hand, I don't expect these `unique_saturated_into` calls to
      give us problems since it seems to be a reasonable assumption that this
      module will be instantiated within a runtime where the Currency provided
      will have a Balance that matches the one used in the configuration.
      
      * Tests: Adapt `run_to_block` so that it submits a proper config
      
      * Tests: exercise the deposit logic
      c644c39f
  6. Dec 30, 2020
  7. Dec 21, 2020
    • Sergey Pepyakin's avatar
      Do not use rely on the block initialization when calling runtime APIs (#2123) · 4405f52e
      Sergey Pepyakin authored
      
      
      * Don't initialize block when calling runtime APIs
      
      * Adapt check_validation_outputs
      
      We split the code path for the inclusion and for the commitments checking.
      
      * Slap #[skip_initialize_block] on safe runtime APIs
      
      That is, those that should not be affected by this attribute
      
      * Make `Scheduled` not ephemeral
      
      So that it is persisted in the storage and ready to be inspected
      by the runtime APIs. This is in contrast to what was before, where we
      would remove the storage entry and then rely on the scheduling performed
      by `on_initialize` again.
      
      * Add a big fat comment
      
      * Typos
      
      Co-authored-by: default avatarRobert Habermeier <[email protected]>
      
      * Move session change to the end of the current block
      
      Previously, it was the beginning of the next block. This allows us to
      put #[skip_initialize_block]
      
      * Update tests
      
      * Fix a test in paras registrar
      
      Also refactor it a bit so the next time there are more chances this kind
      of issue is diagnosed quicker.
      
      * Add for_runtime_api to inclusion's check_validation_outputs
      
      Co-authored-by: default avatarRobert Habermeier <[email protected]>
      4405f52e
  8. Dec 16, 2020
    • asynchronous rob's avatar
      Reward validators for participating in parachains (#2089) · f4e93052
      asynchronous rob authored
      * plumbing for rewarding backers
      
      * give validators reward points for participating
      
      * fix tests
      
      * add bitfield rewarding
      
      * add mocks for backing rewards
      
      * add testing for backing & availability rewards
      
      * implement RewardValidators on top of staking
      
      * add to test-runtime and rococo
      
      * add to test-runtime & rococo
      
      * point to source on rewards values
      
      * fix common tests
      
      * do not reward availability anymore
      f4e93052
  9. Dec 08, 2020
    • Tomasz Drwięga's avatar
      Companion for #6629 (weight params refactor) (#1420) · f28333ae
      Tomasz Drwięga authored
      * Change branch.
      
      * Update runtime.
      
      * Revert "Change branch."
      
      This reverts commit 841c59f3398136c27cc235a29d7d459e8a4c8ce0.
      
      * Update substrate.
      
      * Fix tests.
      
      * Fix compilation.
      
      * Fix frame system imports.
      
      * Fix usages of system
      
      * Fix stuff.
      
      * Fix compilation.
      
      * Fixes.
      
      * Fix block_weight usage.
      
      * Bump substrate.
      f28333ae
  10. Nov 30, 2020
  11. Nov 26, 2020
    • ordian's avatar
      past-session validator discovery APIs (#2009) · 39a12b68
      ordian authored
      
      
      * guide: fix formatting for SessionInfo module
      
      * primitives: SessionInfo type
      
      * punt on approval keys
      
      * ah, revert the type alias
      
      * session info runtime module skeleton
      
      * update the guide
      
      * runtime/configuration: sync with the guide
      
      * runtime/configuration: setters for newly added fields
      
      * runtime/configuration: set codec indexes
      
      * runtime/configuration: update test
      
      * primitives: fix SessionInfo definition
      
      * runtime/session_info: initial impl
      
      * runtime/session_info: use initializer for session handling (wip)
      
      * runtime/session_info: mock authority discovery trait
      
      * guide: update the initializer's order
      
      * runtime/session_info: tests skeleton
      
      * runtime/session_info: store n_delay_tranches in Configuration
      
      * runtime/session_info: punt on approval keys
      
      * runtime/session_info: add some basic tests
      
      * Update primitives/src/v1.rs
      
      * small fixes
      
      * remove codec index annotation on structs
      
      * fix off-by-one error
      
      * validator_discovery: accept a session index
      
      * runtime: replace validator_discovery api with session_info
      
      * Update runtime/parachains/src/session_info.rs
      
      Co-authored-by: default avatarSergei Shulepov <[email protected]>
      
      * runtime/session_info: add a comment about missing entries
      
      * runtime/session_info: define the keys
      
      * util: expose connect_to_past_session_validators
      
      * util: allow session_info requests for jobs
      
      * runtime-api: add mock test for session_info
      
      * collator-protocol: add session_index to test state
      
      * util: fix error message for runtime error
      
      * fix compilation
      
      * fix tests after merge with master
      
      Co-authored-by: default avatarSergei Shulepov <[email protected]>
      39a12b68
  12. Nov 19, 2020
  13. Nov 16, 2020
  14. Nov 06, 2020
    • Sergey Pepyakin's avatar
      Implement HRMP (#1900) · c96f8cfc
      Sergey Pepyakin authored
      * HRMP: Update the impl guide
      
      * HRMP: Incorporate the channel notifications into the guide
      
      * HRMP: Renaming in the impl guide
      
      * HRMP: Constrain the maximum number of HRMP messages per candidate
      
      This commit addresses the HRMP part of https://github.com/paritytech/polkadot/issues/1869
      
      
      
      * XCM: Introduce HRMP related message types
      
      * HRMP: Data structures and plumbing
      
      * HRMP: Configuration
      
      * HRMP: Data layout
      
      * HRMP: Acceptance & Enactment
      
      * HRMP: Test base logic
      
      * Update adder collator
      
      * HRMP: Runtime API for accessing inbound messages
      
      Also, removing some redundant fully-qualified names.
      
      * HRMP: Add diagnostic logging in acceptance criteria
      
      * HRMP: Additional tests
      
      * Self-review fixes
      
      * save test refactorings for the next time
      
      * Missed a return statement.
      
      * a formatting blip
      
      * Add missing logic for appending HRMP digests
      
      * Remove the channel contents vectors which became empty
      
      * Tighten HRMP channel digests invariants.
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <[email protected]>
      
      * Remove a note about sorting for channel id
      
      * Add missing rustdocs to the configuration
      
      * Clarify and update the invariant for HrmpChannelDigests
      
      * Make the onboarding invariant less sloppy
      
      Namely, introduce `Paras::is_valid_para` (in fact, it already is present
      in the implementation) and hook up the invariant to that.
      
      Note that this says "within a session" because I don't want to make it
      super strict on the session boundary. The logic on the session boundary
      should be extremely careful.
      
      * Make `CandidateCheckContext` use T::BlockNumber for hrmp_watermark
      
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <[email protected]>
      c96f8cfc
  15. Nov 02, 2020
  16. Oct 08, 2020
  17. Oct 06, 2020
    • Sergey Pepyakin's avatar
      Registrar v1 follow-ups (#1786) · 96f6b5ae
      Sergey Pepyakin authored
      * parachains: use the root origin for mock
      
      * registrar: notify the router module about the cleanup
      
      * add missing call to schedule_para_cleanup
      96f6b5ae
  18. Oct 04, 2020
    • Kian Paimani's avatar
      Companion for substrate/pull/7215 (#1768) · 4d5b7a62
      Kian Paimani authored
      * Companion for substrate/pull/7215
      
      * More fixes
      
      * Fix build
      
      * fix
      
      * Fix again with normal
      
      * Fix build
      
      * Latest changes
      
      * "Update Substrate"
      
      Co-authored-by: parity-processbot <>
      4d5b7a62
  19. Oct 01, 2020