Release v3.4.9-424
v3.4.9-424
Published
2026-06-29 19:35:39
Generated
2026-06-29 19:47:29
总 PR
3
HIGH
1
MEDIUM
1
Stage2
0
官方 Release Notes 总结
- **性能修复**:优化了 balancer 性能(PR #2803)。
- **资金相关修复**:热修复允许在冷密钥交换(coldkey swaps)中转移锁定的 alpha 代币(PR #2810),这直接影响账户间的资金操作。
- **共识逻辑调整**:条件性地应用交易和调度扩展(PR #2812),可能涉及执行逻辑的兼容性。
- 本次发布未明确提及安全 advisory、spec_version 升级或 breaking change。
TL;DR(PR 分析)
本版主要围绕性能与稳定性优化:修复了swap balancer精度过高及储备输入比例风险,并改进了质押回收原子性;同时修正了冷密钥交换中锁定Alpha无法转账的bug,并优化了交易扩展的权重计算逻辑。未涉及资金模型、共识机制或安全核心变更。
交叉验证
两边确认3
仅分析映射0
仅 Release Notes0
HIGH 重要更新 (1)
降低swap balancer精度,添加输入-储备比例硬限制,修复质押回收原子性,已合并生效。
判级:该PR已合并到main,修改了swap balancer的指数精度并添加了1000倍储备输入硬限制(不通过即失败),属于运行时逻辑变更,需要spec_version bump,直接影响链上swap行为。同时修复了add-stake回收/燃烧操作的原子性。
MEDIUM 更新 (1)
使交易扩展(DispatchExtension)的权重和前置检查仅对相关调用生效,无关调用不再支付不必要的weight。
判级:优化交易费用计算逻辑,不触及资金/共识/emission/存储迁移,属于中等重要性的性能优化。
关键改动
- guards/mod.rs: 新增 applicable_call 辅助函数和类型别名 CallOf<T>/DispatchableOriginOf<T>
- 每个guard(check_weights/check_rate_limits/check_delegate_take/check_serving_endpoints/check_evm_key_association): 添加 applies_to 方法定义相关调用模式,修改 weight() 和 pre_dispatch() 使用applicable_call过滤
- check_coldkey_swap: 不添加 applies_to,因为冷密钥交换可阻止任何签名调用,始终收费
- extensions/subtensor.rs: 使用applicable_call依次调用各guard的check,替代原先无条件is_sub_type后全部check
- 每个guard: 新增单元测试验证weight仅对相关调用收费,无关调用返回 Weight::zero()
LOW (1)
修复冷密钥交换时锁定 Alpha 无法转账的 bug:在冷密钥交换过程中临时允许新冷密钥接收锁定质押,并在锁迁移时同步复制账户标志
判级:纯 bug 修复,无新增存储/外调函数/runtime 配置,不含共识或资金核心逻辑变更,影响范围仅限于冷密钥交换的锁定 Alpha 转账场景
关键改动
- pallets/subtensor/src/staking/lock.rs:新增公有辅助函数 set_accept_locked_alpha(coldkey, enabled),将标志位操作提取为可复用方法
- pallets/subtensor/src/macros/dispatches.rs:将 set_reject_locked_alpha 的内联标志位操作替换为对 set_accept_locked_alpha(!enabled) 的调用,无逻辑变更
- pallets/subtensor/src/staking/lock.rs:在 swap_coldkey_locks 中新增逻辑,将旧冷密钥的 AccountFlags 完整复制到新冷密钥
- pallets/subtensor/src/swap/swap_coldkey.rs:在 do_swap_coldkey 头部临时对新冷密钥调用 set_accept_locked_alpha(true),确保锁迁移期间可以接收锁定质押,之后迁移逻辑会覆盖为正确标志位
- pallets/subtensor/src/tests/swap_coldkey.rs:新增测试用例 test_swap_coldkey_announced_transfers_locked_alpha,验证已公告冷密钥交换过程中锁定 Alpha 代币和 Lock 存储的正确迁移