-
Notifications
You must be signed in to change notification settings - Fork 482
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed Changed the defaultConstitution.json (+ random fixes in some $comment) Changed the tests values Changed the traceability documents and updated the versioning New golden test values "All 654 tests passed (99.02s)"
- Loading branch information
1 parent
514d521
commit f0ac3c2
Showing
13 changed files
with
1,742 additions
and
1,742 deletions.
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.