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

latest releases: v1.7.2-rc5, polkadot-v1.14.0, v1.14.0-rc1...
4 months ago

This release contains the changes from polkadot-v1.6.0 to polkadot-v1.7.0.

Rust compiler versions

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

Rust Stable:  rustc 1.74.0 (79e9716c9 2023-11-13)
Rust Nightly: rustc 1.75.0-nightly (9d83ac217 2023-10-31)

Runtimes

Westend

πŸ‹οΈ Runtime size:             1.650 MB (1,730,647 bytes)
πŸ—œ Compressed:               Yes, 79.22%
✨ Reserved meta:            OK - [6D, 65, 74, 61]
🎁 Metadata version:         V14
πŸ”₯ Core version:             westend-1007000 (parity-westend-0.tx24.au2)
πŸ—³οΈ system.setCode hash:      0xe8db5e7b5b9edcc68c2275a2e64b2092b36f19159dbb55d4c7574198f325383e
πŸ—³οΈ authorizeUpgrade hash:    0x30422f3a96a9a2a81e88c0ba936ba859fa4e9bcb9d06b4febe4a21bd76d2f46f
πŸ—³οΈ Blake2-256 hash:          0x085f68ab9991262334e944c078caeb8b20fede674dc1fca5fdc5fd7d4dd35e3a
πŸ“¦ IPFS:                     https://www.ipfs.io/ipfs/QmSmmQXCkADd8f5JVese9Cp8xnuo8F3UdLzURQnD7QVUDU

Westend AssetHub

πŸ‹οΈ Runtime size:             1.214 MB (1,272,838 bytes)
πŸ—œ Compressed:               Yes, 80.65%
✨ Reserved meta:            OK - [6D, 65, 74, 61]
🎁 Metadata version:         V14
πŸ”₯ Core version:             westmint-1007000 (westmint-0.tx14.au1)
πŸ—³οΈ system.setCode hash:      0xb1d33d2630c1ce11c1fa4df6e5764f0192ea3057372c885c14953e33008a3d56
πŸ—³οΈ authorizeUpgrade hash:    0x3bac1870a33c3e6376ea5e5e6eae9d20d44b5a203d3ec5c257d7705c28b9e0e7
πŸ—³οΈ Blake2-256 hash:          0xc2a2bbc026991a9177e4f94cd18227734aa68640c12844a3ade69827def7d7eb
πŸ“¦ IPFS:                     https://www.ipfs.io/ipfs/QmbxLDghaGECMRoVH7Vf82pmYZPDoJf8RERhGimovpjNTa

Westend BridgeHub

πŸ‹οΈ Runtime size:             0.990 MB (1,038,565 bytes)
πŸ—œ Compressed:               Yes, 79.31%
✨ Reserved meta:            OK - [6D, 65, 74, 61]
🎁 Metadata version:         V14
πŸ”₯ Core version:             bridge-hub-westend-1007000 (bridge-hub-westend-0.tx4.au1)
πŸ—³οΈ system.setCode hash:      0x8b5d3c85e0a870781d2b42b03f8301c3f85e38464745c6482ec5e86c557ee884
πŸ—³οΈ authorizeUpgrade hash:    0x97b7ae2d8d7142a4d36e49db5f16db24a826e02e537bbb1ad6201145dce33527
πŸ—³οΈ Blake2-256 hash:          0x16a78209318174f006d092fe033da616bb206ffa751ac26b56aa7c6b326dd0fc
πŸ“¦ IPFS:                     https://www.ipfs.io/ipfs/QmZXsKU9SK2GZHTaaNZm7fNWQT33fu9vF1ie5LqLXMRsws

Westend Collectives

