Encode bitfield as list not vector

This commit is contained in:
Paul Hauner
2019-04-17 11:57:57 +10:00
parent ea8d5a3db9
commit 10a5d2657c
8 changed files with 37 additions and 15 deletions

View File

@@ -6,7 +6,7 @@ use serde::de::{Deserialize, Deserializer};
use serde::ser::{Serialize, Serializer};
use serde_hex::{encode as hex_encode, HexVisitor};
use ssz::{decode, Decodable, DecodeError, Encodable, SszStream};
use tree_hash::impl_tree_hash_for_ssz_bytes;
use tree_hash::tree_hash_ssz_encoding_as_vector;
/// A BLS aggregate signature.
///
@@ -166,7 +166,7 @@ impl<'de> Deserialize<'de> for AggregateSignature {
}
}
impl_tree_hash_for_ssz_bytes!(AggregateSignature);
tree_hash_ssz_encoding_as_vector!(AggregateSignature);
#[cfg(test)]
mod tests {

View File

@@ -3,7 +3,7 @@ use serde::de::{Deserialize, Deserializer};
use serde::ser::{Serialize, Serializer};
use serde_hex::{encode as hex_encode, PrefixedHexVisitor};
use ssz::{ssz_encode, Decodable, DecodeError, Encodable, SszStream};
use tree_hash::impl_tree_hash_for_ssz_bytes;
use tree_hash::tree_hash_ssz_encoding_as_vector;
/// A BLS aggregate signature.
///
@@ -99,7 +99,7 @@ impl<'de> Deserialize<'de> for FakeAggregateSignature {
}
}
impl_tree_hash_for_ssz_bytes!(FakeAggregateSignature);
tree_hash_ssz_encoding_as_vector!(FakeAggregateSignature);
#[cfg(test)]
mod tests {

View File

@@ -4,7 +4,7 @@ use serde::de::{Deserialize, Deserializer};
use serde::ser::{Serialize, Serializer};
use serde_hex::HexVisitor;
use ssz::{ssz_encode, Decodable, DecodeError, Encodable, SszStream};
use tree_hash::impl_tree_hash_for_ssz_bytes;
use tree_hash::tree_hash_ssz_encoding_as_vector;
/// A single BLS signature.
///
@@ -74,7 +74,7 @@ impl Decodable for FakeSignature {
}
}
impl_tree_hash_for_ssz_bytes!(FakeSignature);
tree_hash_ssz_encoding_as_vector!(FakeSignature);
impl Serialize for FakeSignature {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>

View File

@@ -7,7 +7,7 @@ use ssz::{decode, ssz_encode, Decodable, DecodeError, Encodable, SszStream};
use std::default;
use std::fmt;
use std::hash::{Hash, Hasher};
use tree_hash::impl_tree_hash_for_ssz_bytes;
use tree_hash::tree_hash_ssz_encoding_as_vector;
/// A single BLS signature.
///
@@ -105,7 +105,7 @@ impl<'de> Deserialize<'de> for PublicKey {
}
}
impl_tree_hash_for_ssz_bytes!(PublicKey);
tree_hash_ssz_encoding_as_vector!(PublicKey);
impl PartialEq for PublicKey {
fn eq(&self, other: &PublicKey) -> bool {

View File

@@ -5,7 +5,7 @@ use serde::de::{Deserialize, Deserializer};
use serde::ser::{Serialize, Serializer};
use serde_hex::HexVisitor;
use ssz::{decode, ssz_encode, Decodable, DecodeError, Encodable, SszStream};
use tree_hash::impl_tree_hash_for_ssz_bytes;
use tree_hash::tree_hash_ssz_encoding_as_vector;
/// A single BLS signature.
///
@@ -70,7 +70,7 @@ impl<'de> Deserialize<'de> for SecretKey {
}
}
impl_tree_hash_for_ssz_bytes!(SecretKey);
tree_hash_ssz_encoding_as_vector!(SecretKey);
#[cfg(test)]
mod tests {

View File

@@ -5,7 +5,7 @@ use serde::de::{Deserialize, Deserializer};
use serde::ser::{Serialize, Serializer};
use serde_hex::HexVisitor;
use ssz::{decode, ssz_encode, Decodable, DecodeError, Encodable, SszStream};
use tree_hash::impl_tree_hash_for_ssz_bytes;
use tree_hash::tree_hash_ssz_encoding_as_vector;
/// A single BLS signature.
///
@@ -115,7 +115,7 @@ impl Decodable for Signature {
}
}
impl_tree_hash_for_ssz_bytes!(Signature);
tree_hash_ssz_encoding_as_vector!(Signature);
impl Serialize for Signature {
/// Serde serialization is compliant the Ethereum YAML test format.