mirror of
https://github.com/Qortal/pirate-librustzcash.git
synced 2025-11-02 12:27:02 +00:00
Serialize lengths as 32-bit integers, not 64-bit.
This commit is contained in:
@@ -149,7 +149,7 @@ impl<E: Engine> VerifyingKey<E> {
|
|||||||
writer.write_all(self.gamma_g2.into_uncompressed().as_ref())?;
|
writer.write_all(self.gamma_g2.into_uncompressed().as_ref())?;
|
||||||
writer.write_all(self.delta_g1.into_uncompressed().as_ref())?;
|
writer.write_all(self.delta_g1.into_uncompressed().as_ref())?;
|
||||||
writer.write_all(self.delta_g2.into_uncompressed().as_ref())?;
|
writer.write_all(self.delta_g2.into_uncompressed().as_ref())?;
|
||||||
writer.write_u64::<BigEndian>(self.ic.len() as u64)?;
|
writer.write_u32::<BigEndian>(self.ic.len() as u32)?;
|
||||||
for ic in &self.ic {
|
for ic in &self.ic {
|
||||||
writer.write_all(ic.into_uncompressed().as_ref())?;
|
writer.write_all(ic.into_uncompressed().as_ref())?;
|
||||||
}
|
}
|
||||||
@@ -182,7 +182,7 @@ impl<E: Engine> VerifyingKey<E> {
|
|||||||
reader.read_exact(g2_repr.as_mut())?;
|
reader.read_exact(g2_repr.as_mut())?;
|
||||||
let delta_g2 = g2_repr.into_affine().map_err(|e| io::Error::new(io::ErrorKind::InvalidData, e))?;
|
let delta_g2 = g2_repr.into_affine().map_err(|e| io::Error::new(io::ErrorKind::InvalidData, e))?;
|
||||||
|
|
||||||
let ic_len = reader.read_u64::<BigEndian>()? as usize;
|
let ic_len = reader.read_u32::<BigEndian>()? as usize;
|
||||||
|
|
||||||
let mut ic = vec![];
|
let mut ic = vec![];
|
||||||
|
|
||||||
@@ -256,27 +256,27 @@ impl<E: Engine> Parameters<E> {
|
|||||||
{
|
{
|
||||||
self.vk.write(&mut writer)?;
|
self.vk.write(&mut writer)?;
|
||||||
|
|
||||||
writer.write_u64::<BigEndian>(self.h.len() as u64)?;
|
writer.write_u32::<BigEndian>(self.h.len() as u32)?;
|
||||||
for g in &self.h[..] {
|
for g in &self.h[..] {
|
||||||
writer.write_all(g.into_uncompressed().as_ref())?;
|
writer.write_all(g.into_uncompressed().as_ref())?;
|
||||||
}
|
}
|
||||||
|
|
||||||
writer.write_u64::<BigEndian>(self.l.len() as u64)?;
|
writer.write_u32::<BigEndian>(self.l.len() as u32)?;
|
||||||
for g in &self.l[..] {
|
for g in &self.l[..] {
|
||||||
writer.write_all(g.into_uncompressed().as_ref())?;
|
writer.write_all(g.into_uncompressed().as_ref())?;
|
||||||
}
|
}
|
||||||
|
|
||||||
writer.write_u64::<BigEndian>(self.a.len() as u64)?;
|
writer.write_u32::<BigEndian>(self.a.len() as u32)?;
|
||||||
for g in &self.a[..] {
|
for g in &self.a[..] {
|
||||||
writer.write_all(g.into_uncompressed().as_ref())?;
|
writer.write_all(g.into_uncompressed().as_ref())?;
|
||||||
}
|
}
|
||||||
|
|
||||||
writer.write_u64::<BigEndian>(self.b_g1.len() as u64)?;
|
writer.write_u32::<BigEndian>(self.b_g1.len() as u32)?;
|
||||||
for g in &self.b_g1[..] {
|
for g in &self.b_g1[..] {
|
||||||
writer.write_all(g.into_uncompressed().as_ref())?;
|
writer.write_all(g.into_uncompressed().as_ref())?;
|
||||||
}
|
}
|
||||||
|
|
||||||
writer.write_u64::<BigEndian>(self.b_g2.len() as u64)?;
|
writer.write_u32::<BigEndian>(self.b_g2.len() as u32)?;
|
||||||
for g in &self.b_g2[..] {
|
for g in &self.b_g2[..] {
|
||||||
writer.write_all(g.into_uncompressed().as_ref())?;
|
writer.write_all(g.into_uncompressed().as_ref())?;
|
||||||
}
|
}
|
||||||
@@ -336,35 +336,35 @@ impl<E: Engine> Parameters<E> {
|
|||||||
let mut b_g2 = vec![];
|
let mut b_g2 = vec![];
|
||||||
|
|
||||||
{
|
{
|
||||||
let len = reader.read_u64::<BigEndian>()? as usize;
|
let len = reader.read_u32::<BigEndian>()? as usize;
|
||||||
for _ in 0..len {
|
for _ in 0..len {
|
||||||
h.push(read_g1(&mut reader)?);
|
h.push(read_g1(&mut reader)?);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
let len = reader.read_u64::<BigEndian>()? as usize;
|
let len = reader.read_u32::<BigEndian>()? as usize;
|
||||||
for _ in 0..len {
|
for _ in 0..len {
|
||||||
l.push(read_g1(&mut reader)?);
|
l.push(read_g1(&mut reader)?);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
let len = reader.read_u64::<BigEndian>()? as usize;
|
let len = reader.read_u32::<BigEndian>()? as usize;
|
||||||
for _ in 0..len {
|
for _ in 0..len {
|
||||||
a.push(read_g1(&mut reader)?);
|
a.push(read_g1(&mut reader)?);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
let len = reader.read_u64::<BigEndian>()? as usize;
|
let len = reader.read_u32::<BigEndian>()? as usize;
|
||||||
for _ in 0..len {
|
for _ in 0..len {
|
||||||
b_g1.push(read_g1(&mut reader)?);
|
b_g1.push(read_g1(&mut reader)?);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
let len = reader.read_u64::<BigEndian>()? as usize;
|
let len = reader.read_u32::<BigEndian>()? as usize;
|
||||||
for _ in 0..len {
|
for _ in 0..len {
|
||||||
b_g2.push(read_g2(&mut reader)?);
|
b_g2.push(read_g2(&mut reader)?);
|
||||||
}
|
}
|
||||||
@@ -535,7 +535,7 @@ mod test_with_bls12_381 {
|
|||||||
let mut v = vec![];
|
let mut v = vec![];
|
||||||
|
|
||||||
params.write(&mut v).unwrap();
|
params.write(&mut v).unwrap();
|
||||||
assert_eq!(v.len(), 2160);
|
assert_eq!(v.len(), 2136);
|
||||||
|
|
||||||
let de_params = Parameters::read(&v[..], true).unwrap();
|
let de_params = Parameters::read(&v[..], true).unwrap();
|
||||||
assert!(params == de_params);
|
assert!(params == de_params);
|
||||||
|
Reference in New Issue
Block a user