WIP for tree_hash

This commit is contained in:
mjkeating
2018-12-04 12:37:12 -08:00
parent fbb05946dd
commit f11c619ef5
7 changed files with 305 additions and 14 deletions

View File

@@ -1,7 +1,7 @@
extern crate bytes;
use self::bytes::{BufMut, BytesMut};
use super::ethereum_types::H256;
use super::ethereum_types::{Address, H256};
use super::{Encodable, SszStream};
/*
@@ -48,10 +48,18 @@ impl_encodable_for_uint!(usize, 64);
impl Encodable for H256 {
fn ssz_append(&self, s: &mut SszStream) {
assert_eq!(32, self.len());
s.append_encoded_raw(&self.to_vec());
}
}
impl Encodable for Address {
fn ssz_append(&self, s: &mut SszStream) {
assert_eq!(20, self.len());
s.append_encoded_raw(&self)
}
}
#[cfg(test)]
mod tests {
use super::*;
@@ -64,6 +72,14 @@ mod tests {
assert_eq!(ssz.drain(), vec![0; 32]);
}
#[test]
fn test_ssz_encode_adress() {
let h = Address::zero();
let mut ssz = SszStream::new();
ssz.append(&h);
assert_eq!(ssz.drain(), vec![0; 20]);
}
#[test]
fn test_ssz_encode_u8() {
let x: u8 = 0;