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

feat: New version of VT-CC-01 #6320

Merged
merged 1 commit into from
Jul 22, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
77 changes: 39 additions & 38 deletions cardano-constitution/certification/documentation-traceability.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Version

Version 1.2
Version 1.3

## Authors

Expand All @@ -22,21 +22,22 @@ Romain Soulat <romain.soulat@iohk.io>
| --- | --- | --- | --- |
| 1.0 | 2024-05-13 | Romain Soulat | Initial version |
| 1.1 | 2024-05-14 | Romain Soulat | Updated with new version of defaultConstitution.json |
| 1.2 | 2024-07-04 | Romain Soulat | Updated with new version of defaultConstitution.json |
| 1.2 | 2024-07-04 | Romain Soulat | Updated with new version of defaultConstitution.json |
| 1.3 | 2024-07-22 | Romain Soulat | Updated following changes to VT-CC-01 |

## References

- Interim Constitution
- SHA 256: `6010c89fb4edef2467979db5ea181ff7eda7d93d71bf304aa1bc88defedb5c26`
- URL: <https://raw.githubusercontent.com/IntersectMBO/interim-constitution/main/cardano-constitution-0.txt>
- SHA 256: `3c0946cf0306ac4a85af82a0fd1b5369459230519ea7daa8d0e8b714606bcf1f`
- URL: <https://gist.github.com/disassembler/7a2feaf1eca3138e688c5202ec97fbfb>

- CDDL description of the protocol parameters
- SHA 256: `5ef21d4aaeba11bfef903734b580f68102ebfab8e12be8144ec5e01b19b0a3c1`
- URL: <https://raw.githubusercontent.com/IntersectMBO/cardano-ledger/master/eras/conway/impl/cddl-files/conway.cddl>

- JSON used to generate the constitution script
- SHA 256: `6ed0900d3dda83924ca1008e4acbfc708b24a3c0b2e7c14cdd73f61e786d58fc`
- URL: <https://github.com/IntersectMBO/constitution-priv/blob/master/data/defaultConstitution.json>
- SHA 256: `ef548b482b99d4208ba5f9fe547438ad21e03378e62ed35257357afa70f4fc08`
- URL: <https://github.com/IntersectMBO/plutus/blob/master/cardano-constitution/data/defaultConstitution.json>

## Introduction

Expand All @@ -46,47 +47,47 @@ This document provides a traceability between the Interim Constitution, the cddl

The Interim Constitution is a human readable document that describes the protocol parameters. The CDDL description of the protocol parameters is a machine readable document that describes the protocol parameters.

