Skip to content

Releases: PolymeshAssociation/Polymesh

Polymesh Alcyone Testnet V2.5.0

25 Feb 16:46
d656274
Compare
Choose a tag to compare

Alcyone 2.5.0 Release Notes

modified api

  • affirm_instruction, withdraw_affirmation, reject_instruction, and affirm_with_receipts extrinsics of settlement pallet now takes one more parameter, max_legs_count - the no. of legs in which the sender portfolio is authorizing the transaction. (#855) (#856)
  • HistoricalVoting RPC Definitions fixed in Schema. (#851)
  • Portfolio RPCs removed. The storage can be queried directly for those. (#851)
  • committee::RawOrigin is now a zero sized type (ZST) and simplified. (#857)
  • close extrinsic of Committee pallet was removed. Closed event and errors CloseBeforeVoteEnd and NotAllowed are removed as a result. (#857)
  • Struct/definition of PolymeshVotes used in Committee pallet has changed. (#857)
  • Removed the unused IssueAssetItem from the schema and code. (#898)
  • Checkpoint.timestamps now is a double map Ticker -> CheckpointId -> Moment instead of just a map CheckpointId -> Moment. This fixes a bug. Existing storage is nuked on chain upgrade per discussion. (#899)
  • Checkpoint.{total_supply_at, balance_at_checkpoint, balance_updates, schedule_ref_count, and schedule_points} are now also double maps. (#899)
  • ScheduleSpec now takes remaining which denotes the number of CPs that can be made before the schedule expires. remaining == 0 means the schedule will never expire. The movement from remaining: 1 -> 0 triggers expiry. The schema is changed for this type. StoredSchedule receives the same change. A schema change + storage migration follows suit. (#882)

new features

  • Receipt issuers for settlement can now invalidate and revalidate their receipts (#878)
  • New error Multisig::Error::<T>::TooManySigners: Number of signers is greater than pending number of signer in remove_multisig_signers_via_creator function. (#887)
  • Utility to create a list of transactions that require Asset/Portfolio permissions (#894)
  • Adds a new event FundraiserWindowModifed (#903)
  • Adds a new fundraiser status ClosedEarly (#903)
  • New function added asset::controller_transfer() which allows the PIA to force transfer tokens. Correspondingly, a new event, ControllerTransfer is added. (#879)
  • Emit FundraiserClosed event when fundraisers are stopped (#903)
  • added distributeALCY.js script (#874)

modified logic

  • The hard limit of 10 legs per instruction is removed. You can now add as many instructions as the block gas/weight limit allows. (#905)
  • TXs are sorted by (priority, insertion_id). Previously TXs were sorted by (priority, valid_till, insertion_id) (#893)
  • Priority of a TX is its tip and only operational TX can contains a tip != 0. (#893)
  • A minimum of 1 POLYX must be locked when bonding for staking. (#910)
  • Checkpoint schedules now store reference counts from CAs rather than removability. As a result, CACheckpoint::Schedule now stores the number of CPs belonging to a schedule before attachment. Schema changes + migration follow suit. (#882)
  • Legs of a settlement instruction are now executed in order. (#873)

internal

  • Integer underflow bug fix in pallets/multisig/src/lib.rs via remove_multisig_signers_via_creator (#887)
  • Minimum investment amount is now checked correctly against the payment tokens instead of the offering token. (#869)
  • Accounted for price_divisor when checking for max price. (#869)
  • No longer checks that the sender is an asset holder since 0 amount transfers are allowed. (#869)
  • The close extrinsic in the Committee pallet now works in the develop chain as a result of changing the value of the MotionDuration parameter from 0 to 1. (#771)

Polymesh Alcyone Testnet V2.4.0

27 Jan 17:15
af9b89c
Compare
Choose a tag to compare

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

Polymesh Alcyone Testnet V2.3.1

18 Jan 15:21
5b49b4a
Compare
Choose a tag to compare

Alcyone 2.3.1 Network Upgrade

  • Fixes weight calculation for sudo module and other recursive extrinsics.

Polymesh Alcyone Testnet V2.3.0

16 Dec 17:49
Compare
Choose a tag to compare

Alcyone 2.3 Network Upgrade

Release notes

Adds support for Smart Extensions
Adds Permissions for extrinsics, assets and portfolios
Adds Corporate Actions, including Ballots and Capital Distributions
Adds support for Confidential Identity
V4 uuIDs for CDD_IDs
Use scheduler for PIPs

Polymesh Alcyone Testnet V2.2.0

25 Nov 15:22
Compare
Choose a tag to compare

Alcyone 2.2 Network Upgrade

Release notes

Features:

  • Governance V2 to Alcyone

Fixes:

  • Refactors CLI tests for multi-node pipelines
  • Removes unneeded migration upgrade code
  • Fixes permissions for rejecting authorizations
  • Enables compiled WASM
  • Updates bootnode identities to new format
  • Fixes Jurisdiction enum

Polymesh Alcyone Testnet V2.1.0

28 Oct 14:01
0361b19
Compare
Choose a tag to compare

Alcyone Network Upgrade 2.1.0

  • Adds integrated asset settlement
  • Adds asset portfolios
  • Initial support for CDD IDs
  • Substrate upgrade to 2.0.0-rc6
  • Misc. fixes

Polymesh Alcyone Testnet V2.0.2

22 Sep 09:52
8f5451e
Compare
Choose a tag to compare

Alcyone Network Upgrade 2.0.2

  • Update max_inflation from 20% to 14%
  • Update reward claim weights

Polymesh Alcyone Testnet V2.0.1

01 Sep 18:13
Compare
Choose a tag to compare
Pre-release

Initial public release of Polymesh Alcyone Testnet

Polymesh Aldebaran Testnet V1.1.4

06 Aug 13:13
0047b25
Compare
Choose a tag to compare
Pre-release
  • Fix for vote counting for negative votes on PIPs
  • Update previous vote counts to correct above bug

Polymesh Aldebaran Testnet V1.1.3

20 Jul 16:57
9157660
Compare
Choose a tag to compare
Pre-release
  • Allow master key of identity to pay for JoinIdentity authorisations from potential Signing Keys
  • Allow old PIPs to be pruned from storage