diff --git a/src/Tahoe/SDMF/Internal/Capability.hs b/src/Tahoe/SDMF/Internal/Capability.hs index 0e6249bc2d6a5ab1440d1e2ff68e9426b967a620..cf6bf7c30a251376cb7d2c1f20a6394b756f0622 100644 --- a/src/Tahoe/SDMF/Internal/Capability.hs +++ b/src/Tahoe/SDMF/Internal/Capability.hs @@ -53,6 +53,9 @@ data Verifier = Verifier } deriving (Eq, Show) +instance Ord Verifier where + a <= b = (verifierStorageIndex a <= verifierStorageIndex b) + instance ConfidentialShowable Verifier where confidentiallyShow = dangerRealShow . SDMFVerifier @@ -63,6 +66,9 @@ data Reader = Reader } deriving (Eq, Show) +instance Ord Reader where + a <= b = (readerVerifier a <= readerVerifier b) + instance ConfidentialShowable Reader where confidentiallyShow = dangerRealShow . SDMFReader @@ -73,6 +79,9 @@ data Writer = Writer } deriving (Eq, Show) +instance Ord Writer where + a <= b = (writerReader a <= writerReader b) + instance ConfidentialShowable Writer where confidentiallyShow = dangerRealShow . SDMFWriter diff --git a/src/Tahoe/SDMF/Internal/Keys.hs b/src/Tahoe/SDMF/Internal/Keys.hs index fbe3068211e516a502c7c6f0708ad9130ad2de79..db8d71dddd8e428c8b85cfeaf5ec018bbbc6cc94 100644 --- a/src/Tahoe/SDMF/Internal/Keys.hs +++ b/src/Tahoe/SDMF/Internal/Keys.hs @@ -86,7 +86,7 @@ instance Binary Read where let (CryptoPassed unRead) = cipherInit readKeyBytes pure Read{..} -newtype StorageIndex = StorageIndex {unStorageIndex :: B.ByteString} deriving newtype (Eq) +newtype StorageIndex = StorageIndex {unStorageIndex :: B.ByteString} deriving newtype (Eq, Ord) instance Show StorageIndex where show (StorageIndex si) =