@@ -539,7 +539,9 @@ RejectCodeTypePrefix {
539539 /// The block was rejected due to a mismatch with expected sortition view
540540 SortitionViewMismatch = 4 ,
541541 /// The block was rejected due to a testing directive
542- TestingDirective = 5
542+ TestingDirective = 5 ,
543+ /// The block was rejected due to an invalid reorg attempt
544+ ReorgNotAllowed = 6
543545} ) ;
544546
545547impl TryFrom < u8 > for RejectCodeTypePrefix {
@@ -560,6 +562,7 @@ impl From<&RejectCode> for RejectCodeTypePrefix {
560562 RejectCode :: NoSortitionView => RejectCodeTypePrefix :: NoSortitionView ,
561563 RejectCode :: SortitionViewMismatch => RejectCodeTypePrefix :: SortitionViewMismatch ,
562564 RejectCode :: TestingDirective => RejectCodeTypePrefix :: TestingDirective ,
565+ RejectCode :: ReorgNotAllowed => RejectCodeTypePrefix :: ReorgNotAllowed ,
563566 }
564567 }
565568}
@@ -602,6 +605,8 @@ pub enum RejectCode {
602605 SortitionViewMismatch ,
603606 /// The block was rejected due to a testing directive
604607 TestingDirective ,
608+ /// The block was rejected due to an invalid reorg attempt
609+ ReorgNotAllowed ,
605610}
606611
607612impl From < & RejectReason > for RejectCode {
@@ -615,6 +620,7 @@ impl From<&RejectReason> for RejectCode {
615620 RejectReason :: RejectedInPriorRound => RejectCode :: RejectedInPriorRound ,
616621 RejectReason :: SortitionViewMismatch => RejectCode :: SortitionViewMismatch ,
617622 RejectReason :: TestingDirective => RejectCode :: TestingDirective ,
623+ RejectReason :: ReorgNotAllowed => RejectCode :: ReorgNotAllowed ,
618624 // Newer reject reasons were expanded from SortitionViewMismatch
619625 _ => RejectCode :: SortitionViewMismatch ,
620626 }
@@ -761,6 +767,7 @@ impl From<&RejectCode> for RejectReason {
761767 RejectCode :: NoSortitionView => RejectReason :: NoSortitionView ,
762768 RejectCode :: SortitionViewMismatch => RejectReason :: SortitionViewMismatch ,
763769 RejectCode :: TestingDirective => RejectReason :: TestingDirective ,
770+ RejectCode :: ReorgNotAllowed => RejectReason :: ReorgNotAllowed ,
764771 }
765772 }
766773}
@@ -1271,7 +1278,8 @@ impl StacksMessageCodec for RejectCode {
12711278 | RejectCode :: RejectedInPriorRound
12721279 | RejectCode :: NoSortitionView
12731280 | RejectCode :: SortitionViewMismatch
1274- | RejectCode :: TestingDirective => {
1281+ | RejectCode :: TestingDirective
1282+ | RejectCode :: ReorgNotAllowed => {
12751283 // No additional data to serialize / deserialize
12761284 }
12771285 } ;
@@ -1297,6 +1305,7 @@ impl StacksMessageCodec for RejectCode {
12971305 RejectCodeTypePrefix :: NoSortitionView => RejectCode :: NoSortitionView ,
12981306 RejectCodeTypePrefix :: SortitionViewMismatch => RejectCode :: SortitionViewMismatch ,
12991307 RejectCodeTypePrefix :: TestingDirective => RejectCode :: TestingDirective ,
1308+ RejectCodeTypePrefix :: ReorgNotAllowed => RejectCode :: ReorgNotAllowed ,
13001309 } ;
13011310 Ok ( code)
13021311 }
@@ -1388,6 +1397,9 @@ impl std::fmt::Display for RejectCode {
13881397 RejectCode :: TestingDirective => {
13891398 write ! ( f, "The block was rejected due to a testing directive." )
13901399 }
1400+ RejectCode :: ReorgNotAllowed => {
1401+ write ! ( f, "The block was rejected due to an invalid reorg attempt." )
1402+ }
13911403 }
13921404 }
13931405}
0 commit comments