Weight.hs (1019B)
1 {-# LANGUAGE OverloadedStrings #-} 2 3 module Main where 4 5 import Fixtures 6 import Lightning.Protocol.BOLT1 7 import Weigh 8 9 main :: IO () 10 main = mainWith $ do 11 wgroup "primitives" $ do 12 func "baseline (weigh overhead)" (+ (1 :: Int)) 1 13 func "encode_u16" encode_u16 0x0102 14 func "encode_u64" encode_u64 0x0102030405060708 15 func "decode_u64" decode_u64 "\x01\x02\x03\x04\x05\x06\x07\x08" 16 func "encode_tu64" encode_tu64 0x010203 17 func "encode_bigsize (9 bytes)" encode_bigsize 0x100000000 18 wgroup "tlv" $ do 19 func "encode_tlv_stream (21 records)" encode_tlv_stream tlvs 20 func "decode_tlv_stream (21 records)" 21 (decode_tlv_stream (const False)) tlvs_bytes 22 wgroup "messages" $ do 23 func "encode init" encode_message init_msg 24 func "decode init" decode_message init_bytes 25 func "encode ping" encode_message ping_msg 26 func "decode ping" decode_message ping_bytes 27 func "encode error (with tlvs)" encode_message error_msg 28 func "decode error (with tlvs)" decode_message error_bytes