1. Oct 31, 2023
  2. Oct 30, 2023
  3. Oct 29, 2023
  4. Oct 27, 2023
    • Liam Aharon's avatar
      Automatically build and attach production and dev runtimes to GH releases (#2054) · a7061712
      Liam Aharon authored
      Closes https://github.com/paritytech/release-engineering/issues/6
      
      Adds a new Github Workflow which on a new release being created, builds
      and attaches all runtimes managed in this repository in two flavours:
      - `dev-debug-build`: Built with the `try-runtime` feature and has
      logging enabled
      - `on-chain-release`: Built with the regular old `on-chain-release`
      feature
      
      The new Github Workflow could be extended in the future by the
      @paritytech/release-engineering team to fully automate the release
      process if they choose to, similar to how it is fully automated in the
      Fellowship repo
      (https://github.com/polkadot-fellows/runtimes/blob/main/.github/workflows/release.yml).
      
      The `on-chain-release` did not exist for parachains, so I added it. 
      
      ---
      
      Tested on my fork: 
      - https://github.com/liamaharon/polkadot-sdk/actions/runs/6663773523
      - https://github.com/liamaharon/polkadot-sdk/releases/tag/test-6
      
      
      
      ---------
      
      Co-authored-by: default avatarChevdor <[email protected]>
      Co-authored-by: default avatarDónal Murray <[email protected]>
      a7061712
    • Sam Johnson's avatar
      upgrade to docify 0.2.6 (#2069) · f46f5a90
      Sam Johnson authored
      Updates `docify` to 0.2.6, which fixes a bug that was preventing nesting
      `#[docify::export]` within sub-items of items that already have
      `#[docify::export]` attached to them from working properly.
      
      Release notes here:
      https://github.com/sam0x17/docify/releases/tag/v0.2.6
      
      cc @ggwpez @Kianenigma
      f46f5a90
    • Bastian Köcher's avatar
      level-monitor: Fix issue with warp syncing (#2053) · bea8baed
      Bastian Köcher authored
      When warp syncing a node we import a header of the parachain around the
      tip of the chain. This header is currently not imported as finalized
      block (should be fixed at some point as well), the parent headers are
      not yet present (still being synced) and thus, we run into a panic. Even
      if there is a case where a leaf could not be found in the database, this
      probably means that the db is broken and it will fail somewhere elese.
      bea8baed
    • PG Herveou's avatar
      9643a3ad
    • Alexandru Gheorghe's avatar
      make polkadot die graciously (#2056) · 3069b0af
      Alexandru Gheorghe authored
      
      
      While investigating some db migrations that make the node startup fail,
      I noticed that the node wasn't exiting and that the log file were
      growing exponentially, until my whole system was freezing and that makes
      it really hard to actually find why it was failing in the first place.
      
      E.g:
      ```
       ls -lh /tmp/zombie-01a04c2a2c0265d85f6440cf01c0f44a_-51319-uyggzuD4wEpV/bob.log
       32,6G oct 27 11:16 /tmp/zombie-01a04c2a2c0265d85f6440cf01c0f44a_-51319-uyggzuD4wEpV/bob.log
      ```
      
      This was happening because the following errors were being printed
      continously without the subsystem main loop exiting:
      
      From dispute-coordinator:
      ```
      WARN tokio-runtime-worker parachain::dispute-coordinator: error=Subsystem(Generated(Context("Signal channel is terminated and empty.")))
      ```
      
      From availability recovery:
      ```
      Erasure task channel closed. Node shutting down ?
      ```
      
      Signed-off-by: default avatarAlexandru Gheorghe <[email protected]>
      3069b0af
    • juangirini's avatar
      feat: FRAME umbrella crate. (#1337) · 43415ef5
      juangirini authored
      ### Original PR https://github.com/paritytech/substrate/pull/14137
      
      This PR brings in the first version of the "_`frame` umbrella crate_".
      This crate is intended to serve two purposes:
      
      1. documentation
      2. easier development with frame. Ideally, we want most users to be able
      to build a frame-based pallet and runtime using just `frame` (plus
      `scale-codec` and `scale-info`).
      
      The crate is not finalized and is not yet intended for external use.
      Therefore, the version is set to `0.0.1-dev`, this PR is `silent`, and
      the entire crate is hidden behind the `experimental` flag. The main
      intention in merging it early on is to be able to iterate on it in the
      rest of
      [`developer-hub`](https://github.com/paritytech/polkadot-sdk-docs/)
      efforts.
      
      The public API of the `frame` crate is at the moment as follows: 
      
      ```
      pub mod frame
      pub use frame::log
      pub use frame::pallet
      pub mod frame::arithmetic
      pub use frame::arithmetic::<<sp_arithmetic::*>>
      pub use frame::arithmetic::<<sp_arithmetic::traits::*>>
      pub mod frame::deps
      pub use frame::deps::codec
      pub use frame::deps::frame_executive
      pub use frame::deps::frame_support
      pub use frame::deps::frame_system
      pub use frame::deps::scale_info
      pub use frame::deps::sp_api
      pub use frame::deps::sp_arithmetic
      pub use frame::deps::sp_block_builder
      pub use frame::deps::sp_consensus_aura
      pub use frame::deps::sp_consensus_grandpa
      pub use frame::deps::sp_core
      pub use frame::deps::sp_inherents
      pub use frame::deps::sp_io
      pub use frame::deps::sp_offchain
      pub use frame::deps::sp_runtime
      pub use frame::deps::sp_std
      pub use frame::deps::sp_version
      pub mod frame::derive
      pub use frame::derive::CloneNoBound
      pub use frame::derive::Debug
      pub use frame::derive::Debug
      pub use frame::derive::DebugNoBound
      pub use frame::derive::Decode
      pub use frame::derive::Decode
      pub use frame::derive::DefaultNoBound
      pub use frame::derive::Encode
      pub use frame::derive::Encode
      pub use frame::derive::EqNoBound
      pub use frame::derive::PartialEqNoBound
      pub use frame::derive::RuntimeDebug
      pub use frame::derive::RuntimeDebugNoBound
      pub use frame::derive::TypeInfo
      pub use frame::derive::TypeInfo
      pub mod frame::prelude
      pub use frame::prelude::<<frame_support::pallet_prelude::*>>
      pub use frame::prelude::<<frame_system::pallet_prelude::*>>
      pub use frame::prelude::<<sp_std::prelude::*>>
      pub use frame::prelude::CloneNoBound
      pub use frame::prelude::Debug
      pub use frame::prelude::Debug
      pub use frame::prelude::DebugNoBound
      pub use frame::prelude::Decode
      pub use frame::prelude::Decode
      pub use frame::prelude::DefaultNoBound
      pub use frame::prelude::Encode
      pub use frame::prelude::Encode
      pub use frame::prelude::EqNoBound
      pub use frame::prelude::PartialEqNoBound
      pub use frame::prelude::RuntimeDebug
      pub use frame::prelude::RuntimeDebugNoBound
      pub use frame::prelude::TypeInfo
      pub use frame::prelude::TypeInfo
      pub use frame::prelude::frame_system
      pub mod frame::primitives
      pub use frame::primitives::BlakeTwo256
      pub use frame::primitives::H160
      pub use frame::primitives::H256
      pub use frame::primitives::H512
      pub use frame::primitives::Hash
      pub use frame::primitives::Keccak256
      pub use frame::primitives::U256
      pub use frame::primitives::U512
      pub mod frame::runtime
      pub mod frame::runtime::apis
      pub use frame::runtime::apis::<<frame_system_rpc_runtime_api::*>>
      pub use frame::runtime::apis::<<sp_api::*>>
      pub use frame::runtime::apis::<<sp_block_builder::*>>
      pub use frame::runtime::apis::<<sp_consensus_aura::*>>
      pub use frame::runtime::apis::<<sp_consensus_grandpa::*>>
      pub use frame::runtime::apis::<<sp_offchain::*>>
      pub use frame::runtime::apis::<<sp_session::runtime_api::*>>
      pub use frame::runtime::apis::<<sp_transaction_pool::runtime_api::*>>
      pub use frame::runtime::apis::ApplyExtrinsicResult
      pub use frame::runtime::apis::CheckInherentsResult
      pub use frame::runtime::apis::InherentData
      pub use frame::runtime::apis::OpaqueMetadata
      pub use frame::runtime::apis::impl_runtime_apis
      pub use frame::runtime::apis::sp_api
      pub mod frame::runtime::prelude
      pub use frame::runtime::prelude::<<frame_executive::*>>
      pub use frame::runtime::prelude::ConstBool
      pub use frame::runtime::prelude::ConstI128
      pub use frame::runtime::prelude::ConstI16
      pub use frame::runtime::prelude::ConstI32
      pub use frame::runtime::prelude::ConstI64
      pub use frame::runtime::prelude::ConstI8
      pub use frame::runtime::prelude::ConstU128
      pub use frame::runtime::prelude::ConstU16
      pub use frame::runtime::prelude::ConstU32
      pub use frame::runtime::prelude::ConstU64
      pub use frame::runtime::prelude::ConstU8
      pub use frame::runtime::prelude::NativeVersion
      pub use frame::runtime::prelude::RuntimeVersion
      pub use frame::runtime::prelude::construct_runtime
      pub use frame::runtime::prelude::create_runtime_str
      pub use frame::runtime::prelude::derive_impl
      pub use frame::runtime::prelude::frame_support
      pub use frame::runtime::prelude::ord_parameter_types
      pub use frame::runtime::prelude::parameter_types
      pub use frame::runtime::prelude::runtime_version
      pub mod frame::runtime::testing_prelude
      pub use frame::runtime::testing_prelude::BuildStorage
      pub use frame::runtime::testing_prelude::Storage
      pub mod frame::runtime::types_common
      pub type frame::runtime::types_common::AccountId = <<frame::runtime::types_common::Signature as sp_runtime::traits::Verify>::Signer as sp_runtime::traits::IdentifyAccount>::AccountId
      pub type frame::runtime::types_common::BlockNumber = u32
      pub type frame::runtime::types_common::BlockOf<T, Extra> = sp_runtime::generic::block::Block<sp_runtime::generic::header::Header<frame::runtime::types_common::BlockNumber, sp_runtime::traits::BlakeTwo256>, sp_runtime::generic::unchecked_extrinsic::UncheckedExtrinsic<sp_runtime::multiaddress::MultiAddress<frame::runtime::types_common::AccountId, ()>, <T as frame_system::pallet::Config>::RuntimeCall, frame::runtime::types_common::Signature, Extra>>
      pub type frame::runtime::types_common::OpaqueBlock = sp_runtime::generic::block::Block<sp_runtime::generic::header::Header<frame::runtime::types_common::BlockNumber, sp_runtime::traits::BlakeTwo256>, sp_runtime::OpaqueExtrinsic>
      pub type frame::runtime::types_common::Signature = sp_runtime::MultiSignature
      pub type frame::runtime::types_common::SystemSignedExtensionsOf<T> = (frame_system::extensions::check_non_zero_sender::CheckNonZeroSender<T>, frame_system::extensions::check_spec_version::CheckSpecVersion<T>, frame_system::extensions::check_tx_version::CheckTxVersion<T>, frame_system::extensions::check_genesis::CheckGenesis<T>, frame_system::extensions::check_mortality::CheckMortality<T>, frame_system::extensions::check_nonce::CheckNonce<T>, frame_system::extensions::check_weight::CheckWeight<T>)
      pub mod frame::testing_prelude
      pub use frame::testing_prelude::<<frame_executive::*>>
      pub use frame::testing_prelude::<<frame_system::mocking::*>>
      pub use frame::testing_prelude::BuildStorage
      pub use frame::testing_prelude::ConstBool
      pub use frame::testing_prelude::ConstI128
      pub use frame::testing_prelude::ConstI16
      pub use frame::testing_prelude::ConstI32
      pub use frame::testing_prelude::ConstI64
      pub use frame::testing_prelude::ConstI8
      pub use frame::testing_prelude::ConstU128
      pub use frame::testing_prelude::ConstU16
      pub use frame::testing_prelude::ConstU32
      pub use frame::testing_prelude::ConstU64
      pub use frame::testing_prelude::ConstU8
      pub use frame::testing_prelude::NativeVersion
      pub use frame::testing_prelude::RuntimeVersion
      pub use frame::testing_prelude::Storage
      pub use frame::testing_prelude::TestState
      pub use frame::testing_prelude::assert_err
      pub use frame::testing_prelude::assert_err_ignore_postinfo
      pub use frame::testing_prelude::assert_error_encoded_size
      pub use frame::testing_prelude::assert_noop
      pub use frame::testing_prelude::assert_ok
      pub use frame::testing_prelude::assert_storage_noop
      pub use frame::testing_prelude::construct_runtime
      pub use frame::testing_prelude::create_runtime_str
      pub use frame::testing_prelude::derive_impl
      pub use frame::testing_prelude::frame_support
      pub use frame::testing_prelude::frame_system
      pub use frame::testing_prelude::if_std
      pub use frame::testing_prelude::ord_parameter_types
      pub use frame::testing_prelude::parameter_types
      pub use frame::testing_prelude::runtime_version
      pub use frame::testing_prelude::storage_alias
      pub mod frame::traits
      pub use frame::traits::<<frame_support::traits::*>>
      pub use frame::traits::<<sp_runtime::traits::*>>
      ```
      
      ---
      
      The road to full stabilization is
      
      - [ ] https://github.com/paritytech/polkadot-sdk/issues/127
      
      
      - [ ] have a more intentional version bump, as opposed to the current bi
      weekly force-major-bump
      - [ ] revise the internal API of `frame`, especially what goes into the
      `prelude`s.
      - [ ] migrate all internal pallets and runtime to use `frame`
      
      ---------
      
      Co-authored-by: default avatarkianenigma <[email protected]>
      Co-authored-by: default avatarKian Paimani <[email protected]>
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatarFrancisco Aguirre <[email protected]>
      43415ef5
    • Sam Johnson's avatar
      upgrade docify to 0.2.5 (#2052) · 6ca5789d
      Sam Johnson authored
      Updates `docify` to 0.2.5, which fixes some indentation bugs and adds
      the new `#[docify::export_content]` attribute which can be used like
      regular `#[docify::export]` but will only export the _underlying
      contents_ of the item it is attached to, if applicable (otherwise it
      just behaves exactly like `#[docify::export]`).
      
      Release notes here:
      https://github.com/sam0x17/docify/releases/tag/v0.2.5
      
      cc @Kianenigma
      6ca5789d
  5. Oct 26, 2023
  6. Oct 25, 2023
    • Joshy Orndorff's avatar
      `polkadot-parachain-primitives` should not depend on `frame-support`. (#1897) · bdf18687
      Joshy Orndorff authored
      
      
      This PR does not make any functional changes to the code. Rather, it
      restructures the dependency graph.
      
      Before this PR, the crate `polkadot-parachain-primitives` depended
      directly on the crate `frame-support`. This is wrong in principal
      because a parachain does not necessarily have anything to do with frame.
      
      This dependency was only for the `Weight` type which was just a
      re-export from `sp-weights` anyway. So this PR changes the dependency to
      be directly on the much lighter `sp-weights`.
      
      ---------
      
      Co-authored-by: default avatarJoshy Orndorff <[email protected]>
      Co-authored-by: command-bot <>
      bdf18687
    • Branislav Kontur's avatar
      [testnet] Align testnet system parachain runtimes using... · f6560c2b
      Branislav Kontur authored
      [testnet] Align testnet system parachain runtimes using `RelayTreasuryLocation` and `SystemParachains` in the same way (#2023)
      
      This PR addresses several issues:
      - simplify referencing `RelayTreasuryLocation` without needing
      additional `RelayTreasury` struct
      - fix for referencing `SystemParachains` from parachain with `parents:
      1` instead of `parents: 0`
      - removed hard-coded constants and fix tests for `asset-hub-rococo`
      which was merged to master after
      https://github.com/paritytech/polkadot-sdk/pull/1726
      
      ---------
      
      Co-authored-by: command-bot <>
      f6560c2b
    • Oliver Tale-Yazdi's avatar
    • Xiliang Chen's avatar
      publish pallet-root-testing (#2017) · b7a8532d
      Xiliang Chen authored
      so we can use it in our tests
      b7a8532d
    • PG Herveou's avatar
      Contracts: Add benchmarks to include files (#2022) · 3148063a
      PG Herveou authored
      Project that includes pallet-contracts via crates.io will fail to run 
      ```bash
      cargo check --features=runtime-benchmarks
      ```
      
      without the currently not included benchmarks files
      3148063a
    • Liam Aharon's avatar
      Small optimisation to `--profile dev` wasm builds (#1851) · ff3a3bca
      Liam Aharon authored
      `wasm-builder` was adjusted to default to building wasm blobs in
      `release` mode even when cargo is in `debug` because `debug` wasm is too
      slow.
      
      A side effect of this was `.compact` and `.compact.compressed` getting
      built when the dev is running build in `debug`, adding ~5s to the build
      time of every wasm runtime.
      
      I think it's reasonable to assume if the dev is running `debug` build
      they want to optimise speed and do not care about the size of the wasm
      binary. Compacting a blob has negligible impact on its actual
      performance.
      
      In this PR, I adjusted the behavior of the wasm builder so it does not
      produce `.compact` or `.compact.compressed` wasm when the user is
      running in `debug`. The builder will continue to produce the bloaty wasm
      in release mode unless it is overriden with an env var.
      
      As suggested by @koute in review, also refactored the
      `maybe_compact_wasm_and_copy_blobs` into multiple funuctions, and
      renamed things to better support RISC-V in the future.
      
      ---
      
      There is no `T-runtime` label so @KiChjang
      
       told me to put `T1-FRAME` :)
      
      ---------
      
      Co-authored-by: default avatarKoute <[email protected]>
      ff3a3bca
  7. Oct 24, 2023