Release
Release Name: 10.69.0
Spec Version: 69
Client Version: 10.0.0
Key Changes:
This release introduces the following changes:
- Introduced Liquidity Incentive pallet
PRs included:
Client Changes:
- Yes
- No
Runtime Changes:
- Yes
- No
API Changes
Storage Changes
Added
- LiquidityPools:
Pools
- stores information about each liquidity pool - LiquidityPools:
PoolUsers
- tracks user participation in pools - LiquidityPools:
PoolRelationships
- maps predecessor pools to successor pools - LiquidityPools:
NextPoolId
- increment-only unique pool id - LiquidityPools:
NextRolloverUnsignedAt
- tracks when next rollover should occur - LiquidityPools:
RolloverPivot
- tracks progress during batch rollover operations
Extrinsic Changes
Added
- LiquidityPools:
create_pool
- create a new liquidity pool with specified parameters - LiquidityPools:
set_pool_succession
- link pools for automatic rollover - LiquidityPools:
set_pool_rollover
- set user preference for automatic rollover - LiquidityPools:
close_pool
- close an existing pool - LiquidityPools:
enter_pool
- stake assets in an open pool - LiquidityPools:
exit_pool
- withdraw assets from a pool - LiquidityPools:
claim_reward
- claim rewards from a matured pool - LiquidityPools:
rollover_unsigned
- process batch rollover (unsigned transaction)
Event Changes
Added
- LiquidityPools:
PoolOpen
- when a new pool is created - LiquidityPools:
PoolStarted
- when a pool enters lock period - LiquidityPools:
PoolRenewing
- when a pool starts rollover process - LiquidityPools:
PoolMatured
- when a pool is ready for rewards claiming - LiquidityPools:
PoolClosed
- when a pool is closed - LiquidityPools:
SetSuccession
- when pools are linked for rollover - LiquidityPools:
UserInfoUpdated
- when user rollover preference is updated - LiquidityPools:
UserJoined
- when user joins a pool - LiquidityPools:
UserExited
- when user exits a pool - LiquidityPools:
UserRolledOver
- when user is rolled over to successor pool - LiquidityPools:
RewardsClaimed
- when rewards are claimed
Error Messages
Added
- LiquidityPools:
NotPoolCreator
- caller is not the pool creator - LiquidityPools:
InvalidBlockRange
- invalid block range for pool - LiquidityPools:
PoolAlreadyExists
- pool already exists - LiquidityPools:
PoolDoesNotExist
- pool does not exist - LiquidityPools:
SuccessorPoolDoesNotExist
- successor pool does not exist - LiquidityPools:
PredecessorPoolDoesNotExist
- predecessor pool does not exist - LiquidityPools:
SuccessorPoolSizeShouldBeGreaterThanPredecessor
- successor pool too small - LiquidityPools:
SuccessorPoolSizeShouldBeLockedAfterPredecessor
- invalid successor timing - LiquidityPools:
RolloverPoolsShouldBeTheSameAsset
- asset mismatch between pools - LiquidityPools:
NoTokensStaked
- no tokens staked for operation - LiquidityPools:
PoolNotOpen
- pool not in open state - LiquidityPools:
NotReadyForClaimingReward
- pool not mature for claiming - LiquidityPools:
NoAvailablePoolId
- exceeds maximum pool ID - LiquidityPools:
StakingLimitExceeded
- pool capacity limit reached - LiquidityPools:
OffchainErrNotValidator
- offchain worker not validator - LiquidityPools:
OffchainErrTooEarly
- offchain worker called too early - LiquidityPools:
OffchainErrSubmitTransaction
- offchain transaction submission error - LiquidityPools:
OffchainErrWrongTransactionSource
- offchain transaction source error - LiquidityPools:
PivotStringTooLong
- pivot string exceeds maximum length