-
Notifications
You must be signed in to change notification settings - Fork 481
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
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,7 +2,7 @@ | |
|
||
## Version | ||
|
||
Version 1.2 | ||
Version 1.3 | ||
|
||
## Authors | ||
|
||
|
@@ -22,21 +22,22 @@ Romain Soulat <[email protected]> | |
| --- | --- | --- | --- | | ||
| 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 | ||
|
||
|
@@ -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) | | ||
| 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) | | ||
|
@@ -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) | | ||
|
||
|
@@ -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 | ||
|
||
|
@@ -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: | ||
|
||
|
@@ -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: | ||
|
@@ -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: |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
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!