Просмотр исходного кода

src: moved blake3 Hash Encodable/Decodable traits from blockchain/mod.rs to util/serial.rs

aggstam 4 лет назад
Родитель
Сommit
d95e60af42
3 измененных файлов с 18 добавлено и 24 удалено
  1. 1 0
      Cargo.toml
  2. 1 24
      src/blockchain/mod.rs
  3. 16 0
      src/util/serial.rs

+ 1 - 0
Cargo.toml

@@ -160,6 +160,7 @@ websockets = [
 ]
 
 util = [
+    "blake3",
 	"bs58",
 	"hex",
 	"bincode",

+ 1 - 24
src/blockchain/mod.rs

@@ -1,14 +1,8 @@
-use std::io;
-
 use log::debug;
 
 use crate::{
     consensus::{Block, BlockInfo},
-    impl_vec,
-    util::{
-        serial::{Decodable, Encodable, ReadExt, VarInt, WriteExt},
-        time::Timestamp,
-    },
+    util::time::Timestamp,
     Result,
 };
 
@@ -161,20 +155,3 @@ impl Blockchain {
         self.order.get_last()
     }
 }
-
-impl Encodable for blake3::Hash {
-    fn encode<S: io::Write>(&self, mut s: S) -> Result<usize> {
-        s.write_slice(self.as_bytes())?;
-        Ok(32)
-    }
-}
-
-impl Decodable for blake3::Hash {
-    fn decode<D: io::Read>(mut d: D) -> Result<Self> {
-        let mut bytes = [0u8; 32];
-        d.read_slice(&mut bytes)?;
-        Ok(bytes.into())
-    }
-}
-
-impl_vec!(blake3::Hash);

+ 16 - 0
src/util/serial.rs

@@ -503,6 +503,7 @@ macro_rules! impl_vec {
 impl_vec!(SocketAddr);
 impl_vec!(Url);
 impl_vec!([u8; 32]);
+impl_vec!(blake3::Hash);
 
 impl Encodable for IpAddr {
     fn encode<S: io::Write>(&self, mut s: S) -> Result<usize> {
@@ -646,6 +647,21 @@ impl Decodable for BigUint {
     }
 }
 
+impl Encodable for blake3::Hash {
+    fn encode<S: io::Write>(&self, mut s: S) -> Result<usize> {
+        s.write_slice(self.as_bytes())?;
+        Ok(32)
+    }
+}
+
+impl Decodable for blake3::Hash {
+    fn decode<D: io::Read>(mut d: D) -> Result<Self> {
+        let mut bytes = [0u8; 32];
+        d.read_slice(&mut bytes)?;
+        Ok(bytes.into())
+    }
+}
+
 // Tuples
 macro_rules! tuple_encode {
     ($($x:ident),*) => (