@@ -38,20 +38,21 @@ pub fn migrate_fix_is_network_member<T: Config>() -> Weight {
38
38
}
39
39
40
40
fn do_fix_is_network_member < T : Config > ( weight : Weight ) -> Weight {
41
+ let mut weight = weight;
41
42
// Clear the IsNetworkMember storage
42
- let mut curr = IsNetworkMember :: < T > :: clear ( U32 :: MAX , None ) ;
43
- weight = weight. saturating_add ( T :: DbWeight :: get ( ) . reads_writes ( curr. loops , curr. unique ) ) ;
43
+ let mut curr = IsNetworkMember :: < T > :: clear ( u32:: MAX , None ) ;
44
+ weight = weight
45
+ . saturating_add ( T :: DbWeight :: get ( ) . reads_writes ( curr. loops as u64 , curr. unique as u64 ) ) ;
44
46
while curr. maybe_cursor . is_some ( ) {
45
47
// Clear until empty
46
- curr = IsNetworkMember :: < T > :: clear ( U32 :: MAX , curr. maybe_cursor ) ;
47
- weight = weight. saturating_add ( T :: DbWeight :: get ( ) . reads_writes ( curr. loops , curr. unique ) ) ;
48
+ curr = IsNetworkMember :: < T > :: clear ( u32:: MAX , curr. maybe_cursor . as_deref ( ) ) ;
49
+ weight = weight
50
+ . saturating_add ( T :: DbWeight :: get ( ) . reads_writes ( curr. loops as u64 , curr. unique as u64 ) ) ;
48
51
}
49
52
// Repopulate the IsNetworkMember storage using the Keys map
50
- let netuids = Subtensor :: < T > :: get_all_subnet_netuids ( ) ;
51
- for netuid in netuids {
52
- for key in Keys :: < T > :: iter_prefix ( netuid) {
53
- IsNetworkMember :: < T > :: insert ( key, netuid, true ) ;
54
- }
53
+ for ( netuid, _uid, key) in Keys :: < T > :: iter ( ) {
54
+ IsNetworkMember :: < T > :: insert ( key, netuid, true ) ;
55
+ weight = weight. saturating_add ( T :: DbWeight :: get ( ) . reads_writes ( 1 , 1 ) ) ;
55
56
}
56
57
57
58
weight
0 commit comments