@@ -248,7 +248,7 @@ def get_null_neuron() -> "NeuronInfo":
248
248
def from_vec_u8 (cls , vec_u8 : bytes ) -> "NeuronInfo" :
249
249
n = bt_decode .NeuronInfo .decode (vec_u8 )
250
250
stake_dict = process_stake_data (n .stake )
251
- total_stake = sum (stake_dict .values ())
251
+ total_stake = sum (stake_dict .values ()) if stake_dict else Balance ( 0 )
252
252
axon_info = n .axon_info
253
253
coldkey = decode_account_id (n .coldkey )
254
254
hotkey = decode_account_id (n .hotkey )
@@ -368,7 +368,7 @@ def list_from_vec_u8(cls, vec_u8: bytes) -> list["NeuronInfoLite"]:
368
368
pruning_score = item .pruning_score
369
369
rank = item .rank
370
370
stake_dict = process_stake_data (item .stake )
371
- stake = sum (stake_dict .values ())
371
+ stake = sum (stake_dict .values ()) if stake_dict else Balance ( 0 )
372
372
trust = item .trust
373
373
uid = item .uid
374
374
validator_permit = item .validator_permit
@@ -452,8 +452,10 @@ def from_vec_u8(cls, vec_u8: bytes) -> Optional["DelegateInfo"]:
452
452
decoded = bt_decode .DelegateInfo .decode (vec_u8 )
453
453
hotkey = decode_account_id (decoded .delegate_ss58 )
454
454
owner = decode_account_id (decoded .owner_ss58 )
455
- nominators = process_stake_data (decoded .nominators )
456
- total_stake = sum (nominators .values ())
455
+ nominators = [
456
+ (decode_account_id (x ), Balance .from_rao (y )) for x , y in decoded .nominators
457
+ ]
458
+ total_stake = sum ((x [1 ] for x in nominators )) if nominators else Balance (0 )
457
459
return DelegateInfo (
458
460
hotkey_ss58 = hotkey ,
459
461
total_stake = total_stake ,
@@ -473,8 +475,10 @@ def list_from_vec_u8(cls, vec_u8: bytes) -> list["DelegateInfo"]:
473
475
for d in decoded :
474
476
hotkey = decode_account_id (d .delegate_ss58 )
475
477
owner = decode_account_id (d .owner_ss58 )
476
- nominators = process_stake_data (d .nominators )
477
- total_stake = sum (nominators .values ())
478
+ nominators = [
479
+ (decode_account_id (x ), Balance .from_rao (y )) for x , y in d .nominators
480
+ ]
481
+ total_stake = sum ((x [1 ] for x in nominators )) if nominators else Balance (0 )
478
482
results .append (
479
483
DelegateInfo (
480
484
hotkey_ss58 = hotkey ,
@@ -497,10 +501,13 @@ def delegated_list_from_vec_u8(
497
501
decoded = bt_decode .DelegateInfo .decode_delegated (vec_u8 )
498
502
results = []
499
503
for d , b in decoded :
500
- nominators = process_stake_data (d .nominators )
504
+ nominators = [
505
+ (decode_account_id (x ), Balance .from_rao (y )) for x , y in d .nominators
506
+ ]
507
+ total_stake = sum ((x [1 ] for x in nominators )) if nominators else Balance (0 )
501
508
delegate = DelegateInfo (
502
509
hotkey_ss58 = decode_account_id (d .delegate_ss58 ),
503
- total_stake = sum ( nominators . values ()) ,
510
+ total_stake = total_stake ,
504
511
nominators = nominators ,
505
512
owner_ss58 = decode_account_id (d .owner_ss58 ),
506
513
take = d .take ,
0 commit comments