πŸ‹οΈ Runtime size:             1.059 MB (1,110,582 bytes)
πŸ—œ Compressed:               Yes, 80.37%
✨ Reserved meta:            OK - [6D, 65, 74, 61]
🎁 Metadata version:         V14
πŸ”₯ Core version:             collectives-westend-1007000 (collectives-westend-0.tx5.au1)
πŸ—³οΈ system.setCode hash:      0x68a26809692f9147407297cec30803c79555d1b539939e905b5b91e5e801fe7a
πŸ—³οΈ authorizeUpgrade hash:    0x9f6e79b09813802491f87fd49aa904423f40c41efb7000c907ceb8210cf7a857
πŸ—³οΈ Blake2-256 hash:          0x4fc1411ffcfe4ba8f002d97e2fd32da34714c8393588acefb4f463ff03ae36a8
πŸ“¦ IPFS:                     https://www.ipfs.io/ipfs/QmZsfSFqijMsprGx7wY2ef9QtW7E6diV9ELp72jCMg1Cpv

Westend Coretime

πŸ‹οΈ Runtime size:             0.844 MB (885,451 bytes)
πŸ—œ Compressed:               Yes, 79.61%
✨ Reserved meta:            OK - [6D, 65, 74, 61]
🎁 Metadata version:         V14
πŸ”₯ Core version:             coretime-westend-1007000 (coretime-westend-0.tx0.au1)
πŸ—³οΈ system.setCode hash:      0xd51c3f3f8910576cc091bf033bc52e18fb44a73cdbd2eadfe97db77d41c03c88
πŸ—³οΈ authorizeUpgrade hash:    0x860b7b209336985fb1733e6b24823eb62f24896e35740f8bd0c0b16c8d041fd1
πŸ—³οΈ Blake2-256 hash:          0x8c48ce6e3636328385c29f3e4fa5f0f4e5eeeff6e1d9e36f11d489a16dde696e
πŸ“¦ IPFS:                     https://www.ipfs.io/ipfs/QmTrN2LhjRn52Mymcwg3prNvJNk2RWSLLDzsyV7sno2j1g

Westend Glutton

πŸ‹οΈ Runtime size:             0.546 MB (572,163 bytes)
πŸ—œ Compressed:               Yes, 76.65%
✨ Reserved meta:            OK - [6D, 65, 74, 61]
🎁 Metadata version:         V14
πŸ”₯ Core version:             glutton-westend-1007000 (glutton-westend-0.tx1.au1)
πŸ—³οΈ system.setCode hash:      0xfdb7bd3801b3250c136066a878353c6cd5c83b95d065acf977daff7d7022da47
πŸ—³οΈ authorizeUpgrade hash:    0x4a18fd9f8e857aad42ae6d2c0dd5cfd79f2c25e5e35d1f61ba2518576d9d2dc8
πŸ—³οΈ Blake2-256 hash:          0xe52cbeee457bb8c8e748536da5dd5b0ef3fa079abdda86940a1034576a84212f
πŸ“¦ IPFS:                     https://www.ipfs.io/ipfs/QmTDn5UJWT3habPBBiuebcLk4FJPyQ7bnwUJTpJaymSDgB

Westend People

πŸ‹οΈ Runtime size:             0.892 MB (935,728 bytes)
πŸ—œ Compressed:               Yes, 79.59%
✨ Reserved meta:            OK - [6D, 65, 74, 61]
🎁 Metadata version:         V14
πŸ”₯ Core version:             people-westend-1007000 (people-westend-0.tx0.au1)
πŸ—³οΈ system.setCode hash:      0x9cfd53e5820b100430b4f085a392ac45e1c7b2c742de09a8b14ce1ac721db63c
πŸ—³οΈ authorizeUpgrade hash:    0x794e02607f5cef65c997d296cdad233e2923d1f51144d2c954c16327177f7abe
πŸ—³οΈ Blake2-256 hash:          0x6dd054d921cc01892835fc38354532a087ac3f7d7b7264b70c78288ba3b02a0a
πŸ“¦ IPFS:                     https://www.ipfs.io/ipfs/QmUzfvJfhtrNidD4LKweMynww8BBmMtjjdkhcZ8UjYkxwm

Rococo

