From a4b010e0032b71e67330245f34efbe4073e6ce27 Mon Sep 17 00:00:00 2001 From: therealyingtong Date: Thu, 4 Jun 2020 15:44:15 +0800 Subject: [PATCH] Placeholders for Canopy network upgrade --- zcash_primitives/src/consensus.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/zcash_primitives/src/consensus.rs b/zcash_primitives/src/consensus.rs index a9e9d0692..1b730148d 100644 --- a/zcash_primitives/src/consensus.rs +++ b/zcash_primitives/src/consensus.rs @@ -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 for BranchId { @@ -139,6 +150,7 @@ impl TryFrom 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 for u32 { BranchId::Sapling => 0x76b8_09bb, BranchId::Blossom => 0x2bb4_0e60, BranchId::Heartwood => 0xf5b9_230b, + BranchId::Canopy => 0xe9ff_75a6, } } }