Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
153 commits
Select commit Hold shift + click to select a range
283762f
update pallets (call builder)
basfroman Dec 18, 2025
7f64388
add new classes to chain data
basfroman Dec 18, 2025
478f661
add extrinsics for coldkey swap
basfroman Dec 18, 2025
5aec993
add subtensor methods
basfroman Dec 18, 2025
e5aeab1
add async subtensor methods
basfroman Dec 18, 2025
8628252
update docstring
basfroman Dec 18, 2025
2be715d
oops, init
basfroman Dec 18, 2025
6f6c427
add extrinsics.utils helpers for swap coldkey
basfroman Dec 18, 2025
a3ee494
update SubtensorApi
basfroman Dec 18, 2025
2961d81
add unit tests for sync stuff
basfroman Dec 18, 2025
f0f270f
add unit tests for async stuff
basfroman Dec 18, 2025
59bdef7
ruff
basfroman Dec 18, 2025
e026a53
improve `bittensor/core/chain_data/coldkey_swap.py`
basfroman Dec 18, 2025
39de352
update both subtensors
basfroman Dec 18, 2025
4e5fcdb
improve `SubtensorApi`
basfroman Dec 18, 2025
66d0903
add `reuse_block_hash` to async `get_coldkey_swap_announcement` method
basfroman Dec 18, 2025
5d8d185
improve `bittensor.core.chain_data.coldkey_swap.ColdkeySwapAnnounceme…
basfroman Dec 18, 2025
3e63fa6
update `test_coldkey_swap.py`
basfroman Dec 18, 2025
b0de871
update check
basfroman Dec 19, 2025
0b16e89
update subtensor methods unit tests
basfroman Dec 19, 2025
5fcfc5b
add e2e tests
basfroman Dec 19, 2025
5d9c48e
update some docstrings
basfroman Dec 19, 2025
398a534
Merge branch 'staging' into feat/roman/add-updated-support-swap-coldkey
basfroman Jan 28, 2026
3676cc6
update extrinsic modules
basfroman Jan 29, 2026
373e001
update chain data
basfroman Jan 29, 2026
0bf84c3
add extrinsic wrapper calls in subtensor
basfroman Jan 29, 2026
472a976
add deprecated message to legacy chain data module
basfroman Jan 29, 2026
2fe36b0
update pallets
basfroman Jan 29, 2026
59c94dc
add root extrinsics
basfroman Jan 29, 2026
ef56e30
update SubtensorApi
basfroman Jan 29, 2026
251afba
easy import
basfroman Jan 29, 2026
7c72fd0
improve `deprecated_message` function in utils
basfroman Jan 29, 2026
78ced9b
import
basfroman Jan 29, 2026
f24a2b0
a bunch of unit tests for new logic
basfroman Jan 29, 2026
21659a6
e2e test covers all extrinsic and almost all cases (If I've forgotten…
basfroman Jan 29, 2026
4588e33
Merge pull request #3218 from opentensor/feat/roman/add-updated-suppo…
basfroman Jan 30, 2026
4709aa2
add pallet support
basfroman Jan 30, 2026
e515cf4
add extrinsics
basfroman Jan 30, 2026
a542869
add extrinsics wrappers to subtensors
basfroman Jan 30, 2026
5019a82
update SubtensorApi
basfroman Jan 30, 2026
2da9f5f
add unit tests
basfroman Jan 30, 2026
c18619e
add e2e tests
basfroman Jan 30, 2026
f5e13bf
add ChainFeatureDisabledWarning and update deprecated_message
basfroman Jan 31, 2026
634f714
add deprecation message to disabled Liquidity related stuff
basfroman Jan 31, 2026
cbd5d68
update `get_subnet_prices` since `AlphaSqrtPrice` map has been removed
basfroman Jan 31, 2026
3adfc84
update unit tests
basfroman Jan 31, 2026
878d511
comment integration test
basfroman Jan 31, 2026
cd08b6c
Add py.typed and pkg tools
thewhaleking Feb 4, 2026
b4ffb04
Merge pull request #3250 from opentensor/feat/roman/balancer-swap-sup…
basfroman Feb 4, 2026
cb09e4b
Merge branch 'staging' into feat/roman/subnet_buyback
basfroman Feb 4, 2026
07c1a40
update chain calls in dev framework
basfroman Feb 5, 2026
7fc08e9
fix commit reveal e2e test
basfroman Feb 5, 2026
33c96ab
fix commit weights e2e test
basfroman Feb 5, 2026
65daf01
fix set weights e2e test
basfroman Feb 5, 2026
4e96d87
ruff
basfroman Feb 5, 2026
9447621
Merge pull request #3254 from opentensor/fix/roman/fixes-for-many-cha…
basfroman Feb 5, 2026
f80decb
Merge pull request #3249 from opentensor/feat/roman/subnet_buyback
basfroman Feb 5, 2026
91ca924
Merge branch 'staging' into feat/thewhaleking/mypy
basfroman Feb 5, 2026
e36105e
Merge pull request #3253 from opentensor/feat/thewhaleking/mypy
basfroman Feb 5, 2026
532ed82
update pallet
basfroman Feb 6, 2026
444dfaa
update dev framework
basfroman Feb 6, 2026
f80490a
update subtensor api
basfroman Feb 6, 2026
5d5e489
update extrinsic names
basfroman Feb 6, 2026
51025b4
rename subtensor methods
basfroman Feb 6, 2026
5e0cb4b
update unit tests
basfroman Feb 6, 2026
fe329a8
update e2e tests
basfroman Feb 6, 2026
2fbc470
Merge pull request #3256 from opentensor/feat/roman/Rename-subnet_buy…
basfroman Feb 11, 2026
dbb325b
fixed fee assumption
basfroman Feb 13, 2026
9eb9a28
Merge pull request #3258 from opentensor/fix/roman/batch-opps
ibraheem-abe Feb 13, 2026
62c7ecb
improve methods with fallback logic
basfroman Feb 13, 2026
46232d3
update unit tests
basfroman Feb 13, 2026
86743af
Merge pull request #3259 from opentensor/feat/roman/use-new-call
basfroman Feb 14, 2026
200ff4d
docs: update documentation URLs to docs.learnbittensor.org (#3257)
droppingbeans Feb 17, 2026
fd8eca2
Handle scaleobj from asi in fixed_to_float
thewhaleking Feb 18, 2026
a3a2294
docs: fix broken changelog URL and typo in README (#3263)
droppingbeans Feb 18, 2026
b2c621b
docs: fix branch name 'develop' to 'staging' in hotfix workflow (#3266)
droppingbeans Feb 18, 2026
282795d
Handle scaleobj from asi in fixed_to_float (#3265)
thewhaleking Feb 18, 2026
4b94032
fix batching test
basfroman Feb 18, 2026
2e4a650
Merge pull request #3267 from opentensor/fix/roman/fix-batching
basfroman Feb 18, 2026
5d12c8c
update pallet
basfroman Feb 19, 2026
8ee9414
update exrinsics
basfroman Feb 19, 2026
9b32a54
update subtensors
basfroman Feb 19, 2026
7f37268
add errors items
basfroman Feb 19, 2026
db5c8fe
improve utils
basfroman Feb 19, 2026
8191449
update SubtensorApi
basfroman Feb 19, 2026
398ce82
bumping up drand and sdk versions
basfroman Feb 19, 2026
73283ae
update unit tests
basfroman Feb 19, 2026
6b9450c
add e2e tests to check custom errors
basfroman Feb 19, 2026
484ce48
update errors
basfroman Feb 20, 2026
d6df3e7
bumping ASI version
basfroman Feb 20, 2026
7f44bd6
update `submit_encrypted_extrinsic`s
basfroman Feb 20, 2026
3a720f6
unit tests
basfroman Feb 20, 2026
8a663d5
e2e tests
basfroman Feb 20, 2026
804d98b
ruff
basfroman Feb 20, 2026
c267304
fix flaky tests
basfroman Feb 25, 2026
9326d60
fix mypi errors for subtensor.py
basfroman Feb 25, 2026
6578a2f
consistent mypi update for async_subtensor.py
basfroman Feb 25, 2026
6cd386c
chore: trigger CI
basfroman Feb 25, 2026
b251a06
chore: trigger CI
basfroman Feb 25, 2026
1c6fe04
oops
basfroman Feb 25, 2026
121f707
mypy
basfroman Feb 25, 2026
501a3bd
Update bittensor/core/subtensor.py
basfroman Feb 25, 2026
1c370cb
Update bittensor/core/subtensor.py
basfroman Feb 25, 2026
4e2a574
Update bittensor/core/async_subtensor.py
basfroman Feb 25, 2026
b5ca8f5
Update bittensor/core/async_subtensor.py
basfroman Feb 25, 2026
ecf4582
Update bittensor/core/async_subtensor.py
basfroman Feb 25, 2026
d9f0fe9
Update bittensor/core/async_subtensor.py
basfroman Feb 25, 2026
d81611a
Update bittensor/core/async_subtensor.py
basfroman Feb 25, 2026
12bfb14
Update bittensor/core/subtensor.py
basfroman Feb 25, 2026
b2426f3
Update bittensor/core/subtensor.py
basfroman Feb 25, 2026
9911485
Update bittensor/core/subtensor.py
basfroman Feb 25, 2026
d769f4a
Update bittensor/core/async_subtensor.py
basfroman Feb 25, 2026
97b29c3
Apply suggestions from code review
basfroman Feb 25, 2026
93642ad
typo from review
basfroman Feb 25, 2026
1e3f933
Merge pull request #3274 from opentensor/feat/roman/technical-debt
basfroman Feb 25, 2026
d8ac377
Merge branch 'staging' into feat/roman/Rework-shielded-transactions
basfroman Feb 25, 2026
9796767
async def get_subnet_prices
ibraheem-abe Feb 26, 2026
ad3537d
def get_subnet_prices
ibraheem-abe Feb 26, 2026
bee43b2
async def test_get_subnet_prices
ibraheem-abe Feb 26, 2026
0ca5793
def test_get_subnet_prices
ibraheem-abe Feb 26, 2026
955d0dc
fix async tests
ibraheem-abe Feb 26, 2026
ada1c0c
fix subtensor tests
ibraheem-abe Feb 26, 2026
4e5c7c1
update batch
ibraheem-abe Feb 26, 2026
81c5037
testing
ibraheem-abe Feb 26, 2026
fd36cbf
Merge pull request #3276 from opentensor/revert/balancer-update
ibraheem-abe Feb 26, 2026
57f8b16
update e2e gh workflow
basfroman Feb 27, 2026
77aa9cb
Merge pull request #3277 from opentensor/feat/roman/add-custom-tag-on…
basfroman Feb 27, 2026
ec73069
Fix typo: pacakge → package in README (#3272)
droppingbeans Feb 27, 2026
87efaeb
docs: fix typos in contrib documentation (#3271)
droppingbeans Feb 27, 2026
d551b02
Merge pull request #3269 from opentensor/feat/roman/Rework-shielded-t…
ibraheem-abe Mar 3, 2026
50f4fb8
max period for mev_shield txs
ibraheem-abe Mar 11, 2026
9c72e44
add resolve_mev_shield_period
ibraheem-abe Mar 11, 2026
c247a02
add period resolution for sync/asyncx
ibraheem-abe Mar 11, 2026
5988f72
optimize import
basfroman Mar 13, 2026
899dad5
update unit tests
basfroman Mar 13, 2026
2bf3517
update get_stake
basfroman Mar 13, 2026
e5492a6
poor Bob
basfroman Mar 13, 2026
46e8469
poor Bob
basfroman Mar 13, 2026
be61b57
allow 1 rao tolerance - claimable is estimated via py float math, act…
basfroman Mar 13, 2026
b5ee196
fix for unit tests
basfroman Mar 13, 2026
f38f053
oooops fix
basfroman Mar 13, 2026
3fa0f7c
Merge pull request #3284 from opentensor/feat/roman/re-enable-alpha-fees
basfroman Mar 14, 2026
87452d1
Merge pull request #3280 from opentensor/update/mev-shield-period
ibraheem-abe Mar 14, 2026
750f554
Typing improvements related to InfoBase
thewhaleking Mar 19, 2026
6455781
Merge branch 'staging' into chore/thewhaleking/typing-improvements
thewhaleking Mar 19, 2026
07dbeae
Adds signed commit info to contrib
thewhaleking Mar 19, 2026
776ccd0
Merge pull request #3289 from opentensor/chore/thewhaleking/add-signe…
thewhaleking Mar 19, 2026
abadaf6
Merge pull request #3288 from opentensor/chore/thewhaleking/typing-im…
thewhaleking Mar 19, 2026
7367ecd
pin btwallet
ibraheem-abe Mar 19, 2026
1982032
Merge pull request #3290 from opentensor/update/pin-btwallet-requirement
ibraheem-abe Mar 19, 2026
ca6adb9
update changelog
ibraheem-abe Mar 19, 2026
b338ad2
Merge pull request #3291 from opentensor/changelog/1020
ibraheem-abe Mar 19, 2026
50b6a9d
Merge branch 'master' into release/10.2.0
basfroman Mar 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 20 additions & 6 deletions .github/workflows/e2e-subtensor-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ on:
workflow_dispatch:
inputs:
docker_image_tag:
description: "Docker image tag"
description: "Standard docker image tag (ignored if custom tag is set below)"
required: false
type: choice
default: "devnet-ready"
Expand All @@ -26,6 +26,11 @@ on:
- testnet
- devnet
- devnet-ready
custom_image_tag:
description: "Custom docker image tag — overrides selection above (e.g. pr-2441)"
required: false
type: string
default: ""

# job to run tests in parallel
jobs:
Expand Down Expand Up @@ -109,16 +114,25 @@ jobs:
id: set-image
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
INPUT_CUSTOM_TAG: ${{ github.event.inputs.custom_image_tag }}
INPUT_CHOICE_TAG: ${{ github.event.inputs.docker_image_tag }}
run: |
echo "Event: $GITHUB_EVENT_NAME"
echo "Branch: $GITHUB_REF_NAME"

# Check if docker_image_tag input is provided (for workflow_dispatch)
if [[ "${GITHUB_EVENT_NAME}" == "workflow_dispatch" ]]; then
docker_tag_input="${{ github.event.inputs.docker_image_tag }}"
if [[ -n "$docker_tag_input" ]]; then
image="ghcr.io/opentensor/subtensor-localnet:${docker_tag_input}"
echo "Using Docker image tag from workflow_dispatch input: ${docker_tag_input}"
custom_tag=$(echo "$INPUT_CUSTOM_TAG" | xargs)
if [[ -n "$custom_tag" ]]; then
image="ghcr.io/opentensor/subtensor-localnet:${custom_tag}"
echo "Using custom docker image tag: ${custom_tag}"
echo "✅ Final selected image: $image"
echo "image=$image" >> "$GITHUB_OUTPUT"
exit 0
fi

if [[ -n "$INPUT_CHOICE_TAG" ]]; then
image="ghcr.io/opentensor/subtensor-localnet:${INPUT_CHOICE_TAG}"
echo "Using standard docker image tag: ${INPUT_CHOICE_TAG}"
echo "✅ Final selected image: $image"
echo "image=$image" >> "$GITHUB_OUTPUT"
exit 0
Expand Down
35 changes: 34 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,38 @@
# Changelog

## 10.2.0 /2026-03-19

## What's Changed
* Rework coldkey swap by @basfroman in https://github.com/opentensor/bittensor/pull/3218
* Make SDK consistent with new `Balancer swap` logic by @basfroman in https://github.com/opentensor/bittensor/pull/3250
* Fixes for many chain changes by @basfroman in https://github.com/opentensor/bittensor/pull/3254
* Add subnet buyback extrinsic support to SDK by @basfroman in https://github.com/opentensor/bittensor/pull/3249
* Add py.typed and pkg tools by @thewhaleking in https://github.com/opentensor/bittensor/pull/3253
* Rename `subnet_buyback` extrinsic `to add_stake_burn` by @basfroman in https://github.com/opentensor/bittensor/pull/3256
* fixed fee assumption by @basfroman in https://github.com/opentensor/bittensor/pull/3258
* `get_subnet_prices` uses new runtime api call + fallback by @basfroman in https://github.com/opentensor/bittensor/pull/3259
* docs: update documentation URLs to docs.learnbittensor.org by @droppingbeans in https://github.com/opentensor/bittensor/pull/3257
* docs: fix broken changelog URL and typo in README by @droppingbeans in https://github.com/opentensor/bittensor/pull/3263
* docs: fix branch name 'develop' to 'staging' in hotfix workflow by @droppingbeans in https://github.com/opentensor/bittensor/pull/3266
* Handle scaleobj from asi in fixed_to_float by @thewhaleking in https://github.com/opentensor/bittensor/pull/3265
* fix batching test by @basfroman in https://github.com/opentensor/bittensor/pull/3267
* Technical debt by @basfroman in https://github.com/opentensor/bittensor/pull/3274
* Revert/balancer update by @ibraheem-abe in https://github.com/opentensor/bittensor/pull/3276
* Update e2e gh workflow by @basfroman in https://github.com/opentensor/bittensor/pull/3277
* Fix typo: pacakge → package in README by @droppingbeans in https://github.com/opentensor/bittensor/pull/3272
* docs: fix typos in contrib documentation by @droppingbeans in https://github.com/opentensor/bittensor/pull/3271
* Rework shielded transactions by @basfroman in https://github.com/opentensor/bittensor/pull/3269
* Re enable alpha fees by @basfroman in https://github.com/opentensor/bittensor/pull/3284
* Update/mev shield period by @ibraheem-abe in https://github.com/opentensor/bittensor/pull/3280
* Adds signed commit info to contrib by @thewhaleking in https://github.com/opentensor/bittensor/pull/3289
* Typing improvements related to InfoBase by @thewhaleking in https://github.com/opentensor/bittensor/pull/3288
* Update: Pin btwallet requirement by @ibraheem-abe in https://github.com/opentensor/bittensor/pull/3290

## New Contributors
* @droppingbeans made their first contribution in https://github.com/opentensor/bittensor/pull/3257

**Full Changelog**: https://github.com/opentensor/bittensor/compare/v10.1.0...v10.2.0

## 10.1.0 /2026-01-15

## What's Changed
Expand All @@ -16,7 +49,7 @@
* @Dairus01 made their first contribution in https://github.com/opentensor/bittensor/pull/3231
* @Olexandr88 made their first contribution in https://github.com/opentensor/bittensor/pull/3238

**Full Changelog**: https://github.com/opentensor/bittensor/compare/v10.1.0...v10.0.2
**Full Changelog**: https://github.com/opentensor/bittensor/compare/v10.0.1...v10.1.0

## 10.0.1 /2025-12-22

Expand Down
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

## Internet-scale Neural Networks <!-- omit in toc -->

[Discord](https://discord.gg/qasY3HA9F9) • [Network](https://taostats.io/) • [Research](https://bittensor.com/whitepaper) • [Documentation](https://docs.bittensor.com)
[Discord](https://discord.gg/qasY3HA9F9) • [Network](https://taostats.io/) • [Research](https://bittensor.com/whitepaper) • [Documentation](https://docs.learnbittensor.org)

</div>

Expand Down Expand Up @@ -45,8 +45,8 @@ Welcome! Bittensor is an open source platform on which you can produce competiti

The Opentensor Foundation (OTF) provides all the open source tools, including this Bittensor SDK, the codebase and the documentation, with step-by-step tutorials and guides, to enable you to participate in the Bittensor ecosystem.

- **Developer documentation**: https://docs.bittensor.com.
- **A Beginner's Q and A on Bittensor**: https://docs.bittensor.com/questions-and-answers.
- **Developer documentation**: https://docs.learnbittensor.org.
- **A Beginner's Q and A on Bittensor**: https://docs.learnbittensor.org/questions-and-answers.
- **Bittensor whitepaper**: https://bittensor.com/whitepaper.

This Bittensor SDK contains ready-to-use Python packages for interacting with the Bittensor ecosystem, writing subnet incentive mechanisms, subnet miners, subnet validators and querying the subtensor (the blockchain part of the Bittensor network).
Expand Down Expand Up @@ -74,7 +74,7 @@ This Bittensor SDK codebase is for the Bittensor platform only, designed to help

## Release Notes

See [Bittensor SDK Release Notes](https://docs.bittensor.com/bittensor-rel-notes).
See [Bittensor SDK Release Notes](https://docs.learnbittensor.org/bittensor-rel-notes).

---

Expand All @@ -98,7 +98,7 @@ python3 -m pip install --upgrade bittensor
The macOS preinstalled CPython installation is compiled with LibreSSL instead of OpenSSL. There are a number
of issues with LibreSSL, and as such is not fully supported by the libraries used by bittensor. Thus we highly recommend, if
you are using a Mac, to first install Python from [Homebrew](https://brew.sh/). Additionally, the Rust FFI bindings
[if installing from precompiled wheels (default)] require the Homebrew-installed OpenSSL pacakge. If you choose to use
[if installing from precompiled wheels (default)] require the Homebrew-installed OpenSSL package. If you choose to use
the preinstalled Python version from macOS, things may not work completely.

### Installation
Expand Down Expand Up @@ -253,7 +253,7 @@ pytest tests/unit_tests
- `LOCALNET_SH_PATH` - path to `localnet.sh` script in cloned subtensor repository (for legacy runner);
- `BUILD_BINARY` - (`=0` or `=1`) - used with `LOCALNET_SH_PATH` for build or not before start localnet node (for legacy runner);
- `USE_DOCKER` - (`=0` or `=1`) - used if you want to use specific runner to run e2e tests (for docker runner);
- `FAST_BLOCKS` - (`=0` or `=1`) - allows you to run a localnet node in fast or non-fast blocks mode (for both types of runers).
- `FAST_BLOCKS` - (`=0` or `=1`) - allows you to run a localnet node in fast or non-fast blocks mode (for both types of runners).
- `SKIP_PULL` - used if you are using a Docker image, but for some reason you want to temporarily limit the logic of updating the image from the repository.

#### Using `docker runner` (default for now):
Expand Down
Loading
Loading