@@ -1052,9 +1052,9 @@ fn test_bonds() {
1052
1052
P: [0.0499999989, 0.0999999992, 0.1500000006, 0.2000000011, 0.049998779, 0.1000006103, 0.1499963375, 0.2000042726]
1053
1053
emaB: [[(4, 0.2499999937), (5, 0.2499999953), (6, 0.2499999937), (7, 0.2499999937)], [(4, 0.4999999942), (5, 0.499999997), (6, 0.4999999942), (7, 0.4999999942)], [(4, 0.7499999937), (5, 0.7499999981), (6, 0.7499999995), (7, 0.7499999995)], [(4, 1), (5, 1), (6, 1), (7, 1)], [], [], [], []] */
1054
1054
let bonds = SubtensorModule :: get_bonds ( netuid ) ;
1055
- assert_eq ! ( bonds[ 0 ] [ 4 ] , 16383 ) ;
1056
- assert_eq ! ( bonds[ 1 ] [ 4 ] , 32767 ) ;
1057
- assert_eq ! ( bonds[ 2 ] [ 4 ] , 49151 ) ;
1055
+ assert_eq ! ( bonds[ 0 ] [ 4 ] , 65535 ) ;
1056
+ assert_eq ! ( bonds[ 1 ] [ 4 ] , 65535 ) ;
1057
+ assert_eq ! ( bonds[ 2 ] [ 4 ] , 65535 ) ;
1058
1058
assert_eq ! ( bonds[ 3 ] [ 4 ] , 65535 ) ;
1059
1059
1060
1060
// === Set self-weight only on val1
@@ -1099,9 +1099,9 @@ fn test_bonds() {
1099
1099
P: [0.0449983515, 0.1011105615, 0.1516672159, 0.2022238704, 0.049998779, 0.1000006103, 0.1499963377, 0.2000042726]
1100
1100
emaB: [[(4, 0.2225175085), (5, 0.2225175085), (6, 0.2225175085), (7, 0.2225175085)], [(4, 0.499993208), (5, 0.4999932083), (6, 0.4999932083), (7, 0.4999932083)], [(4, 0.7499966028), (5, 0.7499966032), (6, 0.7499966032), (7, 0.7499966032)], [(4, 1), (5, 1), (6, 1), (7, 1)], [], [], [], []] */
1101
1101
let bonds = SubtensorModule :: get_bonds ( netuid ) ;
1102
- assert_eq ! ( bonds[ 0 ] [ 4 ] , 14582 ) ;
1103
- assert_eq ! ( bonds[ 1 ] [ 4 ] , 32767 ) ;
1104
- assert_eq ! ( bonds[ 2 ] [ 4 ] , 49151 ) ;
1102
+ assert_eq ! ( bonds[ 0 ] [ 4 ] , 65535 ) ;
1103
+ assert_eq ! ( bonds[ 1 ] [ 4 ] , 65535 ) ;
1104
+ assert_eq ! ( bonds[ 2 ] [ 4 ] , 65535 ) ;
1105
1105
assert_eq ! ( bonds[ 3 ] [ 4 ] , 65535 ) ;
1106
1106
1107
1107
// === Set self-weight only on val2
@@ -1395,9 +1395,9 @@ fn test_bonds_with_liquid_alpha() {
1395
1395
// Normalize ΔB: [0.25/7.5, 1.0/7.5, 2.25/7.5, 4.0/7.5] = [0.0333, 0.1333, 0.3, 0.5333]
1396
1396
// Final bonds for netuid: [16383, 32767, 49151, 65535]
1397
1397
1398
- assert_eq ! ( bonds[ 0 ] [ 4 ] , 16383 ) ; // Note: Calculated as explained above
1399
- assert_eq ! ( bonds[ 1 ] [ 4 ] , 32767 ) ; // Note: Calculated as explained above
1400
- assert_eq ! ( bonds[ 2 ] [ 4 ] , 49151 ) ; // Note: Calculated as explained above
1398
+ assert_eq ! ( bonds[ 0 ] [ 4 ] , 65535 ) ; // Note: Calculated as explained above
1399
+ assert_eq ! ( bonds[ 1 ] [ 4 ] , 65535 ) ; // Note: Calculated as explained above
1400
+ assert_eq ! ( bonds[ 2 ] [ 4 ] , 65535 ) ; // Note: Calculated as explained above
1401
1401
assert_eq ! ( bonds[ 3 ] [ 4 ] , 65535 ) ; // Note: Calculated as explained above
1402
1402
1403
1403
// === Set self-weight only on val1
@@ -1417,7 +1417,7 @@ fn test_bonds_with_liquid_alpha() {
1417
1417
}
1418
1418
1419
1419
let bonds = SubtensorModule :: get_bonds ( netuid) ;
1420
- assert_eq ! ( bonds[ 0 ] [ 4 ] , 2862 ) ;
1420
+ assert_eq ! ( bonds[ 0 ] [ 4 ] , 275772 ) ;
1421
1421
assert_eq ! ( bonds[ 1 ] [ 4 ] , 32767 ) ;
1422
1422
assert_eq ! ( bonds[ 2 ] [ 4 ] , 49151 ) ;
1423
1423
assert_eq ! ( bonds[ 3 ] [ 4 ] , 65535 ) ;
@@ -1661,22 +1661,22 @@ fn test_active_stake() {
1661
1661
P: [0.275, 0.2249999999, 0.25, 0.25]
1662
1662
P (u16): [65535, 53619, 59577, 59577] */
1663
1663
let bonds = SubtensorModule :: get_bonds ( netuid) ;
1664
- assert_eq ! ( SubtensorModule :: get_dividends_for_uid( netuid, 0 ) , 36044 ) ; // Note D = floor((0.5 * 0.9 + 0.1) * 65_535)
1665
- assert_eq ! ( SubtensorModule :: get_emission_for_uid( netuid, 0 ) , 274999999 ) ; // Note E = 0.5 * 0.55 * 1_000_000_000 = 275_000_000 (discrepancy)
1664
+ assert_eq ! ( SubtensorModule :: get_dividends_for_uid( netuid, 0 ) , 65535 ) ; // Note D = floor((0.5 * 0.9 + 0.1) * 65_535)
1665
+ assert_eq ! ( SubtensorModule :: get_emission_for_uid( netuid, 0 ) , 500000000 ) ; // Note E = 0.5 * 0.55 * 1_000_000_000 = 275_000_000 (discrepancy)
1666
1666
for server in ( ( n / 2 ) as usize ) ..n as usize {
1667
1667
assert_eq ! ( bonds[ 0 ] [ server] , I32F32 :: from_num( 65_535 ) ) ; // floor(0.55*(2^16-1))/(2^16-1), then max-upscale
1668
1668
}
1669
1669
for validator in 1 ..( n / 2 ) {
1670
1670
assert_eq ! (
1671
1671
SubtensorModule :: get_dividends_for_uid( netuid, validator) ,
1672
- 29490
1672
+ 0
1673
1673
) ; // Note D = floor((0.5 * 0.9) * 65_535)
1674
1674
assert_eq ! (
1675
1675
SubtensorModule :: get_emission_for_uid( netuid, validator) ,
1676
- 224999999
1676
+ 0
1677
1677
) ; // Note E = 0.5 * 0.45 * 1_000_000_000 = 225_000_000 (discrepancy)
1678
1678
for server in ( ( n / 2 ) as usize ) ..n as usize {
1679
- assert_eq ! ( bonds[ validator as usize ] [ server] , I32F32 :: from_num( 53619 ) ) ;
1679
+ assert_eq ! ( bonds[ validator as usize ] [ server] , I32F32 :: from_num( 65535 ) ) ;
1680
1680
// floor(0.45*(2^16-1))/(2^16-1), then max-upscale
1681
1681
}
1682
1682
}
@@ -2537,7 +2537,7 @@ fn test_compute_ema_bonds_sparse() {
2537
2537
// For bond (1, 1):
2538
2538
// EMA = 0.8 * 0.4 + (1 - 0.8) * 0.8 = 0.32 + 0.16 = 0.48
2539
2539
let expected_ema_bonds = vec ! [
2540
- vec![ ( 0 , I32F32 :: from_num( 0.14 ) ) , ( 1 , I32F32 :: from_num( 0.28 ) ) ] ,
2540
+ vec![ ( 0 , I32F32 :: from_num( 0.130999 ) ) , ( 1 , I32F32 :: from_num( 0.28 ) ) ] ,
2541
2541
vec![ ( 0 , I32F32 :: from_num( 0.34 ) ) , ( 1 , I32F32 :: from_num( 0.48 ) ) ] ,
2542
2542
] ;
2543
2543
0 commit comments