From 70469cb5ee62ae5e185a91beb4fa2e897983a4c3 Mon Sep 17 00:00:00 2001 From: Jude Nelson Date: Sat, 9 Mar 2019 18:49:03 -0500 Subject: [PATCH] burnchain blocks now include parent backpointers; include a privatekey trait --- src/burnchains/mod.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/burnchains/mod.rs b/src/burnchains/mod.rs index b553f70c2..90401a3d0 100644 --- a/src/burnchains/mod.rs +++ b/src/burnchains/mod.rs @@ -29,7 +29,7 @@ use std::io; use self::bitcoin::Error as btc_error; -use chainstate::burn::db::Error as burndb_error; +use chainstate::Error as burndb_error; use chainstate::burn::operations::Error as op_error; use util::hash::Hash160; @@ -39,12 +39,14 @@ pub struct Txid([u8; 32]); impl_array_newtype!(Txid, u8, 32); impl_array_hexstring_fmt!(Txid); impl_byte_array_newtype!(Txid, u8, 32); +pub const TXID_ENCODED_SIZE : u32 = 32; #[derive(Serialize, Deserialize)] pub struct BurnchainHeaderHash([u8; 32]); impl_array_newtype!(BurnchainHeaderHash, u8, 32); impl_array_hexstring_fmt!(BurnchainHeaderHash); impl_byte_array_newtype!(BurnchainHeaderHash, u8, 32); +pub const BURNCHAIN_HEADER_HASH_ENCODED_SIZE : u32 = 32; pub const MAGIC_BYTES_LENGTH: usize = 2; @@ -81,6 +83,11 @@ pub trait PublicKey : Clone + fmt::Debug + serde::Serialize + serde::de::Deseria fn verify(&self, data_hash: &[u8], sig: &[u8]) -> Result; } +pub trait PrivateKey : Clone + fmt::Debug + serde::Serialize + serde::de::DeserializeOwned { + fn to_bytes(&self) -> Vec; + fn sign(&self, data_hash: &[u8]) -> Result, &'static str>; +} + pub trait Address : Clone + fmt::Debug { fn to_bytes(&self) -> Vec; fn to_string(&self) -> String; @@ -116,6 +123,7 @@ pub struct BurnchainTransaction { pub struct BurnchainBlock { pub block_height: u64, pub block_hash: BurnchainHeaderHash, + pub parent_block_hash: BurnchainHeaderHash, pub txs: Vec> }