1. 07 Aug, 2021 1 commit
  2. 03 Aug, 2021 1 commit
  3. 02 Aug, 2021 1 commit
  4. 31 Jul, 2021 2 commits
  5. 22 Jul, 2021 3 commits
  6. 19 Jul, 2021 1 commit
    • asynchronous rob's avatar
      Disputes runtime (#2947) · 219f0a4e
      asynchronous rob authored
      * disputes module skeleton and storage
      * implement dispute module initialization logic
      * implement disputes session change logic
      * provide dispute skeletons
      * deduplication & ancient check
      * fix a couple of warnings
      * begin provide_dispute_data impl
      * flesh out statement set import somewhat
      * move ApprovalVote to shared primitives
      * add a signing-payload API to explicit dispute statements
      * implement statement signature checking
      * some bitflags glue for observing changes in disputes
      * implement dispute vote import logic
      * flesh out everything except slashing
      * guide: tweaks
      * declare and use punishment trait
      * punish validators for inconclusive disputes
      * guide: tiny fix
      * guide: update docs
      * add disputes getter fn
      * guide: small change to spam slots handling
      * improve spam slots handling and fix some bugs
      * finish API of disputes runtime
      * define and deposit `RevertTo` log
      * begin integrating disputes into para_inherent
      * use precomputed slash_for/against
      * return candidate hash from process_bitfields
      * implement inclusion::collect_disputed
      * finish integration into rest of runtime
      * add Disputes to initializer
      * address suggestions
      * use pallet macro
      * fix typo
      * Update runtime/parachains/src/disputes.rs
      * add test: fix pruning
      * document specific behavior
      * deposit events on dispute changes
      * add an allow(unused) on fn disputes
      * add a dummy PunishValidators implementation
      * add disputes module to Rococo
      * add disputes module to westend runtime
      * add disputes module to test runtime
      * add disputes module to kusama runtime
      * guide: prepare for runtime API for checking frozenness
      * remove revert digests in favor of state variable
      * merge reversions
      * Update runtime/parachains/src/disputes.rs
      Co-authored-by: default avatarAndré Silva <123550+andresilva@users.noreply.github.com>
      * Update runtime/parachains/src/disputes.rs
      Co-authored-by: default avatarAndré Silva <123550+andresilva@users.noreply.github.com>
      * Update runtime/parachains/src/disputes.rs
      Co-authored-by: default avatarAndré Silva <123550+andresilva@users.noreply.github.com>
      * add byzantine_threshold and supermajority_threshold utilities to primitives
      * use primitive helpers
      * deposit revert event when freezing chain
      * deposit revert log when freezing chain
      * test revert event and log are generated when freezing
      * add trait to decouple disputes handling from paras inherent handling
      * runtime: fix compilation and setup dispute handler
      * disputes: add hook for filtering out dispute statements
      * disputes: add initializer hooks to DisputesHandler
      * runtime: remove disputes pallet from all runtimes
      * tag TODOs
      * don't import any dispute statements just yet...
      * address grumbles
      * fix spellcheck, hopefully
      * maybe now?
      * last spellcheck round
      * fix runtime tests
      * fix test-runtime
      Co-authored-by: thiolliere's avatarthiolliere <gui.thiolliere@gmail.com>
      Co-authored-by: default avatarAndré Silva <123550+andresilva@users.noreply.github.com>
      Co-authored-by: default avatarAndré Silva <andrerfosilva@gmail.com>
  7. 12 Jul, 2021 1 commit
  8. 06 Jul, 2021 1 commit
    • ferrell-code's avatar
      paras.rs to FRAME V2 (#3403) · b583753a
      ferrell-code authored
      * to v2 macro
      * line width
      * fix mock
      * actually compile moxk
      * compile tests
      * add hooks
      * origin back in mocks
      * assimilate_storage
      * add generic
      * maybe mock compiles now
      * origin between parachain and system causing problem
      * change origin
      * type alias as origin
      * keep origin
      * add aliases to tests
      * remove unnecessary imports
      * Parachain -> Paras
      * paras test
      * nvm
      * use genesis build in mock
  9. 04 Jun, 2021 1 commit
  10. 03 Jun, 2021 1 commit
  11. 09 Apr, 2021 1 commit
    • Gavin Wood's avatar
      XCM Revamp Continued (#2865) · 11a9afa9
      Gavin Wood authored
      * Introduce plurality XCM locations
      * Add RelayedFrom
      * DMP dispatch weight handling.
      * Add pallet for XCM sending, add routing logic.
      * Update error types & doc
      * Fix warnings.
      * Fixes
      * Fixes
      * Fixes
      * Bump Substrate
      * Fixes
      * Docs
      * Docs
      * Docs
      * Fixes
      * Fixes
      * Fixes
      * Update xcm/pallet-xcm/src/lib.rs
      Co-authored-by: Shawn Tabrizi's avatarShawn Tabrizi <shawntabrizi@gmail.com>
      * Docs
      * Fixes
      * Update lib.rs
      * Fixes
      Co-authored-by: Shawn Tabrizi's avatarShawn Tabrizi <shawntabrizi@gmail.com>
  12. 01 Apr, 2021 2 commits
    • asynchronous rob's avatar
      Add dispute types and change InclusionInherent to ParasInherent (#2791) · abc63637
      asynchronous rob authored
      * dispute types
      * add Debug to dispute primitives in std and InherentData
      * use ParachainsInherentData on node-side
      * change inclusion_inherent to paras_inherent
      * RuntimeDebug
      * add type parameter to PersistedValidationData users
      * fix test client
      * spaces
      * fix collation-generation test
      * fix provisioner tests
      * remove references to inclusion inherent
    • Gavin Wood's avatar
      Companion for OnSetCode #8496 (#2794) · d77262d6
      Gavin Wood authored
      * Make build with OnSetCode
      * Fixes
      * update Substrate
      Co-authored-by: parity-processbot <>
  13. 30 Mar, 2021 1 commit
  14. 28 Mar, 2021 1 commit
  15. 18 Mar, 2021 1 commit
  16. 10 Mar, 2021 2 commits
    • asynchronous rob's avatar
    • André Silva's avatar
      runtime: use babe as randomness source (#2504) · 95b2e18e
      André Silva authored
      * runtime: use babe as randomness source
      * runtime: fix randomness api
      * bridges: fix random_seed
      * parachains: use mock TestRandomness from frame_support_test
      * parachains: use mock TestRandomness from frame_support_test
      * runtime: update randomness source in test-runtime
      * runtime: remove unused import
      * parachains: add todo to audit usage of randomness api
      * "Update Substrate"
      Co-authored-by: parity-processbot <>
  17. 27 Feb, 2021 1 commit
  18. 19 Feb, 2021 1 commit
    • Shawn Tabrizi's avatar
      Session Delayed Para Changes / Actions Queue (#2406) · afb6daa7
      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 b2e9011e
      * 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 <gavin@parity.io>
  19. 09 Feb, 2021 1 commit
  20. 13 Jan, 2021 1 commit
    • Sergey Pepyakin's avatar
      HRMP channel deposits (#2225) · 4489b528
      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
      * 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
  21. 05 Jan, 2021 1 commit
    • Peter Goodspeed-Niklaus's avatar
      Reduce the inclusion inherent's actual weight if the block is already heavy (#2060) · 0508b6f2
      Peter Goodspeed-Niklaus authored
      * don't modify inherent data on heavy block
      * write up current thinking on block weight detection
      * extract inherent inclusion check into its own function
      * put heavy block check into runtime
      * the `inclusion` inherent call is Operational, not Mandatory
      This resolves a lot of the trickiness about this issue, because
      we no longer need to override or supplant any existing proposer
      logic; the existing logic should exhibit these behaviors:
      - the `inclusion` inherent is prioritized over standard transactions
      - but if it's too heavy, i.e. in case of runtime upgrade, it'll be
        dropped in favor of that.
      It is my belief that allowing the proposer to just not include
      this data won't have any adverse effects: it's equivalent to replacing
      them with empty versions of themselves, which the `ProvideInherent`
      impl already does.
      * Revert "the `inclusion` inherent call is Operational, not Mandatory"
      This reverts commit e58858d1.
      * Revert "write up current thinking on block weight detection"
      This reverts commit fd587b80.
      * Revert "don't modify inherent data on heavy block"
      This reverts commit 38299d3c
      * add backed candidate block weight assumption to configuration
      * Limit backed candidates according to a candidate weight heuristic.
      This approach replaces making the inclusion inherent non-mandatory.
      It's still not ideal in that we have to configure a heuristic for
      how much each backed candidate 'weighs', instead of directly
      measuring it somehow.
      This approach also never truncates the signed bitfields. The
      rationale for that depends on some assumptions:
      - processing the signed bitfields is cheap compared to the
        backed candidates
      - it is beneficial to the progress of the relay chain
        to update the signed bitfields even if not all backed candidates
        are updated
      * simplify limit_backed_candidates and weight assumption
      * don't trust the provisioner to fairly distribute candidates
      * use saturating subtraction
      * empty commit to restart ci
      * use new mechanism for getting max block weight
      * apply weight refunds to the inclusion inherent
      This makes some assumptions about fundamental weights, which are
      encapsulated as constants. From there, it lets Substrate know
      what the actual computed weight of the inherent is.
      * use a correct fixed weight for the inclusion inherent
      Co-authored-by: thiolliere's avatarGuillaume Thiolliere <gui.thiolliere@gmail.com>
      * use dynamic inclusion weight so we reduce calculated weight when excluding candidates
      * don't double-count this intrinsic's weight in the block weight
      * add unit tests of fn limit_backed_candidates
      * add tests that the inclusion inherent's weight correctly updates
      Co-authored-by: thiolliere's avatarGuillaume Thiolliere <gui.thiolliere@gmail.com>
  22. 30 Dec, 2020 1 commit
  23. 16 Dec, 2020 1 commit
    • asynchronous rob's avatar
      Reward validators for participating in parachains (#2089) · dd9ad157
      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
  24. 08 Dec, 2020 1 commit
    • Tomasz Drwięga's avatar
      Companion for #6629 (weight params refactor) (#1420) · 20f3c411
      Tomasz Drwięga authored
      * Change branch.
      * Update runtime.
      * Revert "Change branch."
      This reverts commit 841c59f3.
      * 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.
  25. 30 Nov, 2020 1 commit
  26. 26 Nov, 2020 1 commit
    • Andronik Ordian's avatar
      past-session validator discovery APIs (#2009) · 734eda87
      Andronik 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: Sergey Pepyakin's avatarSergei Shulepov <sergei@parity.io>
      * 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: Sergey Pepyakin's avatarSergei Shulepov <sergei@parity.io>
  27. 16 Nov, 2020 1 commit
    • Sergey Pepyakin's avatar
      Breakdown the Router module on Dmp, Ump, Hrmp modules (#1939) · c7708818
      Sergey Pepyakin authored
      * Guide: Split router module in guide.
      Now we have: DMP, UMP and Router module.
      * Add a glossary entry for what used to be called Router
      * Extract DMP
      * Extract UMP
      * Extract HRMP
      * Switch over to new modules
      * Router: goodbye sweet prince
      * Link to messaging overview for details.
      * Update missed rococo and test runtimes.
      * Commit destroyed by rebase changes
      * Don't deprecate Router but rather make it a meta-project
      Co-authored-by: default avatarBernhard Schuster <bernhard@ahoi.io>
      * Fix typos suggestion
      Co-authored-by: default avatarBernhard Schuster <bernhard@ahoi.io>
      * Fix repetition in the impl guide
      * Clarify that processed_downward_messages has the u32 type
      * Remove the router subdir.
      * Deabbreviate DMP,UMP,HRMP
      Co-authored-by: default avatarBernhard Schuster <bernhard@ahoi.io>
  28. 06 Nov, 2020 1 commit
    • Sergey Pepyakin's avatar
      Implement HRMP (#1900) · 73553661
      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 <coriolinus@users.noreply.github.com>
      * 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 <coriolinus@users.noreply.github.com>
  29. 02 Nov, 2020 1 commit
  30. 28 Oct, 2020 1 commit
    • Sergey Pepyakin's avatar
      Downward Message Processing implementation (#1859) · ed759c75
      Sergey Pepyakin authored
      * DMP: data structures and plumbing
      * DMP: Implement DMP logic in the router module
      DMP: Integrate DMP parts into the inclusion module
      * DMP: Introduce the max size limit for the size of a downward message
      * DMP: Runtime API for accessing inbound messages
      * OCD
      Small clean ups
      * DMP: fix the naming of the error
      * DMP: add caution about a non-existent recipient
  31. 06 Oct, 2020 1 commit
    • Sergey Pepyakin's avatar
      Registrar v1 follow-ups (#1786) · b56f2b30
      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
  32. 01 Oct, 2020 1 commit
  33. 22 Sep, 2020 1 commit
  34. 17 Sep, 2020 1 commit
  35. 04 Aug, 2020 1 commit