πŸ‹οΈ Runtime size:             1.532 MB (1,606,091 bytes)
πŸ—œ Compressed:               Yes, 79.79%
✨ Reserved meta:            OK - [6D, 65, 74, 61]
🎁 Metadata version:         V14
πŸ”₯ Core version:             rococo-1007000 (parity-rococo-v2.0-0.tx24.au0)
πŸ—³οΈ system.setCode hash:      0xc09e58e1d53e95b9844bdd765fcb746d32a522fd03586efe60cd9ba443aa0746
πŸ—³οΈ authorizeUpgrade hash:    0x37e1233ce9b5e24538d8c13b1b7c7125992beb218e412297fb592ec0d1b6aed8
πŸ—³οΈ Blake2-256 hash:          0x3aef2214f1b12a9a6d2a5890d71fa3a8879e29efd14a1377976d26eceb61ccbc
πŸ“¦ IPFS:                     https://www.ipfs.io/ipfs/QmaMoKW23EM8McN3LTLTUPXLwqjBvDoedUV1iWb1gJpmXb

Rococo AssetHub

πŸ‹οΈ Runtime size:             1.205 MB (1,263,249 bytes)
πŸ—œ Compressed:               Yes, 80.71%
✨ Reserved meta:            OK - [6D, 65, 74, 61]
🎁 Metadata version:         V14
πŸ”₯ Core version:             statemine-1007000 (statemine-0.tx14.au1)
πŸ—³οΈ system.setCode hash:      0x920541f407404457bcaabbf77c9ec79e7de09d5ac115f84a57dae2cf4c0b1e0a
πŸ—³οΈ authorizeUpgrade hash:    0x1640c015e3a4eab2dd399b5475bc05ba7413e7e8b97e62d8adf36c2de7993efe
πŸ—³οΈ Blake2-256 hash:          0x2fa670a729b4a891bd375f62020629013853839464c48ee68fa45dd26715e28f
πŸ“¦ IPFS:                     https://www.ipfs.io/ipfs/QmWSu4i87NLeB1XGiNr8xBtmqyUMBq1HbppXzyH9mvuUar

Rococo BridgeHub

πŸ‹οΈ Runtime size:             1.275 MB (1,337,062 bytes)
πŸ—œ Compressed:               Yes, 78.63%
✨ Reserved meta:            OK - [6D, 65, 74, 61]
🎁 Metadata version:         V14
πŸ”₯ Core version:             bridge-hub-rococo-1007000 (bridge-hub-rococo-0.tx4.au1)
πŸ—³οΈ system.setCode hash:      0x3bcdab6fdd5c5708a776f255bde6854693ae01f686999b4534fd2fab160d92da
πŸ—³οΈ authorizeUpgrade hash:    0xab1fd03f6e67ef7d718856b85b87f458074829504834ebe7edec551f9292f6ba
πŸ—³οΈ Blake2-256 hash:          0x49284e74a213185e27d78676702d9dbb045a04c15ed12b8fcae3170edf9a778d
πŸ“¦ IPFS:                     https://www.ipfs.io/ipfs/QmPJT42Estg4eSzXQ5e6WzBMf5N1w8wo83wJTFJ2EF6uDj

Rococo Contracts

πŸ‹οΈ Runtime size:             1.207 MB (1,265,977 bytes)
πŸ—œ Compressed:               Yes, 79.85%
✨ Reserved meta:            OK - [6D, 65, 74, 61]
🎁 Metadata version:         V14
πŸ”₯ Core version:             contracts-rococo-1007000 (contracts-rococo-0.tx6.au1)
πŸ—³οΈ system.setCode hash:      0xec4b5d2a34e5ef727e8856f9a282dfed273c2acc7dda0921cfe60d7dc2bc6c3f
πŸ—³οΈ authorizeUpgrade hash:    0xfb0e36a4d4aba12274cd2aeb15872c4467bc7bebc28e4725fd7bcb60cfd862d5
πŸ—³οΈ Blake2-256 hash:          0xedf060b616f148300d55f693aadf74713c6db68c911d1a39e5ac1dda38485c19
πŸ“¦ IPFS:                     https://www.ipfs.io/ipfs/QmVnakWvgPKF6X6FtcToULECYeZa1Cq9h2mUj9ZzjdTd78

Rococo Coretime

