Fixtures.hs (1393B)
1 {-# LANGUAGE OverloadedStrings #-} 2 3 module Fixtures where 4 5 import qualified Data.ByteString as BS 6 import Data.Maybe (fromMaybe) 7 import Lightning.Protocol.BOLT1 8 import qualified Lightning.Protocol.BOLT9 as BOLT9 9 10 {-# NOINLINE tlvs #-} 11 tlvs :: TlvStream 12 tlvs = fromMaybe empty_tlv_stream $ 13 tlv_stream [ TlvRecord t (BS.replicate 32 0x2a) | t <- [1, 3 .. 41] ] 14 15 {-# NOINLINE tlvs_bytes #-} 16 tlvs_bytes :: BS.ByteString 17 tlvs_bytes = encode_tlv_stream tlvs 18 19 {-# NOINLINE init_msg #-} 20 init_msg :: Message 21 init_msg = MsgInit Init { 22 init_global_features = BOLT9.parse "" 23 , init_features = BOLT9.parse "\x02\xaa\x52\x69\xa1" 24 , init_networks = fmap pure (chain_hash (BS.replicate 32 0x6f)) 25 , init_remote_addr = Just "\x01\x7f\x00\x00\x01\x26\x07" 26 , init_tlvs = empty_tlv_stream 27 } 28 29 {-# NOINLINE ping_msg #-} 30 ping_msg :: Message 31 ping_msg = MsgPing (Ping 128 (BS.replicate 64 0) empty_tlv_stream) 32 33 {-# NOINLINE error_msg #-} 34 error_msg :: Message 35 error_msg = MsgError (Error all_channels (BS.replicate 128 0x61) tlvs) 36 37 wire :: Message -> BS.ByteString 38 wire m = either (const BS.empty) id (encode_message m) 39 40 {-# NOINLINE init_bytes #-} 41 init_bytes :: BS.ByteString 42 init_bytes = wire init_msg 43 44 {-# NOINLINE ping_bytes #-} 45 ping_bytes :: BS.ByteString 46 ping_bytes = wire ping_msg 47 48 {-# NOINLINE error_bytes #-} 49 error_bytes :: BS.ByteString 50 error_bytes = wire error_msg