@@ -84,29 +84,6 @@ pub enum StmSignatureError {
8484 SerializationError ,
8585}
8686
87- impl From < MultiSignatureError > for StmSignatureError {
88- fn from ( e : MultiSignatureError ) -> Self {
89- match e {
90- MultiSignatureError :: SerializationError => Self :: SerializationError ,
91- MultiSignatureError :: SignatureInvalid ( e) => Self :: SignatureInvalid ( e) ,
92- MultiSignatureError :: BatchInvalid => unreachable ! ( ) ,
93- MultiSignatureError :: KeyInvalid ( _) => unreachable ! ( ) ,
94- MultiSignatureError :: AggregateSignatureInvalid => unreachable ! ( ) ,
95- MultiSignatureError :: SignatureInfinity ( _) => unreachable ! ( ) ,
96- MultiSignatureError :: VerificationKeyInfinity ( _) => unreachable ! ( ) ,
97- }
98- }
99- }
100-
101- impl From < MerkleTreeError > for StmSignatureError {
102- fn from ( e : MerkleTreeError ) -> Self {
103- match e {
104- MerkleTreeError :: SerializationError => Self :: SerializationError ,
105- _ => unreachable ! ( ) ,
106- }
107- }
108- }
109-
11087/// Error types for aggregation.
11188#[ derive( Debug , Clone , thiserror:: Error ) ]
11289pub enum AggregationError {
@@ -143,36 +120,6 @@ pub enum CoreVerifierError {
143120 IndividualSignatureInvalid ( #[ source] StmSignatureError ) ,
144121}
145122
146- impl From < AggregationError > for CoreVerifierError {
147- fn from ( e : AggregationError ) -> Self {
148- match e {
149- AggregationError :: NotEnoughSignatures ( e, _e) => Self :: NoQuorum ( e, e) ,
150- AggregationError :: UsizeConversionInvalid => unreachable ! ( ) ,
151- AggregationError :: UnsupportedProofSystem ( _) => unreachable ! ( ) ,
152- }
153- }
154- }
155-
156- impl From < MultiSignatureError > for CoreVerifierError {
157- fn from ( e : MultiSignatureError ) -> Self {
158- match e {
159- MultiSignatureError :: AggregateSignatureInvalid => Self :: AggregateSignatureInvalid ,
160- MultiSignatureError :: BatchInvalid => unreachable ! ( ) ,
161- MultiSignatureError :: SerializationError => unreachable ! ( ) ,
162- MultiSignatureError :: KeyInvalid ( _) => unreachable ! ( ) ,
163- MultiSignatureError :: SignatureInvalid ( _e) => unreachable ! ( ) ,
164- MultiSignatureError :: SignatureInfinity ( _) => unreachable ! ( ) ,
165- MultiSignatureError :: VerificationKeyInfinity ( _) => unreachable ! ( ) ,
166- }
167- }
168- }
169-
170- impl From < StmSignatureError > for CoreVerifierError {
171- fn from ( e : StmSignatureError ) -> Self {
172- CoreVerifierError :: IndividualSignatureInvalid ( e)
173- }
174- }
175-
176123/// Errors which can be output by Mithril aggregate verification.
177124#[ derive( Debug , Clone , thiserror:: Error ) ]
178125pub enum StmAggregateSignatureError {
@@ -201,53 +148,6 @@ pub enum StmAggregateSignatureError {
201148 UnsupportedProofSystem ( AggregateSignatureType ) ,
202149}
203150
204- impl From < MerkleTreeError > for StmAggregateSignatureError {
205- fn from ( e : MerkleTreeError ) -> Self {
206- match e {
207- MerkleTreeError :: BatchPathInvalid ( e) => Self :: PathInvalid ( e) ,
208- MerkleTreeError :: SerializationError => Self :: SerializationError ,
209- MerkleTreeError :: PathInvalid ( _e) => unreachable ! ( ) ,
210- }
211- }
212- }
213-
214- impl From < MultiSignatureError > for StmAggregateSignatureError {
215- fn from ( e : MultiSignatureError ) -> Self {
216- match e {
217- MultiSignatureError :: AggregateSignatureInvalid => {
218- Self :: from ( CoreVerifierError :: from ( e) )
219- }
220- MultiSignatureError :: BatchInvalid => Self :: BatchInvalid ,
221- MultiSignatureError :: SerializationError => unreachable ! ( ) ,
222- MultiSignatureError :: KeyInvalid ( _) => unreachable ! ( ) ,
223- MultiSignatureError :: SignatureInvalid ( _) => {
224- Self :: CoreVerificationError ( CoreVerifierError :: from ( e) )
225- }
226- MultiSignatureError :: SignatureInfinity ( _) => {
227- Self :: CoreVerificationError ( CoreVerifierError :: from ( e) )
228- }
229- MultiSignatureError :: VerificationKeyInfinity ( _) => {
230- Self :: CoreVerificationError ( CoreVerifierError :: from ( e) )
231- }
232- }
233- }
234- }
235-
236- impl From < CoreVerifierError > for StmAggregateSignatureError {
237- fn from ( e : CoreVerifierError ) -> Self {
238- Self :: CoreVerificationError ( e)
239- }
240- }
241-
242- impl From < StmSignatureError > for StmAggregateSignatureError {
243- fn from ( e : StmSignatureError ) -> Self {
244- match e {
245- StmSignatureError :: SerializationError => Self :: SerializationError ,
246- _ => unreachable ! ( ) ,
247- }
248- }
249- }
250-
251151/// Errors which can be outputted by key registration.
252152#[ derive( Debug , Clone , thiserror:: Error , PartialEq , Eq ) ]
253153pub enum RegisterError {
@@ -272,47 +172,6 @@ pub enum RegisterError {
272172 UnregisteredInitializer ,
273173}
274174
275- impl From < MultiSignatureError > for RegisterError {
276- fn from ( e : MultiSignatureError ) -> Self {
277- match e {
278- MultiSignatureError :: SerializationError => Self :: SerializationError ,
279- MultiSignatureError :: KeyInvalid ( e) => Self :: KeyInvalid ( e) ,
280- MultiSignatureError :: VerificationKeyInfinity ( e) => Self :: VerificationKeyInfinity ( e) ,
281- _ => unreachable ! ( ) ,
282- }
283- }
284- }
285-
286- /// If verifying a single signature, the signature should be provided. If verifying a multi-sig,
287- /// no need to provide the signature
288- #[ allow( dead_code) ]
289- pub ( crate ) fn blst_err_to_mithril (
290- e : BLST_ERROR ,
291- sig : Option < BlsSignature > ,
292- key : Option < BlsVerificationKey > ,
293- ) -> Result < ( ) , MultiSignatureError > {
294- match e {
295- BLST_ERROR :: BLST_SUCCESS => Ok ( ( ) ) ,
296- BLST_ERROR :: BLST_PK_IS_INFINITY => {
297- if let Some ( s) = sig {
298- return Err ( MultiSignatureError :: SignatureInfinity ( s) ) ;
299- }
300- if let Some ( vk) = key {
301- return Err ( MultiSignatureError :: VerificationKeyInfinity ( Box :: new ( vk) ) ) ;
302- }
303- Err ( MultiSignatureError :: SerializationError )
304- }
305- BLST_ERROR :: BLST_VERIFY_FAIL => {
306- if let Some ( s) = sig {
307- Err ( MultiSignatureError :: SignatureInvalid ( s) )
308- } else {
309- Err ( MultiSignatureError :: AggregateSignatureInvalid )
310- }
311- }
312- _ => Err ( MultiSignatureError :: SerializationError ) ,
313- }
314- }
315-
316175pub ( crate ) fn blst_error_to_stm_error (
317176 e : BLST_ERROR ,
318177 sig : Option < BlsSignature > ,
0 commit comments