πŸ‹οΈ Runtime size:             0.896 MB (939,268 bytes)
πŸ—œ Compressed:               Yes, 79.58%
✨ Reserved meta:            OK - [6D, 65, 74, 61]
🎁 Metadata version:         V14
πŸ”₯ Core version:             coretime-rococo-1007000 (coretime-rococo-0.tx0.au1)
πŸ—³οΈ system.setCode hash:      0x5725c355036b000c8004c739d3e6983fd2e80ab054b91df9f8b1e8a3b1771b26
πŸ—³οΈ authorizeUpgrade hash:    0x9ccc2ab2adb967dab8ec644c6fdc662587d712f22b371f62dbe5d434a5dede52
πŸ—³οΈ Blake2-256 hash:          0x4d260993fcf091490de24114a8b648c01cb555012422aab4d1b5bb5bf726a297
πŸ“¦ IPFS:                     https://www.ipfs.io/ipfs/QmXSHoTHszsEsHCYYTHQE7Looic5ntsL8AvzmoJTMu3byZ

Rococo People

πŸ‹οΈ Runtime size:             0.891 MB (934,165 bytes)
πŸ—œ Compressed:               Yes, 79.62%
✨ Reserved meta:            OK - [6D, 65, 74, 61]
🎁 Metadata version:         V14
πŸ”₯ Core version:             people-rococo-1007000 (people-rococo-0.tx0.au1)
πŸ—³οΈ system.setCode hash:      0xd8ec1fc15d0932871c1e7f3de86269e31e0e26cb7cac35df11a0a40b806dd60a
πŸ—³οΈ authorizeUpgrade hash:    0xbd0fafd0e40f1c277872cf91bf10557e9f0d0274e0bd32f6139169ff14a90041
πŸ—³οΈ Blake2-256 hash:          0x26c9c9e0041937900af9bb06d7907e4c055a514db765c742c6b1893babebee84
πŸ“¦ IPFS:                     https://www.ipfs.io/ipfs/QmUo7R7akEd9Wk5SGhVKRimNsDRciRtknbH3B8aRFzoNGo

Changes

Changelog for Node Dev.

#2942: Fix pallet-nomination-pools v6 to v7 migration

Restores the behaviour of the nomination pools V6ToV7 migration so that it still works when the pallet will be upgraded to V8 afterwards.

#3108: revert paritytech/polkadot#6577 & related changes

Moves BEEFY related pallets behind session_pallet for Rococo and Westend runtimes.
Effects that each MmrLeaf in the MMR generated by mmr_pallet for block<N> references the next_auth_set of block<N> and not block<N-1>.
Breaking change for proofs generated by mmr_generateProof

#2125: Introduce bounds for the number of candidate validation subsystem simultaneously processed tasks

Makes it possible for the candidate validation subsystem to create backpressure on subsystems requesting to validate a candidate through limiting the number of simultaneously processed validation tasks.

#2970: Add availability-distribution and biftield-distribution subsystem benchmark

The new subsystem benchmark test objective (DataAvailabilityWrite) is designed to stress test the part of the pipeline that takes as input a backed candidate and then distributes it as erasure coded chunks to other validators. The test pulls in the av-store, bitfield-distribution and availability-distribution subsystems while the whole network and rest of the node subsystems are emulated.

#2467: Extract warp sync strategy from ChainSync

WarpSync, and StateSync as the logical part of warp sync, are extracted from ChainSync as independent syncing strategies. SyncingStrategy enum is introduced as a proxy between SyncingEngine and specific strategies. SyncingStrategy may be replaced by a trait in a follow-up PRs.

#3040: Rename transaction to transactionWatch

Renamed transaction_unstable_submitAndWatch to transactionWatch_unstable_submitAndWatch,
transaction_unstable_watchEvent to transactionWatch_unstable_watchEvent and
transaction_unstable_unwatch to transactionWatch_unstable_unwatch.

#3061: Do not run unneeded subsystems on collator and its alongside node

Optimizes overseer building strategy to only include subsystems needed to run the given type of node. Reduces overseer overhead and also solves the problem with unused subsystems getting stalled from time to time.

Changelog for Node Operator.

