Placeholders for Canopy network upgrade

This commit is contained in:
therealyingtong 2020-06-04 15:44:15 +08:00
parent cf75dc559d
commit a4b010e003
1 changed files with 13 additions and 0 deletions

View File

@ -26,6 +26,7 @@ impl Parameters for MainNetwork {
NetworkUpgrade::Sapling => Some(419_200),
NetworkUpgrade::Blossom => Some(653_600),
NetworkUpgrade::Heartwood => Some(903_000),
NetworkUpgrade::Canopy => None,
}
}
}
@ -41,6 +42,7 @@ impl Parameters for TestNetwork {
NetworkUpgrade::Sapling => Some(280_000),
NetworkUpgrade::Blossom => Some(584_000),
NetworkUpgrade::Heartwood => Some(903_800),
NetworkUpgrade::Canopy => None,
}
}
}
@ -67,6 +69,10 @@ pub enum NetworkUpgrade {
///
/// [Heartwood]: https://z.cash/upgrade/heartwood/
Heartwood,
/// The [Canopy] network upgrade.
///
/// [Canopy]: https://z.cash/upgrade/canopy/
Canopy,
}
impl fmt::Display for NetworkUpgrade {
@ -76,6 +82,7 @@ impl fmt::Display for NetworkUpgrade {
NetworkUpgrade::Sapling => write!(f, "Sapling"),
NetworkUpgrade::Blossom => write!(f, "Blossom"),
NetworkUpgrade::Heartwood => write!(f, "Heartwood"),
NetworkUpgrade::Canopy => write!(f, "Canopy"),
}
}
}
@ -87,6 +94,7 @@ impl NetworkUpgrade {
NetworkUpgrade::Sapling => BranchId::Sapling,
NetworkUpgrade::Blossom => BranchId::Blossom,
NetworkUpgrade::Heartwood => BranchId::Heartwood,
NetworkUpgrade::Canopy => BranchId::Canopy,
}
}
}
@ -100,6 +108,7 @@ const UPGRADES_IN_ORDER: &[NetworkUpgrade] = &[
NetworkUpgrade::Sapling,
NetworkUpgrade::Blossom,
NetworkUpgrade::Heartwood,
NetworkUpgrade::Canopy,
];
/// A globally-unique identifier for a set of consensus rules within the Zcash chain.
@ -127,6 +136,8 @@ pub enum BranchId {
Blossom,
/// The consensus rules deployed by [`NetworkUpgrade::Heartwood`].
Heartwood,
/// The consensus rules deployed by [`NetworkUpgrade::Canopy`].
Canopy,
}
impl TryFrom<u32> for BranchId {
@ -139,6 +150,7 @@ impl TryFrom<u32> for BranchId {
0x76b8_09bb => Ok(BranchId::Sapling),
0x2bb4_0e60 => Ok(BranchId::Blossom),
0xf5b9_230b => Ok(BranchId::Heartwood),
0xe9ff_75a6 => Ok(BranchId::Canopy),
_ => Err("Unknown consensus branch ID"),
}
}
@ -152,6 +164,7 @@ impl From<BranchId> for u32 {
BranchId::Sapling => 0x76b8_09bb,
BranchId::Blossom => 0x2bb4_0e60,
BranchId::Heartwood => 0xf5b9_230b,
BranchId::Canopy => 0xe9ff_75a6,
}
}
}