Skip to content

Polymesh v6.1.0

Compare
Choose a tag to compare
@adamdossa adamdossa released this 12 Dec 09:11
99054ca

new features

  • Adds controller (aka forced) transfer logic for NFTs.
  • Adds storage to track NFT collection total supply.
  • Adds storage to map NFTs into user Portfolios.
  • Allows a smart contract to create and take custody of portfolios on behalf of an identity.
  • Allows a smart contract to be deployed as a primary key of a child identity.
  • Stores smart contract API upgrades on chain storage.
  • Allows derivative keys to be used as identity signing keys.
  • Prevents Identity based signers for MultiSigs

new external API

  • Adds the controller_transfer extrinsic to pallet_nft. #1529
  • Adds NFTsInCollection storage to track the number of nfts in a collection. #1529
  • Adds the following extrisincs: allow_identity_to_create_portfolios, revoke_create_portfolios_permission, create_custody_portfolio. #1547
  • Adds the following extrisincs: instantiate_with_code_as_primary_key, instantiate_with_hash_as_primary_key. #1548
  • Adds the upgrade_api extrinsic and the GetLatestApiUpgrade chain extension call. #1559
  • Add as_derivative in the utility pallet. #1560
  • Change NFTOwner map to track the holder's portfolio. #1566

modified external API

  • on_instantiate_transfer if contract_did is different from the caller's did, also check if its parent match the caller's identity. #1548
  • No longer permit Identity based multisig signers - accept_multisig_signer_as_identity will now always fail. #1556
  • dispatch_as temporarily sets current_did and current_payer to the identity and account from as_origin. #1560

new events

  • Adds the following events: RemoveAssetAffirmationExemption, AssetAffirmationExemption, PreApprovedAsset, RemovePreApprovedAsset, PreApprovedPortfolio, RevokePreApprovedPortfolio, InstructionAutomaticallyAffirmed. #1557
  • Adds the ApiHashUpdated event. #1559
  • Adds the SCRuntimeCall event for contract calls into the runtime. #1561

other

  • Adds the following variants to the nft error enum: SupplyOverflow, SupplyUnderflow. #1529
  • Adds the following variant to PortfolioUpdateReason: ControllerTransfer. #1529
  • Remove the old itn_rewards and reserved_classic_tickers files. #1544
  • Adds ConstSize wrapper for const u32 values. This is needed for the size limits for bounded collections like BoundedBTreeMap to be used as extrinsic parameters, since extrinsic parameters need extra traits (Clone, Debug, PartialEq, Eq) and this also applies to the size limit generic type parameter on bounded collections. #1530

data migration

  • Initializes the new NFT storage with data that already lives on chain. #1546