@@ -55,7 +55,7 @@ use crate::chainstate::burn::{ConsensusHash, ConsensusHashExtensions};
55
55
use crate :: chainstate:: nakamoto:: {
56
56
HeaderTypeNames , NakamotoBlock , NakamotoBlockHeader , NakamotoChainState ,
57
57
NakamotoStagingBlocksConn , NAKAMOTO_CHAINSTATE_SCHEMA_1 , NAKAMOTO_CHAINSTATE_SCHEMA_2 ,
58
- NAKAMOTO_CHAINSTATE_SCHEMA_3 , NAKAMOTO_CHAINSTATE_SCHEMA_4 ,
58
+ NAKAMOTO_CHAINSTATE_SCHEMA_3 , NAKAMOTO_CHAINSTATE_SCHEMA_4 , NAKAMOTO_CHAINSTATE_SCHEMA_5 ,
59
59
} ;
60
60
use crate :: chainstate:: stacks:: address:: StacksAddressExtensions ;
61
61
use crate :: chainstate:: stacks:: boot:: * ;
@@ -299,14 +299,14 @@ impl DBConfig {
299
299
} ) ;
300
300
match epoch_id {
301
301
StacksEpochId :: Epoch10 => true ,
302
- StacksEpochId :: Epoch20 => version_u32 >= 1 && version_u32 <= 7 ,
303
- StacksEpochId :: Epoch2_05 => version_u32 >= 2 && version_u32 <= 7 ,
304
- StacksEpochId :: Epoch21 => version_u32 >= 3 && version_u32 <= 7 ,
305
- StacksEpochId :: Epoch22 => version_u32 >= 3 && version_u32 <= 7 ,
306
- StacksEpochId :: Epoch23 => version_u32 >= 3 && version_u32 <= 7 ,
307
- StacksEpochId :: Epoch24 => version_u32 >= 3 && version_u32 <= 7 ,
308
- StacksEpochId :: Epoch25 => version_u32 >= 3 && version_u32 <= 7 ,
309
- StacksEpochId :: Epoch30 => version_u32 >= 3 && version_u32 <= 7 ,
302
+ StacksEpochId :: Epoch20 => version_u32 >= 1 && version_u32 <= 8 ,
303
+ StacksEpochId :: Epoch2_05 => version_u32 >= 2 && version_u32 <= 8 ,
304
+ StacksEpochId :: Epoch21 => version_u32 >= 3 && version_u32 <= 8 ,
305
+ StacksEpochId :: Epoch22 => version_u32 >= 3 && version_u32 <= 8 ,
306
+ StacksEpochId :: Epoch23 => version_u32 >= 3 && version_u32 <= 8 ,
307
+ StacksEpochId :: Epoch24 => version_u32 >= 3 && version_u32 <= 8 ,
308
+ StacksEpochId :: Epoch25 => version_u32 >= 3 && version_u32 <= 8 ,
309
+ StacksEpochId :: Epoch30 => version_u32 >= 3 && version_u32 <= 8 ,
310
310
}
311
311
}
312
312
}
@@ -680,7 +680,7 @@ impl<'a> DerefMut for ChainstateTx<'a> {
680
680
}
681
681
}
682
682
683
- pub const CHAINSTATE_VERSION : & ' static str = "7 " ;
683
+ pub const CHAINSTATE_VERSION : & ' static str = "8 " ;
684
684
685
685
const CHAINSTATE_INITIAL_SCHEMA : & ' static [ & ' static str ] = & [
686
686
"PRAGMA foreign_keys = ON;" ,
@@ -1087,28 +1087,24 @@ impl StacksChainState {
1087
1087
while db_config. version != CHAINSTATE_VERSION {
1088
1088
match db_config. version . as_str ( ) {
1089
1089
"1" => {
1090
- // migrate to 2
1091
1090
info ! ( "Migrating chainstate schema from version 1 to 2" ) ;
1092
1091
for cmd in CHAINSTATE_SCHEMA_2 . iter ( ) {
1093
1092
tx. execute_batch ( cmd) ?;
1094
1093
}
1095
1094
}
1096
1095
"2" => {
1097
- // migrate to 3
1098
1096
info ! ( "Migrating chainstate schema from version 2 to 3" ) ;
1099
1097
for cmd in CHAINSTATE_SCHEMA_3 . iter ( ) {
1100
1098
tx. execute_batch ( cmd) ?;
1101
1099
}
1102
1100
}
1103
1101
"3" => {
1104
- // migrate to nakamoto 1
1105
1102
info ! ( "Migrating chainstate schema from version 3 to 4: nakamoto support" ) ;
1106
1103
for cmd in NAKAMOTO_CHAINSTATE_SCHEMA_1 . iter ( ) {
1107
1104
tx. execute_batch ( cmd) ?;
1108
1105
}
1109
1106
}
1110
1107
"4" => {
1111
- // migrate to nakamoto 2
1112
1108
info ! (
1113
1109
"Migrating chainstate schema from version 4 to 5: fix nakamoto tenure typo"
1114
1110
) ;
@@ -1117,21 +1113,27 @@ impl StacksChainState {
1117
1113
}
1118
1114
}
1119
1115
"5" => {
1120
- // migrate to nakamoto 3
1121
1116
info ! ( "Migrating chainstate schema from version 5 to 6: adds height_in_tenure field" ) ;
1122
1117
for cmd in NAKAMOTO_CHAINSTATE_SCHEMA_3 . iter ( ) {
1123
1118
tx. execute_batch ( cmd) ?;
1124
1119
}
1125
1120
}
1126
1121
"6" => {
1127
- // migrate to nakamoto 3
1128
1122
info ! (
1129
1123
"Migrating chainstate schema from version 6 to 7: adds signer_stats table"
1130
1124
) ;
1131
1125
for cmd in NAKAMOTO_CHAINSTATE_SCHEMA_4 . iter ( ) {
1132
1126
tx. execute_batch ( cmd) ?;
1133
1127
}
1134
1128
}
1129
+ "7" => {
1130
+ info ! (
1131
+ "Migrating chainstate schema from version 7 to 8: add index for nakamoto block headers"
1132
+ ) ;
1133
+ for cmd in NAKAMOTO_CHAINSTATE_SCHEMA_5 . iter ( ) {
1134
+ tx. execute_batch ( cmd) ?;
1135
+ }
1136
+ }
1135
1137
_ => {
1136
1138
error ! (
1137
1139
"Invalid chain state database: expected version = {}, got {}" ,
0 commit comments