@@ -10,9 +10,13 @@ use serde::{Deserialize as SerdeDeserialize, Serialize as SerdeSerialize};
1010use crate :: errors:: PreimageOracleError ;
1111
1212/// <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 ) ]
1414#[ 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+ ) ]
1620#[ cfg_attr( feature = "serde" , derive( SerdeSerialize , SerdeDeserialize ) ) ]
1721pub enum PreimageKeyType {
1822 /// 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 {
6266/// |---------|-------------|
6367/// | [0, 1) | Type byte |
6468/// | [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+ ) ]
6775#[ cfg_attr( feature = "serde" , derive( SerdeSerialize , SerdeDeserialize ) ) ]
6876pub struct PreimageKey {
6977 data : [ u8 ; 31 ] ,
0 commit comments