Kaynağa Gözat

add missing file coin.rs

narodnik 5 yıl önce
ebeveyn
işleme
153cae0234
1 değiştirilmiş dosya ile 28 ekleme ve 0 silme
  1. 28 0
      src/crypto/coin.rs

+ 28 - 0
src/crypto/coin.rs

@@ -0,0 +1,28 @@
+use std::io;
+
+use crate::{error::Result, serial::{Decodable, Encodable}};
+
+pub struct Coin {
+    pub repr: [u8; 32],
+}
+
+impl Coin {
+    pub fn new(repr: [u8; 32]) -> Self {
+        Self { repr }
+    }
+}
+
+impl Encodable for Coin {
+    fn encode<S: io::Write>(&self, mut s: S) -> Result<usize> {
+        Ok(self.repr.encode(s)?)
+    }
+}
+
+impl Decodable for Coin {
+    fn decode<D: io::Read>(mut d: D) -> Result<Self> {
+        Ok(Self {
+            repr: Decodable::decode(d)?,
+        })
+    }
+}
+