| Interim Constitution Parameter Name | CDDL Parameter number | CDDL Parameter name (in comments) | Types (CDDL <-> Haskell)|
| Interim Constitution Parameter Name | CDDL Parameter number | CDDL Parameter name (in comments) | Types (CDDL <-> Haskell)|
|---|---|---|
| txFeePerByte | 0 | min fee a | (coin <-> Integer) |
| txFeeFixed | 1 | min fee b | (coin <-> Integer) |
| maxBlockBodySize | 2 | max block body size | (uint.size4 <-> Integer) |
| maxTxSize | 3 | max transaction size | (uint.size4 <-> Integer) |
| maxBlockHeaderSize | 4 | max block header size | (uint.size2 <-> Integer) |
| stakeAddressDeposit | 5 | key deposit | (coin <-> Integer) |
| stakePoolDeposit | 6 | pool deposit | (coin <-> Integer) |
| stakeAddressDeposit | 5 | key deposit | (coin <-> Integer) |
| stakePoolDeposit | 6 | pool deposit | (coin <-> Integer) |
| poolRetireMaxEpoch | 7 | maximum epoch | (epoch_interval <-> Integer) |
| stakePoolTargetNum | 8 | n_opt: desired number of stake pool | (uint.size2 <-> Integer) |
| poolPledgeInfluence | 9 | pool pledge influence | (nonnegative_interval <-> Rational) |
| monetaryExpansion | 10 | expansion rate | (unit_interval <-> Rational) |
| poolPledgeInfluence | 9 | pool pledge influence | (nonnegative_interval <-> Rational) |
| monetaryExpansion | 10 | expansion rate | (unit_interval <-> Rational) |
| treasuryCut | 11 | treasury growth rate | (unit_interval <-> Rational) |
| BLANK NO PARAMETER | 12 | BLANK NO PARAMETER |
| BLANK NO PARAMETER | 13 | BLANK NO PARAMETER |
| BLANK NO PARAMETER | 14 | BLANK NO PARAMETER |
| BLANK NO PARAMETER | 15 | BLANK NO PARAMETER |
| minPoolCost | 16 | min pool cost | (coin <-> Integer) |
| utxoCostPerByte | 17 | ada per utxo byte | (coin <-> Integer) |
| costModels | 18 | cost models for script language | (costMdls <-> Any) |
| executionUnitPrices | 19 | execution costs | ex_unit_prices |
| executionUnitPrices[priceMemory] | 19.0 | execution costs mem | (nonnegative_interval <-> Rational) |
| executionUnitPrices[priceSteps] | 19.1 | execution costs steps | (nonnegative_interval <-> Rational) |
| maxTxExecutionUnits | 20 | max tx ex units | ex_units |
| maxTxExecutionUnits[mem] | 20.0 | | (uint <-> Integer) |
| maxTxExecutionUnits[steps] | 20.1 | | (uint <-> Integer) |
| maxBlockExecutionUnits | 21 | max block ex units | ex_units |
| BLANK NO PARAMETER | 13 | BLANK NO PARAMETER |
| BLANK NO PARAMETER | 14 | BLANK NO PARAMETER |
| BLANK NO PARAMETER | 15 | BLANK NO PARAMETER |
| minPoolCost | 16 | min pool cost | (coin <-> Integer) |
| utxoCostPerByte | 17 | ada per utxo byte | (coin <-> Integer) |
| costModels | 18 | cost models for script language | (costMdls <-> Any) |
| executionUnitPrices | 19 | execution costs | ex_unit_prices |
| executionUnitPrices[priceMemory] | 19.0 | execution costs mem | (nonnegative_interval <-> Rational) |
| executionUnitPrices[priceSteps] | 19.1 | execution costs steps | (nonnegative_interval <-> Rational) |
| maxTxExecutionUnits | 20 | max tx ex units | ex_units |
| maxTxExecutionUnits[mem] | 20.0 | | (uint <-> Integer) |
| maxTxExecutionUnits[steps] | 20.1 | | (uint <-> Integer) |
Comment on lines +61 to +76
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why git marks all these as changes? I don't see anything!

