Skip to content
This repository has been archived by the owner on Oct 22, 2024. It is now read-only.

Merge from Reserve Transfer Branch #9

Merged
merged 75 commits into from
Nov 2, 2023

Commits on Oct 26, 2023

  1. Expose collection attributes from Inspect trait (paritytech#1914)

    # Description
    
    - What does this PR do?
    
    While working with `pallet_nfts` through `nonfungibles_v2` traits
    `Inspect, Mutate`, I found out that once you have set the collection
    attribute with `<Nfts as Mutate>::set_collection_attribute()`, it's not
    possible to read it with `<Nfts as Inspect>::collection_attribute()`
    since they use different `namespace` values. When setting the attribute,
    `AttributeNamespace::Pallet` is used, while
    `AttributeNamespace::CollectionOwner` is used when reading.
    
    more context:
    freeverseio/laos#7 (comment)
    
    This PR makes `item` an optional parameter in
    `Inspect::system_attribute()`, to be able to read collection attributes.
    
    - Why are these changes needed?
    
    To be able to read collection level attributes when reading attributes
    of the collection. It will be possible to read collection attributes by
    passing `None` for `item`
    
    - How were these changes implemented and what do they affect?
    
    `NftsApi` is also affected and `NftsApi::system_attribute()` now accepts
    optional `item` parameter.
    
    ## Breaking change
    
    Because of the change in the `NftsApi::system_attribute()` method's
    `item` param, parachains who integrated the `NftsApi` need to update
    their API code and frontend integrations accordingly. AssetHubs are
    unaffected since the NftsApi wasn't released on those parachains yet.
    dastansam authored Oct 26, 2023
    Configuration menu
    Copy the full SHA
    0bcebac View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    21d36b7 View commit details
    Browse the repository at this point in the history
  3. cumulus: fix test runtimes panic (paritytech#2039)

    the min slot duration should be 0 only if the `experimental` feature is
    enabled. otherwise, the runtime will panic on a division by 0.
    alindima authored Oct 26, 2023
    Configuration menu
    Copy the full SHA
    1b08bdd View commit details
    Browse the repository at this point in the history
  4. sp-version: Improve the docs (paritytech#2027)

    Co-authored-by: ordian <[email protected]>
    bkchr and ordian authored Oct 26, 2023
    Configuration menu
    Copy the full SHA
    42707bc View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    86228fa View commit details
    Browse the repository at this point in the history

Commits on Oct 27, 2023

  1. upgrade docify to 0.2.5 (paritytech#2052)

    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
    sam0x17 authored Oct 27, 2023
    Configuration menu
    Copy the full SHA
    6ca5789 View commit details
    Browse the repository at this point in the history
  2. feat: FRAME umbrella crate. (paritytech#1337)

    ### Original PR paritytech/substrate#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
    
    - [ ] paritytech#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: kianenigma <[email protected]>
    Co-authored-by: Kian Paimani <[email protected]>
    Co-authored-by: Oliver Tale-Yazdi <[email protected]>
    Co-authored-by: Francisco Aguirre <[email protected]>
    5 people authored Oct 27, 2023
    Configuration menu
    Copy the full SHA
    43415ef View commit details
    Browse the repository at this point in the history
  3. make polkadot die graciously (paritytech#2056)

    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: Alexandru Gheorghe <[email protected]>
    alexggh authored Oct 27, 2023
    Configuration menu
    Copy the full SHA
    3069b0a View commit details
    Browse the repository at this point in the history
  4. Merge branch 'master' of github.com:paritytech/polkadot-sdk into pall…

    …et-xcm-fully-support-reserve-transfers
    acatangiu committed Oct 27, 2023
    Configuration menu
    Copy the full SHA
    2e71447 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    371ac2d View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    9b58ff0 View commit details
    Browse the repository at this point in the history
  7. Revert "try add pallet-assets for benchmarking to rococo"

    This reverts commit c82330b.
    acatangiu committed Oct 27, 2023
    Configuration menu
    Copy the full SHA
    942977e View commit details
    Browse the repository at this point in the history
  8. pallet-xcm benchmarking: most chains do not have pallet-assets, use p…

    …allet-balances instead
    acatangiu committed Oct 27, 2023
    Configuration menu
    Copy the full SHA
    3b9965b View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    adcd688 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    eca0c3e View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    b648df2 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    9643a3a View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    da7d8ff View commit details
    Browse the repository at this point in the history
  14. level-monitor: Fix issue with warp syncing (paritytech#2053)

    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.
    bkchr authored Oct 27, 2023
    Configuration menu
    Copy the full SHA
    bea8bae View commit details
    Browse the repository at this point in the history
  15. upgrade to docify 0.2.6 (paritytech#2069)

    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
    sam0x17 authored Oct 27, 2023
    Configuration menu
    Copy the full SHA
    f46f5a9 View commit details
    Browse the repository at this point in the history
  16. Automatically build and attach production and dev runtimes to GH rele…

    …ases (paritytech#2054)
    
    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: Chevdor <[email protected]>
    Co-authored-by: Dónal Murray <[email protected]>
    3 people authored Oct 27, 2023
    Configuration menu
    Copy the full SHA
    a706171 View commit details
    Browse the repository at this point in the history

Commits on Oct 28, 2023

  1. Configuration menu
    Copy the full SHA
    8d85faa View commit details
    Browse the repository at this point in the history

Commits on Oct 29, 2023

  1. fix(frame-benchmarking-cli): Pass heap_pages param to WasmExecutor (p…

    …aritytech#2075)
    
    In paritytech/substrate#13740 the use of the
    `heap-pages` param inside the `frame-benchmarking-cli` has been removed.
    This results in running out of memory and this PR fixes the heap
    allocation strategy for benchmarks wasm executor.
    ukint-vs authored Oct 29, 2023
    Configuration menu
    Copy the full SHA
    8ce16ee View commit details
    Browse the repository at this point in the history
  2. Improve Client CLI help readability (paritytech#2073)

    Currently the CLI `-h/--help` commad output is almost unreadable as (for
    some commands) it:
    - doesn't provide a short brief of what the command does.
    - doesn't separate the options description in smaller paragraphs.
    - doesn't use a smart wrap strategy for lines longer than the number of
    columns in the terminal.
    
    Follow some pics taken with a 100 cols wide term
    
    ## Short help (./node -h)
    
    ### Before
    
    
    ![20231028-174531-grim](https://github.com/paritytech/polkadot-sdk/assets/8143589/11b62c3c-dcd5-43f4-ac58-f1b299e3f4b9)
    
    ### After
    
    
    ![20231028-175041-grim](https://github.com/paritytech/polkadot-sdk/assets/8143589/dc08f6fd-b287-40fb-8b33-71a185922104)
    
    
    ## Long help (./node --help)
    
    ### Before
    
    
    ![20231028-175257-grim](https://github.com/paritytech/polkadot-sdk/assets/8143589/9ebdc0ae-54ee-4760-b873-a7e813523cb6)
    
    ### After
    
    
    ![20231028-175155-grim](https://github.com/paritytech/polkadot-sdk/assets/8143589/69cbe5cb-eb2f-46a5-8ebf-76c0cf8c4bad)
    
    ---------
    
    Co-authored-by: command-bot <>
    davxy authored Oct 29, 2023
    Configuration menu
    Copy the full SHA
    7035034 View commit details
    Browse the repository at this point in the history

Commits on Oct 30, 2023

  1. Improve try-state developer experience & fix bug (paritytech#2019)

    Making some devex improvements as I audit our chains adherence to
    try-state invariants, in preparation for automated try-state checks and
    alerting.
    
    Note to reviewer: while you're here, if you have time would be great to
    get your eyes on paritytech#1297
    also since it touches a similar file and I'd like to avoid merge
    conflicts :P
    
    ## Devex Improvements
    
    - Changes the log level of logs informing the user that try-state checks
    are being run for a pallet from debug to info
    - Improves how errors are communicated
    - Errors are logged when they are encountered, rather than after
    everything has been executed
    - Exact pallet the error originated from is included with the error log
      - Clearly see all errors and how many there are, rather than only one
      - Closes #136 
    
    ### Example of new logs
    
    <img width="1185" alt="Screenshot 2023-10-25 at 15 44 44"
    src="https://github.com/paritytech/polkadot-sdk/assets/16665596/b75588a2-1c64-45df-bbc8-bcb8bf8b0fe0">
    
    ### Same but with old logs (run with RUST_LOG=debug)
    
    Notice only informed of one of the errors, and it's unclear which pallet
    it originated
    
    <img width="1185" alt="Screenshot 2023-10-25 at 15 39 01"
    src="https://github.com/paritytech/polkadot-sdk/assets/16665596/e3429cb1-489e-430a-9716-77c052e5dae6">
     
    
    ## Bug fix
    
    When dry-running migrations and `checks.try_state()` is `true`, only run
    `try_state` checks after migrations have been executed. Otherwise,
    `try_state` checks that expect state to be in at a HIGHER storage
    version than is on-chain could incorrectly fail.
    
    ---------
    
    Co-authored-by: command-bot <>
    liamaharon authored Oct 30, 2023
    Configuration menu
    Copy the full SHA
    d715caa View commit details
    Browse the repository at this point in the history
  2. Stop Balances pallet erroneously double incrementing and decrementi…

    …ng consumers (paritytech#1976)
    
    Closes paritytech#1970
    
    Follow up issue to tackle, once the erroneous double
    incrementing/decrementing has stopped:
    paritytech#2037
    liamaharon authored Oct 30, 2023
    Configuration menu
    Copy the full SHA
    0aeab38 View commit details
    Browse the repository at this point in the history
  3. contracts migration: remove unnecessary panics (paritytech#2079)

    Runtime migration CI is currently failing
    (https://gitlab.parity.io/parity/mirrors/polkadot-sdk/builds/4122083)
    for the contracts testnet due to unnecessary panicing in a `pre_upgrade`
    hook.
    
    Soon idempotency will be enforced
    paritytech/try-runtime-cli#42, in the mean
    time we need to manually fix these issues as they arise.
    
    ---
    
    also removes backticks from the string in `echo`, which caused a
    'command not found' error in ci output
    liamaharon authored Oct 30, 2023
    Configuration menu
    Copy the full SHA
    ad5163b View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    37552fd View commit details
    Browse the repository at this point in the history
  5. Update polkadot/xcm/pallet-xcm/src/lib.rs

    Co-authored-by: Francisco Aguirre <[email protected]>
    acatangiu and franciscoaguirre authored Oct 30, 2023
    Configuration menu
    Copy the full SHA
    6714d39 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    a79ed78 View commit details
    Browse the repository at this point in the history
  7. fmt

    acatangiu committed Oct 30, 2023
    Configuration menu
    Copy the full SHA
    7a61129 View commit details
    Browse the repository at this point in the history
  8. Refactor transaction storage pallet to use fungible traits (parityte…

    …ch#1800)
    
    Partial paritytech#226
    
    `frame/transaction-storage`: replace `Currency` with `fungible::*`
    traits
    
    ---------
    
    Signed-off-by: Adrian Catangiu <[email protected]>
    Co-authored-by: georgepisaltu <[email protected]>
    acatangiu and georgepisaltu authored Oct 30, 2023
    Configuration menu
    Copy the full SHA
    30f3ad2 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    a69da4a View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    40ff09b View commit details
    Browse the repository at this point in the history
  11. parachain-system: Send same event & digest as a standalone chain (par…

    …itytech#2064)
    
    This ensures that upgrading a parachain code sends the same event &
    digest as when using `set_code` on a standalone chain.
    
    Close: paritytech#2049
    bkchr authored Oct 30, 2023
    Configuration menu
    Copy the full SHA
    2d9426f View commit details
    Browse the repository at this point in the history

Commits on Oct 31, 2023

  1. Configuration menu
    Copy the full SHA
    9faea38 View commit details
    Browse the repository at this point in the history
  2. Contracts migration update (paritytech#2091)

    Restore fix from paritytech#2077
    pgherveou authored Oct 31, 2023
    Configuration menu
    Copy the full SHA
    18ad449 View commit details
    Browse the repository at this point in the history
  3. Add test to demonstrate the failure scenario (paritytech#1999)

    The change adds a test to show the failure scenario that caused paritytech#1812 to
    be rolled back (more context:
    paritytech#493 (comment))
    
    Summary of the scenario:
    1. Node has finished downloading up to block 1000 from the peers, from
    the canonical chain.
    2. Peers are undergoing re-org around this time. One of the peers has
    switched to a non-canonical chain, announces block 1001 from that chain
    3. Node downloads 1001 from the peer, and tries to import which would
    fail (as we don't have the parent block 1000 from the other chain)
    
    ---------
    
    Co-authored-by: Dmitry Markin <[email protected]>
    rahulksnv and dmitry-markin authored Oct 31, 2023
    Configuration menu
    Copy the full SHA
    d85c1d9 View commit details
    Browse the repository at this point in the history
  4. check-each-crate: Do not reference crate to check by name (paritytech…

    …#2098)
    
    This pull request changes how `check-each-crate.py` is working. Instead
    of passing the name of the crate via `-p`, we now jump into the
    directory of the crate and call there `cargo check`. This should fix
    issues like paritytech#2013 where
    a crate is present twice in the `Cargo.lock`.
    
    Besides that it also changes `core/Cargo.toml` to not always pull in
    bandersnatch.
    bkchr authored Oct 31, 2023
    Configuration menu
    Copy the full SHA
    3ae86ae View commit details
    Browse the repository at this point in the history
  5. Elliptic curves utilities refactory (paritytech#2068)

    - Usage the new published
    [arkworks-extensions](https://github.com/paritytech/arkworks-extensions)
    crates.
      Hooks are internally defined to jump into the proper host functions.
    - Conditional compilation of each curve (gated by feature with curve
    name)
    - Separation in smaller host functions sets, divided by curve (fits
    nicely with prev point)
    davxy authored Oct 31, 2023
    Configuration menu
    Copy the full SHA
    c38aae6 View commit details
    Browse the repository at this point in the history
  6. xcmp-queue: remove outdated bridging comment (paritytech#2095)

    Removed confusing and outdated `TODO`.
    acatangiu authored Oct 31, 2023
    Configuration menu
    Copy the full SHA
    f1bfc08 View commit details
    Browse the repository at this point in the history
  7. Update polkadot/xcm/xcm-builder/src/barriers.rs

    Co-authored-by: Branislav Kontur <[email protected]>
    acatangiu and bkontur authored Oct 31, 2023
    Configuration menu
    Copy the full SHA
    0f76530 View commit details
    Browse the repository at this point in the history
  8. Update polkadot/xcm/pallet-xcm/src/lib.rs

    Co-authored-by: Branislav Kontur <[email protected]>
    acatangiu and bkontur authored Oct 31, 2023
    Configuration menu
    Copy the full SHA
    9d3f2dd View commit details
    Browse the repository at this point in the history
  9. Update polkadot/xcm/pallet-xcm/src/lib.rs

    Co-authored-by: Branislav Kontur <[email protected]>
    acatangiu and bkontur authored Oct 31, 2023
    Configuration menu
    Copy the full SHA
    9feb4b0 View commit details
    Browse the repository at this point in the history
  10. Update polkadot/xcm/pallet-xcm/src/lib.rs

    Co-authored-by: Branislav Kontur <[email protected]>
    acatangiu and bkontur authored Oct 31, 2023
    Configuration menu
    Copy the full SHA
    0a38b70 View commit details
    Browse the repository at this point in the history
  11. fmt

    acatangiu committed Oct 31, 2023
    Configuration menu
    Copy the full SHA
    02447d0 View commit details
    Browse the repository at this point in the history
  12. Merge branch 'master' of github.com:paritytech/polkadot-sdk into pall…

    …et-xcm-fully-support-reserve-transfers
    acatangiu committed Oct 31, 2023
    Configuration menu
    Copy the full SHA
    84e3e29 View commit details
    Browse the repository at this point in the history
  13. [DNM] bump zombienet version (paritytech#2083)

    This version includes:
    - Move `spot` usage in CI to 50%
    - Fix `PodMonitor`, metrics will be relayed to grafana
    pepoviola authored Oct 31, 2023
    Configuration menu
    Copy the full SHA
    ada1ac3 View commit details
    Browse the repository at this point in the history
  14. polkadot: parachains: Fix v9 host configuration migration (paritytech…

    …#2103)
    
    We shouldn't override with their default fields that have been added in
    the previous version(v8), because we are going to lose whatever values have
    been set.
    
    Note, v8 & v9 seems to have landed at the same time on Rococo, probably
    they will land at the same time on westend and other chains, so functionally
    doesn't make much difference, but let's have this fixed for people that copy-paste
    :D, like me.
    
    ---------
    
    Signed-off-by: Alexandru Gheorghe <[email protected]>
    alexggh authored Oct 31, 2023
    Configuration menu
    Copy the full SHA
    64f4b15 View commit details
    Browse the repository at this point in the history
  15. 1953 defensive testing extrinsic (paritytech#1998)

    # Description
    
    The `trigger_defensive` call has been added to the `root-testing`
    pallet. The idea is to have this pallet running on `Rococo/Westend` and
    use it to verify if the runtime monitoring works end-to-end.
    
    To accomplish this, `trigger_defensive` dispatches an event when it is
    called.
    
    Closes paritytech#1953
    
    # Checklist
    
    - [x] My PR includes a detailed description as outlined in the
    "Description" section above
    - [ ] My PR follows the [labeling requirements](CONTRIBUTING.md#Process)
    of this project (at minimum one label for `T`
      required)
    - [ ] I have made corresponding changes to the documentation (if
    applicable)
    - [ ] I have added tests that prove my fix is effective or that my
    feature works (if applicable)
    
    You can remove the "Checklist" section once all have been checked. Thank
    you for your contribution!
    
    ✄
    -----------------------------------------------------------------------------
    
    ---------
    
    Signed-off-by: Oliver Tale-Yazdi <[email protected]>
    Co-authored-by: Oliver Tale-Yazdi <[email protected]>
    adelarja and ggwpez authored Oct 31, 2023
    Configuration menu
    Copy the full SHA
    6e2f94f View commit details
    Browse the repository at this point in the history
  16. Add ci check for parity-publish and fix current check issues (parityt…

    …ech#1887)
    
    Co-authored-by: Sergejs Kostjucenko <[email protected]>
    Co-authored-by: Bastian Köcher <[email protected]>
    3 people authored Oct 31, 2023
    Configuration menu
    Copy the full SHA
    495d24d View commit details
    Browse the repository at this point in the history

Commits on Nov 1, 2023

  1. Configuration menu
    Copy the full SHA
    b53a93a View commit details
    Browse the repository at this point in the history
  2. Merge remote-tracking branch 'adrian/pallet-xcm-fully-support-reserve…

    …-transfers' into alistair/merge-from-adrian
    alistair-singh committed Nov 1, 2023
    Configuration menu
    Copy the full SHA
    546d452 View commit details
    Browse the repository at this point in the history
  3. Bump chevdor/srtool-actions from 0.8.0 to 0.9.0 (paritytech#2089)

    Bumps
    [chevdor/srtool-actions](https://github.com/chevdor/srtool-actions) from
    0.8.0 to 0.9.0.
    <details>
    <summary>Release notes</summary>
    <p><em>Sourced from <a
    href="https://github.com/chevdor/srtool-actions/releases">chevdor/srtool-actions's
    releases</a>.</em></p>
    <blockquote>
    <h2>v0.9.0</h2>
    <h2>What's Changed</h2>
    <ul>
    <li>Add debugging info by <a
    href="https://github.com/chevdor"><code>@​chevdor</code></a> in <a
    href="https://redirect.github.com/chevdor/srtool-actions/pull/25">chevdor/srtool-actions#25</a></li>
    </ul>
    <p><strong>Full Changelog</strong>: <a
    href="https://github.com/chevdor/srtool-actions/compare/v0.8.0...v0.9.0">https://github.com/chevdor/srtool-actions/compare/v0.8.0...v0.9.0</a></p>
    </blockquote>
    </details>
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a
    href="https://github.com/chevdor/srtool-actions/commit/d7c66d9766f633abab95127ee910dd96892f8e3b"><code>d7c66d9</code></a>
    Add debugging info and fixes for the monorepo (<a
    href="https://redirect.github.com/chevdor/srtool-actions/issues/25">#25</a>)</li>
    <li>See full diff in <a
    href="https://github.com/chevdor/srtool-actions/compare/v0.8.0...v0.9.0">compare
    view</a></li>
    </ul>
    </details>
    <br />
    
    
    [![Dependabot compatibility
    score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=chevdor/srtool-actions&package-manager=github_actions&previous-version=0.8.0&new-version=0.9.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
    
    Dependabot will resolve any conflicts with this PR as long as you don't
    alter it yourself. You can also trigger a rebase manually by commenting
    `@dependabot rebase`.
    
    [//]: # (dependabot-automerge-start)
    [//]: # (dependabot-automerge-end)
    
    ---
    
    <details>
    <summary>Dependabot commands and options</summary>
    <br />
    
    You can trigger Dependabot actions by commenting on this PR:
    - `@dependabot rebase` will rebase this PR
    - `@dependabot recreate` will recreate this PR, overwriting any edits
    that have been made to it
    - `@dependabot merge` will merge this PR after your CI passes on it
    - `@dependabot squash and merge` will squash and merge this PR after
    your CI passes on it
    - `@dependabot cancel merge` will cancel a previously requested merge
    and block automerging
    - `@dependabot reopen` will reopen this PR if it is closed
    - `@dependabot close` will close this PR and stop Dependabot recreating
    it. You can achieve the same result by closing it manually
    - `@dependabot show <dependency name> ignore conditions` will show all
    of the ignore conditions of the specified dependency
    - `@dependabot ignore this major version` will close this PR and stop
    Dependabot creating any more for this major version (unless you reopen
    the PR or upgrade to it yourself)
    - `@dependabot ignore this minor version` will close this PR and stop
    Dependabot creating any more for this minor version (unless you reopen
    the PR or upgrade to it yourself)
    - `@dependabot ignore this dependency` will close this PR and stop
    Dependabot creating any more for this dependency (unless you reopen the
    PR or upgrade to it yourself)
    
    
    </details>
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Nov 1, 2023
    Configuration menu
    Copy the full SHA
    37f3269 View commit details
    Browse the repository at this point in the history
  4. upgraded review-bot to 2.2.0 (paritytech#2097)

    This version includes paritytech/review-bot#97 which can assign
    reviewers.
    
    It will be the final step required to replace PRCR.
    
    It also moves the secrets to the environment master.
    Bullrich authored Nov 1, 2023
    Configuration menu
    Copy the full SHA
    9ca2673 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    b67cb0f View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    ec87ce6 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    da3c12e View commit details
    Browse the repository at this point in the history
  8. Move syncing code from sc-network-common to sc-network-sync (pari…

    …tytech#1912)
    
    This PR moves syncing-related code from `sc-network-common` to
    `sc-network-sync`.
    
    Unfortunately, some parts are tightly integrated with networking, so
    they were left in `sc-network-common` for now:
    
    1. `SyncMode` in `common/src/sync.rs` (used in `NetworkConfiguration`).
    2. `BlockAnnouncesHandshake`, `BlockRequest`, `BlockResponse`, etc. in
    `common/src/sync/message.rs` (used in `src/protocol.rs` and
    `src/protocol/message.rs`).
    
    More substantial refactoring is needed to decouple syncing and
    networking completely, including getting rid of the hardcoded sync
    protocol.
    
    ## Release notes
    
    Move syncing-related code from `sc-network-common` to `sc-network-sync`.
    Delete `ChainSync` trait as it's never used (the only implementation is
    accessed directly from `SyncingEngine` and exposes a lot of public
    methods that are not part of the trait). Some new trait(s) for syncing
    will likely be introduced as part of Sync 2.0 refactoring to represent
    syncing strategies.
    dmitry-markin authored Nov 1, 2023
    Configuration menu
    Copy the full SHA
    1cd6acd View commit details
    Browse the repository at this point in the history
  9. [ci] Update rust nightly in ci image (paritytech#2115)

    Run CI using new image with nightly 2023-11-01
    
    cc paritytech#2113
    cc paritytech/ci_cd#896
    alvicsam authored Nov 1, 2023
    Configuration menu
    Copy the full SHA
    f50054c View commit details
    Browse the repository at this point in the history
  10. [NPoS] Paging reward payouts in order to scale rewardable nominators (p…

    …aritytech#1189)
    
    helps paritytech#439.
    closes paritytech#473.
    
    PR link in the older substrate repository:
    paritytech/substrate#13498.
    
    # Context
    Rewards payout is processed today in a single block and limited to
    `MaxNominatorRewardedPerValidator`. This number is currently 512 on both
    Kusama and Polkadot.
    
    This PR tries to scale the nominators payout to an unlimited count in a
    multi-block fashion. Exposures are stored in pages, with each page
    capped to a certain number (`MaxExposurePageSize`). Starting out, this
    number would be the same as `MaxNominatorRewardedPerValidator`, but
    eventually, this number can be lowered through new runtime upgrades to
    limit the rewardeable nominators per dispatched call instruction.
    
    The changes in the PR are backward compatible.
    
    ## How payouts would work like after this change
    Staking exposes two calls, 1) the existing `payout_stakers` and 2)
    `payout_stakers_by_page`.
    
    ### payout_stakers
    This remains backward compatible with no signature change. If for a
    given era a validator has multiple pages, they can call `payout_stakers`
    multiple times. The pages are executed in an ascending sequence and the
    runtime takes care of preventing double claims.
    
    ### payout_stakers_by_page
    Very similar to `payout_stakers` but also accepts an extra param
    `page_index`. An account can choose to payout rewards only for an
    explicitly passed `page_index`.
    
    **Lets look at an example scenario**
    Given an active validator on Kusama had 1100 nominators,
    `MaxExposurePageSize` set to 512 for Era e. In order to pay out rewards
    to all nominators, the caller would need to call `payout_stakers` 3
    times.
    
    - `payout_stakers(origin, stash, e)` => will pay the first 512
    nominators.
    - `payout_stakers(origin, stash, e)` => will pay the second set of 512
    nominators.
    - `payout_stakers(origin, stash, e)` => will pay the last set of 76
    nominators.
    ...
    - `payout_stakers(origin, stash, e)` => calling it the 4th time would
    return an error `InvalidPage`.
    
    The above calls can also be replaced by `payout_stakers_by_page` and
    passing a `page_index` explicitly.
    
    ## Commission note
    Validator commission is paid out in chunks across all the pages where
    each commission chunk is proportional to the total stake of the current
    page. This implies higher the total stake of a page, higher will be the
    commission. If all the pages of a validator's single era are paid out,
    the sum of commission paid to the validator across all pages should be
    equal to what the commission would have been if we had a non-paged
    exposure.
    
    ### Migration Note
    Strictly speaking, we did not need to bump our storage version since
    there is no migration of storage in this PR. But it is still useful to
    mark a storage upgrade for the following reasons:
    
    - New storage items are introduced in this PR while some older storage
    items are deprecated.
    - For the next `HistoryDepth` eras, the exposure would be incrementally
    migrated to its corresponding paged storage item.
    - Runtimes using staking pallet would strictly need to wait at least
    `HistoryDepth` eras with current upgraded version (14) for the migration
    to complete. At some era `E` such that `E >
    era_at_which_V14_gets_into_effect + HistoryDepth`, we will upgrade to
    version X which will remove the deprecated storage items.
    In other words, it is a strict requirement that E<sub>x</sub> -
    E<sub>14</sub> > `HistoryDepth`, where
    E<sub>x</sub> = Era at which deprecated storages are removed from
    runtime,
    E<sub>14</sub> = Era at which runtime is upgraded to version 14.
    - For Polkadot and Kusama, there is a [tracker
    ticket](paritytech#433) to clean
    up the deprecated storage items.
    
    ### Storage Changes
    
    #### Added
    - ErasStakersOverview
    - ClaimedRewards
    - ErasStakersPaged
    
    #### Deprecated
    The following can be cleaned up after 84 eras which is tracked
    [here](paritytech#433).
    
    - ErasStakers.
    - ErasStakersClipped.
    - StakingLedger.claimed_rewards, renamed to
    StakingLedger.legacy_claimed_rewards.
    
    ### Config Changes
    - Renamed MaxNominatorRewardedPerValidator to MaxExposurePageSize.
    
    ### TODO
    - [x] Tracker ticket for cleaning up the old code after 84 eras.
    - [x] Add companion.
    - [x] Redo benchmarks before merge.
    - [x] Add Changelog for pallet_staking.
    - [x] Pallet should be configurable to enable/disable paged rewards.
    - [x] Commission payouts are distributed across pages.
    - [x] Review documentation thoroughly.
    - [x] Rename `MaxNominatorRewardedPerValidator` ->
    `MaxExposurePageSize`.
    - [x] NMap for `ErasStakersPaged`.
    - [x] Deprecate ErasStakers.
    - [x] Integrity tests.
    
    ### Followup issues
    [Runtime api for deprecated ErasStakers storage
    item](paritytech#426)
    
    ---------
    
    Co-authored-by: Javier Viola <[email protected]>
    Co-authored-by: Ross Bulat <[email protected]>
    Co-authored-by: command-bot <>
    3 people authored Nov 1, 2023
    Configuration menu
    Copy the full SHA
    00b85c5 View commit details
    Browse the repository at this point in the history
  11. remove gum dependency on jaeger (paritytech#2106)

    Co-authored-by: Marcin S <[email protected]>
    jpserrat and mrcnski authored Nov 1, 2023
    Configuration menu
    Copy the full SHA
    2726d5a View commit details
    Browse the repository at this point in the history
  12. [ci] Revert CI_IMAGE variable (paritytech#2120)

    CI image has been updated in the shared snippet, reverting the variable
    back.
    alvicsam authored Nov 1, 2023
    Configuration menu
    Copy the full SHA
    8507f45 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    dce5a8d View commit details
    Browse the repository at this point in the history
  14. review-bot: prevent request review of core-devs (paritytech#2121)

    This will remove `core-devs` from being required reviewers of PRs,
    Bullrich authored Nov 1, 2023
    Configuration menu
    Copy the full SHA
    b2bb8cb View commit details
    Browse the repository at this point in the history
  15. Improve FRAME storage docs (paritytech#1714)

    This is a port (and hopefully a small improvement) of @kianenigma's PR
    from the old Substrate repo:
    paritytech/substrate#13987. Following paritytech#1689 I
    moved the documentation of all macros relevant to this PR from
    `frame_support_procedural` to `pallet_macros` while including a hint for
    RA users.
    
    Question: Again with respect to paritytech#1689: Is there a good reason why we
    should *not* enhance paths with links to our current rustdocs? For
    example, instead of
    ```rust
    /// **Rust-Analyzer users**: See the documentation of the Rust item in
    /// `frame_support::pallet_macros::storage`.
    ```
    we could write
    ```rust
    /// **Rust-Analyzer users**: See the documentation of the Rust item in
    /// [`frame_support::pallet_macros::storage`](https://paritytech.github.io/polkadot-sdk/master/frame_support/pallet_macros/attr.storage.html).
    ```
    This results in a clickable link like this:
    <img width="674" alt="image"
    src="https://github.com/paritytech/polkadot-sdk/assets/10713977/c129e622-3942-4eeb-8acf-93ee4efdc99d">
    I don't really expect the links to become outdated any time soon, but I
    think this would be a great UX improvement over just having paths.
    
    TODOs:
    - [ ] Add documentation for `constant_name` macro
    - [x] Add proper documentation for different `QueryKinds`, i.e.
    `OptionQuery`, `ValueQuery`, `ResultQuery`. One example for each. Custom
    `OnEmpty` should be moved to `QueryKinds` trait doc page.
    - [ ] Rework `type_value` docs
    
    ---------
    
    Co-authored-by: kianenigma <[email protected]>
    wentelteefje and kianenigma authored Nov 1, 2023
    Configuration menu
    Copy the full SHA
    b6965af View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    ac9bf49 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    e85e339 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    9987bbb View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    9f7538d View commit details
    Browse the repository at this point in the history
  20. clippy

    acatangiu committed Nov 1, 2023
    Configuration menu
    Copy the full SHA
    45279cc View commit details
    Browse the repository at this point in the history
  21. Merge branch 'master' of github.com:paritytech/polkadot-sdk into pall…

    …et-xcm-fully-support-reserve-transfers
    acatangiu committed Nov 1, 2023
    Configuration menu
    Copy the full SHA
    59cf104 View commit details
    Browse the repository at this point in the history
  22. Merge remote-tracking branch 'adrian/pallet-xcm-fully-support-reserve…

    …-transfers' into alistair/merge-from-adrian
    alistair-singh committed Nov 1, 2023
    Configuration menu
    Copy the full SHA
    d68524b View commit details
    Browse the repository at this point in the history
  23. fixes

    alistair-singh committed Nov 1, 2023
    Configuration menu
    Copy the full SHA
    ebe8baf View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    2dd39ad View commit details
    Browse the repository at this point in the history