diff --git a/src/PaymentServer/Persistence.hs b/src/PaymentServer/Persistence.hs index 4163cadb0f1b19ac7b284a7af71e6d4c4c437de1..eea14b43cf92b45c2977e1e6801306aa4dd194db 100644 --- a/src/PaymentServer/Persistence.hs +++ b/src/PaymentServer/Persistence.hs @@ -82,8 +82,8 @@ instance VoucherDatabase MemoryVoucherDatabase where return () redeemVoucher Memory{ paid = paid, redeemed = redeemed } voucher fingerprint = do - unpaid <- (liftM $ Set.notMember voucher) . readIORef $ paid - existingFingerprint <- (liftM $ Map.lookup voucher) . readIORef $ redeemed + unpaid <- Set.notMember voucher <$> readIORef paid + existingFingerprint <- Map.lookup voucher <$> readIORef redeemed case (unpaid, existingFingerprint) of (True, _) -> return $ Left NotPaid