| maxBlockExecutionUnits | 21 | max block ex units | ex_units |
| maxBlockExecutionUnits[mem] | 21.0 | | (uint <-> Integer) |
| maxBlockExecutionUnits[steps] | 21.1 | | (uint <-> Integer) |
| maxValueSize | 22 | max value size | (uint.size4 <-> Integer) |
| collateralPercentage | 23 | collateral percentage | (uint.size2 <-> Integer) |
| maxCollateralInputs | 24 | max collateral inputs | (uint.size2 <-> Integer) |
| maxCollateralInputs | 24 | max collateral inputs | (uint.size2 <-> Integer) |
| poolVotingThresholds | 25 | pool_voting_thresholds | pool_voting_thresholds |
| poolVotingThresholds[pvtMotionNoConfidence] | 25.0 | motion no confidence | (unit_interval <-> Rational) |
| poolVotingThresholds[pvtCommitteeNormal] | 25.1 | committee normal | (unit_interval <-> Rational) |
| poolVotingThresholds[pvtCommitteeNoConfidence] | 25.2 | committee no conficence | (unit_interval <-> Rational) |
| poolVotingThresholds[pvtHardForkInitiation] | 25.3 | hard fork initiation | (unit_interval <-> Rational) |
| poolVotingThresholds[pvtPPSecurityGroup] | 25.4 | security relevant parameter voting threshold | (unit_interval <-> Rational) |
| dRepVotingThresholds | 26 | DRep voting threshold | drep_voting_thresholds |
| dRepVotingThresholds[dvtMotionNoConfidence] | 26.0 | motion no confidence | (unit_interval <-> Rational) |
| dRepVotingThresholds | 26 | DRep voting threshold | drep_voting_thresholds |
| dRepVotingThresholds[dvtMotionNoConfidence] | 26.0 | motion no confidence | (unit_interval <-> Rational) |
| dRepVotingThresholds[dvtCommitteeNormal] | 26.1 | committee normal | (unit_interval <-> Rational) |
| dRepVotingThresholds[dvtCommitteeNoConfidence] | 26.2 | committee no confidence | (unit_interval <-> Rational) |
| dRepVotingThresholds[dvtUpdateToConstitution] | 26.3 | update constitution | (unit_interval <-> Rational) |
Expand All @@ -96,11 +97,11 @@ The Interim Constitution is a human readable document that describes the protoco
| dRepVotingThresholds[dvtPPTechnicalGroup] | 26.7 | PP technical group | (unit_interval <-> Rational) |
| dRepVotingThresholds[dvtPPGovGroup] | 26.8 | PP governance group | (unit_interval <-> Rational) |
| dRepVotingThresholds[dvtTreasuryWithdrawal] | 26.9 | treasury withdrawal | (unit_interval <-> Rational) |
| committeeMinSize | 27 | min committee size | (uint.size2 <-> Integer) |
| committeeMaxTermLimit | 28 | committee term limit | (epoch_interval <-> Integer) |
| committeeMinSize | 27 | min committee size | (uint.size2 <-> Integer) |
| committeeMaxTermLimit | 28 | committee term limit | (epoch_interval <-> Integer) |
| govActionLifetime | 29 | governance action validity lifetime | (epoch_interval <-> Integer) |
| govDeposit | 30 | governance action deposit | (coin <-> Integer) |
| dRepDeposit | 31 | DRep deposit | (coin <-> Integer) |
| dRepDeposit | 31 | DRep deposit | (coin <-> Integer) |
| dRepActivity | 32 | DRep inactivity period | (epoch_interval <-> Integer) |
| minFeeRefScriptCoinsPerByte | 33 | MinFee RefScriptCostPerByte | (nonnegative_interval <-> Rational) |

Expand All @@ -117,7 +118,7 @@ They will be fixed in a subsequent version.
| Interim Constitution Guardrail | Entry in the JSON file | Status |
| --- | --- | -- |
| PARAM-01 | No parameter falls under this requirement | :white_check_mark: |
| PARAM-02 | `"18": { "type": "costMdls"}` | :white_check_mark: |
| PARAM-02 | `"18": { "type": "costMdls"}` | :white_check_mark: |

### Section 2.1

Expand Down Expand Up @@ -188,29 +189,29 @@ No additional entries in object "11" in the JSON file. :white_check_mark:
| Interim Constitution Guardrail | Entry in the JSON file | Status |
| --- | --- | -- |
| ME-01 | In "10": `"maxValue": { "numerator": 5, "denominator": 1000 }` | :white_check_mark: |
| ME-02 | In "10": `"minValue": { "numerator": 1, "denominator": 1000 }`| :white_check_mark: |
| ME-02 | In "10": `"minValue": { "numerator": 1, "denominator": 1000 }`| :white_check_mark: |
| ME-03 | In "10": `"minValue": { "numerator": 0, "denominator": 1000 }`| :white_check_mark: |

No additional entries in object "10" in the JSON file. :white_check_mark:

| Interim Constitution Guardrail | Entry in the JSON file | Status |
| --- | --- | -- |
| EIUP-PS-01 | In "19[1]": `"maxValue": { "numerator": 2000, "denominator": 10000000 }` | :white_check_mark: |
| EIUP-PS-02 |  In "19[1]": `"minValue": { "numerator": 500, "denominator": 10000000 }` | :white_check_mark: |
| EIUP-PS-01 | In "19[1]": `"maxValue": { "numerator": 2000, "denominator": 10000000 }` | :white_check_mark: |
| EIUP-PS-02 | In "19[1]": `"minValue": { "numerator": 500, "denominator": 10000000 }` | :white_check_mark: |

