This release contains the changes from polkadot-stable2407-6
to polkadot-stable2407-7
.
ℹ️ Please note:
⚠️ This is a patch release for the stable version: stable2407
and contains only patches and fixes to the crates (list below). No binary or docker images will be provided for this release.
The tag corresponding to the current patch release polkadot-stable2407-7
and matching the old pattern will be available under polkadot-v1.15.7.
The following crates were updated to the corresponding versions:
- frame-support-procedural@30.0.5
- publishing pallet-balances@38.0.1
- sc-network@0.44.2
Changelog
Changelog for Runtime Dev
ℹ️ These changes are relevant to: All of those who rely on the runtime. A parachain team that is using a pallet. A DApp that is using a pallet. These are people who care about the protocol (WASM, not the meta-protocol (client).)
[#7365]: Use checked math in frame-balances named_reserve
This PR modifies named_reserve()
in frame-balances to use checked math instead of defensive saturating math.
The use of saturating math relies on the assumption that the value will always fit in u128::MAX
. However, there is nothing preventing the implementing pallet from passing a larger value which overflows. This can happen if the implementing pallet does not validate user input and instead relies on named_reserve()
to return an error (this saves an additional read)
This is not a security concern, as the method will subsequently return an error thanks to <Self as ReservableCurrency<_>>::reserve(who, value)?;
. However, the defensive_saturating_add
will panic in --all-features
, creating false positive crashes in fuzzing operations.
[#7460]: Update SCALE codec indices
We need this in order to be able to update parity-scale-codec
to the latest version after it's released. That's because parity-scale-codec
added support for checking for duplicate indexes at compile time.
[#7437]: Remove dead code
Remove unused code
Rust compiler versions
This release was built and tested against the following versions of rustc
.
Other versions may work.
- Rust Stable:
"1.81.0"