Runtimes 1.3.0
Changelog
Changelog for the runtimes governed by the Polkadot Fellowship.
The format is based on Keep a Changelog.
[1.3.0] 20.08.2024
Added
- Kusama: Relay General Admin Origin mapping to xcm Location (polkadot-fellows/runtimes#383)
- Encointer, PeopleKusama, PeoplePolkadot: Configure delivery fees for UMP (polkadot-fellows/runtimes#390)
- Introduce a new dispatchable function
set_partial_params
inpallet-core-fellowship
(runtimes#381, SDK v1.14 #3843). - RFC-5: Add request revenue info (runtimes#381, SDK v1.14 #3940).
- Core-Fellowship: new
promote_fast
call (runtimes#381, SDK v1.14 #4877). - Pallet ranked collective: max member count per rank (runtimes#381, SDK v1.14 #4807).
- All runtimes: XcmPaymentApi and DryRunApi (polkadot-fellows/runtimes#380)
- Fast promotion tracks for the Fellowship ranks I-III (polkadot-fellows/runtimes#356).
- All runtimes: add
LocationToAccountApi
(polkadot-fellows/runtimes#413) - Enable Agile Coretime on Polkadot (polkadot-fellows/runtimes#401)
- Add the Polkadot Coretime Chain runtime (polkadot-fellows/runtimes#410)
- Kusama: Add a "Spokesperson" proxy type only allowed to send remarks (polkadot-fellows/runtimes#430)
- Add the Polkadot and Kusama Coretime Chain specs (polkadot-fellows/runtimes#432)
- Migration to remove all but the 21 first elected Head Ambassador members from the Program (polkadot-fellows/runtimes#422).
- Kusama: Make the current inflation formula adjustable (polkadot-fellows/runtimes#364)
- Port Agile Coretime migration from polkadot-sdk in order to fix leases with gaps handling(polkadot-fellows/runtimes#426)
From #322:
- Add
claim_assets
extrinsic topallet-xcm
(SDK v1.9 #3403). - Add
Deposited
/Withdrawn
events forpallet-assets
(SDK v1.12 #4312). - Add
MaxRank
Config topallet-core-fellowship
(SDK v1.13 #3393). - Add Extra Check in Primary Username Setter (SDK v1.13 #4534).
- Add HRMP notification handlers to the xcm-executor (SDK v1.10 #3696).
- Add retry mechanics to
pallet-scheduler
(SDK v1.8 #3060). - Add support for versioned notification for HRMP pallet (SDK v1.12 #4281).
- Adds ability to trigger tasks via unsigned transactions (SDK v1.11 #4075).
- Asset Conversion: Pool Account ID derivation with additional Pallet ID seed (SDK v1.11 #3250).
- Asset Conversion: Pool Touch Call (SDK v1.11 #3251).
- Balances: add failsafe for consumer ref underflow (SDK v1.12 #3865).
- Bridge: added force_set_pallet-state call to pallet-bridge-grandpa (SDK v1.13 #4465).
- Burn extrinsic call and
fn burn_from
Preservation
argument (SDK v1.12 #3964). - GenesisConfig presets for runtime (SDK v1.11 #2714).
- Im-online pallet offchain storage cleanup (SDK v1.8 #2290).
- Implements a percentage cap on staking rewards from era inflation (SDK v1.8 #1660).
- Introduce submit_finality_proof_ex call to bridges GRANDPA pallet (SDK v1.8 #3225).
- New call
hrmp.establish_channel_with_system
to allow parachains to establish a channel with a system parachain (SDK v1.11 #3721). - New runtime api to check if a validator has pending pages of rewards for an era (SDK v1.12 #4301).
- Pallet-xcm: add new extrinsic for asset transfers using explicit reserve (SDK v1.11 #3695).
- Ranked collective introduce
Add
andRemove
origins (SDK v1.8 #3212). - Runtime apis to help with delegate-stake based Nomination Pools (SDK v1.13 #4537).
Changed
- Polkadot chains: allow arbitrary XCM execution (polkadot-fellows/runtimes#345).
- Bounties: Remove payout delay (polkadot-fellows/runtimes#386).
- Polkadot System Chains: Reduce the base transaction fee by half (polkadot-fellows/runtimes#398).
- Asset Hubs: setup auto incremented asset id to 50_000_000 for trust backed assets (polkadot-fellows/runtimes#414).
- Upgrade dependencies to the polkadot-sdk@1.13.0 release (polkadot-fellows/runtimes#332).
- Filter
interlace
calls on the Polkadot Coretime Chain until the Relay chain implementation is more mature (polkadot-fellows/runtimes#438).
From #322:
- The
MessageQueue
also runs "on idle", this causesMessageQueue::Processed
events to be emitted in other phases than just initialization (SDK v1.13 #3844). - AdaptPrice trait is now price controlled (SDK v1.13 #4521).
- Allow StakingAdmin to manage nomination pool configurations (SDK v1.11 #3959).
- Bridge: make some headers submissions free (SDK v1.12 #4102).
- Improving on_demand_assigner emitted events (SDK v1.13 #4339).
pallet-broker::start_sales
: Takeextra_cores
and not total cores (SDK v1.11 #4221).- Pallet-nomination-pools:
chill
is permissionless if depositor's stake is less thanmin_nominator_bond
(SDK v1.9 #3453). polkadot_runtime_parachains::coretime
: ExposeMaxXcmTransactWeight
(SDK v1.11 #4189).- Pools: Make PermissionlessWithdraw the default claim permission (SDK v1.10 #3438).
- Prevents staking controllers from becoming stashes of different ledgers; Ensures that no ledger in bad state is mutated (SDK v1.9 #3639).
- Snowbridge: deposit extra fee to beneficiary on Asset Hub (SDK v1.12 #4175).
- Storage bound the XCMP queue pallet (SDK v1.13 #3952).
- Validator disabling strategy in runtime (SDK v1.12 #2226).
Fixed
- Fix claim queue size (runtimes#381, SDK v1.14 #4691).
pallet-referenda
: Ensure to schedule referenda earliest at the next block (runtimes#381, SDK v1.14 #4823).- Don't partially modify HRMP pages (runtimes#381, SDK v1.14 #4710).
- Coretime Chain: mitigate behaviour with many assignments on one core ([runtimes#434][https://github.com//pull/434]).
- Port Agile Coretime migration from polkadot-sdk in order to fix leases with gaps handling(polkadot-fellows/runtimes#426)
From #322:
- CheckWeight checks for combined extrinsic length and proof size (SDK v1.12 #4326).
- Decrement total_deposit when clearing collection metadata (SDK v1.11 #3976).
- Detect incorrect pre-image length when submitting a referenda (SDK v1.10 #3850).
- Fix
schedule_code_upgrade
when called by the owner/root (SDK v1.10 #3341). - Fix algorithmic complexity of the on-demand scheduler (SDK v1.10 #3190).
- Fix call enum's metadata regression (SDK v1.9 #3513).
- Fix dust unbonded for zero existential deposit (SDK v1.12 #4364).
- Fix extrinsics count logging in frame-system (SDK v1.12 #4461).
- Fix kusama 0 backing rewards when entering active set (SDK v1.10 #3722).
- Fix Stuck Collator Funds (SDK v1.11 #4229).
- Fix weight calculation and event emission in pallet-membership (SDK v1.9 #3324).
- Fix weight refund for
pallet-collator-selection::set_candidacy_bond
(SDK v1.9 #3643). - Fixed
GrandpaConsensusLogReader::find_scheduled_change
(SDK v1.11 #4208). - Fixes a scenario where a nomination pool's
TotalValueLocked
is out of sync due to staking's implicit withdraw (SDK v1.8 #3052). - Handle legacy lease swaps on coretime (SDK v1.10 #3714).
- Ignore mandatory extrinsics in total PoV size check (SDK v1.13 #4571).
- Pallet assets: minor improvement on errors returned for some calls (SDK v1.11 #4118).
- Pallet-broker: Fix
Linear::adapt_price
behavior at zero (SDK v1.9 #3636). - Pallet-broker: Fix claim revenue behaviour for zero timeslices (SDK v1.11 #3997).
- Pallet-broker: Support renewing leases expired in a previous period (SDK v1.11 #4089).
- Pallet-broker: Use saturating math in input validation (SDK v1.11 #4151).
- Pallet-xcm: fix transport fees for remote reserve transfers (SDK v1.10 #3792).
- Patch pool to handle extra consumer ref when destroying (SDK v1.13 #4503).
- Region reserve transfers fix (SDK v1.11 #3455).
- Snowbridge - Ethereum Client - Reject finalized updates without a sync committee in next store period (SDK v1.13 #4478).
- Treat XCM ExceedsStackLimit errors as transient in the MQ pallet (SDK v1.12 #4202).
- Unrequest a pre-image when it failed to execute (SDK v1.10 #3849).
- Validate code when scheduling uprades (SDK v1.8 #3232).
- XCMP: Use the number of 'ready' pages in XCMP suspend logic (SDK v1.9 #2393).
Removed
- Remove deprecated calls from treasury pallet (runtimes#381, SDK v1.14 #3820).
- Treasury pallet: - remove unused config parameters (runtimes#381, SDK v1.14 #4831).
- Remove Identity from Polkadot Relay Chain (runtimes#415)
- Kusama: Remove unused Snowbridge code and configs (polkadot-fellows/runtimes#411).
- Remove the identity ops pallet after the invalid judgments have been cleared (polkadot-fellows/runtimes#408).
From #322:
- Deprecate dmp-queue pallet (SDK v1.13 #4475).
- Deprecate XCMv2 (SDK v1.13 #4131).
- Identity: Remove double encoding username signature payload (SDK v1.13 #4646).
- Pallet-xcm: deprecate execute and send in favor of execute_blob and send_blob (SDK v1.10 #3749).
- Pallet-xcm: deprecate transfer extrinsics without weight limit (SDK v1.10 #3927).
- Remove
parametrized-consensus-hook
feature (SDK v1.13 #4380).
Note: Additional assets
The Polkadot Coretime chainspec is included in the release assets. It can be generated and the genesis state validated with the following steps. The two repositories in question can be cloned from Github if you don't already have them with
git clone git@github.com:polkadot-fellows/runtimes.git
and
git clone git@github.com:paritytech/polkadot-sdk.git
.
# polkadot-fellows/runtimes
git fetch --all && git checkout v1.3.0
cargo build --profile production --features on-chain-release-build -p chain-spec-generator
./target/production/chain-spec-generator coretime-polkadot > coretime-polkadot-plain.json
# Grab the runtime from the fellows release
curl -OL "https://github.com/polkadot-fellows/runtimes/releases/download/v1.3.0/coretime-polkadot_runtime-v1003000.compact.compressed.wasm"
# Unpack the wasm
cat coretime-polkadot_runtime-v1003000.compact.compressed.wasm | od -A n -v -t x1 | tr -d ' \n' > rt-hex.txt
# Replace the code in the chainspec
cat coretime-polkadot-plain.json | jq --rawfile code rt-hex.txt '.genesis.runtimeGenesis.code = ("0x" + $code)' > coretime-polkadot-edited.json
# Convert to raw
./target/production/chain-spec-generator --raw ./coretime-polkadot-edited.json > coretime-polkadot.json
# Export genesis state using polkadot-parachain-bin
# paritytech/polkadot-sdk, version is not too important but here I use the `polkadot-v1.14.1` tag. Replace the path/to with its location.
../path/to/polkadot-sdk/target/release/polkadot-parachain-bin export-genesis-state --chain coretime-polkadot.json > coretime-polkadot-genesis-head-data
Runtime info
These runtimes were built with rustc 1.77.0 (aedd173a2 2024-03-17) using srtool v0.15.0
To replicate the build, use the following command:
srtool build
--root --profile production
--package CRATE_NAME --runtime-dir PATH_TO_CRATE
--build-opts="--features=on-chain-release-build"
Polkadot
🏋️ Runtime Size: 1.73Mi (1809695 bytes)
🗜 Compressed: Yes: 73.98%
🔥 Core Version: polkadot-1003000 parity-polkadot-0.tx26.au0
🎁 Metadata version: V14
🗳️ Blake2-256 hash: 0x2a9eafb8537a2bfbc19968522a256d2c21fcbd9f3ab1ef945011858a39a1daef
📦 IPFS: QmbTZpRoWopLVnN6jfeU762JV8pLhdQuFiNhm6iS1utqzb
People Polkadot
🏋️ Runtime Size: 1023.96Ki (1048529 bytes)
🗜 Compressed: Yes: 73.01%
🔥 Core Version: people-polkadot-1003000 people-polkadot-0.tx0.au1
🎁 Metadata version: V14
🗳️ Blake2-256 hash: 0xca992784357a957166ad989da51eefeaef28711c4ed2064d0798c0273b8b88ce
📦 IPFS: Qme4XzjjcXLGqkKV3H55rkTJmJZvXebDKGS4XSjMPgNKiw
People Kusama
🏋️ Runtime Size: 1.01Mi (1050217 bytes)
🗜 Compressed: Yes: 73.04%
🔥 Core Version: people-kusama-1003000 people-kusama-0.tx1.au1
🎁 Metadata version: V14
🗳️ Blake2-256 hash: 0x1b5113e7e9f8072a87e9b7ec47aae01b1a3d00bde7ffe3ac214a0a339559f6d3
📦 IPFS: QmcbqfvmntKTbLm66MwYgzHURpCQrorpcAVLfE3gwQrLMW
Kusama
🏋️ Runtime Size: 1.83Mi (1910111 bytes)
🗜 Compressed: Yes: 74.45%
🔥 Core Version: kusama-1003000 parity-kusama-0.tx26.au2
🎁 Metadata version: V14
🗳️ Blake2-256 hash: 0xdf811140f158703224d80ee37ed92932d777ce061589084a608d1630bc2f3354
📦 IPFS: Qmccjv6fVV3jCUPx1QNRYCM7zH6QcNRMFbjbwXGhxfBCK4
Glutton
🏋️ Runtime Size: 504.69Ki (516794 bytes)
🗜 Compressed: Yes: 71.24%
🔥 Core Version: glutton-1003000 glutton-0.tx1.au1
🎁 Metadata version: V14
🗳️ Blake2-256 hash: 0x19cbcfe8378c902ec4f9b73342e95058b612699a1b3585d67b47d48cd94aad22
📦 IPFS: QmX8HroCqF6v3oMnhW9MoPibehhPHYZZKo6JJPfzrFw6yJ
Encointer Parachain
🏋️ Runtime Size: 1.13Mi (1177841 bytes)
🗜 Compressed: Yes: 73.9%
🔥 Core Version: encointer-parachain-1003000 encointer-parachain-1.tx4.au1
🎁 Metadata version: V14
🗳️ Blake2-256 hash: 0xb96d06a76078ecc7dee02bc8db7c60e61b4259b82e60181136d66d3d01b22021
📦 IPFS: QmXimTSLQ96aA9aePwXSzqas8yMzshMcBzmr8gdgbpybWk
Coretime Polkadot
🏋️ Runtime Size: 1.01Mi (1054742 bytes)
🗜 Compressed: Yes: 72.91%
🔥 Core Version: coretime-polkadot-1003000 coretime-polkadot-0.tx0.au1
🎁 Metadata version: V14
🗳️ Blake2-256 hash: 0xa4fb99720cf46ab485918e3034948a63993ef66e44473ae79ca48b043ada9c6e
📦 IPFS: QmVMJunrSQejzAg7p8qFvqDexNZ1ArfsyftL5HfyKmq9UB
Coretime Kusama
🏋️ Runtime Size: 1.01Mi (1055445 bytes)
🗜 Compressed: Yes: 72.99%
🔥 Core Version: coretime-kusama-1003000 coretime-kusama-0.tx1.au1
🎁 Metadata version: V14
🗳️ Blake2-256 hash: 0xab75cecd0589a230fa0d75000b92c930af94e64bccb76811fc030744937ad5f1
📦 IPFS: QmawxrpuYXyxdA76tzY9mcDNFwLjcX99oVPQcUgs2JjBxJ
Collectives
🏋️ Runtime Size: 1.17Mi (1224749 bytes)
🗜 Compressed: Yes: 74.63%
🔥 Core Version: collectives-1003000 collectives-0.tx7.au1
🎁 Metadata version: V14
🗳️ Blake2-256 hash: 0x787ebbdd1d03b93fbbfd2ec92967f31c79ed916b51b8fa3b14c22a14c762dcb7
📦 IPFS: Qme3K9efvfyiFrQQMSrJAm3pPzRS6u98RRCrY4FEdyQqEo
Bridge Hub Polkadot
🏋️ Runtime Size: 1.33Mi (1387794 bytes)
🗜 Compressed: Yes: 72.15%
🔥 Core Version: bridge-hub-polkadot-1003000 bridge-hub-polkadot-0.tx4.au1
🎁 Metadata version: V14
🗳️ Blake2-256 hash: 0xb1396335188f4a829a53fd47274328929412080f8f3fef7bae1683f2cd4461ce
📦 IPFS: QmPLJPZm2n2ueK5GCkmuyQXkKR7KDLXijx8yGXeKhnKYB1
Bridge Hub Kusama
🏋️ Runtime Size: 1.05Mi (1100573 bytes)
🗜 Compressed: Yes: 72.62%
🔥 Core Version: bridge-hub-kusama-1003000 bridge-hub-kusama-0.tx5.au1
🎁 Metadata version: V14
🗳️ Blake2-256 hash: 0xe35a18ed41bf7043214dcbbf2cf0284b621440a07474f2b41a50d89694a0a39d
📦 IPFS: QmPZ2moFxeC6wZE8nZYcEdnqgMqgz4CTNMjYfox6x2iiYp
Asset Hub Polkadot (previously Statemint)
🏋️ Runtime Size: 1.32Mi (1381790 bytes)
🗜 Compressed: Yes: 75.25%
🔥 Core Version: statemint-1003000 statemint-0.tx15.au1
🎁 Metadata version: V14
🗳️ Blake2-256 hash: 0x754c316ef45e67d8d142ae2d7c3cc9312667bff286ca3f4de844d5676346ca3e
📦 IPFS: QmZrLYT5BqvkKUSrgXp8RYihd6QE7qShADN8NoAecxWED7
Asset Hub Kusama (previously Statemine)
🏋️ Runtime Size: 1.32Mi (1379762 bytes)
🗜 Compressed: Yes: 75.31%
🔥 Core Version: statemine-1003000 statemine-0.tx15.au1
🎁 Metadata version: V14
🗳️ Blake2-256 hash: 0x2c55244426b158c84e00ab6a8b6d45867365ddadb707be4e28b19291f2e48e15
📦 IPFS: QmTpLSK42AXgPHAMdPWhvc7xAeNpBVRyzQ98yE5CUGQE3M