Skip to content

Polkadot v1.7.0

Compare
Choose a tag to compare
@EgorPopelyaev EgorPopelyaev released this 07 Feb 11:15
· 4 commits to release-polkadot-v1.7.0 since this release
2fe3145

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.

#2689 & #3074: Fix BEEFY & Warp Sync compatibility - Allow Warp Sync for Validators

#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.