#2477: Use clone instead of fork on pvf

For validators: Adds a new, optional security capability.
Most modern Linux machines should support it, otherwise you will get a warning like:
"- Optional: Cannot call clone with all sandboxing flags, a Linux-specific kernel security features: not available".
If you are already running in a secure environment such as a container, this may conflict with our security features; your only option may be to ignore the warning.
Otherwise, it is recommended to upgrade your Linux version!

#3009: sc-informant: Respect --disable-log-color

Fixes some places that weren't respecting the --disable-log-color CLI flag.

#1313: backpressured JSON-RPC server (upgrade jsonrpsee)

Modifies the jsonrpc server to be "backpressured" and it's possible to configure how many messages can be "buffered" via the CLI --rpc_message_buffer_capacity.

Major changes in this PR:

  • The subscriptions are now bounded and if subscription can't keep up with the server it is dropped
  • CLI: add parameter to configure the jsonrpc server bounded message buffer (default is 64)
  • Add our own subscription helper to deal with the unbounded streams in substrate

Changelog for Runtime Dev.

#3156: Adapt core-fellowship and salary pallets for swapped members

The ranked-collective pallet got the ability to swap members but the core-fellowship and salary pallets would not be notified of this change. This MR adds MemberSwappedHandler to the collective that is implemented by both pallets.

#1230: XCMv4

A new version of the XCM format.
The main changes are:

  • Removed Multi prefix from types
  • Removed Abstract asset id
  • Outcome is now a named fields struct
  • Added Reanchorable trait, implemented for both Location and Asset
  • New syntax for building Locations and Junctions using slices.
    You build them like let location = Location::new(1, [Parachain(1000), PalletInstance(50), GeneralIndex(1984)]);
    and match on them like match location.unpack() { (1, [Parachain(id)]) => ... (0, Here) => ..., (1, [_]) => ..., }

#3001: Introduce Balances::force_adjust_total_issuance

Introduce a root extrinsic to forcefully adjust the Total Issuance. Should only be used to fix historic errors.

#1845: XCM WeightTrader: Swap Fee Asset for Native Asset

Implements an XCM executor WeightTrader, facilitating fee payments in any asset that can be exchanged for a native asset.

A few constraints need to be observed:

  • buy_weight and refund operations must be atomic, as another weight trader implementation might be attempted in case of failure.
  • swap credit must be utilized since there isn’t an account to which an asset of some class can be deposited with a guarantee to meet the existential deposit requirement.

#2924: Add NonFungibleAdapter

Introduces a new adapter, NonFungibleAdapter, to work with frame_support::traits::tokens::nonfungible
through XCM.

#3108: revert paritytech/polkadot#6577 & related changes

Moves BEEFY related pallets behind session_pallet for Rococo and Westend runtimes.
Effects that each MmrLeaf in the MMR generated by mmr_pallet for block<N> references the next_auth_set of block<N> and not block<N-1>.

#1296: fungible fixes and more conformance tests

Adds conformance tests for the Balanced and Unbalanced fungible traits.
Fixes Unbalanced::decrease_balance not respecting preservation.
Fixes Balanced::pair possibly returning pairs of imbalances which do not cancel each other out. Method now returns a Result instead (breaking change).
Fixes Balances pallet active_issuance possible 'underflow'.
Refactors the conformance test file structure to match the fungible file structure: tests for traits in regular.rs go into a test file named regular.rs, tests for traits in freezes.rs go into a test file named freezes.rs, etc.
Improve doc comments.
Simplify macros.

#3029: Snowbridge Ethereum Deneb fork preparation

Changes the Rococo runtime Ethereum fork config to include the Deneb hard-fork. Updates the Snowbridge subtree with preparation for Deneb. Removes the beacon-minimal-spec feature.

#2657: [frame] #[pallet::composite_enum] improved variant count handling + removed pallet_balances's MaxHolds config

