github PolymeshAssociation/Polymesh v2.4.0
Polymesh Alcyone Testnet V2.4.0

latest releases: v6.3.0, v6.2.1, v6.2.0...
3 years ago

Alcyone 2.4 Release Notes

Mesh 1460/STO improvements #848

new features

  • STOs can now have a name and a minimum investment amount.

modified API

  • Fundraiser data struct changed to contain the STO status and min investment amount, Schema update required.
  • FundraiserCreated event changed to contain the STO name.

Refactored Multisig benchmarks #840

modified API

  • change_all_signers_and_sigs_required has been removed. The users should use utility.batch function.

Re enable slashing #849

modified logic

  • Slashing will happen even when slashing targets are set to None. However, the amount of slash will be zero in those cases.

MESH-1431/Allow fix rewards #841

modified logic

  • Introduce a fixed reward process, which will kick in whenever the total_issuance() >= MaxInflatedTotalIssuance::get().

MESH-1418/Enforce cdd_id uniqueness #839

modified logic

  • Either a single (unique within its claims) cdd_id is allowed for a given identity or it can be default_cdd_id() only if the claims issuer is the systematic issuers. Ex - Alice can have default_cdd_id() that is provided by the systematic issuers and Alice can also possess one non-default cdd_id claim which should be the same for all its non-default cdd claims.

Misc cleanups & refactorings, Part 2 #837

modified logic

  • Check permissions in Pips::{reschedule_execution, snapshot, clear_snapshot}.

Fix PIA semantics and forwarded_call permissions #834

modified logic

  • Only the PIA (which defaults to the ticker owner) can call issue, redeem and controller_transfer. Tokens are moved to the PIAs default portfolio.
  • When using identity::forwarded_call permissions are now checked correctly for the calling DID, rather than the original origin. identity::forwarded_call is only used when an identity is a key to another identity.
  • Recursive calls to identity::forwarded_call are not allowed.

Remove duplicated schedule event and fix comments #833

modified API

  • Changes the ExecutionScheduled event to only contain the new scheduled block, not the previous one

Misc cleanups & refactorings, Part 1 #831

modified logic

  • MemberNotFound and BadOrigin errors in the committee pallet got merged into NotAMember.
  • Committee::<T, I>::close now requires committee membership from the origin.
  • Fixed atomicity bugs in move_portfolio_funds and the bridge pallet in general.
  • remove_smart_extension allows itself to shuffle around SEs for improved performance.

Mesh 1439/native tms #829

new features

  • Added native transfer managers (CTM and PTM). Includes additions in Schema, extrinsics, and state variables.

modified logic

  • SEs are no longer checked during transfers

internal

  • Removed some of the gas refund stuff to simplify a few things
  • Fixed investor count

MESH-1433: Introduce limits for fixed values in CA extrinsic weights #827

modified logic

  • set_default_targets(..., targets) requires that the number of DIDs in targets <= a new limit, or an error occurs. The error occurs also in ìnitiate_corporate_action if targets is provided under the same condition.
  • set_did_withholding_tax(..., did, Some(tax)) requires that the number of DIDs for which a withholding-tax override is set is strictly below (<) a new limit or an error occurs. The error occurs also in ìnitiate_corporate_action if withholding_tax.len() is strictly above the limit.

Remove STO, Voting, & Dividend #826

removed features

  • Dividend, Voting and STOCapped modules have been removed as they have been superseded.

modified API

  • The following types have been removed from the schema file: STO, Investment, Dividend, and Ballot.

Mesh 1373/ Configurable limit on no. of validators for an entity #821

new features

  • Associated permissioned identity with the intended count of validators they are able to run.
  • Intended count should always be less than the MaxValidatorPerIdentity * validator_count().
  • Introduced the PermissionedIdentityPrefs type in the schema to facilitate the above functionality.
  • New extrinsic update_permissioned_validator_intended_count is added to update the intended_count for a given permissioned identity.

