From c64e059fca7377d67baecb2724e3be2e1cc9ff0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Smr=C5=BE?= Date: Tue, 4 Jun 2019 21:55:21 +0200 Subject: Ephemeral storage of channels --- src/Channel.hs | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'src/Channel.hs') diff --git a/src/Channel.hs b/src/Channel.hs index ee10e89..9be4405 100644 --- a/src/Channel.hs +++ b/src/Channel.hs @@ -89,9 +89,8 @@ instance Storable ChannelAcceptData where <*> loadRef "key" -createChannelRequest :: Stored Identity -> Stored Identity -> IO (Stored ChannelRequest) -createChannelRequest self peer = do - let st = storedStorage self +createChannelRequest :: Storage -> Stored Identity -> Stored Identity -> IO (Stored ChannelRequest) +createChannelRequest st self peer = do (_, xpublic) <- generateKeys st Just skey <- loadKey $ idKeyMessage $ fromStored $ signedData $ fromStored self wrappedStore st =<< sign skey =<< wrappedStore st ChannelRequest { crPeers = sort [self, peer], crKey = xpublic } @@ -101,7 +100,7 @@ acceptChannelRequest self peer req = do guard $ (crPeers $ fromStored $ signedData $ fromStored req) == sort [self, peer] guard $ (idKeyMessage $ fromStored $ signedData $ fromStored peer) `elem` (map (sigKey . fromStored) $ signedSignature $ fromStored req) - let st = storedStorage self + let st = storedStorage req KeySizeFixed ksize = cipherKeySize (undefined :: AES128) liftIO $ do (xsecret, xpublic) <- generateKeys st @@ -116,7 +115,7 @@ acceptChannelRequest self peer req = do acceptedChannel :: Stored Identity -> Stored Identity -> Stored ChannelAccept -> ExceptT [String] IO (Stored Channel) acceptedChannel self peer acc = do - let st = storedStorage self + let st = storedStorage acc req = caRequest $ fromStored $ signedData $ fromStored acc KeySizeFixed ksize = cipherKeySize (undefined :: AES128) -- cgit v1.2.3