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 useutility.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
andcontroller_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
andBadOrigin
errors in the committee pallet got merged intoNotAMember
.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 intargets
<= a new limit, or an error occurs. The error occurs also inìnitiate_corporate_action
iftargets
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
ifwithholding_tax.len()
is strictly above the limit.
Remove STO, Voting, & Dividend #826
removed features
Dividend
,Voting
andSTOCapped
modules have been removed as they have been superseded.
modified API
- The following types have been removed from the schema file:
STO
,Investment
,Dividend
, andBallot
.
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 foradd_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 beUnpredictableBenefit
MESH-1413: ASCII-only tickers #818
modified logic
- A
Ticker
must now consist of ASCII characters or errorTickerNotAscii
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
andIssued
events are only emitted forcreate_asset
iftotal_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
andadd_and_affirm_instruction
by renamingvalid_from
totrade_date
and adding newvalue_date
parameter. - Modified
Instruction
schema. - Modified
InstructionCreated
event.
modified logic
value_date
of an instruction must be aftertrade_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 ofWeightInfo
trait. execute_schedule_instruction()
now returnsResult<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 periodset_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