github PolymeshAssociation/Polymesh v8.1.2

one day ago

Overview

This patch release hardens portfolio and multisig permission checks, closes several freeze-related gaps around portfolio transfers and NFT locking, refines the NFT precompile and its NFTApproval event, and updates the toolchain and dependency set. It also adds a Least Authority audit report for DART.

Runtime spec_version: 8_001_020


New Features

NFT Precompile

  • forcedTransfer on the NonFungibleAssetStub precompile now takes an explicit address to parameter (#2003)

Modified Events

  • NFTApproval now returns the NFT owner instead of the caller (#2004)

Bug Fixes

Freeze Checks

  • Moving assets between portfolios now enforces the asset/holder freeze check, closing a gap that allowed transfers between a caller's own portfolios while frozen (#2005)
  • transfer_reports now surfaces freezing errors, and locking an NFT held in a frozen portfolio now returns an error instead of succeeding (#2006)

Permission Checks

  • Portfolio::quit_custody now checks secondary key permissions before removing custody (#2010)
  • MultiSig::create_multisig now enforces ensure_perms_length_limited on the signer permissions supplied at creation (#2010)
  • External Agents reject nested except permissions
  • pallet_sto::invest returns an error if settlement didn't fully execute.

Other Changes

  • Improved redeem_nft benhcmarks
  • Updated to Rust nightly-2026-09-01 and refreshed all dependencies;
  • Regenerated extrinsic weights (#2009)

Don't miss a new Polymesh release

NewReleases is sending notifications on new releases.