Conversation
Closed
Base automatically changed from
feat/roman/create-subtensor-callls-logic
to
SDKv10
November 10, 2025 23:18
thewhaleking
requested changes
Nov 11, 2025
Contributor
thewhaleking
left a comment
There was a problem hiding this comment.
Looks good. Only blocking comment is to remove the " НОВЫЙ ПАРАМЕТР" comment.
Collaborator
Author
Jy was nie veronderstel om my boodskap aan die Vrymesselaars te sien nie. |
thewhaleking
approved these changes
Nov 12, 2025
ibraheem-abe
approved these changes
Nov 12, 2025
This was referenced Nov 25, 2025
This was referenced Dec 9, 2025
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR implements comprehensive support for the Proxy pallet in the Bittensor SDK, enabling users to manage proxy relationships, announcements, and pure proxy accounts on the Subtensor network.
Context
The Proxy pallet allows accounts to delegate permissions to other accounts (proxies) to execute calls on their behalf. This implementation provides both synchronous and asynchronous interfaces for all Proxy pallet operations, following the established SDK patterns and architecture.
New Extrinsics
add_proxy_extrinsic- Adds a proxy relationship between accountsremove_proxy_extrinsic- Removes a specific proxy relationshipremove_proxies_extrinsic- Removes all proxy relationships for an account in a single callcreate_pure_proxy_extrinsic- Creates a keyless pure proxy accountkill_pure_proxy_extrinsic- Removes a pure proxy account (automatically handles execution via proxy)proxy_extrinsic- Executes a call on behalf of the real account through a proxyproxy_announced_extrinsic- Executes a previously announced call through a proxyannounce_extrinsic- Announces a future call that will be executed through a proxyreject_announcement_extrinsic- Rejects an announcement made by a proxy delegateremove_announcement_extrinsic- Removes an announcement made by a proxy accountpoke_deposit_extrinsic- Adjusts deposits for proxies and announcements based on current valuesSubtensor methods
get_proxies(block=None)- Retrieves all proxy relationships from the chain (returns dict mapping real accounts to their proxy lists)get_proxies_for_real_account(real_account_ss58, block=None)- Returns proxies and deposit for a specific real accountget_proxy_announcement(delegate_account_ss58, block=None)- Retrieves proxy announcements for a specific delegate accountget_proxy_announcements(block=None)- Retrieves all proxy announcements from the chainget_proxy_constants(constants=None, as_dict=False, block=None)- Fetches runtime configuration constants from the Proxy palletAll extrinsic functions are exposed as convenient wrapper methods in the
Subtensorclass:add_proxyremove_proxyremove_proxiescreate_pure_proxykill_pure_proxyproxyproxy_announcedannounce_proxyreject_proxy_announcementremove_proxy_announcementpoke_depositNew CallBuilder class
Proxy CallBuilder (
bittensor/core/extrinsics/pallets/proxy.py)A new
Proxyclass extendsCallBuilderto createGenericCallobjects for all Proxy pallet functions:add_proxy(delegate, proxy_type, delay)remove_proxy(delegate, proxy_type, delay)remove_proxies()create_pure(proxy_type, delay, index)kill_pure(spawner, proxy_type, index, height, ext_index)proxy(real, force_proxy_type, call)announce(real, call_hash)proxy_announced(delegate, real, force_proxy_type, call)reject_announcement(delegate, call_hash)remove_announcement(real, call_hash)poke_deposit()Chain Data Classes
ProxyTypeProxyInfoProxyAnnouncementInfoProxyConstantsTesting
Comprehensive Test Coverage
e2e testsunit testsconsistency testsUsage Examples
Query Methods
Get all proxies in the network
Get proxies for a specific account
Get proxy announcements for a delegate
Get all proxy announcements in the network
Get proxy constants
Get specific constants as dictionary
Proxy Management
Add a proxy relationship
Remove a specific proxy
Remove all proxies at once
Pure Proxy Operations
Create a pure proxy account
Kill the pure proxy
Executing Calls Through Proxy
Execute a transfer call through proxy
Announcement Mechanism
Announce a future call
Execute the announced call (after delay period)
Managing Announcements
Real account rejects an announcement
Proxy removes its own announcement
Deposit Optimization
Adjust deposits after runtime upgrade or proxy removal
Related links:
Proxysupport #3112