Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Simplify CardanoHardForkTriggers #1282

Merged
merged 1 commit into from
Oct 16, 2024

Simplify `CardanoHardForkTriggers`

c600f30
Select commit
Loading
Failed to load commit list.
Merged

Simplify CardanoHardForkTriggers #1282

Simplify `CardanoHardForkTriggers`
c600f30
Select commit
Loading
Failed to load commit list.
IOG Hydra / ci/hydra-build:x86_64-darwin.native.haskell96.checks.ouroboros-consensus-cardano.shelley-test succeeded Oct 15, 2024 in 4m 56s

Build succeeded

1 failed steps

Details

Failed Steps

Step 1

Derivation

/nix/store/2rj8fsvz64hwhdzd3kjb9r3y918skhzp-ouroboros-consensus-cardano-test-shelley-test-0.20.0.0-check.drv

Log

Running phase: unpackPhase
unpacking source archive /nix/store/nq08jqr8ndhgnb91a0shp41qhlad71xk-source-root-ouroboros-consensus-cardano-test-shelley-test-root
source root is source-root-ouroboros-consensus-cardano-test-shelley-test-root
Running phase: patchPhase
Running phase: buildPhase
/nix/store/hbzc039bbs24nzqkpnc7d9rlldsrmnk9-ouroboros-consensus-cardano-test-shelley-test-0.20.0.0/bin:
patching script interpreter paths in /private/tmp/nix-build-ouroboros-consensus-cardano-test-shelley-test-0.20.0.0-check.drv-0/tmp.fFZF3Ww2I2/bin
shelley
  Shelley coherences
    Measure.<= uses pointWiseExUnits (<=):      OK
      +++ OK, passed 100 tests.
  Golden tests
    SerialiseDisk
      Block:                                    OK (0.01s)
      HeaderHash:                               OK
      LedgerState:                              OK
      AnnTip:                                   OK
      ChainDepState:                            OK
      ExtLedgerState:                           OK
    SerialiseNodeToNode
      ShelleyNodeToNodeVersion1
        Block:                                  OK
        Header:                                 OK
        SerialisedBlock:                        OK
        SerialisedHeader:                       OK
        GenTx:                                  OK
        GenTxId:                                OK
    SerialiseNodeToClient
      QueryVersion1/ShelleyNodeToClientVersion5
        Block:                                  OK
        SerialisedBlock:                        OK
        GenTx:                                  OK
        GenTxId:                                OK
        ApplyTxErr:                             OK
        Query
          Query_GetLedgerTip:                   OK
          Query_GetEpochNo:                     OK
          Query_GetCurrentPParams:              OK
          Query_GetProposedPParamsUpdates:      OK
          Query_GetStakeDistribution:           OK
          Query_GetNonMyopicMemberRewards:      OK
          Query_GetGenesisConfig:               OK
        SlotNo:                                 OK
        Result
          Result_LedgerTip:                     OK
          Result_EpochNo:                       OK
          Result_EmptyPParams:                  OK
          Result_ProposedPParamsUpdates:        OK
          Result_StakeDistribution:             OK
          Result_NonMyopicMemberRewards:        OK
          Result_GenesisConfig:                 OK
      QueryVersion2/ShelleyNodeToClientVersion5
        Block:                                  OK
        SerialisedBlock:                        OK
        GenTx:                                  OK
        GenTxId:                                OK
        ApplyTxErr:                             OK
        Query
          Query_GetLedgerTip:                   OK
          Query_GetEpochNo:                     OK
          Query_GetCurrentPParams:              OK
          Query_GetProposedPParamsUpdates:      OK
          Query_GetStakeDistribution:           OK
          Query_GetNonMyopicMemberRewards:      OK
          Query_GetGenesisConfig:               OK
        SlotNo:                                 OK
        Result
          Result_LedgerTip:                     OK
          Result_EpochNo:                       OK
          Result_EmptyPParams:                  OK
          Result_ProposedPParamsUpdates:        OK
          Result_StakeDistribution:             OK
          Result_NonMyopicMemberRewards:        OK
          Result_GenesisConfig:                 OK
      QueryVersion2/ShelleyNodeToClientVersion6
        Block:                                  OK
        SerialisedBlock:                        OK
        GenTx:                                  OK
        GenTxId:                                OK
        ApplyTxErr:                             OK
        Query
          Query_GetLedgerTip:                   OK
          Query_GetEpochNo:                     OK
          Query_GetCurrentPParams:              OK
          Query_GetProposedPParamsUpdates:      OK
          Query_GetStakeDistribution:           OK
          Query_GetNonMyopicMemberRewards:      OK
          Query_GetGenesisConfig:               OK
        SlotNo:                                 OK
        Result
          Result_LedgerTip:                     OK
          Result_EpochNo:                       OK
          Result_EmptyPParams:                  OK
          Result_ProposedPParamsUpdates:        OK
          Result_StakeDistribution:             OK
          Result_NonMyopicMemberRewards:        OK
          Result_GenesisConfig:                 OK
      QueryVersion2/ShelleyNodeToClientVersion7
        Block:                                  OK
        SerialisedBlock:                        OK
        GenTx:                                  OK
        GenTxId:                                OK
        ApplyTxErr:                             OK
        Query
          Query_GetLedgerTip:                   OK
          Query_GetEpochNo:                     OK
          Query_GetCurrentPParams:              OK
          Query_GetProposedPParamsUpdates:      OK
          Query_GetStakeDistribution:           OK
          Query_GetNonMyopicMemberRewards:      OK
          Query_GetGenesisConfig:               OK
        SlotNo:                                 OK
        Result
          Result_LedgerTip:                     OK
          Result_EpochNo:                       OK
          Result_EmptyPParams:                  OK
          Result_ProposedPParamsUpdates:        OK
          Result_StakeDistribution:             OK
          Result_NonMyopicMemberRewards:        OK
          Result_GenesisConfig:                 OK
      QueryVersion2/ShelleyNodeToClientVersion8
        Block:                                  OK
        SerialisedBlock:                        OK
        GenTx:                                  OK
        GenTxId:                                OK
        ApplyTxErr:                             OK
        Query
          Query_GetLedgerTip:                   OK
          Query_GetEpochNo:                     OK
          Query_GetCurrentPParams:              OK
          Query_GetProposedPParamsUpdates:      OK
          Query_GetStakeDistribution:           OK
          Query_GetNonMyopicMemberRewards:      OK
          Query_GetGenesisConfig:               OK
        SlotNo:                                 OK
        Result
          Result_LedgerTip:                     OK
          Result_EpochNo:                       OK
          Result_EmptyPParams:                  OK
          Result_ProposedPParamsUpdates:        OK
          Result_StakeDistribution:             OK
          Result_NonMyopicMemberRewards:        OK
          Result_GenesisConfig:                 OK
      QueryVersion2/ShelleyNodeToClientVersion9
        Block:                                  OK
        SerialisedBlock:                        OK
        GenTx:                                  OK
        GenTxId:                                OK
        ApplyTxErr:                             OK
        Query
          Query_GetLedgerTip:                   OK
          Query_GetEpochNo:                     OK
          Query_GetCurrentPParams:              OK
          Query_GetProposedPParamsUpdates:      OK
          Query_GetStakeDistribution:           OK
          Query_GetNonMyopicMemberRewards:      OK
          Query_GetGenesisConfig:               OK
        SlotNo:                                 OK
        Result
          Result_LedgerTip:                     OK
          Result_EpochNo:                       OK
          Result_EmptyPParams:                  OK
          Result_ProposedPParamsUpdates:        OK
          Result_StakeDistribution:             OK
          Result_NonMyopicMemberRewards:        OK
          Result_GenesisConfig:                 OK
      QueryVersion2/ShelleyNodeToClientVersion10
        Block:                                  OK
        SerialisedBlock:                        OK
        GenTx:                                  OK
        GenTxId:                                OK
        ApplyTxErr:                             OK
        Query
          Query_GetLedgerTip:                   OK
          Query_GetEpochNo:                     OK
          Query_GetCurrentPParams:              OK
          Query_GetProposedPParamsUpdates:      OK
          Query_GetStakeDistribution:           OK
          Query_GetNonMyopicMemberRewards:      OK
          Query_GetGenesisConfig:               OK
        SlotNo:                                 OK
        Result
          Result_LedgerTip:                     OK
          Result_EpochNo:                       OK
          Result_EmptyPParams:                  OK
          Result_ProposedPParamsUpdates:        OK
          Result_StakeDistribution:             OK
          Result_NonMyopicMemberRewards:        OK
          Result_GenesisConfig:                 OK
  Shelley
    Roundtrip
      SerialiseDisk
        roundtrip block:                        OK (16.99s)
          +++ OK, passed 100 tests.
        roundtrip Header:                       OK (14.03s)
          +++ OK, passed 100 tests.
        roundtrip LedgerState:                  OK (1.49s)
          +++ OK, passed 10 tests.
        roundtrip AnnTip:                       OK
          +++ OK, passed 100 tests.
        roundtrip ChainDepState:                OK (0.02s)
          +++ OK, passed 100 tests.
      SerialiseNodeToNode
        roundtrip blk:                          OK (16.87s)
          +++ OK, passed 100 tests.
        roundtrip Header:                       OK (11.42s)
          +++ OK, passed 100 tests.
        roundtrip GenTx:                        OK (0.46s)
          +++ OK, passed 100 tests.
        roundtrip GenTxId:                      OK
          +++ OK, passed 100 tests.
        roundtrip Serialised blk:               OK (13.00s)
          +++ OK, passed 100 tests.
        roundtrip Serialised Header:            OK (11.86s)
          +++ OK, passed 100 tests.
        roundtrip Serialised blk compat 1:      OK (14.60s)
          +++ OK, passed 100 tests.
        roundtrip Serialised blk compat 2:      OK (16.84s)
          +++ OK, passed 100 tests.
        roundtrip Serialised Header compat 1:   OK (13.07s)
          +++ OK, passed 100 tests.
        roundtrip Serialised Header compat 2:   OK (12.56s)
          +++ OK, passed 100 tests.
      SerialiseNodeToClient
        roundtrip blk:                          OK (15.87s)
          +++ OK, passed 100 tests.
        roundtrip GenTx:                        OK (0.44s)
          +++ OK, passed 100 tests.
        roundtrip ApplyTxErr:                   OK (0.32s)
          +++ OK, passed 100 tests.
        roundtrip BlockQuery:                   OK
          +++ OK, passed 100 tests.
        roundtrip Query:                        OK
          +++ OK, passed 100 tests.
        roundtrip Serialised blk:               OK (15.76s)
          +++ OK, passed 100 tests.
        roundtrip Serialised blk compat:        OK (14.90s)
          +++ OK, passed 100 tests.
        roundtrip Result:                       OK (1.36s)
          +++ OK, passed 100 tests.
      envelopes:                                OK
        +++ OK, passed 100 tests.
      ConvertRawHash:                           OK
        +++ OK, passed 100 tests.
      hashSize:                                 OK
        +++ OK, passed 100 tests.
      estimateBlockSize:                        OK (11.65s)
        +++ OK, passed 100 tests:
        50% exact
        50% overestimate
    hashSize real crypto:                       OK
      +++ OK, passed 100 tests.
    ConvertRawHash real crypto:                 OK
      +++ OK, passed 100 tests.
    BinaryBlockInfo sanity check:               OK (15.46s)
      +++ OK, passed 100 tests.
    Integrity
      generate non-corrupt blocks:              OK (18.43s)
        +++ OK, passed 100 tests.
      generate non-corrupt headers:             OK (14.59s)
        +++ OK, passed 100 tests.
      detect corruption in blocks:              OK (13.97s)
        +++ OK, passed 100 tests:
        71% corruption detected
        29% corruption detected by decoder
      detect corruption in headers:             OK (12.87s)
        +++ OK, passed 100 tests:
        77% corruption detected
        23% corruption detected by decoder
  Shelley exhaustive network protocol versions: OK
  Shelley ThreadNet
    simple convergence:                         OK (12.21s)
      +++ OK, passed 20 tests.
      
      Epoch number of last slot (20 in total):
      100% 0
      
      Updating d (20 in total):
      100% No
      
      average #txs/block (20 in total):
      80% R_Btwn (0.0,1.0)
      20% R_Eq 0.0
      
      consensus expected (20 in total):
      100% True
      
      floor(4 * lastJoinSlot / numSlots) (20 in total):
      100% Just 0
      
      involves >=1 re-delegation (20 in total):
      100% False
      
      k (20 in total):
      30% 6
      15% 5
      15% 7
      15% 8
      15% 9
      10% 10
      
      minimumDegreeNodeTopology (20 in total):
      60% Just 1
      35% Just 2
       5% Just 3
      
      shortestLength (k = 10) (2 in total):
      50% = (k = 10) >> 4
      50% ≈ (k = 10) << 74
      
      shortestLength (k = 5) (3 in total):
      33% ≈ (k = 5) << 13
      33% ≈ (k = 5) << 21
      33% ≈ (k = 5) << 37
      
      shortestLength (k = 6) (6 in total):
      50% ≈ (k = 6) << 38
      33% ≈ (k = 6) << 22
      17% ≈ (k = 6) << 70
      
      shortestLength (k = 7) (3 in total):
      33% = (k = 7) <  16
      33% = (k = 7) >> 2
      33% ≈ (k = 7) << 39
      
      shortestLength (k = 8) (3 in total):
      33% = (k = 8) <  17
      33% = (k = 8) >  2
      33% ≈ (k = 8) << 40
      
      shortestLength (k = 9) (3 in total):
      33% = (k = 9) <  21
      33% ≈ (k = 9) << 25
      33% ≈ (k = 9) << 41
      
      updates (20 in total):
      20% 
        (c0,[])
        (c1,[])
        (c2,[])
        (c3,[])
      
      20% 
        (c0,[])
        (c1,[])
        (c2,[])
        (c3,[])
        (c4,[])
      
      15% 
        (c0,[])
        (c1,[])
      
      15% 
        (c0,[])
        (c1,[])
        (c2,[])
      
      10% 
        (c0,[ShelleyUpdatedPParams (SJust (PParams (ShelleyPParams {sppMinFeeA = Coin 0, sppMinFeeB = Coin 0, sppMaxBBSize = 10000, sppMaxTxSize = 2048, sppMaxBHSize = 1000, sppKeyDeposit = Coin 0, sppPoolDeposit = Coin 0, sppEMax = EpochInterval 0, sppNOpt = 100, sppA0 = 0 % 1, sppRho = 0 % 1, sppTau = 0 % 1, sppD = 1 % 2, sppExtraEntropy = NeutralNonce, sppProtocolVersion = ProtVer {pvMajor = Version 2, pvMinor = 1}, sppMinUTxOValue = Coin 0, sppMinPoolCost = Coin 0}))) (EpochNo 1)])
        (c1,[ShelleyUpdatedPParams (SJust (PParams (ShelleyPParams {sppMinFeeA = Coin 0, sppMinFeeB = Coin 0, sppMaxBBSize = 10000, sppMaxTxSize = 2048, sppMaxBHSize = 1000, sppKeyDeposit = Coin 0, sppPoolDeposit = Coin 0, sppEMax = EpochInterval 0, sppNOpt = 100, sppA0 = 0 % 1, sppRho = 0 % 1, sppTau = 0 % 1, sppD = 1 % 2, sppExtraEntropy = NeutralNonce, sppProtocolVersion = ProtVer {pvMajor = Version 2, pvMinor = 1}, sppMinUTxOValue = Coin 0, sppMinPoolCost = Coin 0}))) (EpochNo 1)])
        (c2,[ShelleyUpdatedPParams (SJust (PParams (ShelleyPParams {sppMinFeeA = Coin 0, sppMinFeeB = Coin 0, sppMaxBBSize = 10000, sppMaxTxSize = 2048, sppMaxBHSize = 1000, sppKeyDeposit = Coin 0, sppPoolDeposit = Coin 0, sppEMax = EpochInterval 0, sppNOpt = 100, sppA0 = 0 % 1, sppRho = 0 % 1, sppTau = 0 % 1, sppD = 1 % 2, sppExtraEntropy = NeutralNonce, sppProtocolVersion = ProtVer {pvMajor = Version 2, pvMinor = 1}, sppMinUTxOValue = Coin 0, sppMinPoolCost = Coin 0}))) (EpochNo 1)])
        (c3,[ShelleyUpdatedPParams (SJust (PParams (ShelleyPParams {sppMinFeeA = Coin 0, sppMinFeeB = Coin 0, sppMaxBBSize = 10000, sppMaxTxSize = 2048, sppMaxBHSize = 1000, sppKeyDeposit = Coin 0, sppPoolDeposit = Coin 0, sppEMax = EpochInterval 0, sppNOpt = 100, sppA0 = 0 % 1, sppRho = 0 % 1, sppTau = 0 % 1, sppD = 1 % 2, sppExtraEntropy = NeutralNonce, sppProtocolVersion = ProtVer {pvMajor = Version 2, pvMinor = 1}, sppMinUTxOValue = Coin 0, sppMinPoolCost = Coin 0}))) (EpochNo 1)])
        (c4,[ShelleyUpdatedPParams (SJust (PParams (ShelleyPParams {sppMinFeeA = Coin 0, sppMinFeeB = Coin 0, sppMaxBBSize = 10000, sppMaxTxSize = 2048, sppMaxBHSize = 1000, sppKeyDeposit = Coin 0, sppPoolDeposit = Coin 0, sppEMax = EpochInterval 0, sppNOpt = 100, sppA0 = 0 % 1, sppRho = 0 % 1, sppTau = 0 % 1, sppD = 1 % 2, sppExtraEntropy = NeutralNonce, sppProtocolVersion = ProtVer {pvMajor = Version 2, pvMinor = 1}, sppMinUTxOValue = Coin 0, sppMinPoolCost = Coin 0}))) (EpochNo 1)])
      
       5% 
        (c0,[ShelleyUpdatedPParams (SJust (PParams (ShelleyPParams {sppMinFeeA = Coin 0, sppMinFeeB = Coin 0, sppMaxBBSize = 10000, sppMaxTxSize = 2048, sppMaxBHSize = 1000, sppKeyDeposit = Coin 0, sppPoolDeposit = Coin 0, sppEMax = EpochInterval 0, sppNOpt = 100, sppA0 = 0 % 1, sppRho = 0 % 1, sppTau = 0 % 1, sppD = 0 % 1, sppExtraEntropy = NeutralNonce, sppProtocolVersion = ProtVer {pvMajor = Version 2, pvMinor = 1}, sppMinUTxOValue = Coin 0, sppMinPoolCost = Coin 0}))) (EpochNo 1)])
        (c1,[ShelleyUpdatedPParams (SJust (PParams (ShelleyPParams {sppMinFeeA = Coin 0, sppMinFeeB = Coin 0, sppMaxBBSize = 10000, sppMaxTxSize = 2048, sppMaxBHSize = 1000, sppKeyDeposit = Coin 0, sppPoolDeposit = Coin 0, sppEMax = EpochInterval 0, sppNOpt = 100, sppA0 = 0 % 1, sppRho = 0 % 1, sppTau = 0 % 1, sppD = 0 % 1, sppExtraEntropy = NeutralNonce, sppProtocolVersion = ProtVer {pvMajor = Version 2, pvMinor = 1}, sppMinUTxOValue = Coin 0, sppMinPoolCost = Coin 0}))) (EpochNo 1)])
      
       5% 
        (c0,[ShelleyUpdatedPParams (SJust (PParams (ShelleyPParams {sppMinFeeA = Coin 0, sppMinFeeB = Coin 0, sppMaxBBSize = 10000, sppMaxTxSize = 2048, sppMaxBHSize = 1000, sppKeyDeposit = Coin 0, sppPoolDeposit = Coin 0, sppEMax = EpochInterval 0, sppNOpt = 100, sppA0 = 0 % 1, sppRho = 0 % 1, sppTau = 0 % 1, sppD = 1 % 10, sppExtraEntropy = NeutralNonce, sppProtocolVersion = ProtVer {pvMajor = Version 2, pvMinor = 1}, sppMinUTxOValue = Coin 0, sppMinPoolCost = Coin 0}))) (EpochNo 1)])
        (c1,[ShelleyUpdatedPParams (SJust (PParams (ShelleyPParams {sppMinFeeA = Coin 0, sppMinFeeB = Coin 0, sppMaxBBSize = 10000, sppMaxTxSize = 2048, sppMaxBHSize = 1000, sppKeyDeposit = Coin 0, sppPoolDeposit = Coin 0, sppEMax = EpochInterval 0, sppNOpt = 100, sppA0 = 0 % 1, sppRho = 0 % 1, sppTau = 0 % 1, sppD = 1 % 10, sppExtraEntropy = NeutralNonce, sppProtocolVersion = ProtVer {pvMajor = Version 2, pvMinor = 1}, sppMinUTxOValue = Coin 0, sppMinPoolCost = Coin 0}))) (EpochNo 1)])
        (c2,[ShelleyUpdatedPParams (SJust (PParams (ShelleyPParams {sppMinFeeA = Coin 0, sppMinFeeB = Coin 0, sppMaxBBSize = 10000, sppMaxTxSize = 2048, sppMaxBHSize = 1000, sppKeyDeposit = Coin 0, sppPoolDeposit = Coin 0, sppEMax = EpochInterval 0, sppNOpt = 100, sppA0 = 0 % 1, sppRho = 0 % 1, sppTau = 0 % 1, sppD = 1 % 10, sppExtraEntropy = NeutralNonce, sppProtocolVersion = ProtVer {pvMajor = Version 2, pvMinor = 1}, sppMinUTxOValue = Coin 0, sppMinPoolCost = Coin 0}))) (EpochNo 1)])
      
       5% 
        (c0,[ShelleyUpdatedPParams (SJust (PParams (ShelleyPParams {sppMinFeeA = Coin 0, sppMinFeeB = Coin 0, sppMaxBBSize = 10000, sppMaxTxSize = 2048, sppMaxBHSize = 1000, sppKeyDeposit = Coin 0, sppPoolDeposit = Coin 0, sppEMax = EpochInterval 0, sppNOpt = 100, sppA0 = 0 % 1, sppRho = 0 % 1, sppTau = 0 % 1, sppD = 1 % 10, sppExtraEntropy = NeutralNonce, sppProtocolVersion = ProtVer {pvMajor = Version 2, pvMinor = 1}, sppMinUTxOValue = Coin 0, sppMinPoolCost = Coin 0}))) (EpochNo 1)])
        (c1,[ShelleyUpdatedPParams (SJust (PParams (ShelleyPParams {sppMinFeeA = Coin 0, sppMinFeeB = Coin 0, sppMaxBBSize = 10000, sppMaxTxSize = 2048, sppMaxBHSize = 1000, sppKeyDeposit = Coin 0, sppPoolDeposit = Coin 0, sppEMax = EpochInterval 0, sppNOpt = 100, sppA0 = 0 % 1, sppRho = 0 % 1, sppTau = 0 % 1, sppD = 1 % 10, sppExtraEntropy = NeutralNonce, sppProtocolVersion = ProtVer {pvMajor = Version 2, pvMinor = 1}, sppMinUTxOValue = Coin 0, sppMinPoolCost = Coin 0}))) (EpochNo 1)])
        (c2,[ShelleyUpdatedPParams (SJust (PParams (ShelleyPParams {sppMinFeeA = Coin 0, sppMinFeeB = Coin 0, sppMaxBBSize = 10000, sppMaxTxSize = 2048, sppMaxBHSize = 1000, sppKeyDeposit = Coin 0, sppPoolDeposit = Coin 0, sppEMax = EpochInterval 0, sppNOpt = 100, sppA0 = 0 % 1, sppRho = 0 % 1, sppTau = 0 % 1, sppD = 1 % 10, sppExtraEntropy = NeutralNonce, sppProtocolVersion = ProtVer {pvMajor = Version 2, pvMinor = 1}, sppMinUTxOValue = Coin 0, sppMinPoolCost = Coin 0}))) (EpochNo 1)])
        (c3,[ShelleyUpdatedPParams (SJust (PParams (ShelleyPParams {sppMinFeeA = Coin 0, sppMinFeeB = Coin 0, sppMaxBBSize = 10000, sppMaxTxSize = 2048, sppMaxBHSize = 1000, sppKeyDeposit = Coin 0, sppPoolDeposit = Coin 0, sppEMax = EpochInterval 0, sppNOpt = 100, sppA0 = 0 % 1, sppRho = 0 % 1, sppTau = 0 % 1, sppD = 1 % 10, sppExtraEntropy = NeutralNonce, sppProtocolVersion = ProtVer {pvMajor = Version 2, pvMinor = 1}, sppMinUTxOValue = Coin 0, sppMinPoolCost = Coin 0}))) (EpochNo 1)])
        (c4,[ShelleyUpdatedPParams (SJust (PParams (ShelleyPParams {sppMinFeeA = Coin 0, sppMinFeeB = Coin 0, sppMaxBBSize = 10000, sppMaxTxSize = 2048, sppMaxBHSize = 1000, sppKeyDeposit = Coin 0, sppPoolDeposit = Coin 0, sppEMax = EpochInterval 0, sppNOpt = 100, sppA0 = 0 % 1, sppRho = 0 % 1, sppTau = 0 % 1, sppD = 1 % 10, sppExtraEntropy = NeutralNonce, sppProtocolVersion = ProtVer {pvMajor = Version 2, pvMinor = 1}, sppMinUTxOValue = Coin 0, sppMinPoolCost = Coin 0}))) (EpochNo 1)])
      
       5% 
        (c0,[ShelleyUpdatedPParams (SJust (PParams (ShelleyPParams {sppMinFeeA = Coin 0, sppMinFeeB = Coin 0, sppMaxBBSize = 10000, sppMaxTxSize = 2048, sppMaxBHSize = 1000, sppKeyDeposit = Coin 0, sppPoolDeposit = Coin 0, sppEMax = EpochInterval 0, sppNOpt = 100, sppA0 = 0 % 1, sppRho = 0 % 1, sppTau = 0 % 1, sppD = 2 % 5, sppExtraEntropy = NeutralNonce, sppProtocolVersion = ProtVer {pvMajor = Version 2, pvMinor = 1}, sppMinUTxOValue = Coin 0, sppMinPoolCost = Coin 0}))) (EpochNo 1)])
        (c1,[ShelleyUpdatedPParams (SJust (PParams (ShelleyPParams {sppMinFeeA = Coin 0, sppMinFeeB = Coin 0, sppMaxBBSize = 10000, sppMaxTxSize = 2048, sppMaxBHSize = 1000, sppKeyDeposit = Coin 0, sppPoolDeposit = Coin 0, sppEMax = EpochInterval 0, sppNOpt = 100, sppA0 = 0 % 1, sppRho = 0 % 1, sppTau = 0 % 1, sppD = 2 % 5, sppExtraEntropy = NeutralNonce, sppProtocolVersion = ProtVer {pvMajor = Version 2, pvMinor = 1}, sppMinUTxOValue = Coin 0, sppMinPoolCost = Coin 0}))) (EpochNo 1)])
        (c2,[ShelleyUpdatedPParams (SJust (PParams (ShelleyPParams {sppMinFeeA = Coin 0, sppMinFeeB = Coin 0, sppMaxBBSize = 10000, sppMaxTxSize = 2048, sppMaxBHSize = 1000, sppKeyDeposit = Coin 0, sppPoolDeposit = Coin 0, sppEMax = EpochInterval 0, sppNOpt = 100, sppA0 = 0 % 1, sppRho = 0 % 1, sppTau = 0 % 1, sppD = 2 % 5, sppExtraEntropy = NeutralNonce, sppProtocolVersion = ProtVer {pvMajor = Version 2, pvMinor = 1}, sppMinUTxOValue = Coin 0, sppMinPoolCost = Coin 0}))) (EpochNo 1)])

All 189 tests passed (291.28s)
buildPhase completed in 4 minutes 52 seconds