Merge staging into main#2930
Conversation
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
…ixes, no diff Co-authored-by: Cursor <cursoragent@cursor.com>
Consolidate pending PRs into staging
…-hotkey reuse canonical alpha iterator helper
* Publish tested localnet images * Make localnet publication immutable * Pin localnet publication tooling revision
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
| fn prepare_hotkey_stake(old_hotkey: &T::AccountId) -> PreparedHotkeyStake<T::AccountId> { | ||
| let positions: Vec<(T::AccountId, NetUid, SafeFloat)> = | ||
| Self::alpha_iter_single_prefix(old_hotkey).collect(); |
There was a problem hiding this comment.
[HIGH] Unbounded stake positions exceed the fixed dispatch weight
This collects every stake position under a user-populatable hotkey and later performs storage operations for each position. However, swap_hotkey() charges a fixed weight benchmarked with exactly 1,273 positions; the added test explicitly permits more than the former cap. An attacker can create a larger prefix and make execution exceed its declared weight, potentially exhausting block resources. Enforce a protocol-level maximum before mutation or parameterize/conservatively bound the weight by the number of positions.
🛡️ AI Review — Skeptic (security review)VERDICT: VULNERABLE BASELINE scrutiny — repository admin with substantial merged history; staging → main promotion, no known Gittensor association. The runtime changes include an unbounded stake migration charged using a fixed incident-sized benchmark, and they retain the existing runtime specification version. Findings
Other findings
ConclusionThe PR is legitimate-looking, but the unbounded hotkey-swap workload and missing # 🔍 AI Review — Auditor (domain review) has not yet run on this PR. |
|
🔄 AI review updated — Skeptic: VULNERABLE |
Bring in the staging→main promotion: localnet publication, SS58 balance precompile, leasing/hotkey-swap fixes, and dependency cleanups. Co-authored-by: Cursor <cursoragent@cursor.com> # Conflicts: # website/package.json # website/yarn.lock
|
Superseded by #2910 |
Summary
Promote the current
stagingbranch tomain.Included changes
SubnetUidToLeaseIdduring lease terminationScope
Validation
The included changes were validated in their staging PRs. This promotion PR runs the full
main-target check suite before merge.