Releases: RaoFoundation/subtensor
Release list
v3.4.5-419
Security hotfix — resolves a set of findings from a recent security audit, primarily hardening the proxy permission system along with several hotkey-swap and staking edge cases. Mainnet upgraded to spec_version 419. All findings were reproduced with regression tests before being fixed.
🔒 Security advisories
| Advisory | Severity | Summary |
|---|---|---|
| GHSA-m759-m8mv-q3m5 | 🟠 High | Restricted proxies (NonTransfer/NonFungible/NonCritical) can take over an entire coldkey via the announce/swap coldkey-swap lifecycle |
| GHSA-qh57-vpv2-3fvp | 🟠 High | NonFungible proxy denylist omits live swap_hotkey_v2 (call 72), letting a scoped delegate reassign a victim's hotkey identity |
| GHSA-xm63-2wwx-pm6w | 🟡 Moderate | Owner proxy except sudo_set_sn_owner_hotkey carve-out is bypassable via the duplicate alias sudo_set_subnet_owner_hotkey |
| GHSA-h98r-p37h-h4mv | 🟡 Moderate | set_weights/commit_weights family is Pays::No with the per-neuron rate limit enforced only in the dispatch body, enabling fee-free block-fill flooding |
| GHSA-6c95-q3r3-rgwq | 🟢 Low | Root cleanliness gate omits RootClaimed, letting a hotkey-swap merge inflate the claimed high-water mark and under-pay future root dividends |
| GHSA-vpjj-mhgr-cphg | 🟢 Low | Per-subnet hotkey-swap cooldown (HotkeySwapOnSubnetInterval) is bypassable via the all-subnets swap path |
| GHSA-rhmm-mqf8-v6gv | 🟢 Low | StakingColdkeysByIndex / NumStakingColdkeys grow monotonically and are never pruned |
| GHSA-wc2g-rc74-vgw3 | 🟢 Low | Per-subnet ChildkeyTake is not migrated during hotkey swap, silently resetting it |
What's changed
- Proxy filter hardening — cover the coldkey-swap lifecycle,
swap_hotkey_v2, and thesudo_set_subnet_owner_hotkeyalias in the restricted-proxy filters (#5, #6, #7) - Weight-setting throttle — enforce the per-neuron
set_weights/commit_weightsrate limit pre-dispatch (#10) - Hotkey-swap correctness —
RootClaimedwatermark accounting (#14), per-subnet swap cooldown on the all-subnets path (#15), per-subnetChildkeyTakemigration (#18), plus review follow-ups mergingRootClaimedby sum and extending the cooldown to parent-key subnets (#22) - Storage housekeeping — prune the staking-coldkey index when no longer needed (#16)
- Bump
spec_versionto 419
Full Changelog: v3.4.4-417...v3.4.5-419
v3.4.4-417
Hotfix: adds a check that ensures that during a hotkey swap, the new hotkey already exists globally and is owned by corresponding coldkey
Full Changelog: v3.4.3-416...v3.4.4-417
v3.4.3-416
What's Changed
Full Changelog: v3.4.2-415...v3.4.3-416
v3.4.2-415
What's Changed
- Expose proxy type filtering rules via runtime api by @basfroman in #2703
- Fix chain buys accounting by @sam0x17 in #2706 (hotfix)
Full Changelog: v3.4.1-413...v3.4.2-415
v3.4.1-413
What's Changed
- add min stake const by @open-junius in #2684
- Crowdloan optional per-contributor maximum contribution and exclusive call/target address. by @l0r1s in #2697
- Get Hyperparams v3 by @thewhaleking in #2699
- Subnet Protocol Alpha Accounting by @JohnReedV in #2645 (hotfix)
Full Changelog: v3.4.0-411...v3.4.1-413
v3.4.0-411
What's Changed
- fix benchmark remove stake by @open-junius in #2602
- Port more precompile tests to Rust by @ales-otf in #2616
- Port more precompile tests to Rust by @ales-otf in #2622
- fix the admin window not set in e2e by @open-junius in #2619
- Bugfix for:
hotkey_swapon a single subnet wipes all root dividend accumulations by @evgeny-s in #2527 - PalletId-based subnet account Ids maintain subnet TAO reserves by @gztensor in #2524
- Port more precompile tests to rust by @ales-otf in #2623
- fix multiplier event type by @JohnReedV in #2621
- Feat/recycle burn chain exts by @LandynDev in #2560
- add origin in extension by @open-junius in #2550
- Convictions (stake locks) by @gztensor in #2599
- feat: net TAO flow for emission allocation by @igoraxz in #2634
- net tao flow followup by @JohnReedV in #2635
- Make instant seal work and added interval by @girazoki in #2589
- Conviction updates by @gztensor in #2632
- Pallet alpha-assets by @gztensor in #2629
- Count burned registration in tao inflow by @gztensor in #2640
- No initial owner alpha by @gztensor in #2642
- Lock transfers by @gztensor in #2641
- Record TAO in-flow on burned neuron registration by @gztensor in #2571
- remove double record tao flow by @open-junius in #2644
- Remove duplicate migration by @evgeny-s in #2617
- remove subnet owner check by @open-junius in #2631
- Recycle logging by @gztensor in #2646
- add test and fix parameter order by @open-junius in #2630
- Clear Vali Trust/Permit in
clear_neuronby @JohnReedV in #2653 - Subnet Emission Owner Toggle by @JohnReedV in #2657
- Allow subnet owners to set minimum childkey take per subnet by @gztensor in #2660
- fix(weights): include netuid in BatchWeightItemFailed event by @RUNECTZ33 in #2654
- extend subtensor extension by @open-junius in #2569
- Handle tao transfer errors in root claim by @gztensor in #2671
- Handle swap errors when taking fees in alpha by @gztensor in #2672
- Drain protocol ema when net_flow disabled by @gztensor in #2673
- Conviction v2 by @gztensor in #2658
- Temporarily disable stake locking by @gztensor in #2656
- Implement OnTransactionPayment for EVM pallet by @gztensor in #2650
- Add migration to fix TI after evm fees divergence by @gztensor in #2670
- Subnet owner capability to disable and enable owner cut by @gztensor in #2648
- feat: normalize protocol cost in net flow EMA by @igoraxz in #2675
- add test normalization_keeps_eligible_subnet_count by @JohnReedV in #2677
- Try-runtime fixes: TI check and conviction v1 removal by @gztensor in #2683
- Disable TI checks in try-runtime by @gztensor in #2681
- Remove deprecated conviction maps by @gztensor in #2682
- Ai reviewer by @sam0x17 in #2668
- Conviction updates by @gztensor in #2687
- Only Root Toggles Subnet Emissions by @JohnReedV in #2694
- 60 day unlock and maturity rate by @gztensor in #2696
- add atomic extension check by @open-junius in #2669
- No default auto-lock by @gztensor in #2695
- Set unlock and maturity rates to 90 days half life by @gztensor in #2698
- mainnet deploy 5/27/2026 by @sam0x17 in #2643
New Contributors
- @LandynDev made their first contribution in #2560
- @igoraxz made their first contribution in #2634
- @girazoki made their first contribution in #2589
- @RUNECTZ33 made their first contribution in #2654
Full Changelog: v3.3.15-402...v3.4.0-411
v3.3.15-402
What's Changed
Full Changelog: v3.3.14-401...v3.3.15-402
v3.3.14-401
What's Changed
- Extend node with build-patched-spec subcommand by @ales-otf in #2489
- Reenable alpha fees by @gztensor in #2353
- fix staking in e2e by @open-junius in #2508
- update rustc and srtool image for script by @camfairchild in #2520
- Merge testnet into devnet-ready 19/03/2026 by @l0r1s in #2523
- Fixed manual sealing for aura by @evgeny-s in #2516
- add drand precompile by @open-junius in #2445
- E2e tests moonwall by @evgeny-s in #2491
- Enable
metadata-hashfeature in localnet builds by @basfroman in #2528 - Add balances to validators on chainspec clone. by @shamil-gadelshin in #2510
- Fixes failing types generation for e2e tests by @evgeny-s in #2534
- Revert pr 2445 by @open-junius in #2531
- Introduce eco-tests by @shamil-gadelshin in #2526
- Owner Hotkey Always Eligible to be a Validator by @JohnReedV in #2532
- Enable Yuma3 by Default by @JohnReedV in #2535
- Add
set_pending_childkey_cooldownbenchmark by @shamil-gadelshin in #2546 - Dispatch guard to extension by @l0r1s in #2542
- CK cooldown after start call by @gztensor in #2548
- Fix the benchmark for disable_lp by @open-junius in #2500
- Update polkadot-sdk deps by @ales-otf in #2557
- Auto CK root validators on subnet registration. by @shamil-gadelshin in #2503
- Stake Lock as Owner Alpha on Subnet Registration by @JohnReedV in #2558
- Neuron Registration by @JohnReedV in #2382
- Allow setting CHK immediately as long as start_call has not been executed yet by @gztensor in #2552
- Rework hk swap for stake - hotfix by @gztensor in #2556
- E2E tests for coldkey swap by @l0r1s in #2518
- Hotkey swap alpha pool by @gztensor in #2539
- Fix Registration Migration by @JohnReedV in #2561
- remove an out of date e2e by @open-junius in #2563
- Rework benchmarks by @l0r1s in #2517
- Remove rank, trust, and pruning_score from runtime and chain state by @plind-junior in #2565
- Add
transferStakeFromandapprovefunctions to staking precompile by @jeremyp-tao in #2478 - MEV V2 infrastructure by @shamil-gadelshin in #2533
- Add AutoParentDelegationEnabled flag to toggle auto parent delegation by @evgeny-s in #2574
- Reset LastUpdate on neuron replace by @ales-otf in #2583
- Swap AutoParentDelegationEnabled on the hotkey swap for root subnet by @evgeny-s in #2586
- Fixed root claimable calculations by @evgeny-s in #2588
- Owner Alpha Stake Updates by @JohnReedV in #2594
- fix staking approval e2e test by @open-junius in #2585
- Introduce netuid generation for storage cleaning by @evgeny-s in #2592
- Port alpha and address mapping precompiles tests to rust by @ales-otf in #2595
- Port more contract tests to rust by @ales-otf in #2604
- Use Address type instead of H256 for destination_address in the precompile by @evgeny-s in #2613
- Add netuid to TransactionFeePaidWithAlpha event by @gztensor in #2614
New Contributors
- @plind-junior made their first contribution in #2565
- @jeremyp-tao made their first contribution in #2478
Full Changelog: v3.3.13-393...v3.3.14-401
v3.3.13-393
What's Changed
- Add eco-tests.yml by @shamil-gadelshin in #2529
- Disable HK swap temporarily by @l0r1s in #2536
- hotfix: migrate fix bad hk swap by @camfairchild in #2537
Full Changelog: v3.3.12-391...v3.3.13-392
v3.3.12-391
What's Changed
- Disable mev shield temporarily by @l0r1s in #2472
- Rework shielded transactions (with crypto in WASM) by @l0r1s in #2477
- E2E setup by @l0r1s in #2447
- Use TaoBalance for pallet balances balance type by @gztensor in #2417
- Reduce uncessary data copy by @open-junius in #2486
- E2e update by @shamil-gadelshin in #2481
- Fix MEV shield timing by @l0r1s in #2488
- Fix liquidity_abs undefined behavior by @gztensor in #2473
- Fix the ability to revert hotkey swap by @evgeny-s in #2487
- Disable MEV shield temporarily (mainnet) by @l0r1s in #2502
- 10x fees on testnet by @gztensor in #2504
- Allow clear reannouncement + clear scheduled CK swap by @l0r1s in #2506
- Backport #2506 to testnet by @l0r1s in #2512
- mainnet deploy 3/19/2025 (part 2) by @sam0x17 in #2514
New Contributors
Full Changelog: v3.3.11-385...v3.3.12-391