@@ -10,9 +10,13 @@ use serde::{Deserialize as SerdeDeserialize, Serialize as SerdeSerialize};
10
10
use crate :: errors:: PreimageOracleError ;
11
11
12
12
/// <https://specs.optimism.io/experimental/fault-proof/index.html#pre-image-key-types>
13
- #[ derive( Debug , Default , Clone , Copy , Eq , PartialEq , Hash ) ]
13
+ #[ derive( Debug , Default , Clone , Copy , Eq , PartialEq , Ord , PartialOrd , Hash ) ]
14
14
#[ repr( u8 ) ]
15
- #[ cfg_attr( feature = "rkyv" , derive( Archive , RkyvSerialize , RkyvDeserialize ) ) ]
15
+ #[ cfg_attr(
16
+ feature = "rkyv" ,
17
+ derive( Archive , RkyvSerialize , RkyvDeserialize ) ,
18
+ rkyv( derive( Eq , PartialEq , Ord , PartialOrd , Hash ) )
19
+ ) ]
16
20
#[ cfg_attr( feature = "serde" , derive( SerdeSerialize , SerdeDeserialize ) ) ]
17
21
pub enum PreimageKeyType {
18
22
/// Local key types are local to a given instance of a fault-proof and context dependent.
@@ -62,8 +66,12 @@ impl TryFrom<u8> for PreimageKeyType {
62
66
/// |---------|-------------|
63
67
/// | [0, 1) | Type byte |
64
68
/// | [1, 32) | Data |
65
- #[ derive( Debug , Default , Clone , Copy , Eq , PartialEq , Hash ) ]
66
- #[ cfg_attr( feature = "rkyv" , derive( Archive , RkyvSerialize , RkyvDeserialize ) ) ]
69
+ #[ derive( Debug , Default , Clone , Copy , Eq , PartialEq , Ord , PartialOrd , Hash ) ]
70
+ #[ cfg_attr(
71
+ feature = "rkyv" ,
72
+ derive( Archive , RkyvSerialize , RkyvDeserialize ) ,
73
+ rkyv( derive( Eq , PartialEq , Ord , PartialOrd , Hash ) )
74
+ ) ]
67
75
#[ cfg_attr( feature = "serde" , derive( SerdeSerialize , SerdeDeserialize ) ) ]
68
76
pub struct PreimageKey {
69
77
data : [ u8 ; 31 ] ,
0 commit comments