modified API

  • Introduced intended_count param for add_permissioned_validator dispatch.
  • Removed Commission type from the schema and from the runtime as well.

modified logic

  • Only permissioned entities are allowed to show the intended to run a validator.

Fix minor typos #820

modified API

  • Schema for CAKind enum had a typo - UnpredictableBenfit should be UnpredictableBenefit

MESH-1413: ASCII-only tickers #818

modified logic

  • A Ticker must now consist of ASCII characters or error TickerNotAscii occurs at registration or asset creation time. Not applied retroactively to existing tickers.

MESH-1095/DocumentHash #817

new features

  • New event Asset::MigrationFailure. It adds a detailed description of any error during the migration.
  • Schema: New types to support MigrationFailure event.

modified API

  • DocumentHash type has been limited to the output of the most common hash functions: 512bits, 256bits, 128bits, etc.
  • Schema: DocumentHash has been updated.

Add getter to retrieve all the exempted identities #816

new features

  • Introduced get_all_exempted_identities() getter function in PTM contract.

MESH-1416: Require IU claims for payer and receiver of transfers #812

modified logic

  • Both the sender and receiver of an asset settlement must have an InvestorUniqueness claim (previously just receiver)
  • Transfer and Issued events are only emitted for create_asset if total_supply > 0

MESH-1483: Rename valid_from to trade_date and add value_date #811

new features

  • Capture value_date of an instruction.

modified API

  • Modified add_instruction and add_and_affirm_instruction by renaming valid_from to trade_date and adding new value_date parameter.
  • Modified Instruction schema.
  • Modified InstructionCreated event.

modified logic

  • value_date of an instruction must be after trade_date.

MESH-1409/Add check for zero balance during revoke of IU claim #809

modified behaviour

  • Removal of InvestorUniqueness claim is only allowed when the target ScopeId has 0 balance.

MESH-1422: correctly check permissions in batches #805

modified behaviour

  • Portfolio module name corrected (was: Session) and runtime upgrade is implemented for all portfolio storage items.
  • Utility batch functions no longer require extrinsic permissions (but underlying batched extrinsics still do).

Mesh 1383/Settlement Benches #799

bug fixes

  • Increase arbitrary gas limits to allow PTM to go through.

internal

  • Update the 4-byte selector for the verify_transfer() fn of the smart extensions.
  • Added Benchmarks for the execute_schedule_instruction, claim_receipt, reject_instruction, affirm_instruction, affirm_with_receipts.
  • Remove weight_for module in the settlement pallet in the favour of WeightInfo trait.
  • execute_schedule_instruction() now returns Result<u32, DispatchError>.
  • Remove WeightInfo impl of ().
  • Dedup the code in settlement/benchmarking.rs

MESH-1294/Multisig benchmarks #743

modified logic

  • Mulitsig proposals are now executed on the next block instead of the current block.

internal

  • Partial benchmarks for Multisig.

MESH-1423, MESH-1424, MESH-1425 - Sto and settlement fixes #807

modified logic

  • Fixes Fundraiser(Type) schemas
  • Allow fractional prices in STOs (e.g. a price of 1.5 is 1,500,000)
  • Emit FundraiserId in event when creating Fundraiser
  • Fix Receipt invalidation when instructions settle

MESH-1382/ Same block settlement changes to next block settlement #763

modified logic

  • SettleOnAffirmation instructions now settle on the block following their final affirmation, not immediately upon their last affirmation

MESH-1393: Refactor snapshots using live queue model #765

modified API

  • Cancelled state removed for PIPs since they no longer have a cool down period
  • set_proposal_cool_off_period extrinsic removed

modified logic

  • Removes cool down period for PIPs

internal

  • Calculates PIP snapshot queue as each PIP is added or voted on, rather than when snapshot is called

Don't miss a new Polymesh release

NewReleases is sending notifications on new releases.