Releases: opentensor/subtensor
Releases · opentensor/subtensor
v3.2.0
What's Changed
v3.2.0
- spec version bumped to 290
- benchmark action updates weights automatically in #1777 by @JohnReedV
- Fix benchmarks in #1823 by @open-junius
- Rework warp sync patch to enable warp sync on testnet. in #1818 by @shamil-gadelshin
- Make liquidity events consistent in #1814 by @axionyu
- Fix/protocol liquidity adjustment in #1816 by @gztensor
- Fix / Allow owner to toggle POW registrations in #1815 by @JohnReedV
- Restore default warp sync for devnet and testnet in #1802 by @shamil-gadelshin
- Refactor run_coinbase.rs - move reveal_crv3_commits() out in #1790 by @shamil-gadelshin
- fix owner disable registration in #1808 by @open-junius
- Stake wrap contract in #1763 by @open-junius
- updated testnet url for try-runtime in #1805 by @l0r1s
- Fix double fees, set default min stake to 0.02 TAO, fix tick range check in #1803 by @gztensor
- Allow owners to change their subnet symbol in #1770 by @l0r1s
v3.1.7
- Add block header warp sync patch. in #1792 by @shamil-gadelshin
- added entrypoint as root to update dirs perms in #1799 by @l0r1s
- Fix Benchmark remove_stake_limit in #1800 by @JohnReedV
- Feat/subnet leasing in #1582 by @l0r1s
- Revert publish jobs separation for multiple platforms in docler.yml workflow in #1797 by @shamil-gadelshin
- Stake operation limits in #1766 by @shamil-gadelshin
v3.1.6
- Update docker compose file in #1793 by @shamil-gadelshin
- Fix root subnet tao mismatch in #1781 by @l0r1s
- Test for tick updates in modify position in #1788 by @gztensor
- docs (REAME.md): fixl link to NPoS overview page in #1631 by @gap-editor
- fix docker compose in #1718 by @igorsyl
- Remove stake full limit precompile in #1780 by @open-junius
- fix: only remove delta when modifying a position in #1784 by @bdmason
- Add new remove_stake_full_limit extrinsic. in #1745 by @shamil-gadelshin
- Fix balancing of total alpha in #1782 by @gztensor
- Add liquidity modified event, fix coinbase injection into protocol li… in #1776 by @gztensor
- Feat/SubnetHyperparamsV2 in #1736 by @JohnReedV
- Enable liquidity providers in #1703 by @gztensor
- use hotkey to associate uid in evm in #1764 by @open-junius
- sigmoid steepness adjustment in #1758 by @andreea-popescu-reef
- Fix alpha_low, alpha_high min value checks in #1729 by @andreea-popescu-reef
- Upgrade Polkadot SDK to stable2412-6 in #1723 by @l0r1s
- backprop hotfixes 6/16/2025 in #1761 by @sam0x17
- Improve logic to start and skip bittensor tests in #1762 by @basfroman
- Fix NetUid metadata issue in #1746 by @ales-otf
- Add logo_url to subnet identities in #1750 by @bdmason
- fix the error from code merge in #1743 by @open-junius
- Add sr25519 precompiled pallet in #1702 by @axionyu
- fix build due to set bond reset ext missing NetUid in #1740 by @l0r1s
- Add
sudo_set_bonds_reset_enabledin #1727 by @HudsonGraeme - alpha precompiles in #1686 by @kenobijon
- Update doc toggle transfer in #1738 by @open-junius
- backprop hotfixes 6/10/2025 in #1734 by @sam0x17
- Feat/uniswapv3 lp greg in #1726 by @gztensor
- Remove obsolete code in #1724 by @shamil-gadelshin
- Use prices in determine_action in #1722 by @gztensor
- Add changes from Max and Dr. Nick in #1716 by @gztensor
- Hotkey splitting in #1559 by @open-junius
- RPC to get validators in #1614 by @open-junius
- Sasha/feat/uniswapv3 lp in #1710 by @ales-otf
- Merge with devnet-ready in #1707 by @ales-otf
- Feat/uniswapv3 lp remove swap inner side effects in #1705 by @gztensor
- Fix benchmarks in #1704 by @ales-otf
- Allow axon ip as 0 in #1682 by @open-junius
- change the default registration to 0.1 TAO in #1681 by @open-junius
- Merge with devnet-ready in #1698 by @ales-otf
- Fix migration weights in #1700 by @shamil-gadelshin
- Expose all extrinsic and storage to EVM in #1639 by @open-junius
- Fix
drandandcommitmentsfor localnet in #1696 by @basfroman - update to rust 1.87 in #1693 by @sam0x17
- Feat/uniswapv3 lp cleanup in #1691 by @gztensor
- Add manual switch for V3 swap in #1674 by @ales-otf
- Add RPC for current alpha price and small clean ups in #1659 by @ales-otf
- Feat/uniswapv3 lp cleanup in #1654 by @gztensor
- Setup benchmarks and use non-panic arithmetics in #1650 by @ales-otf
- Feat/uniswapv3 lp cleanup in #1647 by @gztensor
- Move swap-related extrinsics to swap pallet in #1645 by @ales-otf
- Rewrite covnert_deltas with safe math in #1636 by @ales-otf
- Fix swap step action calculation in #1637 by @gztensor
- Fix get_total_stake_for_hotkey in #1623 by @gztensor
- Fix tick index math rounding in #1621 by @ales-otf
- Fix more tests in #1616 by @ales-otf
- Sasha/feat/uniswapv3 lp in #1550 by @ales-otf
- Fix balance updates for add/remove liquidity in #1542 by @gztensor
- Sasha/feat/uniswapv3 lp in #1540 by @ales-otf
- Sasha/feat/uniswapv3 lp in #1535 by @ales-otf
- Adapt stake_into_subnet to swap v3 in #1529 by @ales-otf
- Sasha/feat/uniswapv3 lp in #1521 by @ales-otf
- Setup default fee rate in #1497 by @ales-otf
- Simplify Pallet::swap in #1495 by @ales-otf
- Sasha/feat/uniswapv3 lp in #1478 by @ales-otf
- Encapsulate Swap into module in #1475 by @ales-otf
- Sasha/feat/uniswapv3 lp in #1468 by @ales-otf
- Sasha/feat/uniswapv3 lp in #1467 by @ales-otf
- Feat/uniswapv3 lp greg in #1460 by @gztensor
- Implement pallet-subtensor-swap in #1446 by @ales-otf
- Move swap into pallet in #1441 by @ales-otf
- Tests and fixes for add_liquidity and remove_liquidity in #1440 by @gztensor
- Refactor swap, add errors in #1425 by @gztensor
- Fix conversion and Fixed::checked_pow issues in #1419 by @ales-otf
- Feat/uniswapv3 lp greg in #1413 by @gztensor
- Implement tick math in #1409 by @ales-otf
v3.1.7
What's Changed
- Add block header warp sync patch. in #1792 by @shamil-gadelshin
- added entrypoint as root to update dirs perms in #1799 by @l0r1s
- Fix Benchmark remove_stake_limit in #1800 by @JohnReedV
- Feat/subnet leasing in #1582 by @l0r1s
- Revert publish jobs separation for multiple platforms in docler.yml workflow in #1797 by @shamil-gadelshin
- Stake operation limits in #1766 by @shamil-gadelshin
v3.1.6
What's Changed
- Update docker compose file in #1793 by @shamil-gadelshin
- Fix root subnet tao mismatch in #1781 by @l0r1s
- Test for tick updates in modify position in #1788 by @gztensor
- docs (REAME.md): fixl link to NPoS overview page in #1631 by @gap-editor
- fix docker compose in #1718 by @igorsyl
- Remove stake full limit precompile in #1780 by @open-junius
- fix: only remove delta when modifying a position in #1784 by @bdmason
- Add new remove_stake_full_limit extrinsic. in #1745 by @shamil-gadelshin
- Fix balancing of total alpha in #1782 by @gztensor
- Add liquidity modified event, fix coinbase injection into protocol li… in #1776 by @gztensor
- Feat/SubnetHyperparamsV2 in #1736 by @JohnReedV
- Enable liquidity providers in #1703 by @gztensor
- use hotkey to associate uid in evm in #1764 by @open-junius
- sigmoid steepness adjustment in #1758 by @andreea-popescu-reef
- Fix alpha_low, alpha_high min value checks in #1729 by @andreea-popescu-reef
- Upgrade Polkadot SDK to stable2412-6 in #1723 by @l0r1s
- backprop hotfixes 6/16/2025 in #1761 by @sam0x17
- Improve logic to start and skip bittensor tests in #1762 by @basfroman
- Fix NetUid metadata issue in #1746 by @ales-otf
- Add logo_url to subnet identities in #1750 by @bdmason
- fix the error from code merge in #1743 by @open-junius
- Add sr25519 precompiled pallet in #1702 by @axionyu
- fix build due to set bond reset ext missing NetUid in #1740 by @l0r1s
- Add
sudo_set_bonds_reset_enabledin #1727 by @HudsonGraeme - alpha precompiles in #1686 by @kenobijon
- Update doc toggle transfer in #1738 by @open-junius
- backprop hotfixes 6/10/2025 in #1734 by @sam0x17
- Feat/uniswapv3 lp greg in #1726 by @gztensor
- Remove obsolete code in #1724 by @shamil-gadelshin
- Use prices in determine_action in #1722 by @gztensor
- Add changes from Max and Dr. Nick in #1716 by @gztensor
- Hotkey splitting in #1559 by @open-junius
- RPC to get validators in #1614 by @open-junius
- Sasha/feat/uniswapv3 lp in #1710 by @ales-otf
- Merge with devnet-ready in #1707 by @ales-otf
- Feat/uniswapv3 lp remove swap inner side effects in #1705 by @gztensor
- Fix benchmarks in #1704 by @ales-otf
- Allow axon ip as 0 in #1682 by @open-junius
- change the default registration to 0.1 TAO in #1681 by @open-junius
- Merge with devnet-ready in #1698 by @ales-otf
- Fix migration weights in #1700 by @shamil-gadelshin
- Expose all extrinsic and storage to EVM in #1639 by @open-junius
- Fix
drandandcommitmentsfor localnet in #1696 by @basfroman - update to rust 1.87 in #1693 by @sam0x17
- Feat/uniswapv3 lp cleanup in #1691 by @gztensor
- Add manual switch for V3 swap in #1674 by @ales-otf
- Add RPC for current alpha price and small clean ups in #1659 by @ales-otf
- Feat/uniswapv3 lp cleanup in #1654 by @gztensor
- Setup benchmarks and use non-panic arithmetics in #1650 by @ales-otf
- Feat/uniswapv3 lp cleanup in #1647 by @gztensor
- Move swap-related extrinsics to swap pallet in #1645 by @ales-otf
- Rewrite covnert_deltas with safe math in #1636 by @ales-otf
- Fix swap step action calculation in #1637 by @gztensor
- Fix get_total_stake_for_hotkey in #1623 by @gztensor
- Fix tick index math rounding in #1621 by @ales-otf
- Fix more tests in #1616 by @ales-otf
- Sasha/feat/uniswapv3 lp in #1550 by @ales-otf
- Fix balance updates for add/remove liquidity in #1542 by @gztensor
- Sasha/feat/uniswapv3 lp in #1540 by @ales-otf
- Sasha/feat/uniswapv3 lp in #1535 by @ales-otf
- Adapt stake_into_subnet to swap v3 in #1529 by @ales-otf
- Sasha/feat/uniswapv3 lp in #1521 by @ales-otf
- Setup default fee rate in #1497 by @ales-otf
- Simplify Pallet::swap in #1495 by @ales-otf
- Sasha/feat/uniswapv3 lp in #1478 by @ales-otf
- Encapsulate Swap into module in #1475 by @ales-otf
- Sasha/feat/uniswapv3 lp in #1468 by @ales-otf
- Sasha/feat/uniswapv3 lp in #1467 by @ales-otf
- Feat/uniswapv3 lp greg in #1460 by @gztensor
- Implement pallet-subtensor-swap in #1446 by @ales-otf
- Move swap into pallet in #1441 by @ales-otf
- Tests and fixes for add_liquidity and remove_liquidity in #1440 by @gztensor
- Refactor swap, add errors in #1425 by @gztensor
- Fix conversion and Fixed::checked_pow issues in #1419 by @ales-otf
- Feat/uniswapv3 lp greg in #1413 by @gztensor
- Implement tick math in #1409 by @ales-otf
v3.1.4
v3.1.3
v3.1.2
v3.1.0
Yuma Consensus v3 (available for all subnets)
- Per-bond EMA scaling: individual & sparse-mode bonds now adapt via exponential moving
averages for smoother rewards - Refactored α-parameters (including new sigmoid-steepness tuning) for fine-grained consensus
control - Monte Carlo scenario tests & map_consensus.py integration tests validate retention guarantees
under adversarial conditions - On-chain toggle event & ABI support to enable/disable Yuma3 per subnet for easy rollbacks
- #1593
Notes for Subnet Owners
- Yuma 3 should be beneficial and safe to use in model verification subnets (specifically subnets which guarantee that a change in miner performance happens with a knowledge commitment), provided the bond reset flag is used correctly.
- It will distribute dividends to the validators more fairly than Yuma 2 did and Liquid Alpha 2.0 allows the subnet owners to disincentivize weight copying.
Generic Crowdloan Pallet (live for public testing)
- Launch generic crowdloans via a simple balance-transfer + arbitrary extrinsic
wrapper—supports create, contribute, withdraw, refund & finalize flows - Enforce a 500-contributor cap to prevent unbounded loops and track counts for benchmarking
- Hardened withdraw logic: only the original contributor can withdraw, and creator’s initial
deposit is locked until dissolution - #1503
Notes
The MEV-resistant staking PRs have been pulled back for now while we address some issues pointed out by the community but should be in an upcoming release
Full PR List
- Backpropagate hotfixes 5/27/2025 in #1689 by @sam0x17
- update readme in evm-test in #1657 by @open-junius
- fix everything (devnet) in #1669 by @sam0x17
- [Fix] [testnet] allow burn reg with SN token enabled == false in #1652 by @camfairchild
- Ensure stake threshold is respected when handing out vpermits in #1629 by @keithtensor
- Add UidLookupPrecompile address to used_address in #1628 by @keithtensor
- not check rate limit for reduce child take in #1624 by @open-junius
- Fix up a comment to reflect what the code is doing in #1643 by @keithtensor
- Add
BigRawCommitments Variant in #1638 by @JohnReedV - Add rustdocs to GH workflow in #1625 by @keithtensor
- Disable(comment) aggregated stake extrinsics in #1641 by @shamil-gadelshin
- Remove fee payment for associate_evm_key in #1640 by @keithtensor
- Multiple fields per commitment in #1633 by @JohnReedV
- remove the duplicated variant from the type info in #1626 by @l0r1s
- Move patch from workflow to sh file in #1622 by @basfroman
Validate-benchmarksJob Only Respectsskip-validate-benchmarksin #1611 by @JohnReedV- [Feat] reset bonds with commitment in #1612 by @camfairchild
- Upgrade Polkadot SDK to stable2409-7. in #1607 by @l0r1s
- [Feat] Yuma Consensus v3 in #1593 by @camfairchild
- make Dockerfile more secure in #1610 by @sam0x17
- Crowdloan max contributors limit to avoid unbounded work in #1591 by @l0r1s
- Introduce SameSubnetId error for move and swap stake extrinsics. in #1588 by @shamil-gadelshin
- add event for yuma3 toggle in #1605 by @camfairchild
- feat/roman/extend-patch-for-localnet-docker-image in #1603 by @basfroman
- Ensure we only reset BondsMovingAverage to 975000 only if it exceeds in #1598 by @keithtensor
- [fix] add to StakingHotkeys on inc stake in #1596 by @camfairchild
- Remove Deprecated Commitments Storage in #1595 by @JohnReedV
- Benchmark All Pallets in #1585 by @JohnReedV
- Add
start-callpatch for non-fast-blocks node in localnet Docker image in #1592 by @basfroman - Introduce ZeroMaxAmount error for add_stake_limit extrinsic. in #1577 by @shamil-gadelshin
- Add precompile to allow for UID lookup when provided with EVM address in #1518 by @keithtensor
- allow reschedule failed coldkey swap in #1580 by @open-junius
- Fix crowdloan logic issues in #1587 by @l0r1s
- use SubnetIdentity instead of SubnetName for name of SN in #1501 by @camfairchild
- Upgrade Subtensor Benchmarking to V2 in #1584 by @JohnReedV
- Add precompiles for add/remove stake limit in #1552 by @camfairchild
Skip-Validate-BenchmarkLabel Reruns CI in #1574 by @JohnReedV- upgrade to rust 1.86 🦀 in #1575 by @sam0x17
- Feat/crowdloan pallet in #1503 by @l0r1s
- Make BondsMovingAverage and MaxBurn root only in #1573 by @keithtensor
- Extrinsic for setting sn owner hotkey in #1513 by @gztensor
- Update README.md in #1533 by @dedyshkaPexto
- docs: fix broken Substrate docs link in #1536 by @mdqst
- docs: added a new CodeQL badge in #1537 by @sashaphmn
- Benchmark Action in #1562 by @JohnReedV
- Remove obsolete storage items. in #1569 by @shamil-gadelshin
- add check before sending burned register in #1568 by @open-junius
- Bump tokio from 1.40.0 to 1.44.2 in #1517 by @app/dependabot
- Add netuid to
SelectiveMetagraphIndexobject in #1565 by @basfroman - Introduce stake jobs batching and delayed execution in #1525 by @shamil-gadelshin
- fix the wrong spec file path in #1561 by @open-junius
- missing pow faucet feature in #1560 by @open-junius
- Feat/aggregate stakes more extrinsics in #1549 by @shamil-gadelshin
- Delay aggregated staking jobs. in #1556 by @shamil-gadelshin
- Add retry for all extrinsic in #1554 by @open-junius
- Add Missing Benchmarks in #1555 by @JohnReedV
- Added migration to remove total hk/ck stakes this interval in #1539 by @l0r1s
- Add missing benchmarks. in #1544 by @shamil-gadelshin
- Improve EVM test stability in CI in #1548 by @open-junius
- John/Fix-Benchmarks in #1528 by @JohnReedV
- Add retry logic for Bittensor e2e test in #1546 by @basfroman
- fix a type issue in evm test in #1541 by @open-junius
- Feat/subtoken enable in #1512 by @open-junius
- add evm test to ci in #1422 by @open-junius
v3.0.0
v2.0.11
What's Changed
- Fix macos docker builds and add compose file for local subtensor in #1122 by @GentikSolm
- Deduplicate subnet symbols in #1514 by @gztensor
- Bump openssl from 0.10.70 to 0.10.72 in #1511 by @app/dependabot
- fix merge conflict from v2.0.10 hotfix in #1515 by @sam0x17
- Fix docker image overwrites by adding platform to image tag in #1508 by @shamil-gadelshin
- Create extrinsic to allow EVM key association in #1487 by @keithtensor
- [fix] add remove validate to unstake_all in #1498 by @camfairchild
- Change
update_moving_price()function in #1496 by @shamil-gadelshin - Selective metagraph interface in #1463 by @open-junius
- Stake on subnet precompile in #1480 by @open-junius
- Feat/stake transfer precompile in #1438 by @gztensor
- Use last epoch hotkey alpha for fee calculation in #1489 by @gztensor
- Feat/Minimum Commitment Space in #1491 by @JohnReedV
- Do not use saturating_sub for signed types in #1485 by @gztensor
- Add Commit-Reveal Events in #1488 by @JohnReedV
- feat/Multiple Revealed Commitments in #1472 by @JohnReedV
- divs are minimum zero in #1481 by @camfairchild