No additional entries in object "19[1]" in the JSON file. :white_check_mark:

| Interim Constitution Guardrail | Entry in the JSON file | Status |
| --- | --- | -- |
| EIUP-PM-01 | In "19[0]": `"maxValue": { "numerator": 2000, "denominator": 10000 }`| :white_check_mark: |
| EIUP-PM-01 | In "19[0]": `"maxValue": { "numerator": 2000, "denominator": 10000 }`| :white_check_mark: |
| EIUP-PM-02 | In "19[0]": `"minValue": { "numerator": 400, "denominator": 10000 }` | :white_check_mark: |

No additional entries in object "19[0]" in the JSON file. :white_check_mark

| Interim Constitution Guardrail | Entry in the JSON file | Status |
| --- | --- | -- |
| MFRS-01 | In "33": `"maxValue": { "numerator": 1000, "denominator": 1 }` | :white_check_mark: |
| MFRS-02 | In "33": `"minValue": { "numerator": 0, "denominator": 1 }` | :white_check_mark: |
| MFRS-02 | In "33": `"minValue": { "numerator": 0, "denominator": 1 }` | :white_check_mark: |

No additional entries in object "33" in the JSON file. :white_check_mark:

Expand Down Expand Up @@ -354,7 +355,7 @@ No additional entries in object "32" in the JSON file. :white_check_mark:
| VT-GEN-03 | In "26[8]": `minValue": { "numerator": 75, "denominator": 100 }`, `"maxValue": { "numerator": 90, "denominator": 100 }` | :white_check_mark: |
| VT-HF-01 | In "25[3]": `"minValue": { "numerator": 51, "denominator": 100 }`, `"maxValue": { "numerator": 80, "denominator": 100 }` <br> In "26[4]": `"minValue": { "numerator": 51, "denominator": 100 }`, `"maxValue": { "numerator": 80, "denominator": 100 }` <br> | :white_check_mark: |
| VT-CON-01 | In "26[3]": `"minValue": { "numerator": 65, "denominator": 100 }`, `"maxValue": { "numerator": 90, "denominator": 100 }` | :white_check_mark: |
| VT-CC-01 | In "25[1]": `"minValue": { "numerator": 65, "denominator": 100 }`, `"maxValue": { "numerator": 90, "denominator": 100 }` <br> In "25[2]": `"minValue": { "numerator": 65, "denominator": 100 }`, `"maxValue": { "numerator": 90, "denominator": 100 }` <br> In "26[1]": `"minValue": { "numerator": 65, "denominator": 100 }`, `"maxValue": { "numerator": 90, "denominator": 100 }` <br> In "26[2]": `"minValue": { "numerator": 65, "denominator": 100 }`, `"maxValue": { "numerator": 90, "denominator": 100 }`| :white_check_mark: |
| VT-CC-01 | In "25[1]": `"minValue": { "numerator": 51, "denominator": 100 }`, `"maxValue": { "numerator": 90, "denominator": 100 }` <br> In "25[2]": `"minValue": { "numerator": 51, "denominator": 100 }`, `"maxValue": { "numerator": 90, "denominator": 100 }` <br> In "26[1]": `"minValue": { "numerator": 51, "denominator": 100 }`, `"maxValue": { "numerator": 90, "denominator": 100 }` <br> In "26[2]": `"minValue": { "numerator": 51, "denominator": 100 }`, `"maxValue": { "numerator": 90, "denominator": 100 }`| :white_check_mark: |
| VT-NC-01 | In "25[0]": `"minValue": { "numerator": 51, "denominator": 100 }`, `"maxValue": { "numerator": 75, "denominator": 100 }` <br> In "26[0]": `"minValue": { "numerator": 51, "denominator": 100 }`, `"maxValue": { "numerator": 75, "denominator": 100 }`| :white_check_mark: |

:question: This is the traceability inferred:
Expand Down Expand Up @@ -436,4 +437,4 @@ BLANK

## Other entries in the JSON file

There are no additional entries in the JSON file that are not covered by the Interim Constitution. :white_check_mark:
There are no additional entries in the JSON file that are not covered by the Interim Constitution. :white_check_mark:
Loading