module Blockchain.Data.Util (
byteString2Integer,
bytes2Integer,
integer2Bytes
) where
import Data.Bits
import qualified Data.ByteString as B
import Data.Word
byteString2Integer::B.ByteString->Integer
byteString2Integer x = bytes2Integer $ B.unpack x
bytes2Integer::[Word8]->Integer
bytes2Integer [] = 0
bytes2Integer (byte:rest) = fromIntegral byte `shift` (8 * length rest) + bytes2Integer rest
integer2Bytes::Integer->[Word8]
integer2Bytes 0 = []
integer2Bytes x = integer2Bytes (x `shiftR` 8) ++ [fromInteger (x .&. 255)]