Skip to content

Commit 8200e95

Browse files
authored
Merge pull request #418 from opentensor/fix/thewhaleking/calculation-for-childkey-set
Fix calculation for childkey set
2 parents 590ec32 + b2e208b commit 8200e95

File tree

2 files changed

+21
-8
lines changed

2 files changed

+21
-8
lines changed

bittensor_cli/src/commands/stake/children_hotkeys.py

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,24 +30,22 @@ async def get_childkey_completion_block(
3030
"""
3131
Calculates the block at which the childkey set request will complete
3232
"""
33+
bh = await subtensor.substrate.get_chain_head()
3334
blocks_since_last_step_query = subtensor.query(
34-
"SubtensorModule",
35-
"BlocksSinceLastStep",
36-
params=[netuid],
35+
"SubtensorModule", "BlocksSinceLastStep", params=[netuid], block_hash=bh
3736
)
3837
tempo_query = subtensor.get_hyperparameter(
39-
param_name="Tempo",
40-
netuid=netuid,
38+
param_name="Tempo", netuid=netuid, block_hash=bh
4139
)
4240
block_number, blocks_since_last_step, tempo = await asyncio.gather(
43-
subtensor.substrate.get_block_number(),
41+
subtensor.substrate.get_block_number(block_hash=bh),
4442
blocks_since_last_step_query,
4543
tempo_query,
4644
)
47-
cooldown = block_number + 1
45+
cooldown = block_number + 7200
4846
blocks_left_in_tempo = tempo - blocks_since_last_step
4947
next_tempo = block_number + blocks_left_in_tempo
50-
next_epoch_after_cooldown = (cooldown - next_tempo) % tempo + cooldown
48+
next_epoch_after_cooldown = (cooldown - next_tempo) % (tempo + 1) + cooldown
5149
return block_number, next_epoch_after_cooldown
5250

5351

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import pytest
2+
3+
from bittensor_cli.src.bittensor.subtensor_interface import SubtensorInterface
4+
from bittensor_cli.src.commands.stake.children_hotkeys import (
5+
get_childkey_completion_block,
6+
)
7+
8+
9+
@pytest.mark.asyncio
10+
async def test_get_childkey_completion_block(local_chain):
11+
async with SubtensorInterface("ws://127.0.0.1:9945") as subtensor:
12+
current_block, completion_block = await get_childkey_completion_block(
13+
subtensor, 1
14+
)
15+
assert (completion_block - current_block) >= 7200

0 commit comments

Comments
 (0)