github paritytech/polkadot-sdk polkadot-v1.10.0
Polkadot v1.10.0

latest releases: polkadot-stable2409-1, v1.16.1-rc2, polkadot-v1.16.1...
7 months ago

This release contains the changes from polkadot-v1.9.0 to polkadot-v1.10.0.

Changelog

Changelog for Node Dev

[#3521]: Collator side changes for elastic scaling

Parachain teams wishing to utilize the benefits of elastic scaling will need to upgrade their collator code to include these changes.

[#3302]: Collator protocol changes for elastic scaling

This PR introduces changes to the collator protocol to support elastic scaling.
Namely, a new variant added to the collation response to include parent head-data along with the collation. Currently, the new variant is not being used.

[#3950]: Add ClaimQueue wrapper

Intoduces a new wrapper type: ClaimQueueSnapshot. It contains a snapshot of the ClaimQueue at an arbitrary relay chain block. Two methods are exposed to allow access to the claims at specific depths.

[#3795]: Enable collators to build on multiple cores

Introduces a CoreIndex parameter in SubmitCollationParams. This enables the collators to make use of potentially multiple cores assigned at some relay chain block. This extra parameter is used by the collator protocol and collation generation subsystems to forward the collation to the approapriate backing group.

[#3580]: Expose ClaimQueue via a runtime api and consume it in collation-generation

Creates a new runtime api exposing the ClaimQueue from scheduler pallet. Consume the api in collation generation (if available) by getting what's scheduled on a core from the ClaimQueue instead of from next_up_on_available (from AvailabilityCores runtime api).

[#3854]: Export unified ParachainHostFunctions from cumulus-client-service

Exports ParachainHostFunctions to have a bundled version of SubstrateHostFunctions and cumulus_primitives_proof_size_hostfunction::storage_proof_size::HostFunctions. This increases discoverability and makes it more obvious that they should be used together in parachain nodes.

[#3479]: Elastic scaling: runtime dependency tracking and enactment

Adds support in the inclusion and paras_inherent runtime modules for backing and including multiple candidates of the same para if they form a chain.

Changelog for Runtime Dev

[#3817]: Parachain Runtime API Implementations into mod apis Refactoring

This PR introduces a refactoring to the runtime API implementations within the parachain template project. The primary changes include enhancing the visibility of RUNTIME_API_VERSIONS to pub in impl_runtime_apis.rs, centralizing API implementations in a new apis.rs file, and streamlining lib.rs. These changes aim to improve project structure, maintainability, and readability.

Key Changes:

  • RUNTIME_API_VERSIONS is now publicly accessible, enhancing module-wide visibility.
  • Introduction of apis.rs centralizes runtime API implementations, promoting a cleaner and more navigable project structure.
  • The main runtime library file, lib.rs, has been updated to reflect these structural changes, removing redundant API implementations and simplifying runtime configuration by pointing VERSION to the newly exposed RUNTIME_API_VERSIONS from apis.rs.

Motivations:

  • Improved Project Structure: Centralizing API implementations offers a more organized and understandable project layout.
  • Enhanced Readability: The refactoring efforts aim to declutter lib.rs, facilitating easier comprehension for new contributors.

[#3722]: Fix kusama 0 backing rewards when entering active set

This PR fixes getting 0 backing rewards the first session when a node enters the active set.

[#3607]: XCM fee payment API

A runtime API was added for estimating the fees required for XCM execution and delivery.
This is the basic building block needed for UIs to accurately estimate fees.
An example implementation is shown in the PR. Ideally it's simple to implement, you only need to call existing parts of your XCM config.
The API looks like so:

      fn query_acceptable_payment_assets(xcm_version: Version) -> Result<Vec<VersionedAssetId>, Error>;
      fn query_xcm_weight(message: VersionedXcm<Call>) -> Result<Weight, Error>;
      fn query_weight_to_asset_fee(weight: Weight, asset: VersionedAssetId) -> Result<u128, Error>;
      fn query_delivery_fees(destination: VersionedLocation, message: VersionedXcm<()>) -> Result<VersionedAssets, Error>;

The first three relate to XCM execution fees, given an XCM, you can query its weight, then which assets are acceptable for buying weight and convert weight to a number of those assets.
The last one takes in a destination and a message you want to send from the runtime you're executing this on, it will give you the delivery fees.

[#3761]: Snowbridge: Synchronize from Snowfork repository

This PR improves the beacon client to send the execution header along with the message as proof and removes the verification and storing of all execution headers.
If the AH sovereign account is depleted and relayer rewards cannot be paid, the message should still be processed.

[#3792]: [pallet-xcm] fix transport fees for remote reserve transfers

This PR fixes pallet_xcm::transfer_assets and pallet_xcm::limited_reserve_transfer_assets extrinsics for transfers that need to go through remote reserves. The fix is adding a SetFeesMode { jit_withdraw: true } instruction before local execution of InitiateReserveWithdraw so that delivery fees are correctly charged by the xcm-executor. Without this change, a runtime that has implemented delivery fees would not be able to execute remote reserve transfers using these extrinsics.

[#3808]: Fix spelling mistakes in source code

Public crate changes:

  • The public trait RuntimeParameterStore in substrate/frame/support had the associated type renamed from AggregratedKeyValue to AggregatedKeyValue.
  • The public trait AggregratedKeyValue in substrate/frame/support was similarly renamed to AggregatedKeyValue.
  • The public methods test_versioning and test_versioning_register_only of the TestApi trait in substrate/primitives/runtime-interface/test-wasm had the spelling of versionning changed to versioning.
  • The public functions read_trie_first_descendant_value and read_child_trie_first_descendant_value in substrate/primitives/trie had the spelling of descedant changed to descendant.

[#3714]: Handle legacy lease swaps on coretime

When a registar::swap extrinsic is executed it swaps two leases on the relay chain but the broker chain never knows about this swap. This change notifies the broker chain via a XCM message for a swap so that it can update its state.

[#3740]: Removed pallet::getter usage from Beefy and MMR pallets

This PR removes pallet::getter usage from pallet-beefy, pallet-beefy-mmr and pallet-mmr, and updates dependant code and runtimes accordingly.
The syntax StorageItem::<T, I>::get() should be used instead.

[#3927]: pallet-xcm: deprecate transfer extrinsics without weight limit

pallet-xcm's extrinsics teleport_assets and reserve_transfer_assets have been marked as deprecated. Please change their usage to the limited_teleport_assets and limited_reserve_transfer_assets, respectively; or use the generic/flexible transfer_assets extrinsic.

[#3738]: Removed pallet::getter usage from pallet-alliance

This PR removes pallet::getter usage from pallet-alliance, and updates dependant code accordingly.
The syntax StorageItem::<T, I>::get() should be used instead.

[#3190]: Fix algorithmic complexity of the on-demand scheduler.

Improves on demand performance by a significant factor. Previously, having many on-demand cores would cause really poor blocktimes due to the fact that for each core the full order queue was processed. This allows for increasing the max size of the on-demand queue if needed.
At the same time, the spot price for on-demand is now checked prior to every order, ensuring that economic backpressure will be applied.

[#3654]: Remove experimental feature from pallet-aura

The experimental feature in pallet-aura, previously used to gate different experimental changes, became redundant with the introduction of the async backing which relies on the mentioned changes, therefore, it is removed.

[#3718]: Deprecate scheduler traits v1 and v2

Add #[deprecated] attribute to scheduler traits v1 and v2 to deprecate old versions

[#3471]: removed pallet::getter from cumulus pallets

This PR removes all the pallet::getter usages from cumulus pallets, and updates depdendant runtimes accordingly.
The ParaId can be retrieved using <ParachainInfo as Get<ParaId>>::get().
For other storage items, the syntax StorageItem::<T, I>::get() should be used instead.

[#3754]: Migrates Westend to Runtime V2

This PR migrates Westend from construct_runtime to Runtime V2 as introduced in #1378

[#3350]: removed pallet::getter from Pallet AURA

This PR removes all the declarations of macro pallet::getter in the Pallet AURA and replaces the use of storage getter functions authorities() & current_slot() with StorageItem::get() API across the crates as listed bellow.
The purpose is to discourage developers to use this macro, that is currently being removed and soon will be deprecated.

[#3749]: pallet-xcm: deprecate execute and send in favor of execute_blob and send_blob

pallet-xcm's extrinsics execute and send have been marked as deprecated. Please change their usage to the new execute_blob and send_blob. The migration from the old extrinsic to the new is very simple.
If you have your message xcm: VersionedXcm<Call>, then instead of passing in Box::new(xcm) to both execute and send, you would pass in xcm.encode().try_into() and handle the potential error of its encoded length being bigger than MAX_XCM_ENCODED_SIZE.
pallet-contracts takes the XCM encoded now as well. It follows the same API as execute_blob and send_blob.

[#3835]: migrations: prevent accidentally using inner unversioned migration instead of VersionedMigration

Currently, it is possible to accidentally use inner unversioned migration instead of VersionedMigration since both implement OnRuntimeUpgrade. With this change, we make it clear that Inner is not intended to be used directly. It is achieved by bounding Inner to new trait UncheckedOnRuntimeUpgrade, which has the same interface as OnRuntimeUpgrade, but can not be used directly for runtime upgrade migrations.

This change will break all existing migrations passed to VersionedMigration. Developers should simply change those migrations to implement UncheckedOnRuntimeUpgrade instead of OnRuntimeUpgrade.

Example:

--- a/path/to/migration.rs
+++ b/path/to/migration.rs
@@ -1,7 +1,7 @@
-impl<T: Config> OnRuntimeUpgrade for MigrateVNToVM<T> {
+impl<T: Config> UncheckedOnRuntimeUpgrade for MigrateVNToVM<T> {
    fn on_runtime_upgrade() -> Weight {
        // Migration logic here
        // Adjust the migration logic if necessary to align with the expectations
        // of new `UncheckedOnRuntimeUpgrade` trait.
        0
    }
}

[#3616]: Benchmarking pallet V2 syntax extension: pov_mode attribute

Adds the pov_mode attribute from the V1 benchmarking syntax to the V2 syntax. This allows to override the default PoV mode (MaxEncodedLen) to either Measured or Ignored. It can be overridden for a whole benchmark, a key prefix of a specific key itself.

Example syntax looks like this:

#[benchmark(pov_mode = Measured {
  Pallet: Measured,
  Pallet::Storage: MaxEncodedLen,
})]
fn do_some() {
  ..
}

[#3844]: Add the ability for MessageQueue to process enqueued messages on idle

Add the option to use remaining weight on idle for processing enqueued messages. This will increase the chances of the messages enqueued during inherent extrinsics to be processed in the same block.
New config types is added on the message-queue Config trait:

  • IdleMaxServiceWeight

example:
rust parameter_types! { // The maximum weight to be used from remaining weight for processing enqueued messages on idle pub const IdleMaxServiceWeight: Weight = Some(Weight); } type IdleMaxServiceWeight = IdleMaxServiceWeight; // or `()` to not use this feature

[#3696]: Add HRMP notification handlers to the xcm-executor

Adds optional HRMP notification handlers to the xcm-executor. These handlers are 3 new config types on the xcm-executor Config trait:

  • HrmpNewChannelOpenRequestHandler
  • HrmpChannelAcceptedHandler
  • HrmpChannelClosingHandler

The traits of these config types are implemented on tuples, and on () for the default case.

Changelog for Node Operator

[#3302]: Collator protocol changes for elastic scaling

Validators are required to upgrade to this version before collators in order to support the elastic scaling of parachains.

[#3808]: Fix spelling mistakes in source code

Some spelling mistakes in log output, error messages and tracing (prometheus/grafana) have been fixed.

[#3961]: Added support for coretime-kusama/polkadot and people-kusama/polkadot

The support for running coretime-kusama and people-kusama collators with polkadot-parachain-bin have been added.

Changelog for Runtime User

[#3341]: Fix schedule_code_upgrade when called by the owner/root

Fixes schedule_code_upgrade when being used by the owner/root. The call is used for manually upgrading the validation code of a parachain on the relay chain. It was failing before because the relay chain waited for the parachain to make progress. However, this call is mostly used for when a parachain are bricked which means that they are not able anymore to build any blocks. The fix is to schedule the validation code upgrade and then to enact it at the scheduled block. The enacting happens now without requiring the parachain to make any progress.

[#3849]: Unrequest a pre-image when it failed to execute

When a referenda finished the proposal will be scheduled. When it is scheduled, the pre-image is requested. The pre-image is unrequested after the proposal was executed. However, if the proposal failed to execute it wasn't unrequested. Thus, it could not be removed from the on-chain state. This issue is now solved by ensuring to unrequest the pre-image when it failed to execute.

[#3438]: Pools: Make PermissionlessWithdraw the default claim permission

Makes permissionless withdrawing the default claim permission, giving any network participant access to claim pool rewards on member's behalf, by default.

[#3706]: Extrinsic to restore corrupted staking ledgers

This PR adds a new extrinsic Call::restore_ledger gated by StakingAdmin origin that restores a corrupted staking ledger. This extrinsic will be used to recover ledgers that were affected by the issue discussed in #3245.
The extrinsic will re-write the storage items associated with a stash account provided as input parameter. The data used to reset the ledger can be either i) fetched on-chain or ii) partially/totally set by the input parameters of the call.

Changes introduced:

  • Adds Call::restore_ledger extrinsic to recover a corrupted ledger;
  • Adds trait frame_support::traits::currency::InspectLockableCurrency to allow external pallets to read current locks given an account and lock ID;
  • Implements the InspectLockableCurrency in the pallet-balances.
  • Adds staking locks try-runtime checks (#3751)

[#3850]: Detect incorrect pre-image length when submitting a referenda

When submitting a referenda the proposal is passed as argument.
The proposal is most of the time a reference to a pre-image and which also contains the length of the pre-image. This pull request
adds some logic to check that if the pre-image already exists and if it exists, it ensures that the length is passed correctly. This prevents that the referenda can not be executed because of a mismatch of this length.

[#3749]: pallet-xcm: deprecate execute and send in favor of execute_blob and send_blob

pallet-xcm has a new pair of extrinsics, execute_blob and send_blob.These are meant to be used instead of execute and send, which are now deprecated and will be removed eventually. These new extrinsics just require you to input the encoded XCM.
There's a new utility in PolkadotJS Apps for encoding XCMs you can use:
https://polkadot.js.org/apps/#/utilities/xcm
Just pass in the encoded XCM to the new extrinsics and you're done.

pallet-contracts takes the XCM encoded now as well. It follows the same API as execute_blob and send_blob.

[#3246]: Try State Hook for Beefy.

Invariants for storage items in the beefy pallet. Enforces the following Invariants:

  1. Authorities should not exceed the MaxAuthorities capacity.
  2. NextAuthorities should not exceed the MaxAuthorities capacity.
  3. ValidatorSetId must be present in SetIdSession.

Rust compiler versions

This release was built and tested against the following versions of rustc.
Other versions may work.

Rust Stable:  rustc 1.75.0 (82e1608df 2023-12-21)
Rust Nightly: rustc 1.77.0-nightly (ef71f1047 2024-01-21)

Runtimes

Westend

🏋️ Runtime size:             1.780 MB (1,865,983 bytes)
🗜 Compressed:               Yes, 79.13%
✨ Reserved meta:            OK - [6D, 65, 74, 61]
🎁 Metadata version:         V14
🔥 Core version:             westend-1010000 (parity-westend-0.tx24.au2)
🗳️ system.setCode hash:      0x53f2a8c836850c83364be48f66e6589d1074091bdf74aee0da4eea66140e233a
🗳️ authorizeUpgrade hash:    0xbfde5a2cd16cb520907a5dc142114d72d6d80fe4316c71a8d995a7d0a7292f03
🗳️ Blake2-256 hash:          0x67b635216cfd9d40548f3a0d0c963015fb2b9a5b2dcf5171e3933b964a6f3838
📦 IPFS:                     https://www.ipfs.io/ipfs/QmUJ2Sj81vFSD91fM2X3CLHB7shgCw3TD99tUy3JbZBZtk

Westend AssetHub

🏋️ Runtime size:             1.255 MB (1,315,803 bytes)
🗜 Compressed:               Yes, 80.47%
✨ Reserved meta:            OK - [6D, 65, 74, 61]
🎁 Metadata version:         V14
🔥 Core version:             westmint-1010000 (westmint-0.tx14.au1)
🗳️ system.setCode hash:      0xd0743a2334e5b731394468ef5d9a28da460e5b9012fe01101da8f3916d732982
🗳️ authorizeUpgrade hash:    0x3c45352f00158480b14c1b00c7e6fe477f3abc1fe2fa3b895d9a7450ebd5f56e
🗳️ Blake2-256 hash:          0x2c4eaa1dc41f4cd8d1540c9763f65b32c0e42bae2079a303725b30fe08a62be7
📦 IPFS:                     https://www.ipfs.io/ipfs/QmPCujTnuMMeepKkDpfcKdY2qoQ86MNP6YkFwQayXWFH6A

Westend BridgeHub

🏋️ Runtime size:             1.044 MB (1,094,763 bytes)
🗜 Compressed:               Yes, 78.76%
✨ Reserved meta:            OK - [6D, 65, 74, 61]
🎁 Metadata version:         V14
🔥 Core version:             bridge-hub-westend-1010000 (bridge-hub-westend-0.tx4.au1)
🗳️ system.setCode hash:      0x75271ccc4d19c4c371729e9ccf4156ff2d57e6a4bd7269b18f562e3bc72ebbab
🗳️ authorizeUpgrade hash:    0x834d1e79c1d94ff42b2e45c4999a6e832ed582dc54f784822f8f45569fc8085b
🗳️ Blake2-256 hash:          0x6bf5e5050865ae320e7cd6f6b67bd8166200d7061e36cff4c8953b6035f4dbb8
📦 IPFS:                     https://www.ipfs.io/ipfs/QmZ4AQk1SijHMjdk9BBFD91vkATVzF3RHo5omHucaH1XPm

Westend Collectives

🏋️ Runtime size:             1.117 MB (1,171,710 bytes)
🗜 Compressed:               Yes, 80.01%
✨ Reserved meta:            OK - [6D, 65, 74, 61]
🎁 Metadata version:         V14
🔥 Core version:             collectives-westend-1010000 (collectives-westend-0.tx5.au1)
🗳️ system.setCode hash:      0x9c085a90bff4d645502cd254ff5654a70f01283f18b079540087379e87c8a880
🗳️ authorizeUpgrade hash:    0x2a649e3001d32222adb3c38de2fddcfc0a7f6a2f5aff76e11cc1479dd188a1dc
🗳️ Blake2-256 hash:          0x2cc1a6f1217ec8a2f453423f6882f17712a687d22fefffba20d6d0afa5a83939
📦 IPFS:                     https://www.ipfs.io/ipfs/QmbaDBxyRYweKorR99a9MTgDAYtH4AHnVpo8QPVXx47Js9

Westend Coretime

🏋️ Runtime size:             0.931 MB (976,120 bytes)
🗜 Compressed:               Yes, 79.13%
✨ Reserved meta:            OK - [6D, 65, 74, 61]
🎁 Metadata version:         V14
🔥 Core version:             coretime-westend-1010000 (coretime-westend-0.tx0.au1)
🗳️ system.setCode hash:      0xeec18105079e4a6d00ecec2c4cbefda0a65ff7e0b5d0a1008ae5dc09d82c27b5
🗳️ authorizeUpgrade hash:    0x9b5d3b19d192c6275139e0a842a3bd5b4b99063d877424b5e0e96b8abc82283a
🗳️ Blake2-256 hash:          0x9a47e27b3ad05651a2934706fa4ff57549750ec31a3613f56281d2f1ddc7f976
📦 IPFS:                     https://www.ipfs.io/ipfs/Qme9k51jjQh9wWZZa1FwZ2pnE1BDspcnzccA3eCoHPve5g

Westend Glutton

🏋️ Runtime size:             0.572 MB (600,292 bytes)
🗜 Compressed:               Yes, 76.02%
✨ Reserved meta:            OK - [6D, 65, 74, 61]
🎁 Metadata version:         V14
🔥 Core version:             glutton-westend-1010000 (glutton-westend-0.tx1.au1)
🗳️ system.setCode hash:      0xcc4a57e00a8ea2804fa55ee70af81ca74770a1f091d2050b39560a8b0a63d6fb
🗳️ authorizeUpgrade hash:    0xc2c5b169e5446886103590883cdccd4565ef9c601eec1990d735d975a6a639ed
🗳️ Blake2-256 hash:          0xdedaa76a44468fbae1f7140228661d07858f2971737b6e81515644782ff7789b
📦 IPFS:                     https://www.ipfs.io/ipfs/QmbJxaAjfwF9NttSWjsPuaAKrdrnBWWyYHMsVfrs7sGNdS

Westend People

🏋️ Runtime size:             0.929 MB (974,084 bytes)
🗜 Compressed:               Yes, 79.24%
✨ Reserved meta:            OK - [6D, 65, 74, 61]
🎁 Metadata version:         V14
🔥 Core version:             people-westend-1010000 (people-westend-0.tx0.au1)
🗳️ system.setCode hash:      0x1cd1a6577e3af5d05911710e5226ca33c53f9787292e121f78b04ae206ed7983
🗳️ authorizeUpgrade hash:    0xabd1746ac07df242956029b6a7602fed63f00d4d5d7b9d16ee83cab57c513508
🗳️ Blake2-256 hash:          0xdd371c8adaa10749f66051f995c1698f0c330fee8269866ee2d4d509ed52966e
📦 IPFS:                     https://www.ipfs.io/ipfs/QmTSWxgTKGMYF8vQERoVwGcu2ZGLjRvqujDWfUUHYMPX42

Rococo

🏋️ Runtime size:             1.632 MB (1,711,567 bytes)
🗜 Compressed:               Yes, 79.67%
✨ Reserved meta:            OK - [6D, 65, 74, 61]
🎁 Metadata version:         V14
🔥 Core version:             rococo-1010000 (parity-rococo-v2.0-0.tx24.au0)
🗳️ system.setCode hash:      0x4723700868d0fc23b9b541fc050003ffa9b01cf82eb7eb62d403599c6aea4c43
🗳️ authorizeUpgrade hash:    0xc82a77d7804b3dbec4b44659fe0d9aa62a39bded1347749bfc41266e3550f7fa
🗳️ Blake2-256 hash:          0x879ae913b831731382f78350390754484a42dea5bf353757ffd4f0582d9190f8
📦 IPFS:                     https://www.ipfs.io/ipfs/QmUSjx4f4XM4XHdcXNcxSYnWhFEURJyBa7YLd6uFbazpmZ

Rococo AssetHub

🏋️ Runtime size:             1.262 MB (1,323,488 bytes)
🗜 Compressed:               Yes, 80.32%
✨ Reserved meta:            OK - [6D, 65, 74, 61]
🎁 Metadata version:         V14
🔥 Core version:             statemine-1010000 (statemine-0.tx14.au1)
🗳️ system.setCode hash:      0x851f5dd4807669f96b12f62c428694c6c00186c3a0f25b74862cc312107d76c6
🗳️ authorizeUpgrade hash:    0x84b3f87e44ef33b0052b49c9bc3752963fb22fe28768246a7548565d91963f44
🗳️ Blake2-256 hash:          0xe3e72f8c468aa0ae5d1ae6543dfe7b90b748e16d1faace732d1063fcb303a17a
📦 IPFS:                     https://www.ipfs.io/ipfs/QmSBuFrhFVqCcMiRNcTbeyCBRh9okFoc1c9HUqdHtHgxMp

Rococo BridgeHub

🏋️ Runtime size:             1.325 MB (1,389,404 bytes)
🗜 Compressed:               Yes, 78.29%
✨ Reserved meta:            OK - [6D, 65, 74, 61]
🎁 Metadata version:         V14
🔥 Core version:             bridge-hub-rococo-1010000 (bridge-hub-rococo-0.tx4.au1)
🗳️ system.setCode hash:      0xcd0becffe847311a006ae069dd744ff916b08e6b083d5af39937e2e20b41c4ef
🗳️ authorizeUpgrade hash:    0x2d6ed947d33bc7e00c44feffd368648ec7886d7d12d65f8cfb84e850e9004332
🗳️ Blake2-256 hash:          0x502c2b4388b629bf46c5274dd61dceade66b1a1728f87b2ea6c8b0edc1856d59
📦 IPFS:                     https://www.ipfs.io/ipfs/QmTo8dzc9FgmQjiiAK52dzfqjwfw8fTJGmphE3nGe1C77P

Rococo Contracts

🏋️ Runtime size:             1.251 MB (1,311,351 bytes)
🗜 Compressed:               Yes, 79.63%
✨ Reserved meta:            OK - [6D, 65, 74, 61]
🎁 Metadata version:         V14
🔥 Core version:             contracts-rococo-1010000 (contracts-rococo-0.tx6.au1)
🗳️ system.setCode hash:      0x7b69f9b08b4464f9bed59b53a8a291fccd0a501d9fa0362c975a4fd6b49ad98c
🗳️ authorizeUpgrade hash:    0x520183382ad3e68f8f1900028c80f940a9492fc6b70daa80d3d895bbdaaef7e4
🗳️ Blake2-256 hash:          0x4e515c2e2f81fea690d209017da33b6ff59cf6ae019a979215058234302721f8
📦 IPFS:                     https://www.ipfs.io/ipfs/QmQGsZdSerjBJALaRrvfT3h3ETKMQQPkZJCp4r4KamfseW

Rococo Coretime

🏋️ Runtime size:             0.940 MB (986,150 bytes)
🗜 Compressed:               Yes, 79.13%
✨ Reserved meta:            OK - [6D, 65, 74, 61]
🎁 Metadata version:         V14
🔥 Core version:             coretime-rococo-1010000 (coretime-rococo-0.tx0.au1)
🗳️ system.setCode hash:      0x83dd2e3c82d0c0a9bce62ae93f613ab6981cb694da549a93eaadae26e472bfcc
🗳️ authorizeUpgrade hash:    0xd225861d408c78f0fc52e36e07adcb1aa85189b1b4ab0f508505e4e080eb033c
🗳️ Blake2-256 hash:          0x53e891901270a0f169040545a37d5225cd05d8915f60fead6e71623133b436a2
📦 IPFS:                     https://www.ipfs.io/ipfs/QmRGj4gNHTSkB1mCrAMK9gdC9vjzXcYbVyu7es3wBvc1f3

Rococo People

🏋️ Runtime size:             0.934 MB (979,359 bytes)
🗜 Compressed:               Yes, 79.12%
✨ Reserved meta:            OK - [6D, 65, 74, 61]
🎁 Metadata version:         V14
🔥 Core version:             people-rococo-1010000 (people-rococo-0.tx0.au1)
🗳️ system.setCode hash:      0x5a9569ebc29f927d998e1022a6ae5b7e2558559d6db7c8f0f556a296fb0af40d
🗳️ authorizeUpgrade hash:    0x817c87c3db0c34abc59ccc3a2405767dd335e269cc2d6017351538ea39a3d18e
🗳️ Blake2-256 hash:          0x3fc704e0641acc614bb0f479395f6f0c4118c6c187efba1972d6117cd0072813
📦 IPFS:                     https://www.ipfs.io/ipfs/QmbbahqfjRQugSFMuPFhkrrres7T1ngSCuDodzKkme7f1t

Don't miss a new polkadot-sdk release

NewReleases is sending notifications on new releases.