`network settings` outputs `frozen_ledger_keys` and `freeze_bypass_txs`, which can't be used in a `ConfigUpgradeSet`
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
调研方向
从 cmd/soroban-cli/src/commands/network/settings.rs 开始,重点查看决定包含哪些 ConfigSettingId 值的 match。检查 --internal 如何控制不可升级的设置,并参考 issue 中描述的 CAP-77 行为。更新选择逻辑,使输出可用作 ConfigUpgradeSet,然后验证默认输出中排除了 frozen_ledger_keys 和 freeze_bypass_txs。
由索引模型根据 Issue 内容生成。
描述
What version are you using?
stellar-cli 30.0.1 (the relevant code is the same in 28.1.0).
What did you do?
I fetched testnet's config settings so that I could apply them to a local network as a config upgrade, which is what quickstart does to keep its local network's limits in sync with testnet:
stellar network settings --network testnet --output json \
| jq -r '.updated_entry[] | keys[0]'
What did you expect to see?
Only the settings that a config upgrade can set. The --output help describes the output as the ConfigUpgradeSet XDR type, and settings that can't be upgraded (live_soroban_state_size_window, eviction_iterator) are already left out unless --internal is given, so I expected the output to be usable as a ConfigUpgradeSet as is.
What did you see instead?
The output also includes frozen_ledger_keys and freeze_bypass_txs. CAP-77 says these can't be upgraded by the regular mechanism that overwrites the whole entry, only through their frozen_ledger_keys_delta and freeze_bypass_txs_delta settings, so stellar-core rejects a ConfigUpgradeSet that contains them.
Quickstart works around this by stripping them out with jq before encoding the ConfigUpgradeSet: https://github.com/stellar/quickstart/blob/cb64aee580f1589c79264a98eaad839628074cd8/.scripts/update-config-settings#L56-L60
Thoughts
The command chooses which settings to fetch in cmd/soroban-cli/src/commands/network/settings.rs, and only LiveSorobanStateSizeWindow and EvictionIterator are gated behind --internal. Every other ConfigSettingId falls through to a catch-all arm whose comment says "All other configs can be modified by network upgrades and are always output": https://github.com/stellar/stellar-cli/blob/f2a7b74175c34585f3b30a1abf42a2d41cbcc390/cmd/soroban-cli/src/commands/network/settings.rs#L84-L91
The CAP-77 settings presumably landed in the catch-all when they were added to the XDR, so they're output even though that comment doesn't hold for them. Perhaps they could be treated the same as the other non-upgradeable settings and only output with --internal. Replacing the catch-all with an explicit match over every variant might also be worth considering, so that each setting added in a future protocol needs a decision about whether it can be upgraded.
- 主要语言
- Rust
- 星标
- 129
- 派生
- 153
- 平均合并
- 1 天 14 小时
- 30 天内合并 PR
- 11
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
stellar/stellar-cli 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 65/100
stellar/stellar-cli#2880 ·
维护者通常 1 天内回复
-
arg_value_union panics on zero-arity union tuple case (unchecked type_[0] index)可能已有人在做 @hvoi 于 22 天前认领。 未关闭bug
难度 2/5 1-3 小时 新手友好度 72/100
stellar/stellar-cli#2806 · 1 条评论 ·
维护者通常 1 天内回复
-
contract extend panics on single-change resultMetaXdr (index out of bounds at extend.rs:306)可能重新可做 @duongynhi000005-oss 于 18 天前认领,目前没有进行中的 PR。 未关闭
难度 1/5 1 小时以内 新手友好度 90/100
stellar/stellar-cli#2796 · 1 条评论 ·
维护者通常 1 天内回复
-
Document stellar-cli's RPC trust boundary可能重新可做 关联的 PR 已关闭且未合并。 未关闭
难度 1/5 1-3 小时 新手友好度 85/100
stellar/stellar-cli#2781 · 1 条评论 ·
维护者通常 1 天内回复
-
Display the full authorization tree before signing auth entries可能已有人在做 @DeadZen 于 40 天前认领。 未关闭
难度 2/5 1-3 小时 新手友好度 82/100
stellar/stellar-cli#2779 ·
维护者通常 1 天内回复
查看 stellar/stellar-cli 的全部 Issue
相似的 Issue
-
bug duplicate priority: low ui
难度 2/5 1-3 小时 新手友好度 70/100
storytold/vectorcraft#6956 · 1 条评论 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 78/100
维护者通常 1 天内回复
-
bug multiple issues priority: high
难度 2/5 1-3 小时 新手友好度 78/100
storytold/gridcraft#3928 · 1 条评论 ·
维护者通常 1 天内回复
-
crate-drift
难度 2/5 1-3 小时 新手友好度 68/100
po4yka/rust-skills#33 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 70/100
svix/svix-webhooks#2808 ·
维护者通常 1 天内回复