blockfrost-api-0.1.0.0: test/Cardano/Ledger.hs
{-# LANGUAGE NumericUnderscores #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE QuasiQuotes #-}
{-# LANGUAGE TemplateHaskell #-}
module Cardano.Ledger
where
import Data.Aeson (decode, eitherDecode, encode)
import Data.Text (Text)
import qualified Money
import Test.Hspec
import Test.Tasty.Hspec
import Text.RawString.QQ
import Blockfrost.Types
spec_ledger :: Spec
spec_ledger = do
it "parses ledger genesis sample" $ do
eitherDecode ledgerGenesisSample
`shouldBe`
Right ledgerGenesisExpected
ledgerGenesisSample = [r|
{
"active_slots_coefficient": 0.05,
"update_quorum": 5,
"max_lovelace_supply": "45000000000000000",
"network_magic": 764824073,
"epoch_length": 432000,
"system_start": 1506203091,
"slots_per_kes_period": 129600,
"slot_length": 1,
"max_kes_evolutions": 62,
"security_param": 2160
}
|]
ledgerGenesisExpected =
Genesis
{ _genesisActiveSlotsCoefficient = 0.05
, _genesisUpdateQuorum = 5
, _genesisMaxLovelaceSupply = 45_000_000_000_000_000
, _genesisNetworkMagic = 764824073
, _genesisEpochLength = 432_000
, _genesisSystemStart = 1506203091
, _genesisSlotsPerKesPeriod = 129600
, _genesisSlotLength = 1
, _genesisMaxKesEvolutions = 62
, _genesisSecurityParam = 2160
}