bolt2

Lightning peer protocol, per BOLT #2 (docs.ppad.tech/bolt2).
git clone git://git.ppad.tech/bolt2.git
Log | Files | Refs | README | LICENSE

Main.hs (2526B)


      1 module Main where
      2 
      3 import Criterion.Main
      4 import Fixtures
      5 import Lightning.Protocol.BOLT2
      6 
      7 main :: IO ()
      8 main = case fixtures of
      9   Nothing -> fail "invalid fixtures"
     10   Just fx -> defaultMain [
     11       bgroup "open_channel" [
     12         bench "encode" $ nf encode_open_channel (fx_open_channel fx)
     13       , bench "decode" $ nf decode_open_channel (fx_open_channel_bytes fx)
     14       ]
     15     , bgroup "accept_channel2" [
     16         bench "encode" $ nf encode_accept_channel2 (fx_accept_channel2 fx)
     17       , bench "decode" $
     18           nf decode_accept_channel2 (fx_accept_channel2_bytes fx)
     19       ]
     20     , bgroup "tx_signatures" [
     21         bench "encode" $ nf encode_tx_signatures (fx_tx_signatures fx)
     22       , bench "decode" $ nf decode_tx_signatures (fx_tx_signatures_bytes fx)
     23       ]
     24     , bgroup "closing_complete" [
     25         bench "encode" $ nf encode_closing_complete (fx_closing_complete fx)
     26       , bench "decode" $
     27           nf decode_closing_complete (fx_closing_complete_bytes fx)
     28       ]
     29     , bgroup "update_add_htlc" [
     30         bench "encode" $ nf encode_update_add_htlc (fx_update_add_htlc fx)
     31       , bench "decode" $
     32           nf decode_update_add_htlc (fx_update_add_htlc_bytes fx)
     33       , bench "encode_message" $
     34           nf encode_message (MsgUpdateAddHtlc (fx_update_add_htlc fx))
     35       , bench "decode_message" $
     36           nf decode_message (fx_update_add_htlc_wire fx)
     37       ]
     38     , bgroup "update_fulfill_htlc" [
     39         bench "encode" $
     40           nf encode_update_fulfill_htlc (fx_update_fulfill_htlc fx)
     41       , bench "decode" $
     42           nf decode_update_fulfill_htlc (fx_update_fulfill_htlc_bytes fx)
     43       ]
     44     , bgroup "commitment_signed" [
     45         bench "encode (0 htlcs)" $
     46           nf encode_commitment_signed (fx_commitment_signed fx)
     47       , bench "decode (0 htlcs)" $
     48           nf decode_commitment_signed (fx_commitment_signed_bytes fx)
     49       , bench "encode (483 htlcs)" $
     50           nf encode_commitment_signed (fx_commitment_signed_483 fx)
     51       , bench "decode (483 htlcs)" $
     52           nf decode_commitment_signed (fx_commitment_signed_483_bytes fx)
     53       ]
     54     , bgroup "revoke_and_ack" [
     55         bench "encode" $ nf encode_revoke_and_ack (fx_revoke_and_ack fx)
     56       , bench "decode" $
     57           nf decode_revoke_and_ack (fx_revoke_and_ack_bytes fx)
     58       ]
     59     , bgroup "channel_reestablish" [
     60         bench "encode" $
     61           nf encode_channel_reestablish (fx_channel_reestablish fx)
     62       , bench "decode" $
     63           nf decode_channel_reestablish (fx_channel_reestablish_bytes fx)
     64       ]
     65     ]