소스 검색

add missing file coin.rs

narodnik 5 년 전
부모
커밋
153cae0234
1개의 변경된 파일28개의 추가작업 그리고 0개의 파일을 삭제
  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)?,
+        })
+    }
+}
+