Use smallvec for tree hash packed encoding

This commit is contained in:
Michael Sproul
2022-02-15 16:52:33 +11:00
parent e86cff2f8b
commit 5340c49de7
12 changed files with 31 additions and 73 deletions

View File

@@ -159,7 +159,7 @@ impl TreeHash for Graffiti {
<[u8; GRAFFITI_BYTES_LEN]>::tree_hash_type()
}
fn tree_hash_packed_encoding(&self) -> Vec<u8> {
fn tree_hash_packed_encoding(&self) -> tree_hash::PackedEncoding {
self.0.tree_hash_packed_encoding()
}

View File

@@ -78,7 +78,7 @@ impl TreeHash for ParticipationFlags {
u8::tree_hash_type()
}
fn tree_hash_packed_encoding(&self) -> Vec<u8> {
fn tree_hash_packed_encoding(&self) -> tree_hash::PackedEncoding {
self.bits.tree_hash_packed_encoding()
}

View File

@@ -16,7 +16,7 @@ use crate::{ChainSpec, SignedRoot};
use rand::RngCore;
use safe_arith::{ArithError, SafeArith};
use serde_derive::{Deserialize, Serialize};
use ssz::{ssz_encode, Decode, DecodeError, Encode};
use ssz::{Decode, DecodeError, Encode};
use std::fmt;
use std::hash::Hash;
use std::iter::Iterator;

View File

@@ -290,8 +290,8 @@ macro_rules! impl_ssz {
tree_hash::TreeHashType::Basic
}
fn tree_hash_packed_encoding(&self) -> Vec<u8> {
ssz_encode(self)
fn tree_hash_packed_encoding(&self) -> tree_hash::PackedEncoding {
self.0.tree_hash_packed_encoding()
}
fn tree_hash_packing_factor() -> usize {