The implementation of the VariantCount trait for aggregate composite enums, such as RuntimeHoldReason and RuntimeFreezeReason, has been fixed.
It is now calculated as the sum of VariantCount::VARIANT_COUNT for all corresponding #[pallet::composite_enum].
The Balances pallet's Config item type MaxHolds has been removed, and type Holds is now bound to the variant count of the composite enum RuntimeHoldReason.
Consequently, the runtime does not need to consider setting the correct value for MaxHolds.

notes:

  • Remove type MaxHolds from the impl pallet_balances::Config for Runtime in the runtime.
  • When holds are expected to be used, ensure that type RuntimeHoldReason = RuntimeHoldReason is set for impl pallet_balances::Config for Runtime.

#3110: Nomination pools Fix payout destination in permissionless unbond

This PR fixes an issue whereby when a nomination pool allowed for permissionless unbonding of funds, the implicit claimed rewards were mistakenly sent to the caller of the unbond, and not the actual member. A nomination pool only allows permissionless unbonding when its state was set into Destroying by the operator.

#1222: Transactional processing for XCM

Transactional processing was introduced for certain XCM instructions. They are:

  • WithdrawAsset
  • ReserveAssetDeposited
  • TransferAsset
  • TransferReserveAsset
  • ReceiveTeleportedAsset
  • DepositAsset
  • DepositReserveAsset
  • InitiateReserveWithdraw
  • InitiateTeleport
  • BuyExecution
  • ClaimAsset
  • ExportMessage
  • LockAsset
  • UnlockAsset
  • RequestUnlock

Developers must specify a TransactionalProcessor when configuring their XCM executor.
FRAME-based runtimes would simply need to configure it with FrameTransactionalProcessor to enable transactional processing. To disable transactional processing of XCMs, () may also be specified as the type for TransactionalProcessor.
For runtimes that are not FRAME-based but would like to still harness transactional processing of XCMs, a type implementing the ProcessTransaction trait must be specified as the type for TransactionalProcessor. This trait is for the purpose of connecting the chain's runtime transactional processor with the XCM executor -- any implementation of ProcessTransaction is possible to be assigned as the TransactionalProcessor for the XCM executor.

#3057: Serialize/Deserialize trait implemented in no-std for XCM assets types

Serialize/Deserialize trait implemented in no-std for XCM v3 and v4 assets types

#2920: Contracts: Stabilize sr25519_verify host function

Removed the #[unstable] attrribute on sr25519_verify host function.

#3228: [pallet_xcm] Forgotten migration to XCMv4 + added try-state to the pallet_xcm

The current release includes the new XCMv4, so the runtimes must incorporate a migration pallet_xcm::migration::MigrateToLatestXcmVersion<Runtime> to ensure
proper data migration in pallet_xcm.

Changelog for Runtime User.

#2796: Rococo and Westend Asset-Hub: XCM Transfers with Pallet-Uniques

With the added UniquesTransactor Rococo and Westend Asset-Hub are now capable of handling XCM transfers with pallet-uniques.

#2587: Allow fellowship members to swap their AccountIds.

Add a exchange_member extrinsic to the ranked-collective pallet that allows to vote on swapping the AccountId of a member. This can be used to recover lost access to a collective.

#3020: Para registration deposit covering max code size

With this PR all newly registered parachains must pay a deposit equivalent to the cost of registering validation code of the maximum size. Consequently, they can upgrade their code to the maximum size at any point without additional cost.

#2826: Enable async backing on asset-hub-rococo

Async backing has been enabled on Asset Hub Rococo, which now targets 6s block times.

#2889: Filter backing votes from disabled validators in paras_inherent

paras_inherent drops any backing votes from disabled validators on block import and asserts that no votes from disabled validators are included in a block during execution

#3077: Enable cross-chain Coretime region transfers on Rococo Coretime chain

This PR allows Coretime regions to be cross-chain transferred from the Rococo Coretime chain.

#1871: Adding try-state hook to tips pallet

Enforces the following invariants;

  1. The number of entries in Tips should be equal to Reasons.
  2. If OpenTip.finders_fee is true, then OpenTip.deposit should be greater than zero.
  3. Reasons exists for each Tip[OpenTip.reason], implying equal length of storage.

Don't miss a new polkadot-sdk release

NewReleases is sending notifications on new releases.