@@ -9,7 +9,7 @@ use safe_math::*;
99use sp_arithmetic:: helpers_128bit:: sqrt;
1010use substrate_fixed:: types:: U64F64 ;
1111
12- use self :: tick:: { Tick , TickIndex , TickIndexBitmap } ;
12+ use self :: tick:: { Layer , Tick , TickIndex , TickIndexBitmap } ;
1313
1414pub mod pallet;
1515mod tick;
@@ -1127,22 +1127,26 @@ where
11271127 let bitmap = TickIndexBitmap :: from ( index) ;
11281128
11291129 // Update layer words
1130- let mut word0_value = self . state_ops . get_layer0_word ( bitmap. word_at ( 0 ) ) ;
1131- let mut word1_value = self . state_ops . get_layer1_word ( bitmap. word_at ( 1 ) ) ;
1132- let mut word2_value = self . state_ops . get_layer2_word ( bitmap. word_at ( 2 ) ) ;
1130+ let mut word0_value = self . state_ops . get_layer0_word ( bitmap. word_at ( Layer :: Top ) ) ;
1131+ let mut word1_value = self
1132+ . state_ops
1133+ . get_layer1_word ( bitmap. word_at ( Layer :: Middle ) ) ;
1134+ let mut word2_value = self
1135+ . state_ops
1136+ . get_layer2_word ( bitmap. word_at ( Layer :: Bottom ) ) ;
11331137
11341138 // Set bits in each layer
1135- word0_value |= bitmap. bit_mask ( 0 ) ;
1136- word1_value |= bitmap. bit_mask ( 1 ) ;
1137- word2_value |= bitmap. bit_mask ( 2 ) ;
1139+ word0_value |= bitmap. bit_mask ( Layer :: Top ) ;
1140+ word1_value |= bitmap. bit_mask ( Layer :: Middle ) ;
1141+ word2_value |= bitmap. bit_mask ( Layer :: Bottom ) ;
11381142
11391143 // Update the storage
11401144 self . state_ops
1141- . set_layer0_word ( bitmap. word_at ( 0 ) , word0_value) ;
1145+ . set_layer0_word ( bitmap. word_at ( Layer :: Top ) , word0_value) ;
11421146 self . state_ops
1143- . set_layer1_word ( bitmap. word_at ( 1 ) , word1_value) ;
1147+ . set_layer1_word ( bitmap. word_at ( Layer :: Middle ) , word1_value) ;
11441148 self . state_ops
1145- . set_layer2_word ( bitmap. word_at ( 2 ) , word2_value) ;
1149+ . set_layer2_word ( bitmap. word_at ( Layer :: Bottom ) , word2_value) ;
11461150 }
11471151
11481152 pub fn remove_active_tick ( & mut self , index : TickIndex ) {
@@ -1155,25 +1159,29 @@ where
11551159 let bitmap = TickIndexBitmap :: from ( index) ;
11561160
11571161 // Update layer words
1158- let mut word0_value = self . state_ops . get_layer0_word ( bitmap. word_at ( 0 ) ) ;
1159- let mut word1_value = self . state_ops . get_layer1_word ( bitmap. word_at ( 1 ) ) ;
1160- let mut word2_value = self . state_ops . get_layer2_word ( bitmap. word_at ( 2 ) ) ;
1162+ let mut word0_value = self . state_ops . get_layer0_word ( bitmap. word_at ( Layer :: Top ) ) ;
1163+ let mut word1_value = self
1164+ . state_ops
1165+ . get_layer1_word ( bitmap. word_at ( Layer :: Middle ) ) ;
1166+ let mut word2_value = self
1167+ . state_ops
1168+ . get_layer2_word ( bitmap. word_at ( Layer :: Bottom ) ) ;
11611169
11621170 // Turn the bit off (& !bit) and save as needed
1163- word2_value &= !bitmap. bit_mask ( 2 ) ;
1171+ word2_value &= !bitmap. bit_mask ( Layer :: Bottom ) ;
11641172 self . state_ops
1165- . set_layer2_word ( bitmap. word_at ( 2 ) , word2_value) ;
1173+ . set_layer2_word ( bitmap. word_at ( Layer :: Bottom ) , word2_value) ;
11661174
11671175 if word2_value == 0 {
1168- word1_value &= !bitmap. bit_mask ( 1 ) ;
1176+ word1_value &= !bitmap. bit_mask ( Layer :: Middle ) ;
11691177 self . state_ops
1170- . set_layer1_word ( bitmap. word_at ( 1 ) , word1_value) ;
1178+ . set_layer1_word ( bitmap. word_at ( Layer :: Middle ) , word1_value) ;
11711179 }
11721180
11731181 if word1_value == 0 {
1174- word0_value &= !bitmap. bit_mask ( 0 ) ;
1182+ word0_value &= !bitmap. bit_mask ( Layer :: Top ) ;
11751183 self . state_ops
1176- . set_layer0_word ( bitmap. word_at ( 0 ) , word0_value) ;
1184+ . set_layer0_word ( bitmap. word_at ( Layer :: Top ) , word0_value) ;
11771185 }
11781186 }
11791187
@@ -1193,12 +1201,12 @@ where
11931201 let mut result: u32 = 0 ;
11941202
11951203 // Layer positions from bitmap
1196- let layer0_word = bitmap. word_at ( 0 ) ;
1197- let layer0_bit = bitmap. bit_at ( 0 ) ;
1198- let layer1_word = bitmap. word_at ( 1 ) ;
1199- let layer1_bit = bitmap. bit_at ( 1 ) ;
1200- let layer2_word = bitmap. word_at ( 2 ) ;
1201- let layer2_bit = bitmap. bit_at ( 2 ) ;
1204+ let layer0_word = bitmap. word_at ( Layer :: Top ) ;
1205+ let layer0_bit = bitmap. bit_at ( Layer :: Top ) ;
1206+ let layer1_word = bitmap. word_at ( Layer :: Middle ) ;
1207+ let layer1_bit = bitmap. bit_at ( Layer :: Middle ) ;
1208+ let layer2_word = bitmap. word_at ( Layer :: Bottom ) ;
1209+ let layer2_bit = bitmap. bit_at ( Layer :: Bottom ) ;
12021210
12031211 // Find the closest active bits in layer 0, then 1, then 2
12041212
0 commit comments