@@ -53,6 +53,14 @@ impl<E: PairingEngine> CanonicalSerialize for UniversalParams<E> {
5353 + self . beta_h . serialized_size ( )
5454 + self . neg_powers_of_h . serialized_size ( )
5555 }
56+
57+ fn serialize_unchecked < W : Write > ( & self , mut writer : W ) -> Result < ( ) , SerializationError > {
58+ self . powers_of_g . serialize_unchecked ( & mut writer) ?;
59+ self . powers_of_gamma_g . serialize_unchecked ( & mut writer) ?;
60+ self . h . serialize_unchecked ( & mut writer) ?;
61+ self . beta_h . serialize_unchecked ( & mut writer) ?;
62+ self . neg_powers_of_h . serialize_unchecked ( & mut writer)
63+ }
5664}
5765
5866impl < E : PairingEngine > CanonicalDeserialize for UniversalParams < E > {
@@ -76,6 +84,27 @@ impl<E: PairingEngine> CanonicalDeserialize for UniversalParams<E> {
7684 prepared_beta_h,
7785 } )
7886 }
87+
88+ fn deserialize_unchecked < R : Read > ( mut reader : R ) -> Result < Self , SerializationError > {
89+ let powers_of_g = Vec :: < E :: G1Affine > :: deserialize_unchecked ( & mut reader) ?;
90+ let powers_of_gamma_g = BTreeMap :: < usize , E :: G1Affine > :: deserialize_unchecked ( & mut reader) ?;
91+ let h = E :: G2Affine :: deserialize_unchecked ( & mut reader) ?;
92+ let beta_h = E :: G2Affine :: deserialize_unchecked ( & mut reader) ?;
93+ let neg_powers_of_h = BTreeMap :: < usize , E :: G2Affine > :: deserialize_unchecked ( & mut reader) ?;
94+
95+ let prepared_h = E :: G2Prepared :: from ( h. clone ( ) ) ;
96+ let prepared_beta_h = E :: G2Prepared :: from ( beta_h. clone ( ) ) ;
97+
98+ Ok ( Self {
99+ powers_of_g,
100+ powers_of_gamma_g,
101+ h,
102+ beta_h,
103+ neg_powers_of_h,
104+ prepared_h,
105+ prepared_beta_h,
106+ } )
107+ }
79108}
80109
81110/// `Powers` is used to commit to and create evaluation proofs for a given
0 commit comments