弃用
自 Gaiav24.x 版本起,基于 Cosmos SDK 的 Liquid Staking Module 已被弃用。v24 版本线
仍会保留来自分叉 SDK 版本的所有类型,但所有 API 端点都将被禁用。
迁移
下文概述了 Cosmos SDK LSM 与 x/liquid 模块之间的关键差异,包括两者之间移除的消息和 API,以及参数和限制的变更。总体来说,迁移过程中尽可能保持两者一致。发生移除的情况, 主要是因为已经无法在 staking 模块之外正确追踪状态。 当前在线网络中,所有正在使用 SDK LSM 的账户相关状态都会迁移为使用 liquid 模块。 现有的 liquid staking denom、tokenize share record,以及与任意 tokenize share record 持有者相关的奖励都不应发生变化。移除项
- MsgUnbondValidator
- MsgValidatorBond
min_self_delegation 字段此前已被标记为弃用,如今已恢复为其上游状态。
请注意,如果你是在该字段被弃用之后创建的验证者,可能会出现自委托为 0,而
min_self_delegation 为 1 的情况。这一变化影响应当较小,只有在你尝试调用
EditValidator,或可能在 Unjail 场景下才会受到影响。解决办法是自行委托一笔最小数量的 stake。
- 限制变更
GlobalLiquidStakingCap 和 ValidatorLiquidStakingCap 现在是仅有的两个协议限制,并且只会由 x/liquid 模块自身对 tokenized shares 执行约束。此前,通过 ICA 进行的委托也会被计入这些限制,但新的统计方式不再将其纳入计算。
此外,在查询 staking 模块时返回的 Validator 对象中的 liquid_shares 字段将不再更新。该字段计划在 v25 中移除,但在 v24 中仍然会显示,不过不会再更新,且不会用于限制计算。若要查询相同信息,可以使用已添加到 x/liquid 模块中的 QueryLiquidValidator 请求。
迁移调整
所有消息和 API 都已迁移。 对于 protobuf,distribution 和 staking 模块中的类型都已迁移到gaiad q liquid 或 gaiad tx liquid 等命令。
Deprecation
As of thev24.x release of Gaia, the Cosmos SDK based Liquid Staking Module is deprecated. The v24 release line
will still have all the types from the forked SDK version, but all the API endpoints will be disabled.
Migration
The following outlines the key differences between the Cosmos SDK LSM and the x/liquid module, including message and API removals between the two, as well as parameter and limit changes. In general an effort was made to keep as much as possible the same between the two. Cases where removals were made were largely due to no longer be able to properly track state from outside the staking module. The state associated with each account currently on a live network which is using the SDK LSM will be migrated to use the liquid module. There should be no change to the existing liquid staking denoms, tokenize share records, or rewards associated with any owner of a tokenize share record.Removals
- MsgUnbondValidator
- MsgValidatorBond
min_self_delegation field in the
SDK’s staking module, which had previously been marked as deprecated, has been restored to its upstream state.
Note that if you created a validator after the field was deprecated, you may end up with 0 self delegation and a
min_self_delegation of 1. This should be minimally invasive and will only affect you if you try to call
EditValidator or potentially in an Unjail scenario. The resolution for this is to self delegate a minimal amount
of stake.
- Limits changes
GlobalLiquidStakingCap and ValidatorLiquidStakingCap are now the only protocol limits and are enforced
solely on tokenized shares through the x/liquid module itself. Previously this tracked delegations via ICA as
counting towards these limits, but the new tallies do not take that into account.
Additionally, the liquid_shares field of the Validator object returned in staking module queries will no longer
be updated. Its removal is planned in v25, but as of v24 that value will still show up, but will not be updated and
is not used in limits calculations. To query the same information, you can use the QueryLiquidValidator request
added to the x/liquid module.
Migrations
All messages and APIs have been moved. For protobuf, the types within the distribution and staking modules have all been moved togaiad q liquid or gaiad tx liquid, etc.