coin.rs 529 B

1234567891011121314151617181920212223242526272829303132
  1. use std::io;
  2. use crate::{
  3. error::Result,
  4. serial::{Decodable, Encodable},
  5. };
  6. #[derive(Clone, Debug, PartialEq)]
  7. pub struct Coin {
  8. pub repr: [u8; 32],
  9. }
  10. impl Coin {
  11. pub fn new(repr: [u8; 32]) -> Self {
  12. Self { repr }
  13. }
  14. }
  15. impl Encodable for Coin {
  16. fn encode<S: io::Write>(&self, s: S) -> Result<usize> {
  17. self.repr.encode(s)
  18. }
  19. }
  20. impl Decodable for Coin {
  21. fn decode<D: io::Read>(d: D) -> Result<Self> {
  22. Ok(Self {
  23. repr: Decodable::decode(d)?,
  24. })
  25. }
  26. }