module Crypto.Secp256k1.Internal.ForeignTypes where import Foreign (Ptr) import Foreign.C (CInt (..), CUChar, CUInt (..)) data LCtx data PubKey64 data Msg32 data Sig64 data Seed32 data Compact64 data SecKey32 data Tweak32 data RecSig65 type CtxFlags = CUInt type SerFlags = CUInt type Ret = CInt type NonceFun a = Ptr CUChar -> Ptr CUChar -> Ptr CUChar -> Ptr CUChar -> Ptr a -> CInt -> IO CInt compressed :: SerFlags compressed :: SerFlags compressed = SerFlags 0x0102 uncompressed :: SerFlags uncompressed :: SerFlags uncompressed = SerFlags 0x0002 isSuccess :: Ret -> Bool isSuccess :: Ret -> Bool isSuccess Ret 0 = Bool False isSuccess Ret 1 = Bool True isSuccess Ret n = [Char] -> Bool forall a. HasCallStack => [Char] -> a error ([Char] -> Bool) -> [Char] -> Bool forall a b. (a -> b) -> a -> b $ [Char] "isSuccess expected 0 or 1 but got " [Char] -> [Char] -> [Char] forall a. [a] -> [a] -> [a] ++ Ret -> [Char] forall a. Show a => a -> [Char] show Ret n