From d14bc0e89d1ba00fd3367c1b75151cd0b3336f97 Mon Sep 17 00:00:00 2001 From: Neil Mayhew Date: Tue, 2 Sep 2025 21:22:55 -0600 Subject: [PATCH 1/4] Fix formatting inconsistencies and errors in CHANGELOG files --- CHANGELOG.md | 160 ++++++++++++---------- eras/alonzo/test-suite/CHANGELOG.md | 1 + eras/babbage/impl/CHANGELOG.md | 2 +- eras/conway/impl/CHANGELOG.md | 42 +++--- eras/dijkstra/impl/CHANGELOG.md | 2 +- eras/shelley-ma/test-suite/CHANGELOG.md | 1 + eras/shelley/design-spec/CHANGELOG.md | 95 ++++++------- eras/shelley/formal-spec/CHANGELOG.md | 108 ++++++++------- eras/shelley/impl/CHANGELOG.md | 16 +-- libs/cardano-data/CHANGELOG.md | 1 - libs/cardano-ledger-core/CHANGELOG.md | 28 ++-- libs/cardano-protocol-tpraos/CHANGELOG.md | 9 +- libs/non-integral/CHANGELOG.md | 2 +- libs/set-algebra/CHANGELOG.md | 6 +- 14 files changed, 247 insertions(+), 226 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1d1734f40ff..47bcf455c15 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -98,7 +98,6 @@ If you are looking for the Ledger Releasing and Versioning Process then you can - Stopped counting expired committee members in active committee size calculation. - Included rewards accounts in `DRep` distribution calculation. - Added `AccountState` ledger state query. - - Bug fixes: - Stopped embedding `UTXO` and `UTXOS` predicate failures from previous eras. - Fixed predicate failure deserialisation bug when re-submitting a `Conway` transaction with an invalid plutus script. @@ -117,7 +116,6 @@ If you are looking for the Ledger Releasing and Versioning Process then you can - Era-specific queries: Conway functionality supported only starting with Conway era - Change committee query to return non-optional `CommitteeMembersState` - Add optional `Anchor` to resigned status in `CommitteeMembersState` - - Important bug fixes: - Use the correct stake pool distribution for voting (instead of one that is an epoch too old) - Fix DRep stake distribution to correctly add rewards to deleged stake @@ -138,7 +136,6 @@ If you are looking for the Ledger Releasing and Versioning Process then you can - Increasing the limit for Url in Anchors to 128 bytes - Provide accurate transaction fee estimation functionality for Haskell tools - Important bug fixes: - - missing `"protocolVersion"` field in JSON instance for Babbage and Conway protocol parameters - requiring witnesses for DRep registration - new committee governance action ratification was implemented incorrectly @@ -255,37 +252,39 @@ If you are looking for the Ledger Releasing and Versioning Process then you can - We fixed the incorrect conversion of the validity interval's upper bound in `transVITime`. - Starting in version 9, duplicate keys in CBOR maps and sets are no longer allowed. - Starting in version 9, `CostModel`s can now be deserialized from any map of Word8 values to lists of integers. Only valid cost models are actually converted to evaluation contexts that can be used. Errors and unrecognized language versions are stored in the `CostModel` type so that: - - They can accept cost models that they do not yet understand. - - Upon deserializing after a software update, new cost models are available from the prior serialization. + - They can accept cost models that they do not yet understand. + - Upon deserializing after a software update, new cost models are available from the prior serialization. + +## 1.2.0 + +Release tag `ledger/1.2.0` -# Deprecated changlog +**Deprecated changelog** Below was the last `cardano-ledger` repository branch based release and we now have fully switched to [CHaPs](https://github.com/input-output-hk/cardano-haskell-packages). -## Release tag `ledger/1.2.0` - Changes recorded below are for all of the package versions in the list: - * `small-steps-1.0.0.0` - * `vector-map-1.0.0.0` - * `cardano-data-1.0.0.0` - * `set-algebra-1.0.0.0` - * `cardano-ledger-binary-1.0.0.0` - * `cardano-ledger-core-1.0.0.0` - * `cardano-protocol-tpraos-1.0.0.0` - * `cardano-ledger-api-1.0.0.0` - * `cardano-ledger-pretty-1.0.0.0` - * `cardano-ledger-shelley-1.0.0.0` - * `cardano-ledger-allegra-1.0.0.0` - * `cardano-ledger-mary-1.0.0.0` - * `cardano-ledger-alonzo-1.0.0.0` - * `cardano-ledger-babbage-1.0.0.0` - * `cardano-ledger-conway-1.0.0.0` - * `cardano-ledger-shelley-ma-1.0.0.0` - * `cardano-ledger-alonzo-test-1.0.0.0` - * `cardano-ledger-shelley-ma-test-1.0.0.0` - * `cardano-ledger-shelley-test-1.0.0.0` +- `small-steps-1.0.0.0` +- `vector-map-1.0.0.0` +- `cardano-data-1.0.0.0` +- `set-algebra-1.0.0.0` +- `cardano-ledger-binary-1.0.0.0` +- `cardano-ledger-core-1.0.0.0` +- `cardano-protocol-tpraos-1.0.0.0` +- `cardano-ledger-api-1.0.0.0` +- `cardano-ledger-pretty-1.0.0.0` +- `cardano-ledger-shelley-1.0.0.0` +- `cardano-ledger-allegra-1.0.0.0` +- `cardano-ledger-mary-1.0.0.0` +- `cardano-ledger-alonzo-1.0.0.0` +- `cardano-ledger-babbage-1.0.0.0` +- `cardano-ledger-conway-1.0.0.0` +- `cardano-ledger-shelley-ma-1.0.0.0` +- `cardano-ledger-alonzo-test-1.0.0.0` +- `cardano-ledger-shelley-ma-test-1.0.0.0` +- `cardano-ledger-shelley-test-1.0.0.0` ### Added @@ -393,7 +392,7 @@ Changes recorded below are for all of the package versions in the list: - Since the old file was hidden, this will have no noticeable effects. - Changed the API function Cardano.Ledger.Shelley.API.Wallet(evaluateTransactionBalance) to take DPState as input. This can no lnger be computed without the DPState - Changed UtxoEnv by replacing pool info (Map (KeyHash 'StakePool c) (PoolParams c)) with DPState - to show differences in two NewEpochState's. + to show differences in two NewEpochState's. - Split `cardano-ledger-shelley-ma` into `cardano-ledger-allegra` and `cardano-ledger-mary` #3175: - Moved `ShelleyMA.AuxiliaryData` -> `Allegra.TxAuxData` - Moved `ShelleyMA.Timelocks` -> `Allegra.Scripts` @@ -464,23 +463,23 @@ Changes recorded below are for all of the package versions in the list: - `_ttl` to `stbTTL` - `_txUpdate` to `stbUpdate` - `_mdHash` to `stbMDHash` - - Renamed records fields in `Cardano.Ledger` to names without `_` (underscores) #3118 - - `Shelley.LedgerState.Types.AccountState` - - `_treasury -> asTreasury` - - `_reserves -> asReserves` - - `PoolParams.PoolParams` - - `_poolId -> ppId` - - `_poolVrf -> ppVrf` - - `_poolPledge -> ppPledge` - - `_poolCost -> ppCost` - - `_poolMargin -> ppMargin` - - `_poolRAcnt -> ppRewardAcnt` - - `_poolOwners -> ppOwners` - - `_poolRelays -> ppRelays` - - `_poolMD -> ppMetadata` - - `PoolParams.PoolMetadata` - - `_poolMDUrl -> pmUrl` - - `_poolMDHash -> pmHash` +- Renamed records fields in `Cardano.Ledger` to names without `_` (underscores) #3118 +- `Shelley.LedgerState.Types.AccountState` + - `_treasury -> asTreasury` + - `_reserves -> asReserves` +- `PoolParams.PoolParams` + - `_poolId -> ppId` + - `_poolVrf -> ppVrf` + - `_poolPledge -> ppPledge` + - `_poolCost -> ppCost` + - `_poolMargin -> ppMargin` + - `_poolRAcnt -> ppRewardAcnt` + - `_poolOwners -> ppOwners` + - `_poolRelays -> ppRelays` + - `_poolMD -> ppMetadata` +- `PoolParams.PoolMetadata` + - `_poolMDUrl -> pmUrl` + - `_poolMDHash -> pmHash` - Renamed records fields in `Cardano.Ledger` to names without `_` (underscores) #3120 - `Shelley.Delegation.Certificates` - `_delegator` to `dDelegator` @@ -529,7 +528,6 @@ Changes recorded below are for all of the package versions in the list: - `addrWitsL` to `addrTxWitsL` - `bootAddrWitsL` to `bootAddrTxWitsL` - `scriptWitsL` to `scriptTxWitsL` - - Renamed in (new) module `Cardano.Ledger.Alonzo.TxWits` (renamed from `Cardano.Ledger.Alonzo.TxWitness`) #2976: - `AlonzoEraWitnesses` to `AlonzoEraTxWits` - `TxWitness` to `AlonzoTxWits` @@ -540,7 +538,6 @@ Changes recorded below are for all of the package versions in the list: - `datsAlonzoWitsL` to `datsAlonzoTxWitsL` - `rdmrsWitsL` to `rdmrsTxWitsL` - `rdmrsAlonzoWitsL` to `rdmrsAlonzoTxWitsL` - - Renamed in (new) module `Cardano.Ledger.Shelley.TxWits` (extracted from `Cardano.Ledger.Shelley.Tx`) #2976: - `ShelleyWitnesses` to `ShelleyTxWits` - `addrShelleyWitsL` to `addrShelleyTxWitsL` @@ -563,9 +560,9 @@ Changes recorded below are for all of the package versions in the list: - Starting in version 9, CostModels can now be deserialized from any map of Word8 values to lists of integers. Only valid cost models are actually converted to evaluation contexts that can be used. Errors and unrecognized language versions are stored in the CostModels type so that: - - they can accept cost models that they do not yet understand - - upon deserializing after a software update, new cost models are available from the prior serialization. - #3283 + - they can accept cost models that they do not yet understand + - upon deserializing after a software update, new cost models are available from the prior serialization. + #3283 ### Removed @@ -628,9 +625,14 @@ Changes recorded below are for all of the package versions in the list: - Enforce that the CostModel deserializers expect a specific length prior to version 9. - Starting in version 9, duplicate keys in CBOR maps are not longer allowed -## Release tag `ledger/1.1.0` +## 1.1.0 + +Release tag `ledger/1.1.0` + +**Deprecated changelog** ### Added + - New `calculatePoolDistr'` function which is similar to `calculatePoolDistr` but has a new filter argument to only include the stake pool ids (stake pool key hashes) that are needed. #2957 @@ -642,39 +644,41 @@ Changes recorded below are for all of the package versions in the list: - Era specific type classes: `ShelleyEraTxBody`, `ShelleyMAEraTxBody`, `AlonzoEraTxBody`, `AlonzoEraTxOut`, `AlonzoEraTx`, `BabbageEraTxBody`, `BabbageEraTxOut` - Type class hierarchy: -``` -EraSegWits --> EraTx --> EraTxBody --> EraTxOut --> Era - \ `--> EraPParams --> Era - `--> EraTxWits --> EraScript --> Era - `--> EraAuxiliaryData --> Era -``` + ``` + EraSegWits --> EraTx --> EraTxBody --> EraTxOut --> Era +   \ `--> EraPParams --> Era +   `--> EraTxWits --> EraScript --> Era +   `--> EraAuxiliaryData --> Era + ``` - Shelley: -``` -ShelleyEraTxBody --> EraTxBody --> EraTxOut --> Era -``` + ``` + ShelleyEraTxBody --> EraTxBody --> EraTxOut --> Era + ``` - ShelleyMA: -``` -ShelleyMAEraTxBody --> ShelleyEraTxBody --> EraTxBody --> EraTxOut --> Era -``` + ``` + ShelleyMAEraTxBody --> ShelleyEraTxBody --> EraTxBody --> EraTxOut --> Era + ``` - Alonzo: -``` -AlonzoEraTx --> EraTx --> ... - `--> AlonzoEraTxBody --> ShelleyMAEraTxBody --> ShelleyEraTxBody --> EraTxBody --> ... - `--> AlonzoEraTxOut -> ShelleyEraTxOut --> EraTxOut --> ... -``` + ``` + AlonzoEraTx --> EraTx --> ... +   `--> AlonzoEraTxBody --> ShelleyMAEraTxBody --> ShelleyEraTxBody --> EraTxBody --> ... +   `--> AlonzoEraTxOut -> ShelleyEraTxOut --> EraTxOut --> ... + ``` - Babbage: -``` -BabbageEraTxBody --> AlonzoEraTxBody --> .... - `--> BabbageEraTxOut -> AlonzoEraTxOut --> -``` + ``` + BabbageEraTxBody --> AlonzoEraTxBody --> .... +   `--> BabbageEraTxOut -> AlonzoEraTxOut --> + ``` + ### Changed + - Introduced a new switch in `HardForks` that turns off pointer address resolution in `IncrementalStake` starting with version 9 - Some types have been moved: - The `WitVKey` type has been moved into its own module in core. - The `HKD` type has been moved to `cardano-ledger-core`. - The `PoolParams` type has been moved into its own module - The `DCert` type and related functionality from `TxBody` to `Cardano.Ledger.Shelley.Delegation.Certificates`. - #2880 + #2880 - The initial funds and staking in the Shelley genesis type (used only for testing) now use `ListMap` instead of `Map`. #2871, #2890, #2892, #2895 - Renamed `SupportsSegWit` to `EraSegWits` @@ -778,7 +782,9 @@ BabbageEraTxBody --> AlonzoEraTxBody --> .... - `FromAlonzoUtxoFail` -> `AlonzoInBabbageUtxoPredFailure` - `BabbageUtxowPred` -> `BabbageUtxowPredFailure` and constructor: - `FromAlonzoUtxowFail` -> `AlonzoInBabbageUtxowPredFailure` + ### Deprecated + - The provenance for the reward calculation has been removed. The type signature to the API function `getRewardProvenance` has not change, it just returns an empty provenance value. @@ -791,7 +797,9 @@ BabbageEraTxBody --> AlonzoEraTxBody --> .... - `getTxOutBootstrapAddress txOut` in favor of `txOut ^. bootAddrTxOutF` - `getAllInputs txBody` in favor of ` txBody ^. allInputsTxBodyF` - `getCoin txOut` in favor of `txOut ^. coinTxOutL` + ### Removed + - The `StakeCreds` type was unused and is now removed. #2880 - The`Ord` instance for `MemoBytes` was removed. @@ -823,7 +831,11 @@ BabbageEraTxBody --> AlonzoEraTxBody --> .... - The error message for failed Plutus V2 scripts was being obscured by a bug which has now been fixed. #2888 -## Release tag `ledger/1.0.0` +## 1.0.0 + +Release tag `ledger/1.0.0` + +**Deprecated changelog** The first release branch in the cardano-ledger repository, namely `release/1.0.0`, branches from the diff --git a/eras/alonzo/test-suite/CHANGELOG.md b/eras/alonzo/test-suite/CHANGELOG.md index fad033be393..dd48fcb807b 100644 --- a/eras/alonzo/test-suite/CHANGELOG.md +++ b/eras/alonzo/test-suite/CHANGELOG.md @@ -65,3 +65,4 @@ ## 1.1.2.1 * + diff --git a/eras/babbage/impl/CHANGELOG.md b/eras/babbage/impl/CHANGELOG.md index 6a527ccc47a..8c757a77f1b 100644 --- a/eras/babbage/impl/CHANGELOG.md +++ b/eras/babbage/impl/CHANGELOG.md @@ -215,7 +215,7 @@ * Removed validation function `validateOutputTooBigUTxO`, in favor of the same function from `cardano-ledger-alonzo`. -###`testlib` +### `testlib` * Consolidate all `Arbitrary` instances from the test package to under a new `testlib`. #3285 diff --git a/eras/conway/impl/CHANGELOG.md b/eras/conway/impl/CHANGELOG.md index 5543187af01..243b54599af 100644 --- a/eras/conway/impl/CHANGELOG.md +++ b/eras/conway/impl/CHANGELOG.md @@ -43,8 +43,8 @@ * Add `AlonzoEraTx` constraint to `STS` instance for `ConwayBBODY` * Add `totalRefScriptSizeInBlock` * Move some hard-fork triggers and export them from `Cardano.Ledger.Conway` module. - - `bootstrapPhase` to `hardforkConwayBootstrapPhase`. - - `disallowUnelectedCommitteeFromVoting` to `hardforkConwayDisallowUnelectedCommitteeFromVoting`. + * `bootstrapPhase` to `hardforkConwayBootstrapPhase`. + * `disallowUnelectedCommitteeFromVoting` to `hardforkConwayDisallowUnelectedCommitteeFromVoting`. * Add `UnelectedCommitteeVoters` to `ConwayGovPredFailure` #5091 * Change the type of `authorizedELectedCommitteeCredentials` to `StrictMaybe (Committee era) -> CommitteeState era -> Set.Set (Credential 'HotCommitteeRole)` #5091 @@ -465,7 +465,7 @@ * Changed `GovActionState` to have 1 field (`gasProposalProcedure`) rather than 3 (`gasDeposit`, `gasAction`, `gasReturnAddr`) * the old field names (`gasDeposit`, `gasAction`, `gasReturnAddr`) become functions, and the lenses * (`gasDepositL`, `gasActionL`, `gasReturnAddrL`) have the same type, but behave differently. - * Added the lenses: `pProcDepositL`, `pProcGovActionL`, `pProcReturnAddrL`, `pProcAnchorL`, `gasProposalProcedureL`. + * Added the lenses: `pProcDepositL`, `pProcGovActionL`, `pProcReturnAddrL`, `pProcAnchorL`, `gasProposalProcedureL`. * Add `getDRepDistr`, `getConstitution` and `getCommitteeMembers` from `ConwayEraGov` #4033 * Move `Constitution` to `Conway.Governance.Procedures` * Add implementation for `getMinFeeTxUtxo` @@ -512,13 +512,13 @@ * `ConwayGovEvent` * Change the types of some functions in `Test.Cardano.Ledger.Conway.ImpTest` to use `NonEmpty (PredicateFailure _)` instead of `[PredicateFailure _]` - - `submitFailingVote` - - `trySubmitVote` - - `trySubmitProposal` - - `trySubmitProposals` - - `submitFailingProposal` - - `trySubmitGovAction` - - `trySubmitGovActions` + * `submitFailingVote` + * `trySubmitVote` + * `trySubmitProposal` + * `trySubmitProposals` + * `submitFailingProposal` + * `trySubmitGovAction` + * `trySubmitGovActions` * Add `Test.Cardano.Ledger.Conway.Imp.GovCertSpec` * Add `RuleListEra` instance for Conway * Rename `canGovActionBeDRepAccepted` to `isDRepAccepted` and refactor #4097 @@ -928,17 +928,17 @@ * Add `PoolVotingThresholds` * Add `DRepVotingThresholds` * Rename: - * `cgTally` -> `cgGovActionsState` - * `cgTallyL` -> `cgGovActionsStateL` - * `VDelFailure` -> `GovCertFailure` - * `VDelEvent` -> `GovCertEvent` - * `certVState` -> `certGState` - * `ConwayVDelPredFailure` -> `ConwayGovCertPredFailure` - * `ConwayTallyPredFailure` -> `ConwayGovPredFailure` - * `TallyEnv` -> `GovEnv` - * `ConwayTallyState` -> `ConwayGovState` - * `TALLY` -> `GOV` - * `VDEL` -> `GOVCERT` + * `cgTally` -> `cgGovActionsState` + * `cgTallyL` -> `cgGovActionsStateL` + * `VDelFailure` -> `GovCertFailure` + * `VDelEvent` -> `GovCertEvent` + * `certVState` -> `certGState` + * `ConwayVDelPredFailure` -> `ConwayGovCertPredFailure` + * `ConwayTallyPredFailure` -> `ConwayGovPredFailure` + * `TallyEnv` -> `GovEnv` + * `ConwayTallyState` -> `ConwayGovState` + * `TALLY` -> `GOV` + * `VDEL` -> `GOVCERT` * Make `Anchor` required in `ProposalProcedure`. * Add `ConwayUTXO` * Add `indexedGovProps` diff --git a/eras/dijkstra/impl/CHANGELOG.md b/eras/dijkstra/impl/CHANGELOG.md index 4ebf2fc9e66..f0f24592f96 100644 --- a/eras/dijkstra/impl/CHANGELOG.md +++ b/eras/dijkstra/impl/CHANGELOG.md @@ -1,5 +1,5 @@ # Revision history for cardano-ledger-dijkstra -## 0.1.0.0 -- YYYY-mm-dd +## 0.1.0.0 * First version. Released on an unsuspecting world. diff --git a/eras/shelley-ma/test-suite/CHANGELOG.md b/eras/shelley-ma/test-suite/CHANGELOG.md index e965da9a8da..9d0adb67105 100644 --- a/eras/shelley-ma/test-suite/CHANGELOG.md +++ b/eras/shelley-ma/test-suite/CHANGELOG.md @@ -53,3 +53,4 @@ ## 1.2.1.1 * + diff --git a/eras/shelley/design-spec/CHANGELOG.md b/eras/shelley/design-spec/CHANGELOG.md index 7ce6d1affb8..d90fe6a40c0 100644 --- a/eras/shelley/design-spec/CHANGELOG.md +++ b/eras/shelley/design-spec/CHANGELOG.md @@ -1,27 +1,34 @@ # Delegation Design Document Changelog ## 2020-10-08 + Include member stake in the non-myopic stake calculation. Replaced average apparent performance usage with references to the stake pool ranking document. ## 2020-06-12 + Rewrote the chapter on addresses. Now includes multi-sig, and is clearly separating addresses (payment and stake) and credentials. ## 2020-02-28 + Clarify when we use active stake vs total stake. ## 2019-06-07 + Update section on script addresses. ## 2019-05-17 + Some clarifications in response to review by the auditors. ## 2019-04-11 + Some subtle corrections in the rewards chapter after review by Aikaterina. First version officially published on the IOHK blog. ## 2019-04-08 + General review of the document. Mostly small things. Consistent wording, spelling, readability, removed some @@ -35,6 +42,7 @@ reflect the design where stake that is not delegated to an active pool is ignored (which solves the problem of stale stake to a large degree). ## 2019-04-05 + Rewrote the chapter on rewards. We had lots of discussions about how to properly account for the performance of @@ -46,74 +54,69 @@ Also, changed the title of the document, and made the capitalisation of ada consistent. ## 2019-03-01 + Incorporating further input from the workshop in Berlin, and following discussions, into the document. -- Decision: transactions have to have at least one UTxO style input - -- Update: Stake pool metadata - +* Decision: transactions have to have at least one UTxO style input +* Update: Stake pool metadata Specify the format for the metadata, and how it is provided. Streamlined the different sections that touch stake pool metadata. -- Elaborating further on why stake pool registrations will not be censored. -- Capture choice of KES scheme in design doc. -- Streamlining information on deposits - - Replacing an explanation of the concept with a link to the section where it's - already explained. -- Elaborate on certificate replay protection - - The paragraph was not entirely true, it said there was only one possible source - of funds in addition to UTxO entries, but with rewards accounts, there is - another one. -- Fix that rewards go to treasury if reward key unregistered. - - We can not move them to the rewards pool -- if we did, it would create an - incentive for all other leaders to censor a certificate that caused the pool to - use a valid certificate. -- Update block validity to require operational key -- Additions to Operational Key section - - They are compulsory - - They will use KES - - Operational Key Certificates will expire, to encourage key rotation - - Slight Change in validity rules -- Add FAQ section to the delegation design doc -- Add a couple of todo entries - +* Elaborating further on why stake pool registrations will not be censored. +* Capture choice of KES scheme in design doc. +* Streamlining information on deposits + Replacing an explanation of the concept with a link to the section where it's + already explained. +* Elaborate on certificate replay protection + The paragraph was not entirely true, it said there was only one possible source + of funds in addition to UTxO entries, but with rewards accounts, there is + another one. +* Fix that rewards go to treasury if reward key unregistered. + We can not move them to the rewards pool -- if we did, it would create an + incentive for all other leaders to censor a certificate that caused the pool to + use a valid certificate. +* Update block validity to require operational key +* Additions to Operational Key section + - They are compulsory + - They will use KES + - Operational Key Certificates will expire, to encourage key rotation + - Slight Change in validity rules +* Add FAQ section to the delegation design doc +* Add a couple of todo entries ## 2019-01-08 -Changes after the second day of the Berlin workshop. -- Avoid overloading the term "pool" -- Clarify that Treasury is a Sink for now. -- Avoid Contention at Epoch Boundary -- Decision made: refund for stake pool paid after retirement. -- Update to non-refundable part of deposits +Changes after the second day of the Berlin workshop. +* Avoid overloading the term "pool" +* Clarify that Treasury is a Sink for now. +* Avoid Contention at Epoch Boundary +* Decision made: refund for stake pool paid after retirement. +* Update to non-refundable part of deposits We figured out in the formal spec how to incrementally add the non-refundable part to the reward pool of all the relevant epochs, which is fairer than adding all of it to the reward pool where the resource is released. -- Correction: we're introducing four address types, not three +* Correction: we're introducing four address types, not three ## 2019-01-07 -Changes after the first day of the Berlin workshop. -- Add todo to clarify stakepool metadata -- Add section on TTL for transactions -- Elaboration and slight change to stake pool registration. +Changes after the first day of the Berlin workshop. +* Add todo to clarify stakepool metadata +* Add section on TTL for transactions +* Elaboration and slight change to stake pool registration. After the first day of discussions in Berlin, we came to the conclusions that - - - we need a _registered_ staking key to collect rewards - - this should _not_ be the same key that's used for participating in the + - we need a *registered* staking key to collect rewards + - this should *not* be the same key that's used for participating in the protocol. For participation in the protocol, we want cold and operational keys, and using the same key to withdraw rewards is detrimental. - We needed more elaboration on the multiple owner use case, emphasising that the rewards for all owners are given to the operator. -- Resolved several todo items -- Include git revision in documents -- Explain why pool registration will not be censored. +* Resolved several todo items +* Include git revision in documents +* Explain why pool registration will not be censored. ## 2018-12-18 + First version that is considered stable enough to warrant V1. Some things still need to be pinned down. diff --git a/eras/shelley/formal-spec/CHANGELOG.md b/eras/shelley/formal-spec/CHANGELOG.md index b9540294bc2..7d098a2f84e 100644 --- a/eras/shelley/formal-spec/CHANGELOG.md +++ b/eras/shelley/formal-spec/CHANGELOG.md @@ -1,66 +1,70 @@ # Changelog ## 2019-03-22 -- The blockchain layer for the spec has been completed and polished. -- There are now operational certificates and key evolving signatures. + +* The blockchain layer for the spec has been completed and polished. +* There are now operational certificates and key evolving signatures. ## 2019-03-01 -- Added the blockchain layer to the spec for Praos, including a new top-level transition CHAIN. + +* Added the blockchain layer to the spec for Praos, including a new top-level transition CHAIN. ## 2019-02-20 -- Calculating the stake distribution uses relations. -- The prose now makes heavy use of bullet point lists that follow the order in the tables. -- Helper functions have been separated and labeled as such. -- The "Rewards Ledger Update" section was removed, and the logic was placed elsewhere. -The predicate in transition `DELRWDS`, namely checking that the reward withdrawal in a transaction -matched that in the ledger state, was moved to the base case of `DELEGS`. -The state transformation, namely zeroing out the appropriate rewards, -was also moved to the base case of `DELEGS`. -- Added a list of contributors. -- The `UTxOEP` and `ACCNT` transition systems were combined. -- The predicate in `POOLCLEAN` that requires that the current retiring pools not be the empty set -- `POOLCLEAN` was renamed to `POOLREAP`. -has been removed -- The `NEWPP` transition now performs a no-op when costs are not met -(so that the transition system does not halt). -- All the definitions regarding addresses are now in a single table. -- Enterprise addresses were added. -- All the definitions regarding the protocol parameters are now in a single table. -- `E_max` is now a protocol parameter. -- The certificate pointers are now constructed in the `DELEGS` transition. -- `Coin` is now defined as an alias for the integers. -- All the definitions regarding transactions are now in a single table. -- Transactions are now a concrete type. -- Transaction witnesses are now defined as a mapping from `VKey`s to `Sig`. -- We now require that the transaction witnesses be exactly the minimal set that is needed. -- The `Allocs` type is now split into `StakeKeys` and `StakePools`. -- Support for pool owners was added. All rewards for pool oweners go to the reward account -registered in the pool certificate. -- Unrealized rewards are now given to the treasury. -- Some values marked as belonging to the unit interval have been changed to non-negative reals. -- Reward accounts are now included in the stake distribution. -- The reward calculation no longer returns the updated moving averages. -- Several references to the delegation design document were added. -- When a pool retires, all delegations to the pool are removed from the delegation mapping. -- The main epoch boundary transition system is now split into two transitions. -There is now a top level transition `SNAP` which calculates and saves the last three stake distributions. -This transition does _not_ happen on the epoch boundary. -The transition which does occur on the epoch boundary now uses the stake distribution snapshots -for the reward calculation. -- The number of slots per epoch is now a global constant. -- The epoch boundary transition now uses an epoch number instead of a slot in the environment. -It represents the upcomming epoch number. -- This changelog was added. +* Calculating the stake distribution uses relations. +* The prose now makes heavy use of bullet point lists that follow the order in the tables. +* Helper functions have been separated and labeled as such. +* The "Rewards Ledger Update" section was removed, and the logic was placed elsewhere. + The predicate in transition `DELRWDS`, namely checking that the reward withdrawal in a transaction + matched that in the ledger state, was moved to the base case of `DELEGS`. + The state transformation, namely zeroing out the appropriate rewards, + was also moved to the base case of `DELEGS`. +* Added a list of contributors. +* The `UTxOEP` and `ACCNT` transition systems were combined. +* The predicate in `POOLCLEAN` that requires that the current retiring pools not be the empty set +* `POOLCLEAN` was renamed to `POOLREAP`. + has been removed +* The `NEWPP` transition now performs a no-op when costs are not met + (so that the transition system does not halt). +* All the definitions regarding addresses are now in a single table. +* Enterprise addresses were added. +* All the definitions regarding the protocol parameters are now in a single table. +* `E_max` is now a protocol parameter. +* The certificate pointers are now constructed in the `DELEGS` transition. +* `Coin` is now defined as an alias for the integers. +* All the definitions regarding transactions are now in a single table. +* Transactions are now a concrete type. +* Transaction witnesses are now defined as a mapping from `VKey`s to `Sig`. +* We now require that the transaction witnesses be exactly the minimal set that is needed. +* The `Allocs` type is now split into `StakeKeys` and `StakePools`. +* Support for pool owners was added. All rewards for pool oweners go to the reward account + registered in the pool certificate. +* Unrealized rewards are now given to the treasury. +* Some values marked as belonging to the unit interval have been changed to non-negative reals. +* Reward accounts are now included in the stake distribution. +* The reward calculation no longer returns the updated moving averages. +* Several references to the delegation design document were added. +* When a pool retires, all delegations to the pool are removed from the delegation mapping. +* The main epoch boundary transition system is now split into two transitions. + There is now a top level transition `SNAP` which calculates and saves the last three stake distributions. + This transition does *not* happen on the epoch boundary. + The transition which does occur on the epoch boundary now uses the stake distribution snapshots + for the reward calculation. +* The number of slots per epoch is now a global constant. +* The epoch boundary transition now uses an epoch number instead of a slot in the environment. + It represents the upcomming epoch number. +* This changelog was added. ## 2019-01-03 -This update was cosmetic. -- Descriptions were added to the reward calculations. -- Several spelling and grammar mistakes were fixed. -- A few typos in the reward calculation were fixed. -- Git references where added to the title page. -- Color and bolding was added to the state transitions. +This update was cosmetic. + +* Descriptions were added to the reward calculations. +* Several spelling and grammar mistakes were fixed. +* A few typos in the reward calculation were fixed. +* Git references where added to the title page. +* Color and bolding was added to the state transitions. ## 2018-12-21 + The initial formal specification of the ledger was released. diff --git a/eras/shelley/impl/CHANGELOG.md b/eras/shelley/impl/CHANGELOG.md index 2334fcdcf28..f620d8c2c4a 100644 --- a/eras/shelley/impl/CHANGELOG.md +++ b/eras/shelley/impl/CHANGELOG.md @@ -15,7 +15,7 @@ * `ShelleyUpecPredFailure` * `TickTransitionError` * `UpecPredFailure` -* Remove `withCborRoundTripFailures` +* Remove `withCborRoundTripFailures` * Refactor pool deposits to use `StakePoolState`. #5234 * Update `Pool` rule to store deposits in individual `StakePoolState` records * Add and export `prUTxOStateL`, `prChainAccountStateL`, and `prCertStateL` lenses for `ShelleyPoolreapState` @@ -46,7 +46,7 @@ * `allowMIRTransfer` to `hardforkAlonzoAllowMIRTransfer`. * `validatePoolRewardAccountNetID` to `hardforkAlonzoValidatePoolRewardAccountNetID`. * `forgoRewardPrefilter` to `hardforkBabbageForgoRewardPrefilter`. - - Delete the `Shelley.HardForks` module. + * Delete the `Shelley.HardForks` module. * Add `disallowUnelectedCommitteeFromVoting` to `Shelley.HardForks`. #5091 * This tests if the protocol version is greater than 10. * Deprecated `toShelleyGenesisPairs` @@ -234,7 +234,7 @@ * Remove export of deprecated `RewardAcnt` and `poolCWitness` * Change type of VRF key hash in `GenesisDelegCert`, `GenesisDelegTxCert` and `DuplicateGenesisVRFDELEG` to `VRFVerKeyHash` * Added `EncCBOR` instance for `LedgerEnv` -* Use `Mismatch` to clarify _some more_ predicate failures. #4711 +* Use `Mismatch` to clarify *some more* predicate failures. #4711 * `Shelley/InsufficientForInstantaneousRewardsDELEG` * `Shelley/MIRCertificateTooLateinEpochDELEG` * `Shelley/InsufficientForTransferDELEG` @@ -259,11 +259,11 @@ * Added `expectUTxOContent` * Added `disableTreasuryExpansion` * Added a `MonadFail` constraint to two methods of `ShelleyEraImp`: - - `initGenesis` - - `initNewEpochState` + * `initGenesis` + * `initNewEpochState` * Added a `MonadFail` constraint to: - - `defaultInitNewEpochState` - - `defaultInitImpTestState` + * `defaultInitNewEpochState` + * `defaultInitImpTestState` * Added `logText` * Added `ToExpr` instance for `LedgerEnv` * Added `tryRunImpRuleNoAssertions` to `ImpTest` @@ -656,7 +656,7 @@ * Add `eqMultiSigRaw`, `shelleyEqTxRaw` and `shelleyEqTxWitsRaw` * Add `EqRaw` instance for `MultiSig`, `ShelleyTxWits`, `ShelleyTxAuxData`, `TxBody` and `Tx` * Add `ToExpr` instance for `GenesisDelegCert`, `MIRPot`, `MirTarget`, `MIRCert`, - `ShelleyTxCert`, `ShelleyDelegCert`, `MultiSig` and `MultiSigRaw` + `ShelleyTxCert`, `ShelleyDelegCert`, `MultiSig` and `MultiSigRaw` ## 1.5.1.0 diff --git a/libs/cardano-data/CHANGELOG.md b/libs/cardano-data/CHANGELOG.md index 15394d1207c..70defc52f9d 100644 --- a/libs/cardano-data/CHANGELOG.md +++ b/libs/cardano-data/CHANGELOG.md @@ -57,7 +57,6 @@ The bug manifested by creating an unbalanced tree in the `Data.Map` internals of the 'CanonicalMap', which can result in a crash. This was the root cause of https://github.com/input-output-hk/cardano-node/issues/4826. - * Added New module Data.Universe, reusable code for defining closed singleton types. ## 1.0.0.0 diff --git a/libs/cardano-ledger-core/CHANGELOG.md b/libs/cardano-ledger-core/CHANGELOG.md index bddfedc7371..f8ee11e7309 100644 --- a/libs/cardano-ledger-core/CHANGELOG.md +++ b/libs/cardano-ledger-core/CHANGELOG.md @@ -75,14 +75,14 @@ * Remove `delegators` field from JSON serialiser for `DRepState` for correct round-tripping. #5004 * Change `TxBody` to an associated `data` family * Remove `HeapWords` instances for: #5001 - - `Coin` - - `DeltaCoin` - - `CompactFormCoin` - - `CompactFormDeltaCoin` - - `SafeHash` - - `StrictMaybe DataHash` - - `TxId` - - `TxIn` + * `Coin` + * `DeltaCoin` + * `CompactFormCoin` + * `CompactFormDeltaCoin` + * `SafeHash` + * `StrictMaybe DataHash` + * `TxId` + * `TxIn` * Add `addCompactCoin` to `Cardano.Ledger.Coin` and deprecate `Cardano.Ledger.UMap.addCompact` in its favor * Move `sumCompactCoin` to `Cardano.Ledger.Coin` @@ -321,10 +321,10 @@ * Rename `uniformSubset` to `uniformSubSet` * Add `tracedDiscard` * Add re-exported functions that were added in `cardano-ledger-binary-1.4.0.0` - - `ansiExpr` - - `ansiExprString` - - `diffExprString` - - `diffExprCompactString` + * `ansiExpr` + * `ansiExprString` + * `diffExprString` + * `diffExprCompactString` * Existing re-exported functions `diffExpr` and `diffExprCompact` have new return types per `cardano-ledger-binary-1.4.0.0` * Add a function `expectRawEqual` @@ -517,8 +517,8 @@ * Make `PlutusWithContext` era agnostic, but Language aware. `pwcScript` can be either in decoded or binary format. `pwcProtocolVersion` was added too. * `debugPlutus`, `runPlutusScript`, `runPlutusScriptWithLogs` and - `explainPlutusEvaluationError` no longer accept `ProtVer` as argument, since major - protocol version has been added to `PlutusWithContext` + `explainPlutusEvaluationError` no longer accept `ProtVer` as argument, since major + protocol version has been added to `PlutusWithContext` * Change constructor of `ScriptFailure` from `PlutusSF` to `ScriptFailure` and add record names: `scriptFailureMessage` and `scriptFailurePlutus` * Remove `PlutusDebugLang`, `PlutusDebug`, `PlutusData` and `PlutusError` diff --git a/libs/cardano-protocol-tpraos/CHANGELOG.md b/libs/cardano-protocol-tpraos/CHANGELOG.md index 55b652cc57c..880a6339711 100644 --- a/libs/cardano-protocol-tpraos/CHANGELOG.md +++ b/libs/cardano-protocol-tpraos/CHANGELOG.md @@ -50,6 +50,7 @@ to use `NonEmpty (PredicateFailure _)` instead of `[PredicateFailure _]` ## 1.1.0.0 + * Change the type of `bsize` and `hBbsize` to `Word32` ## 1.0.3.7 @@ -102,10 +103,10 @@ * Add `mkBHeader` * Move from `cardano-ledger-shelley-test`: `mkOCert`, `mkBHBody`, `mkBlock` * Move `AllIssuerKeys` from `cardano-ledegr-shelley-test`. Rename its fields: - * `cold` - > `aikCold` - * `hot` - > `aikHot` - * `vrf` - > `aikVrf` - * `hk` - > `aikColdKeyHash` + * `cold` - > `aikCold` + * `hot` - > `aikHot` + * `vrf` - > `aikVrf` + * `hk` - > `aikColdKeyHash` * Bring back `genBlock` * Move `genCoherentBlock` from `cardano-ledegr-shelley-test` and change it to accept `AllIssuerKeys` as an argument. diff --git a/libs/non-integral/CHANGELOG.md b/libs/non-integral/CHANGELOG.md index 62d96fe0952..e9437ba6cee 100644 --- a/libs/non-integral/CHANGELOG.md +++ b/libs/non-integral/CHANGELOG.md @@ -6,4 +6,4 @@ ## 1.0.0.0 -First properly versioned release +* First properly versioned release diff --git a/libs/set-algebra/CHANGELOG.md b/libs/set-algebra/CHANGELOG.md index c6cd3e4e07d..5f33bab21f9 100644 --- a/libs/set-algebra/CHANGELOG.md +++ b/libs/set-algebra/CHANGELOG.md @@ -2,7 +2,7 @@ ## 1.1.0.4 -* Bumped base to >=4.18 +* ## 1.1.0.3 @@ -14,11 +14,11 @@ ## 1.1.0.1 -- Set upper bound ansi-wl-pprint < 1.0 +* ## 1.1.0.0 -- Remove unused instances for `Data.UMap` #3371 +* Remove unused instances for `Data.UMap` #3371 ## 1.0.0.0 From 78fd193fed2b52f26aa5d44ef7b9c83372179749 Mon Sep 17 00:00:00 2001 From: Neil Mayhew Date: Tue, 2 Sep 2025 21:24:06 -0600 Subject: [PATCH 2/4] Use different bullet characters for different list levels in CHANGELOGs --- CHANGELOG.md | 822 +++++++++++----------- eras/allegra/impl/CHANGELOG.md | 44 +- eras/alonzo/impl/CHANGELOG.md | 182 ++--- eras/babbage/impl/CHANGELOG.md | 44 +- eras/conway/impl/CHANGELOG.md | 756 ++++++++++---------- eras/mary/impl/CHANGELOG.md | 12 +- eras/shelley/impl/CHANGELOG.md | 520 +++++++------- libs/cardano-ledger-api/CHANGELOG.md | 30 +- libs/cardano-ledger-binary/CHANGELOG.md | 44 +- libs/cardano-ledger-core/CHANGELOG.md | 424 +++++------ libs/cardano-protocol-tpraos/CHANGELOG.md | 18 +- 11 files changed, 1448 insertions(+), 1448 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 47bcf455c15..1342b7b4a3c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,82 +9,82 @@ If you are looking for the Ledger Releasing and Versioning Process then you can ## 10.3 -- Removed crypto parametrization from ledger eras, which finally allowed us to avoid regression in `ghc-9` and stop using `ghc-8.10.7` for building `cardano-node` releases. -- Improve performance of ledger snapshot creation by changing how we serialize `UTxO` in the ledger state. This should solve an issue with missed leadership checks due to snapshot creation problem [`ouroboros-consensus#868`](https://github.com/IntersectMBO/ouroboros-consensus/issues/868#issuecomment-2778621189) -- Add cli to `plutus-debug` executable and provide ability for overridding different parts used for script execution. -- Much cleanup, re-organization of the code and various minor performance optimizations +* Removed crypto parametrization from ledger eras, which finally allowed us to avoid regression in `ghc-9` and stop using `ghc-8.10.7` for building `cardano-node` releases. +* Improve performance of ledger snapshot creation by changing how we serialize `UTxO` in the ledger state. This should solve an issue with missed leadership checks due to snapshot creation problem [`ouroboros-consensus#868`](https://github.com/IntersectMBO/ouroboros-consensus/issues/868#issuecomment-2778621189) +* Add cli to `plutus-debug` executable and provide ability for overridding different parts used for script execution. +* Much cleanup, re-organization of the code and various minor performance optimizations ## 10.2 -- Add registered DRep stake distribution query +* Add registered DRep stake distribution query ## 10.1.4 -- Add a check to `MEMPOOL` rule that prevents unelected CC from voting +* Add a check to `MEMPOOL` rule that prevents unelected CC from voting ## 10.1 -- Fix drep delegation invariant preservation [#4709](https://github.com/IntersectMBO/cardano-ledger/pull/4709) +* Fix drep delegation invariant preservation [#4709](https://github.com/IntersectMBO/cardano-ledger/pull/4709) ## 10.0 -- Translation of `RegTxCert` and `UnRegTxCert` to `PlutusV3` scripts context will now be done correctly, which means deposit and refund respectively, will actually be translated: [#4627](https://github.com/IntersectMBO/cardano-ledger/pull/4627) -- Treasury withdrawals that are empty or sum up to zero will no longer be allowed: [#4630](https://github.com/IntersectMBO/cardano-ledger/pull/4630) -- Prevent non-registered return accounts for proposals' deposits and `TreasuryWithdrawals` [#4639](https://github.com/IntersectMBO/cardano-ledger/pull/4639) -- Ensure `ppuCoinsPerUTxOBytes` cannot be zero: [#4650](https://github.com/IntersectMBO/cardano-ledger/pull/4650) -- Ensure dreps exist prior to delegation: [#4652](https://github.com/IntersectMBO/cardano-ledger/pull/4652) -- Change how SPO votes are counted: [#4659](https://github.com/IntersectMBO/cardano-ledger/pull/4659) -- Disallow withdrawals to non-delegated keyhashes post-bootstrap [#4555](https://github.com/IntersectMBO/cardano-ledger/pull/4555) -- Remove `maxMajorPV` from `Globals`, because it was unused: [#4218](https://github.com/IntersectMBO/cardano-ledger/pull/4218) +* Translation of `RegTxCert` and `UnRegTxCert` to `PlutusV3` scripts context will now be done correctly, which means deposit and refund respectively, will actually be translated: [#4627](https://github.com/IntersectMBO/cardano-ledger/pull/4627) +* Treasury withdrawals that are empty or sum up to zero will no longer be allowed: [#4630](https://github.com/IntersectMBO/cardano-ledger/pull/4630) +* Prevent non-registered return accounts for proposals' deposits and `TreasuryWithdrawals` [#4639](https://github.com/IntersectMBO/cardano-ledger/pull/4639) +* Ensure `ppuCoinsPerUTxOBytes` cannot be zero: [#4650](https://github.com/IntersectMBO/cardano-ledger/pull/4650) +* Ensure dreps exist prior to delegation: [#4652](https://github.com/IntersectMBO/cardano-ledger/pull/4652) +* Change how SPO votes are counted: [#4659](https://github.com/IntersectMBO/cardano-ledger/pull/4659) +* Disallow withdrawals to non-delegated keyhashes post-bootstrap [#4555](https://github.com/IntersectMBO/cardano-ledger/pull/4555) +* Remove `maxMajorPV` from `Globals`, because it was unused: [#4218](https://github.com/IntersectMBO/cardano-ledger/pull/4218) ## 9.2.1 -- Improve performance of certificate validation: [#4600](https://github.com/IntersectMBO/cardano-ledger/pull/4600) and [#4643](https://github.com/IntersectMBO/cardano-ledger/pull/4643) +* Improve performance of certificate validation: [#4600](https://github.com/IntersectMBO/cardano-ledger/pull/4600) and [#4643](https://github.com/IntersectMBO/cardano-ledger/pull/4643) ## 9.2 -- DRep registration expiration fix: [#4547](https://github.com/IntersectMBO/cardano-ledger/pull/4547) -- Use correct DRep threshold to ratify `NoConfidence`: [4516](https://github.com/IntersectMBO/cardano-ledger/pull/4516) -- Added method to compute over-the-wire CBOR encoded transaction size needed for network layer: [4521](https://github.com/IntersectMBO/cardano-ledger/pull/4521) -- Add governance related ledger state queries: [4514](https://github.com/IntersectMBO/cardano-ledger/pull/4514) -- Improve Plutus debug functionality: [4503](https://github.com/IntersectMBO/cardano-ledger/pull/4503) +* DRep registration expiration fix: [#4547](https://github.com/IntersectMBO/cardano-ledger/pull/4547) +* Use correct DRep threshold to ratify `NoConfidence`: [4516](https://github.com/IntersectMBO/cardano-ledger/pull/4516) +* Added method to compute over-the-wire CBOR encoded transaction size needed for network layer: [4521](https://github.com/IntersectMBO/cardano-ledger/pull/4521) +* Add governance related ledger state queries: [4514](https://github.com/IntersectMBO/cardano-ledger/pull/4514) +* Improve Plutus debug functionality: [4503](https://github.com/IntersectMBO/cardano-ledger/pull/4503) ## 9.1.1 -- Hotfix patch for inability to deserialize Conway version of the Ledger State due to +* Hotfix patch for inability to deserialize Conway version of the Ledger State due to retained bogus address pointers: [#4591](https://github.com/IntersectMBO/cardano-ledger/pull/4591) ## 9.1 -- There were no ledger changes. The only difference with `cardano-node-9.0` is that `9.1` +* There were no ledger changes. The only difference with `cardano-node-9.0` is that `9.1` provided genesis file for `Conway` era. ## 9.0 -- Authorization of hot credentials for constitutional committee members is now only +* Authorization of hot credentials for constitutional committee members is now only possible for cold credentials that are present in the ledger state, either in the current committee or in one of the proposals. -- Voting is restricted to entities that are present in the ledger state -- DRep votes are removed whenever DRep unregisters +* Voting is restricted to entities that are present in the ledger state +* DRep votes are removed whenever DRep unregisters ## 8.12.2 -- Pricing model for the size of reference scripts was changed from linear to +* Pricing model for the size of reference scripts was changed from linear to exponential. Moreover, extra limits on the total size of reference scripts being used have been put in place. ## 8.12 -- Implemented [CIP-0069](https://github.com/cardano-foundation/CIPs/tree/master/CIP-0069) +* Implemented [CIP-0069](https://github.com/cardano-foundation/CIPs/tree/master/CIP-0069) that improves `PlutusV3` functionality by making spending datums optional and enforcing all scripts to have exactly one argument. -- Ensure that `CommitteeMinSize` protocol parameter is ignored during bootstrap phase. -- Restrict types for some protocol parameters and fixup CDDL specification to reflect +* Ensure that `CommitteeMinSize` protocol parameter is ignored during bootstrap phase. +* Restrict types for some protocol parameters and fixup CDDL specification to reflect actual deserializers. -- Create pool stake distribution query for voting. -- Included rewards accounts in stake pool distribution calculation for voting. -- Bug fixes: +* Create pool stake distribution query for voting. +* Included rewards accounts in stake pool distribution calculation for voting. +* Bug fixes: - Fixes to `DRep` expiry logic and the choice of correct threshold for the committee voting - Script execution for certificates with the same plutus script did not execute correctly. @@ -92,31 +92,31 @@ If you are looking for the Ledger Releasing and Versioning Process then you can ## 8.11 -- Prepared changes for the bootstrap period by restricting government actions and by ignoring `DRep` thresholds. -- Added the ability to do a `HardForkInitiation` into a new era. -- Added `PlutusV3` cost model to `Conway` genesis. -- Stopped counting expired committee members in active committee size calculation. -- Included rewards accounts in `DRep` distribution calculation. -- Added `AccountState` ledger state query. -- Bug fixes: +* Prepared changes for the bootstrap period by restricting government actions and by ignoring `DRep` thresholds. +* Added the ability to do a `HardForkInitiation` into a new era. +* Added `PlutusV3` cost model to `Conway` genesis. +* Stopped counting expired committee members in active committee size calculation. +* Included rewards accounts in `DRep` distribution calculation. +* Added `AccountState` ledger state query. +* Bug fixes: - Stopped embedding `UTXO` and `UTXOS` predicate failures from previous eras. - Fixed predicate failure deserialisation bug when re-submitting a `Conway` transaction with an invalid plutus script. ## 8.10 -- Retention of Anchor for proposal procedures in the ledger state in order for users to be able to query the node for those anchors -- The minimum fee calculation has been updated to take into consideration a new protocol parameter controlling the contribution of reference scripts sizes -- Redeemers serialization improvement: encode redeemers as a Map, instead of a list for Conway -- Support for intra-era hardfork initiation and necessary updates to the SPO stake distribution calculation. -- Fail translation when Conway features are present in transactions that use Plutus v1/v2 -- New Conway predicate failure: `ConwayUtxosPredFailure` (to decouple Conway from `PPUP` dependency) -- Remove `small-steps-test` package and convert it into a sublibrary of `small-steps` -- Support for injecting transition configuration data in `NewEpochState`, to decouple this concern from Consensus -- Query-related changes: +* Retention of Anchor for proposal procedures in the ledger state in order for users to be able to query the node for those anchors +* The minimum fee calculation has been updated to take into consideration a new protocol parameter controlling the contribution of reference scripts sizes +* Redeemers serialization improvement: encode redeemers as a Map, instead of a list for Conway +* Support for intra-era hardfork initiation and necessary updates to the SPO stake distribution calculation. +* Fail translation when Conway features are present in transactions that use Plutus v1/v2 +* New Conway predicate failure: `ConwayUtxosPredFailure` (to decouple Conway from `PPUP` dependency) +* Remove `small-steps-test` package and convert it into a sublibrary of `small-steps` +* Support for injecting transition configuration data in `NewEpochState`, to decouple this concern from Consensus +* Query-related changes: - Era-specific queries: Conway functionality supported only starting with Conway era - Change committee query to return non-optional `CommitteeMembersState` - Add optional `Anchor` to resigned status in `CommitteeMembersState` -- Important bug fixes: +* Important bug fixes: - Use the correct stake pool distribution for voting (instead of one that is an epoch too old) - Fix DRep stake distribution to correctly add rewards to deleged stake - JSON serialization of rational numbers in protocol parameters and governance procedures are encoded without loss of precision @@ -126,16 +126,16 @@ If you are looking for the Ledger Releasing and Versioning Process then you can ## 8.8 -- Full PlutusV3 support -- Support for governance policy script -- Remove the library `cardano-ledger-pretty` -- Ensure all sets are prefixed with tag 258 in CBOR serialization -- Added DRep injections into the ledger state, thus allowing more complex testing and +* Full PlutusV3 support +* Support for governance policy script +* Remove the library `cardano-ledger-pretty` +* Ensure all sets are prefixed with tag 258 in CBOR serialization +* Added DRep injections into the ledger state, thus allowing more complex testing and benchmarking of Conway features -- Addition of new ledger events -- Increasing the limit for Url in Anchors to 128 bytes -- Provide accurate transaction fee estimation functionality for Haskell tools -- Important bug fixes: +* Addition of new ledger events +* Increasing the limit for Url in Anchors to 128 bytes +* Provide accurate transaction fee estimation functionality for Haskell tools +* Important bug fixes: - missing `"protocolVersion"` field in JSON instance for Babbage and Conway protocol parameters - requiring witnesses for DRep registration - new committee governance action ratification was implemented incorrectly @@ -146,80 +146,80 @@ If you are looking for the Ledger Releasing and Versioning Process then you can ## 8.7 -- Fix `PParamsUpdate` governance action ratification. Votes of DReps are now accounted for. -- Move CDDL specification files from test packages into libraries that actually implement each era. -- Add ability to retain Plutus logs for debugging when running scripts -- Adition of `ConwayGovEvent` -- Enforce no duplicates for submitted ProposalProcedures -- Fix deserialization of `CostModels` in the `PParamsUpdate`. Invalid `CostModels` are no longer allowed, only `CostModels` for unrecognized Plutus versions are allowed starting with Conway -- Improve deposit and refund calculation logic -- Fix deserialization of `ValueNotConservedUTxO` predicate failure that could not +* Fix `PParamsUpdate` governance action ratification. Votes of DReps are now accounted for. +* Move CDDL specification files from test packages into libraries that actually implement each era. +* Add ability to retain Plutus logs for debugging when running scripts +* Adition of `ConwayGovEvent` +* Enforce no duplicates for submitted ProposalProcedures +* Fix deserialization of `CostModels` in the `PParamsUpdate`. Invalid `CostModels` are no longer allowed, only `CostModels` for unrecognized Plutus versions are allowed starting with Conway +* Improve deposit and refund calculation logic +* Fix deserialization of `ValueNotConservedUTxO` predicate failure that could not previously report zero ADA. ## 8.6 -- Prevent updating protocol version with PParamUpdate -- Slight performance improvements to native script handling: +* Prevent updating protocol version with PParamUpdate +* Slight performance improvements to native script handling: - Remove redundant script hash verification. - Short circuit multisig and timelock verification for `RequireMOf` as soon as necessary number of scripts have been validated. -- Check that the previous governance action of a specific type is either the very last action that has been enacted or is already in the current proposals set. -- Replace `queryCommitteeState` with more powerful `queryCommitteeMembersState`, which returns more information about committee members and supports filters based on credentials and statuses. -- Repurpose `DRepPulser` to encapsulate the Snapshots needed to run the `EPOCH` and `RATIFY` Rules. This has fixed some problem related to snapshots and behaviour at the epoch boundary. -- Add an optional anchor to committee member resignation certificate -- Prevent delegation to non-registered pools +* Check that the previous governance action of a specific type is either the very last action that has been enacted or is already in the current proposals set. +* Replace `queryCommitteeState` with more powerful `queryCommitteeMembersState`, which returns more information about committee members and supports filters based on credentials and statuses. +* Repurpose `DRepPulser` to encapsulate the Snapshots needed to run the `EPOCH` and `RATIFY` Rules. This has fixed some problem related to snapshots and behaviour at the epoch boundary. +* Add an optional anchor to committee member resignation certificate +* Prevent delegation to non-registered pools ## 8.5 -- Prevent `DRep` expiry when there are no Governance Actions. -- Refreshing of expiry with votes and `UpdateTxCert` -- Disable ability to submit transactions with votes by Stake Pool Operators and +* Prevent `DRep` expiry when there are no Governance Actions. +* Refreshing of expiry with votes and `UpdateTxCert` +* Disable ability to submit transactions with votes by Stake Pool Operators and Constitutional Committee members on Governance Actions that they should not be able to vote on. -- Add ability to supply initial Constitutional Committee and initial version of Constitution. -- Preserve order of submitted ProposalProcedures and account for their priority. -- Disallow empty fields in CBOR of Conway TxBody -- Add some sanity checks for `UpdateCommittee` proposals and change semantics of the +* Add ability to supply initial Constitutional Committee and initial version of Constitution. +* Preserve order of submitted ProposalProcedures and account for their priority. +* Disallow empty fields in CBOR of Conway TxBody +* Add some sanity checks for `UpdateCommittee` proposals and change semantics of the proposal from overwrite to modify the Committee -- Implement Constitutional Committee expiration, validation and modification -- Respect Constitutional Committee members votes and thresholds during ratification -- Whenever Constitutional Committee size goes below `CommitteeMinSize` parameter the whole +* Implement Constitutional Committee expiration, validation and modification +* Respect Constitutional Committee members votes and thresholds during ratification +* Whenever Constitutional Committee size goes below `CommitteeMinSize` parameter the whole committee will vote `No` on all proposals. -- Restructure initial configuration in such a way that makes it possible for Conway era to +* Restructure initial configuration in such a way that makes it possible for Conway era to start without going through all previous eras, which is needed for testing and benchmarking. -- Apply ADA treasury transfers after enactment of `TreasuryWithdrawals` proposals -- Enforce `currentTreasuryValue` field in the TxBody matches the actual Treasury amount, +* Apply ADA treasury transfers after enactment of `TreasuryWithdrawals` proposals +* Enforce `currentTreasuryValue` field in the TxBody matches the actual Treasury amount, whenver the field is supplied ## 8.4 -- `GovernanceProposals` functionality: +* `GovernanceProposals` functionality: - Implement expiry - Enforce the supplied deposit amount - Enforce previous GovActionId is correct -- Enforce deposits and ensure refunds for `DRep`s. This affects transaction building functionality. -- Enforce thresholds for votes from PParams for Stake Pool Operators and DReps -- Delaying of ratification after `NoConfidence`, `HardForkInitiation`, `NewCommittee`, +* Enforce deposits and ensure refunds for `DRep`s. This affects transaction building functionality. +* Enforce thresholds for votes from PParams for Stake Pool Operators and DReps +* Delaying of ratification after `NoConfidence`, `HardForkInitiation`, `NewCommittee`, `NewConstitution` actions have been enacted. ## 8.3 -- `DRep` functionality progress: +* `DRep` functionality progress: - Implement `DRep` voting and use actual `DRep` stake distribution for ratification - Implement `DRep` expiry for stale DRep's - Add `DRep` deposit tracking. - Add `Anchor`s for `DRep`s -- Fix `ProposalProcedure` deposit tracking. -- Add ability to upgrade core types from one era to the next. -- Add `Script` capability to Constitutional Committee Hot and Cold credentials. -- Add `NetworkId` validation for `ProposalProcedure` and `TreasuryWithdrawals` -- Add `currentTreasuryValue` as a new field to Conway `TxBody` -- Voting thresholds have been added to `PParams` +* Fix `ProposalProcedure` deposit tracking. +* Add ability to upgrade core types from one era to the next. +* Add `Script` capability to Constitutional Committee Hot and Cold credentials. +* Add `NetworkId` validation for `ProposalProcedure` and `TreasuryWithdrawals` +* Add `currentTreasuryValue` as a new field to Conway `TxBody` +* Voting thresholds have been added to `PParams` ## 8.2 -- Restructure certificate interface -- Conway related changes: +* Restructure certificate interface +* Conway related changes: - Introduction of a `DRep` with the defaults that vote No and Abstain. - Change `DCert` type to a `TxCert` type family and introduce new certificates - Implement voting on `NewConstitution` by StakePools as the most basic example of voting. @@ -230,30 +230,30 @@ If you are looking for the Ledger Releasing and Versioning Process then you can ## 8.1 -- Plutus V3 support, only available in the conway ledger era. -- `PState` is now parametric in era, not crypto. -- Adjust for new conway era certificates. -- Ledger `UMapCompact` is now `UMap` -- Ledger types with names involving `DState` are renamed to `CertState`. +* Plutus V3 support, only available in the conway ledger era. +* `PState` is now parametric in era, not crypto. +* Adjust for new conway era certificates. +* Ledger `UMapCompact` is now `UMap` +* Ledger types with names involving `DState` are renamed to `CertState`. ## 8.0 -- The provenance for the reward calculation has been removed. The type signature to the API function `getRewardProvenance` has not changed, it just returns an empty provenance value. -- We have created a Ledger API, with the aim of providing a user-friendly interface to the ledger libraries. See [here](https://github.com/intersectmbo/cardano-ledger/tree/b00e28698d9c7fbbeda1c9cfdd1238d3bc4569cf/libs/cardano-ledger-api). -- The initial funds and staking in the Shelley genesis type (used only for testing) now use `ListMap` instead of `Map`. -- There is a new `calculatePoolDistr'` function which is similar to `calculatePoolDistr` but has a new filter argument to only include the stake pool ids (stake pool key hashes) that are needed. -- The ledger events are not guaranteed to appear in any given order within a block. For this reason, motivated by the use case in db-sync, the `TotalDeposits` event now includes a transaction ID and emits the change in deposits instead of the value. -- We changed the way deposits are tracked. See [here](https://github.com/intersectmbo/cardano-ledger/blob/b00e28698d9c7fbbeda1c9cfdd1238d3bc4569cf/docs/adr/2022-12-05_003-track-individual-deposits.md) for the details. -- We changed the API function Cardano.Ledger.Shelley.API.Wallet(`evaluateTransactionBalance`) to take `DPState` as input. This can no longer be computed without the `DPState` -- Some noticeable changes have been made which will only become apparent starting at major protocol version 9: +* The provenance for the reward calculation has been removed. The type signature to the API function `getRewardProvenance` has not changed, it just returns an empty provenance value. +* We have created a Ledger API, with the aim of providing a user-friendly interface to the ledger libraries. See [here](https://github.com/intersectmbo/cardano-ledger/tree/b00e28698d9c7fbbeda1c9cfdd1238d3bc4569cf/libs/cardano-ledger-api). +* The initial funds and staking in the Shelley genesis type (used only for testing) now use `ListMap` instead of `Map`. +* There is a new `calculatePoolDistr'` function which is similar to `calculatePoolDistr` but has a new filter argument to only include the stake pool ids (stake pool key hashes) that are needed. +* The ledger events are not guaranteed to appear in any given order within a block. For this reason, motivated by the use case in db-sync, the `TotalDeposits` event now includes a transaction ID and emits the change in deposits instead of the value. +* We changed the way deposits are tracked. See [here](https://github.com/intersectmbo/cardano-ledger/blob/b00e28698d9c7fbbeda1c9cfdd1238d3bc4569cf/docs/adr/2022-12-05_003-track-individual-deposits.md) for the details. +* We changed the API function Cardano.Ledger.Shelley.API.Wallet(`evaluateTransactionBalance`) to take `DPState` as input. This can no longer be computed without the `DPState` +* Some noticeable changes have been made which will only become apparent starting at major protocol version 9: - There is a new ledger era, namely `conway`. - We now have the ability to more easily change serializations when the major protocol version changes. Though this change is not immediately visible to the node, it enables visible changes in the future. See [CIP-80](https://github.com/cardano-foundation/CIPs/tree/master/CIP-0080) For the deprecation cycle. - Pointer addresses will no longer accrue rewards starting with version 9. - We fixed the incorrect conversion of the validity interval's upper bound in `transVITime`. - Starting in version 9, duplicate keys in CBOR maps and sets are no longer allowed. - Starting in version 9, `CostModel`s can now be deserialized from any map of Word8 values to lists of integers. Only valid cost models are actually converted to evaluation contexts that can be used. Errors and unrecognized language versions are stored in the `CostModel` type so that: - - They can accept cost models that they do not yet understand. - - Upon deserializing after a software update, new cost models are available from the prior serialization. + + They can accept cost models that they do not yet understand. + + Upon deserializing after a software update, new cost models are available from the prior serialization. ## 1.2.0 @@ -266,108 +266,108 @@ switched to [CHaPs](https://github.com/input-output-hk/cardano-haskell-packages) Changes recorded below are for all of the package versions in the list: -- `small-steps-1.0.0.0` -- `vector-map-1.0.0.0` -- `cardano-data-1.0.0.0` -- `set-algebra-1.0.0.0` -- `cardano-ledger-binary-1.0.0.0` -- `cardano-ledger-core-1.0.0.0` -- `cardano-protocol-tpraos-1.0.0.0` -- `cardano-ledger-api-1.0.0.0` -- `cardano-ledger-pretty-1.0.0.0` -- `cardano-ledger-shelley-1.0.0.0` -- `cardano-ledger-allegra-1.0.0.0` -- `cardano-ledger-mary-1.0.0.0` -- `cardano-ledger-alonzo-1.0.0.0` -- `cardano-ledger-babbage-1.0.0.0` -- `cardano-ledger-conway-1.0.0.0` -- `cardano-ledger-shelley-ma-1.0.0.0` -- `cardano-ledger-alonzo-test-1.0.0.0` -- `cardano-ledger-shelley-ma-test-1.0.0.0` -- `cardano-ledger-shelley-test-1.0.0.0` +* `small-steps-1.0.0.0` +* `vector-map-1.0.0.0` +* `cardano-data-1.0.0.0` +* `set-algebra-1.0.0.0` +* `cardano-ledger-binary-1.0.0.0` +* `cardano-ledger-core-1.0.0.0` +* `cardano-protocol-tpraos-1.0.0.0` +* `cardano-ledger-api-1.0.0.0` +* `cardano-ledger-pretty-1.0.0.0` +* `cardano-ledger-shelley-1.0.0.0` +* `cardano-ledger-allegra-1.0.0.0` +* `cardano-ledger-mary-1.0.0.0` +* `cardano-ledger-alonzo-1.0.0.0` +* `cardano-ledger-babbage-1.0.0.0` +* `cardano-ledger-conway-1.0.0.0` +* `cardano-ledger-shelley-ma-1.0.0.0` +* `cardano-ledger-alonzo-test-1.0.0.0` +* `cardano-ledger-shelley-ma-test-1.0.0.0` +* `cardano-ledger-shelley-test-1.0.0.0` ### Added -- Addition of `encodeWithOrigin` and `decodeWithOrigin`. #3297 -- Change `mkVersion` to accept any `Integral`. Add `getVersion` function. #3297 -- Added type classes: `EraPParams`, `AlonzoEraPParams` and `BabbageEraPParams` with lenses +* Addition of `encodeWithOrigin` and `decodeWithOrigin`. #3297 +* Change `mkVersion` to accept any `Integral`. Add `getVersion` function. #3297 +* Added type classes: `EraPParams`, `AlonzoEraPParams` and `BabbageEraPParams` with lenses that can access and manipulate both `PParams` and `ParamsUpdate`. #3242 -- Added types `CoinPerWord` and `CoinPerByte` to prevent mixing up the two: #3242 -- Add `fromShelleyPParams` to `CanStartFromGenesis`: #3224 -- Add `setMinFeeTx` to `Cardano.Ledger.Api.Tx`: #3201 -- Add ToExpr (from tree-diff) instances for all types inside NewEpochState +* Added types `CoinPerWord` and `CoinPerByte` to prevent mixing up the two: #3242 +* Add `fromShelleyPParams` to `CanStartFromGenesis`: #3224 +* Add `setMinFeeTx` to `Cardano.Ledger.Api.Tx`: #3201 +* Add ToExpr (from tree-diff) instances for all types inside NewEpochState - Add module Cardano.Ledger.TreeDiff in cardano-binary. Includes all needed operations, classes, and orphan instances -- Add deposits (key deposits) to DState{dsDeposits} and (pool deposits) PState{psDeposits} +* Add deposits (key deposits) to DState{dsDeposits} and (pool deposits) PState{psDeposits} - Added property tests that test the new invariants that must hold - - utxosDeposits == sum (dsDeposited) + sum (psDeposited) - - dom rewards == dom dsDeposited -- Add functions that computed deposits, obligation, and refunds that take DPState as input -- Add `PlutusDebug` to `TransactionScriptFailure.ValidationFailedV{1|2}`: #3135 + + utxosDeposits == sum (dsDeposited) + sum (psDeposited) + + dom rewards == dom dsDeposited +* Add functions that computed deposits, obligation, and refunds that take DPState as input +* Add `PlutusDebug` to `TransactionScriptFailure.ValidationFailedV{1|2}`: #3135 - Also add a harmless dummy `Show` instance for `PlutusDebug` with a constant `"PlutusDebug Omitted"` -- Create a `cardano-ledger-binary` package that does versioned serialization as a +* Create a `cardano-ledger-binary` package that does versioned serialization as a replacement for `cardano-binary` package: #3063, #3078 -- Switch to `cardano-ledger-binary` package throughout the ledger codebase: #3138 -- Created `translateEraThroughCBOR`: #3138 -- Start on the `cardano-ledger-api` package and implement +* Switch to `cardano-ledger-binary` package throughout the ledger codebase: #3138 +* Created `translateEraThroughCBOR`: #3138 +* Start on the `cardano-ledger-api` package and implement `setMinCoinTxOut`+`setMinCoinSizedTxOut`: #2995 -- Added `getMinCoinTxOut`/`getMinCoinSizedTxOut` to `EraTxOut`: #3008 -- Added `getMinFeeTx` to `EraTx` -- Added `datumTxOutF` to `AlonzoEraTxOut` -- Added `allInputsTxBodyF` -- Added `EraUTxO` class with `getConsumedValue` -- Added type synonyms for eras: `Shelley`, `Allegra`, `Mary`, `Alonzo`, `Babbage` and `Conway`. -- Added `Twiddle` class to test alternative serializations: #2994 -- Added `getScriptsNeeded` and `getScriptsHashesNeeded` to `EraUTxO` class: #3019 -- Added `evaluateTransactionExecutionUnitsWithLogs` to `Alonzo`: #3111 -- Added `mkAlonzoTxAuxData` and `getAlonzoTxAuxDataScripts` that help to recover previous +* Added `getMinCoinTxOut`/`getMinCoinSizedTxOut` to `EraTxOut`: #3008 +* Added `getMinFeeTx` to `EraTx` +* Added `datumTxOutF` to `AlonzoEraTxOut` +* Added `allInputsTxBodyF` +* Added `EraUTxO` class with `getConsumedValue` +* Added type synonyms for eras: `Shelley`, `Allegra`, `Mary`, `Alonzo`, `Babbage` and `Conway`. +* Added `Twiddle` class to test alternative serializations: #2994 +* Added `getScriptsNeeded` and `getScriptsHashesNeeded` to `EraUTxO` class: #3019 +* Added `evaluateTransactionExecutionUnitsWithLogs` to `Alonzo`: #3111 +* Added `mkAlonzoTxAuxData` and `getAlonzoTxAuxDataScripts` that help to recover previous behavior of `AlonzoTxAuxData` #3165 and #3166 -- Addition of `Memoized` type class and helper functions that utilize this new +* Addition of `Memoized` type class and helper functions that utilize this new abstraction: `mkMemoized`, `getMemoSafeHash`, `getMemoRawType`, `zipMemoRawType`, `getMemoRawBytes` and `lensMemoRawType` #3165 -- Added upper protocol version bounds to `updateTxBodyL` and `certsTxBodyL` and +* Added upper protocol version bounds to `updateTxBodyL` and `certsTxBodyL` and removed the corresponding fields from the Conway transaction body #3176 -- Added `ConwayEraTxBody` class with new lenses #3176 -- Added `ConwayDCert` data type which is similar to `DCert` but does not have +* Added `ConwayEraTxBody` class with new lenses #3176 +* Added `ConwayDCert` data type which is similar to `DCert` but does not have MIR certificates #3176 -- Added CDDL files for Conway era #3176 -- Added `Vote`, `VoterRole`, `VoteDecision`, `GovernanceActionInfo` and +* Added CDDL files for Conway era #3176 +* Added `Vote`, `VoterRole`, `VoteDecision`, `GovernanceActionInfo` and `GovernanceAction` data types #3176 -- Added `ctbrVotes` and `ctbrGovActions` fields to `ConwayTxBodyRaw` and +* Added `ctbrVotes` and `ctbrGovActions` fields to `ConwayTxBodyRaw` and corresponding fields to `ConwayTxBody` #3176 -- Added `ToCBOR` and `FromCBOR` instances to `ConwayTxBody` and all its +* Added `ToCBOR` and `FromCBOR` instances to `ConwayTxBody` and all its constituent data types #3176 -- Added `ConwayUTXOS` rule #3176 -- Added `PPUPPredFailurePV` type family and `PPUPPredFailure` type synonym #3216 -- Added `EraGovernance` type class with `GovernanceState` type family and implemented it +* Added `ConwayUTXOS` rule #3176 +* Added `PPUPPredFailurePV` type family and `PPUPPredFailure` type synonym #3216 +* Added `EraGovernance` type class with `GovernanceState` type family and implemented it for each era #3279 -- Added `updateTxBodyG` getter to EraTxBody #3216 -- Added new rules to the Conway era: #3216 +* Added `updateTxBodyG` getter to EraTxBody #3216 +* Added new rules to the Conway era: #3216 - `TALLY` (new) - `ENACTMENT` (new) - `NEWEPOCH` - `EPOCH` - `LEDGER` -- Added `ConwayTallyState` #3216 -- Added `ConwayEpochEvent` #3216 -- Added `ConwayLedgerPredFailure` #3216 -- Added `ConwayNewEpochPredFailure` #3216 -- Added `ConwayNewEpochEvent` #3216 -- Added new governance related data types to Conway: #3216 +* Added `ConwayTallyState` #3216 +* Added `ConwayEpochEvent` #3216 +* Added `ConwayLedgerPredFailure` #3216 +* Added `ConwayNewEpochPredFailure` #3216 +* Added `ConwayNewEpochEvent` #3216 +* Added new governance related data types to Conway: #3216 - `GovernanceActionState` - `GovernanceProcedure` - `TallyEnv` ### Changed -- Renamed `GenesisDelegCert` to `ConstitutionalDelegCert`: #3176 -- Fix `ToCBOR`/`FromCBOR` insatance for `PParams Babbage` and `PParams Alonzo`: #3297 and #3288 -- Disallow decoding a 0-value `MultiAsset` in the de-serialization. #3241 -- Move `Wdrl` to `Core`. Also rename it to `Withdrawals`, while switching `Test.Cardano.Ledger.Generic.Fields.Withdrawals` to `Withdrawals'` #3239 -- Moved `PreviousEra` into `Era` type class. Added `Era` instance for a new data type +* Renamed `GenesisDelegCert` to `ConstitutionalDelegCert`: #3176 +* Fix `ToCBOR`/`FromCBOR` insatance for `PParams Babbage` and `PParams Alonzo`: #3297 and #3288 +* Disallow decoding a 0-value `MultiAsset` in the de-serialization. #3241 +* Move `Wdrl` to `Core`. Also rename it to `Withdrawals`, while switching `Test.Cardano.Ledger.Generic.Fields.Withdrawals` to `Withdrawals'` #3239 +* Moved `PreviousEra` into `Era` type class. Added `Era` instance for a new data type `ByronEra`. -- Renamed record fields for all `PParams` types. Too many to list, but follows the same +* Renamed record fields for all `PParams` types. Too many to list, but follows the same convention, eg. `AlonzoPParams._maxTxSize` -> `AlonzoPParams.appMaxTxSize` -- Renamed `AlonzoGenesis` fields #3242: +* Renamed `AlonzoGenesis` fields #3242: - `coinsPerUTxOWord` -> `agCoinsPerUTxOWord` - `costmdls` -> `agCostModels` - `prices` -> `agPrices` @@ -376,98 +376,98 @@ Changes recorded below are for all of the package versions in the list: - `maxValSize` -> `agMaxValSize` - `collateralPercentage` -> `agCollateralPercentage` - `maxCollateralInputs` -> `agMaxCollateralInputs` -- Split `Cardano.Ledger.Alonzo.Data` module into `Cardano.Ledger.Alonzo.Scripts.Data` and `Cardano.Ledeger.Alonzo.TxAuxData`: #3229 -- Changed `ConwayGenesis`, by adding `AlonzoGenesis` to it: #3224 -- Switch parameterization of `ShelleyGenesis` on crypto, i.e. `ShelleyGenesis era` -> `ShelleyGenesis c`: #3224 -- Moved `KeyPair` type and related functions to a new `KeyPair` module in `cardano-ledger-core:testlib` #3210 -- Changed the representaion of key deposits. Deleted the field dsDeposits. Moved it to the UMap. Added some new functions to UMapCompact module to accomodate changes. -- Replace `NominalDiffTime` with a `newtype` wrapper `NominalDiffTimeMicro`. Remove use of `NominalDiffTime`, as we don't use its full precision. #3208 -- Switched `PlutusDebug` to use a `GADT` with `singletons` for better type-safety. #3167 +* Split `Cardano.Ledger.Alonzo.Data` module into `Cardano.Ledger.Alonzo.Scripts.Data` and `Cardano.Ledeger.Alonzo.TxAuxData`: #3229 +* Changed `ConwayGenesis`, by adding `AlonzoGenesis` to it: #3224 +* Switch parameterization of `ShelleyGenesis` on crypto, i.e. `ShelleyGenesis era` -> `ShelleyGenesis c`: #3224 +* Moved `KeyPair` type and related functions to a new `KeyPair` module in `cardano-ledger-core:testlib` #3210 +* Changed the representaion of key deposits. Deleted the field dsDeposits. Moved it to the UMap. Added some new functions to UMapCompact module to accomodate changes. +* Replace `NominalDiffTime` with a `newtype` wrapper `NominalDiffTimeMicro`. Remove use of `NominalDiffTime`, as we don't use its full precision. #3208 +* Switched `PlutusDebug` to use a `GADT` with `singletons` for better type-safety. #3167 - Made `Plutus` imports uniform. -- Removed the module `Test.Cardano.Ledger.Generic.Types`. Functionality moved to `Test.Cardano.Ledger.Generic.Functions` -- Renamed module `Cardano.Ledger.Shelley.Metadata` -> `Cardano.Ledger.Shelley.TxAuxData` #3205 -- Updated `Conway` low protocol version to 9 and `Babbage` high protocol version to 8: #3174 -- Fixed mismathed parenthesis in the `Show` instance for `Ptr`: #3184. -- Moved Cardano.Ledger.Shelley.LedgerState(DPState) to Cardano.Ledger(DPState) in Core +* Removed the module `Test.Cardano.Ledger.Generic.Types`. Functionality moved to `Test.Cardano.Ledger.Generic.Functions` +* Renamed module `Cardano.Ledger.Shelley.Metadata` -> `Cardano.Ledger.Shelley.TxAuxData` #3205 +* Updated `Conway` low protocol version to 9 and `Babbage` high protocol version to 8: #3174 +* Fixed mismathed parenthesis in the `Show` instance for `Ptr`: #3184. +* Moved Cardano.Ledger.Shelley.LedgerState(DPState) to Cardano.Ledger(DPState) in Core - Since the old file was hidden, this will have no noticeable effects. -- Changed the API function Cardano.Ledger.Shelley.API.Wallet(evaluateTransactionBalance) to take DPState as input. This can no lnger be computed without the DPState -- Changed UtxoEnv by replacing pool info (Map (KeyHash 'StakePool c) (PoolParams c)) with DPState +* Changed the API function Cardano.Ledger.Shelley.API.Wallet(evaluateTransactionBalance) to take DPState as input. This can no lnger be computed without the DPState +* Changed UtxoEnv by replacing pool info (Map (KeyHash 'StakePool c) (PoolParams c)) with DPState to show differences in two NewEpochState's. -- Split `cardano-ledger-shelley-ma` into `cardano-ledger-allegra` and `cardano-ledger-mary` #3175: +* Split `cardano-ledger-shelley-ma` into `cardano-ledger-allegra` and `cardano-ledger-mary` #3175: - Moved `ShelleyMA.AuxiliaryData` -> `Allegra.TxAuxData` - Moved `ShelleyMA.Timelocks` -> `Allegra.Scripts` - `ShelleyMA.TxBody.MATxBody` was split into `Allegra.AllegraTxBody` and `Mary.MaryTxBody`. pattern record fields were renamed correspondingly - - `inputs` to `atbInputs` and `mtbInputs` - - `outputs` to `atbOutputs` and `mtbOutputs` - - `certs` to `atbCerts` and `mtbCerts` - - `wdrls` to `atbWdrls` and `mtbWdrls` - - `txfee` to `atbTxFee` and `mtbTxFee` - - `vldt` to `atbValidityInterval` and `mtbValidityInterval` - - `update` to `atbUpdate` and `mtbUpdate` - - `adHash` to `atbAuxDataHash` and `mtbAuxDataHash` - - `mint` to `mtbMint` -- Changed structure and field names of `Cardano.Ledger.Alonzo.Data.AlonzoTxAuxData` #3165: + + `inputs` to `atbInputs` and `mtbInputs` + + `outputs` to `atbOutputs` and `mtbOutputs` + + `certs` to `atbCerts` and `mtbCerts` + + `wdrls` to `atbWdrls` and `mtbWdrls` + + `txfee` to `atbTxFee` and `mtbTxFee` + + `vldt` to `atbValidityInterval` and `mtbValidityInterval` + + `update` to `atbUpdate` and `mtbUpdate` + + `adHash` to `atbAuxDataHash` and `mtbAuxDataHash` + + `mint` to `mtbMint` +* Changed structure and field names of `Cardano.Ledger.Alonzo.Data.AlonzoTxAuxData` #3165: - Renamed `AlonzoTxAuxData.txMD` to `AlonzoTxAuxData.atadMetadata`: - Removed `AlonzoTxAuxData.scripts` in favor of two new fields `atadTimelock` and `atadPlutus`. This was needed due to #3166 -- Changed instance for `TranslationContext (ShelleyEra c)` to a data type that can be used to +* Changed instance for `TranslationContext (ShelleyEra c)` to a data type that can be used to translate from Byron to Shelley: #3164 -- Changed major version in `ProtVer` to use new type `Version` instead of `Natural`: #3138 -- Renamed records fields in `Cardano.Ledger` to names without `_` (underscores) #3126 +* Changed major version in `ProtVer` to use new type `Version` instead of `Natural`: #3138 +* Renamed records fields in `Cardano.Ledger` to names without `_` (underscores) #3126 - `Alonzo.TxBody.AlonzoTxBody` pattern synonym - - `inputs` to `atbInputs` - - `collateral` to `atbCollateral` - - `outputs` to `atbOutputs` - - `txcerts` to `atbCerts` - - `txwdrls` to `atbWdrls` - - `txfee` to `atbTxFee` - - `txvldt` to `atbValidityInterval` - - `txUpdates` to `atbUpdate` - - `reqSignerHashes` to `atbReqSignerHashes` - - `mint` to `atbMint` - - `scriptIntegrityHash` to `atbScriptIntegrityHash` - - `adHash` to `atbAuxDataHash` - - `txnetworkid` to `atbTxNetworkId` + + `inputs` to `atbInputs` + + `collateral` to `atbCollateral` + + `outputs` to `atbOutputs` + + `txcerts` to `atbCerts` + + `txwdrls` to `atbWdrls` + + `txfee` to `atbTxFee` + + `txvldt` to `atbValidityInterval` + + `txUpdates` to `atbUpdate` + + `reqSignerHashes` to `atbReqSignerHashes` + + `mint` to `atbMint` + + `scriptIntegrityHash` to `atbScriptIntegrityHash` + + `adHash` to `atbAuxDataHash` + + `txnetworkid` to `atbTxNetworkId` - `Babbage.TxBody.BabbageTxBody` pattern synonym - - `inputs` to `btbInputs` - - `collateral` to `btbCollateral` - - `referenceInputs` to `btbReferenceInputs` - - `outputs` to `btbOutputs` - - `collateralReturn` to `btbCollateralReturn` - - `totalCollateral` to `btbTotalCollateral` - - `txcerts` to `btbCerts` - - `txwdrls` to `btbWdrls` - - `txfee` to `btbTxFee` - - `txvldt` to `btbValidityInterval` - - `txUpdates` to `btbUpdate` - - `reqSignerHashes` to `btbReqSignerHashes` - - `mint` to `btbMint` - - `scriptIntegrityHash` to `btbScriptIntegrityHash` - - `adHash` to `btbAuxDataHash` - - `txnetworkid` to `btbrTxNetworkId` + + `inputs` to `btbInputs` + + `collateral` to `btbCollateral` + + `referenceInputs` to `btbReferenceInputs` + + `outputs` to `btbOutputs` + + `collateralReturn` to `btbCollateralReturn` + + `totalCollateral` to `btbTotalCollateral` + + `txcerts` to `btbCerts` + + `txwdrls` to `btbWdrls` + + `txfee` to `btbTxFee` + + `txvldt` to `btbValidityInterval` + + `txUpdates` to `btbUpdate` + + `reqSignerHashes` to `btbReqSignerHashes` + + `mint` to `btbMint` + + `scriptIntegrityHash` to `btbScriptIntegrityHash` + + `adHash` to `btbAuxDataHash` + + `txnetworkid` to `btbrTxNetworkId` - `Shelley.TxBody.TxBodyRaw` to `Shelley.TxBody.ShelleyTxBodyRaw` - - `inputsX` to `stbrInputs` - - `outputsX` to `stbrOutputs` - - `certsX` to `stbrCerts` - - `wdrlsX` to `stbrWdrls` - - `txfeeX` to `stbrTxFee` - - `ttlX` to `stbrTTL` - - `txUpdateX` to `stbrUpdate` - - `mdHashX` to `stbrMDHash` + + `inputsX` to `stbrInputs` + + `outputsX` to `stbrOutputs` + + `certsX` to `stbrCerts` + + `wdrlsX` to `stbrWdrls` + + `txfeeX` to `stbrTxFee` + + `ttlX` to `stbrTTL` + + `txUpdateX` to `stbrUpdate` + + `mdHashX` to `stbrMDHash` - `Shelley.TxBody.ShelleyTxBody` pattern synonym - - `_inputs` to `stbInputs` - - `_outputs` to `stbOutputs` - - `_certs` to `stbCerts` - - `_wdrls` to `stbWdrls` - - `_txfee` to `stbTxFee` - - `_ttl` to `stbTTL` - - `_txUpdate` to `stbUpdate` - - `_mdHash` to `stbMDHash` -- Renamed records fields in `Cardano.Ledger` to names without `_` (underscores) #3118 -- `Shelley.LedgerState.Types.AccountState` + + `_inputs` to `stbInputs` + + `_outputs` to `stbOutputs` + + `_certs` to `stbCerts` + + `_wdrls` to `stbWdrls` + + `_txfee` to `stbTxFee` + + `_ttl` to `stbTTL` + + `_txUpdate` to `stbUpdate` + + `_mdHash` to `stbMDHash` +* Renamed records fields in `Cardano.Ledger` to names without `_` (underscores) #3118 +* `Shelley.LedgerState.Types.AccountState` - `_treasury -> asTreasury` - `_reserves -> asReserves` -- `PoolParams.PoolParams` +* `PoolParams.PoolParams` - `_poolId -> ppId` - `_poolVrf -> ppVrf` - `_poolPledge -> ppPledge` @@ -477,58 +477,58 @@ Changes recorded below are for all of the package versions in the list: - `_poolOwners -> ppOwners` - `_poolRelays -> ppRelays` - `_poolMD -> ppMetadata` -- `PoolParams.PoolMetadata` +* `PoolParams.PoolMetadata` - `_poolMDUrl -> pmUrl` - `_poolMDHash -> pmHash` -- Renamed records fields in `Cardano.Ledger` to names without `_` (underscores) #3120 +* Renamed records fields in `Cardano.Ledger` to names without `_` (underscores) #3120 - `Shelley.Delegation.Certificates` - - `_delegator` to `dDelegator` - - `_delegatee` to `dDelegatee` + + `_delegator` to `dDelegator` + + `_delegatee` to `dDelegatee` - `EpochBoundary.SnapShot` - - `_stake` to `ssStake` - - `_delegations` to `ssDelegations` - - `_poolParams` to `ssPoolParams` + + `_stake` to `ssStake` + + `_delegations` to `ssDelegations` + + `_poolParams` to `ssPoolParams` - `EpochBoundary.SnapShots` - - `_pstakeMark` to `ssStakeMark` - - `_pstakeSet` to `ssStakeSet` - - `_pstakeGo` to `ssStakeGo` - - `_feeSS` to `ssFee` -- Renamed records fields in `Cardano.Ledger.Shelley.LedgerState.DPState` to names without `_` (underscores) #3116 + + `_pstakeMark` to `ssStakeMark` + + `_pstakeSet` to `ssStakeSet` + + `_pstakeGo` to `ssStakeGo` + + `_feeSS` to `ssFee` +* Renamed records fields in `Cardano.Ledger.Shelley.LedgerState.DPState` to names without `_` (underscores) #3116 - `DState` - - `_unified -> dsUnified` - - `_fGenDelegs -> dsFutureGenDelegs` - - `_genDelegs -> dsGenDelegs` - - `_irwd -> dsIRewards` + + `_unified -> dsUnified` + + `_fGenDelegs -> dsFutureGenDelegs` + + `_genDelegs -> dsGenDelegs` + + `_irwd -> dsIRewards` - `PState` - - `_pParams -> psStakePoolParams` - - `_fPParams -> psFutureStakePoolParams` - - `_retiring -> psRetiring` -- Renamed `Cardano.Ledger.Shelley.LedgerState.Types.UTxOState` fields to names without `_` (underscores) #3108 + + `_pParams -> psStakePoolParams` + + `_fPParams -> psFutureStakePoolParams` + + `_retiring -> psRetiring` +* Renamed `Cardano.Ledger.Shelley.LedgerState.Types.UTxOState` fields to names without `_` (underscores) #3108 - `_utxo -> utxosUtxo` - `_deposited -> utxosDeposited` - `_fees -> utxosFees` - `_ppups -> utxosPpups` - `_stakeDistro -> utxosStakeDistr` (notice the lacking `o` at the end) -- Moved Cardano.Ledger.Shelley.Orphans to Cardano.Ledger.Orphans in the core modules -- Moved Cardano.Ledger.Shelley.PoolParms to Cardano.Ledger.PoolParams in the core modules -- Moved Cardano.Ledger.Shelley.EpochBoundary to Cardano.Ledger.EpochBoundary in the core modules -- Added deprecated modules that import the moved ones and export their contents -- Moved `Data.AbstractSize` from `cardano-data` to `byron-spec-ledger` #3046 -- Renamed in `Cardano.Ledger.Mary.Value`: #3047 +* Moved Cardano.Ledger.Shelley.Orphans to Cardano.Ledger.Orphans in the core modules +* Moved Cardano.Ledger.Shelley.PoolParms to Cardano.Ledger.PoolParams in the core modules +* Moved Cardano.Ledger.Shelley.EpochBoundary to Cardano.Ledger.EpochBoundary in the core modules +* Added deprecated modules that import the moved ones and export their contents +* Moved `Data.AbstractSize` from `cardano-data` to `byron-spec-ledger` #3046 +* Renamed in `Cardano.Ledger.Mary.Value`: #3047 - `insert` to `insertMultiAsset` - `lookup` to `lookupMultiAsset` -- Changed `mint` field type to `MultiAsset (Crypto era)` in `MATxBody`, `AlonzoTxBody`, `BabbageTxBody` +* Changed `mint` field type to `MultiAsset (Crypto era)` in `MATxBody`, `AlonzoTxBody`, `BabbageTxBody` #2954 -- All Shelley rules are now available through `Cadano.Ledger.Shelley.Rules` module: #2996 -- Renamed the `Crypto` dependent type in the `Era` class to `EraCrypto` #3009 -- Renamed in `Cardano.Ledger.Core` #2976: +* All Shelley rules are now available through `Cadano.Ledger.Shelley.Rules` module: #2996 +* Renamed the `Crypto` dependent type in the `Era` class to `EraCrypto` #3009 +* Renamed in `Cardano.Ledger.Core` #2976: - `EraWitnesses` to `EraTxWits` - `Witnesses` to `EraTxWits` - `mkBasicWitnesses` to `mkBasicTxWits` - `addrWitsL` to `addrTxWitsL` - `bootAddrWitsL` to `bootAddrTxWitsL` - `scriptWitsL` to `scriptTxWitsL` -- Renamed in (new) module `Cardano.Ledger.Alonzo.TxWits` (renamed from `Cardano.Ledger.Alonzo.TxWitness`) #2976: +* Renamed in (new) module `Cardano.Ledger.Alonzo.TxWits` (renamed from `Cardano.Ledger.Alonzo.TxWitness`) #2976: - `AlonzoEraWitnesses` to `AlonzoEraTxWits` - `TxWitness` to `AlonzoTxWits` - `addrAlonzoWitsL` to `addrAlonzoTxWitsL` @@ -538,26 +538,26 @@ Changes recorded below are for all of the package versions in the list: - `datsAlonzoWitsL` to `datsAlonzoTxWitsL` - `rdmrsWitsL` to `rdmrsTxWitsL` - `rdmrsAlonzoWitsL` to `rdmrsAlonzoTxWitsL` -- Renamed in (new) module `Cardano.Ledger.Shelley.TxWits` (extracted from `Cardano.Ledger.Shelley.Tx`) #2976: +* Renamed in (new) module `Cardano.Ledger.Shelley.TxWits` (extracted from `Cardano.Ledger.Shelley.Tx`) #2976: - `ShelleyWitnesses` to `ShelleyTxWits` - `addrShelleyWitsL` to `addrShelleyTxWitsL` - `bootAddrShelleyWitsL` to `bootAddrShelleyTxWitsL` - `scriptShelleyWitsL` to `scriptShelleyTxWitsL` -- Updated package metadata #3023 -- Moved `TxOut` to a separate module in each era #3024 -- Moved `mintedTxBodyF` into `ShelleyMAEraTxBody` class #3019 -- Moved thet `RewardType` and `Reward` types from the `Cardano.Ledger.Shelley.Reward` module in the +* Updated package metadata #3023 +* Moved `TxOut` to a separate module in each era #3024 +* Moved `mintedTxBodyF` into `ShelleyMAEraTxBody` class #3019 +* Moved thet `RewardType` and `Reward` types from the `Cardano.Ledger.Shelley.Reward` module in the `cardano-ledger-shelley` package into a new module `Cardano.Ledger.Reward` inside the `cardano-ledger-core` package. #3059 -- Added the tx hash to the `TotalDeposits` event and replaced the deposits by the deposits change #3212 -- Renamed the old `PPUPState` datatype to `ShelleyPPUPState` #3216 -- Removed some references to specific rules in constraints: #3216 +* Added the tx hash to the `TotalDeposits` event and replaced the deposits by the deposits change #3212 +* Renamed the old `PPUPState` datatype to `ShelleyPPUPState` #3216 +* Removed some references to specific rules in constraints: #3216 - Replaced `State (EraRule "PPUP" era)` with `PPUPState era` - Replaced `PredicateFailure (EraRule "PPUP" era)` with `PPUPPredFailure era` - Replaced `PredicateFailure (EraRule "UPEC" era)` with `UpecPredFailure era` -- Changed the type of the first field of `ShelleyBbodyState` to #3216 +* Changed the type of the first field of `ShelleyBbodyState` to #3216 `State (EraRule "LEDGERS" era)` -- Starting in version 9, CostModels can now be deserialized from any map of Word8 values to lists of integers. +* Starting in version 9, CostModels can now be deserialized from any map of Word8 values to lists of integers. Only valid cost models are actually converted to evaluation contexts that can be used. Errors and unrecognized language versions are stored in the CostModels type so that: - they can accept cost models that they do not yet understand @@ -566,29 +566,29 @@ Changes recorded below are for all of the package versions in the list: ### Removed -- Removed `extendPP` and `retractPP` in favor of `EraPParams` type class functions +* Removed `extendPP` and `retractPP` in favor of `EraPParams` type class functions `upgradePParams`/`upgradePParamsUpdate` and `downgradePParams`/`downgradePParamsUpdate` which can be used to change `PParams` from and to a previous era: #3224 -- Removed deprecated synonyms: `PParams`, `PParams'`, `PParamsUpdate`, `PParamsDelta`, +* Removed deprecated synonyms: `PParams`, `PParams'`, `PParamsUpdate`, `PParamsDelta`, `Value`, `TxBody`, `TxOut` -- Removed `Cardano.Ledger.Babbage.Genesis` module, since now it is completely empty: #3224 -- `TranslateEra` instance for `ShelleyGenesis`: #3224 -- Deprecated `Cardano.Ledger.CompactAddress` module in favor of `Cardano.Ledger.Address`: #3218 -- Removed deprecated `Cardano.Ledger.Shelley.CompactAddr`: #3218 -- Removed depracted type synonyms: `ValidatedTx`, `TxOut`, `TxBody`, `TxSeq`, `Script`, +* Removed `Cardano.Ledger.Babbage.Genesis` module, since now it is completely empty: #3224 +* `TranslateEra` instance for `ShelleyGenesis`: #3224 +* Deprecated `Cardano.Ledger.CompactAddress` module in favor of `Cardano.Ledger.Address`: #3218 +* Removed deprecated `Cardano.Ledger.Shelley.CompactAddr`: #3218 +* Removed depracted type synonyms: `ValidatedTx`, `TxOut`, `TxBody`, `TxSeq`, `Script`, `Value`, `PParamDelta`. #3205 -- Removed unused `deserialiseAddrStakeRef` function from `Address` module: #3174 -- `MAClass` is gone: #3175 -- `ShelleyMAEra` type in favor of `AllegraEra` and `MaryEra`: #3175 -- `MATxBody` type in favor of `AllegraTxBody` and `MaryTxBody`: #3175 -- Deprecated `Cardano.Ledger.Serialization` in favor of `Cardano.Ledger.Binary` from +* Removed unused `deserialiseAddrStakeRef` function from `Address` module: #3174 +* `MAClass` is gone: #3175 +* `ShelleyMAEra` type in favor of `AllegraEra` and `MaryEra`: #3175 +* `MATxBody` type in favor of `AllegraTxBody` and `MaryTxBody`: #3175 +* Deprecated `Cardano.Ledger.Serialization` in favor of `Cardano.Ledger.Binary` from `cardano-ledger-binary`: #3138 -- Removed `Data.Coders` from `cardano-data` in favor of `Cardano.Ledger.Binary.Coders` from +* Removed `Data.Coders` from `cardano-data` in favor of `Cardano.Ledger.Binary.Coders` from `cardano-ledger-binary`: #3138 -- Removed `Data.Sharing` from `cardano-data` in favor of `Cardano.Ledger.Binary` from +* Removed `Data.Sharing` from `cardano-data` in favor of `Cardano.Ledger.Binary` from `cardano-ledger-binary`: #3138 -- Removed `boundedRationalFromCBOR`/`boundedRationalToCBOR` as obsolete and invalid: #3138 -- Removed pattern synonym `Cardano.Ledger.ShelleyMA.TxBody.MATxBody.TxBody'` with fields #3126 +* Removed `boundedRationalFromCBOR`/`boundedRationalToCBOR` as obsolete and invalid: #3138 +* Removed pattern synonym `Cardano.Ledger.ShelleyMA.TxBody.MATxBody.TxBody'` with fields #3126 - `adHash'` - `certs'` - `inputs'` @@ -598,32 +598,32 @@ Changes recorded below are for all of the package versions in the list: - `update'` - `vldt'` - `wdrls'` -- Deprecated the `validPlutusdata` function: #3006 -- Deprecated the misspelled `HasAlgorithm` type alias: #3007 -- Deprecated `CLI.evaluateMinLovelaceOutput` in favor of newly added +* Deprecated the `validPlutusdata` function: #3006 +* Deprecated the misspelled `HasAlgorithm` type alias: #3007 +* Deprecated `CLI.evaluateMinLovelaceOutput` in favor of newly added `EraTxOut.getMinCoinTxOut`/`EraTxOut.getMinCoinSizedTxOut` #3008 -- Deprecated `minfee` and `CLI.evaluateMinfee` in favor of new `EraTx.getMinFeeTx` -- Deprecated `ExtendedUTxO.getTxOutDatum` in favor of new `AlonzoEraTxOut.datumTxOutF` -- Removed `ExtendedUTxO.allOuts` and `ExtendedUTxO.allSizedOuts` in favor of +* Deprecated `minfee` and `CLI.evaluateMinfee` in favor of new `EraTx.getMinFeeTx` +* Deprecated `ExtendedUTxO.getTxOutDatum` in favor of new `AlonzoEraTxOut.datumTxOutF` +* Removed `ExtendedUTxO.allOuts` and `ExtendedUTxO.allSizedOuts` in favor of `BabbageEraTxBody.allInputsTxBodyF` -- Deprecated `consumed` and `evaluateConsumed` in favor of new `EraUTxO.getConsumedValue` -- Removed `CLI` class -- Deprecated `scriptsNeededFromBody` and `scriptsNeeded` in all eras in favor of new class +* Deprecated `consumed` and `evaluateConsumed` in favor of new `EraUTxO.getConsumedValue` +* Removed `CLI` class +* Deprecated `scriptsNeededFromBody` and `scriptsNeeded` in all eras in favor of new class function `EraUTxO.getScriptsNeeded` #3019 -- Remove model test framework #3019 -- The `Cardano.Ledger.Alonzo.Scripts` module no longer re-exports the +* Remove model test framework #3019 +* The `Cardano.Ledger.Alonzo.Scripts` module no longer re-exports the `plutus-ledger-api`'s `assertWellFormedCostModelParams`. #3065 -- Removed unused `Data.BiMap` module from `cardano-data` #3089 -- Removed `getMultiSigBytes` as unused #3138 -- Removed `hashCostModel` as unused and invalid #3138 -- Removed `EncodeMint`/`DecodeMint` classes in favor of regular `ToCBOR`/`FromCBOR` #3172 +* Removed unused `Data.BiMap` module from `cardano-data` #3089 +* Removed `getMultiSigBytes` as unused #3138 +* Removed `hashCostModel` as unused and invalid #3138 +* Removed `EncodeMint`/`DecodeMint` classes in favor of regular `ToCBOR`/`FromCBOR` #3172 ### Fixed -- Fixed typo in makeHashWithExplicitProxys phantom type (indexl to index). #3072 -- Fixed the incorrect conversion of the validity interval's upper bound in `transVITime` (fixes #3043). #3200 -- Enforce that the CostModel deserializers expect a specific length prior to version 9. -- Starting in version 9, duplicate keys in CBOR maps are not longer allowed +* Fixed typo in makeHashWithExplicitProxys phantom type (indexl to index). #3072 +* Fixed the incorrect conversion of the validity interval's upper bound in `transVITime` (fixes #3043). #3200 +* Enforce that the CostModel deserializers expect a specific length prior to version 9. +* Starting in version 9, duplicate keys in CBOR maps are not longer allowed ## 1.1.0 @@ -633,38 +633,38 @@ Release tag `ledger/1.1.0` ### Added -- New `calculatePoolDistr'` function which is similar to `calculatePoolDistr` but has a new +* New `calculatePoolDistr'` function which is similar to `calculatePoolDistr` but has a new filter argument to only include the stake pool ids (stake pool key hashes) that are needed. #2957 -- New package `cardano-ledger-conway`, which defines new era: the `ConwayEra` -- Added `coinsPerUTxOByteToCoinsPerUTxOWord` helper function for Babbage +* New package `cardano-ledger-conway`, which defines new era: the `ConwayEra` +* Added `coinsPerUTxOByteToCoinsPerUTxOWord` helper function for Babbage #2896 -- Core type classes: `EraSegWits`, `EraTx`, `EraTxBody`, `EraTxOut`, `EraPParams`, +* Core type classes: `EraSegWits`, `EraTx`, `EraTxBody`, `EraTxOut`, `EraPParams`, `EraAuxiliaryData`, `EraTxWits`, `EraScript` -- Era specific type classes: `ShelleyEraTxBody`, `ShelleyMAEraTxBody`, +* Era specific type classes: `ShelleyEraTxBody`, `ShelleyMAEraTxBody`, `AlonzoEraTxBody`, `AlonzoEraTxOut`, `AlonzoEraTx`, `BabbageEraTxBody`, `BabbageEraTxOut` -- Type class hierarchy: +* Type class hierarchy: ``` EraSegWits --> EraTx --> EraTxBody --> EraTxOut --> Era   \ `--> EraPParams --> Era   `--> EraTxWits --> EraScript --> Era   `--> EraAuxiliaryData --> Era ``` -- Shelley: +* Shelley: ``` ShelleyEraTxBody --> EraTxBody --> EraTxOut --> Era ``` -- ShelleyMA: +* ShelleyMA: ``` ShelleyMAEraTxBody --> ShelleyEraTxBody --> EraTxBody --> EraTxOut --> Era ``` -- Alonzo: +* Alonzo: ``` AlonzoEraTx --> EraTx --> ...   `--> AlonzoEraTxBody --> ShelleyMAEraTxBody --> ShelleyEraTxBody --> EraTxBody --> ...   `--> AlonzoEraTxOut -> ShelleyEraTxOut --> EraTxOut --> ... ``` -- Babbage: +* Babbage: ``` BabbageEraTxBody --> AlonzoEraTxBody --> ....   `--> BabbageEraTxOut -> AlonzoEraTxOut --> @@ -672,31 +672,31 @@ Release tag `ledger/1.1.0` ### Changed -- Introduced a new switch in `HardForks` that turns off pointer address resolution in `IncrementalStake` starting with version 9 -- Some types have been moved: +* Introduced a new switch in `HardForks` that turns off pointer address resolution in `IncrementalStake` starting with version 9 +* Some types have been moved: - The `WitVKey` type has been moved into its own module in core. - The `HKD` type has been moved to `cardano-ledger-core`. - The `PoolParams` type has been moved into its own module - The `DCert` type and related functionality from `TxBody` to `Cardano.Ledger.Shelley.Delegation.Certificates`. #2880 -- The initial funds and staking in the Shelley genesis type (used only for testing) now use `ListMap` instead of `Map`. +* The initial funds and staking in the Shelley genesis type (used only for testing) now use `ListMap` instead of `Map`. #2871, #2890, #2892, #2895 -- Renamed `SupportsSegWit` to `EraSegWits` -- Split `ValidateScript` into `EraScript` and `EraTx.validateScript` -- Renamed `ValidateAuxiliaryData` to `EraAuxiliaryData` while removing usage of FunDeps. -- Renamed in `Cardano.Ledger.Shelley`: +* Renamed `SupportsSegWit` to `EraSegWits` +* Split `ValidateScript` into `EraScript` and `EraTx.validateScript` +* Renamed `ValidateAuxiliaryData` to `EraAuxiliaryData` while removing usage of FunDeps. +* Renamed in `Cardano.Ledger.Shelley`: - `Tx` to `ShelleyTx` (kept type synonym with a deprecation message) - `TxOut` to `ShelleyTxOut` (kept type synonym with a deprecation message) - `TxBody` to `ShelleyTxBody` (kept type synonym with a deprecation message) - `PParams` to `ShelleyPParams` (kept type synonym with a deprecation message) - `PParamsUpdate` to `ShelleyPParamsUpdate` (kept type synonym with a deprecation message) - `AuxiliaryData` to `ShelleyAuxiliaryData` (kept type synonym with a deprecation message) -- Renamed in `Cardano.Ledger.Mary`: +* Renamed in `Cardano.Ledger.Mary`: - Renamed `Value` to `MaryValue` (kept type synonym with a deprecation message) -- Renamed in `Cardano.Ledger.ShelleyMA`: +* Renamed in `Cardano.Ledger.ShelleyMA`: - `TxBody` to `MATxBody` (kept type synonym with a deprecation message) - `AuxiliaryData` to `ShelleyAuxiliaryData` (kept type synonym with a deprecation message) -- Renamed in `Cardano.Ledger.Alonzo`: +* Renamed in `Cardano.Ledger.Alonzo`: - `ValidatedTx` to `AlonzoTx` (kept type synonym with a deprecation message) - `TxOut` to `AlonzoTxOut` (kept type synonym with a deprecation message) - `TxBody` to `AlonzoTxBody` (kept type synonym with a deprecation message) @@ -704,12 +704,12 @@ Release tag `ledger/1.1.0` - `PParams` to `AlonzoPParams` (kept type synonym with a deprecation message) - `PParamsUpdate` to `AlonzoPParamsUpdate` (kept type synonym with a deprecation message) - `AuxiliaryData` to `AlonzoAuxiliaryData` (kept type synonym with a deprecation message) -- Renamed in `Cardano.Ledger.Babbage`: +* Renamed in `Cardano.Ledger.Babbage`: - `TxOut` to `BabbageTxOut` (kept type synonym with a deprecation message) - `TxBody` to `BabbageTxBody` (kept type synonym with a deprecation message) - `PParams` to `BabbagePParams` (kept type synonym with a deprecation message) - `PParamsUpdate` to `BabbagePParamsUpdate` (kept type synonym with a deprecation message) -- Renamed Rules: +* Renamed Rules: - `BBODY` -> `ShelleyBBODY` - `DELEG` -> `ShelleyDELEG` - `DELEGS` -> `ShelleyDELEGS` @@ -729,9 +729,9 @@ Release tag `ledger/1.1.0` - `UPEC` -> `ShelleyUPEC` - `UTXO` -> `ShelleyUTXO` - `UTXOW` -> `ShelleyUTXOW` -- Renamed rules environments: +* Renamed rules environments: - `PPUPEnv -> PpupEnv` -- Renamed rules events: +* Renamed rules events: - `BbodyEvent` -> `ShelleyBbodyEvent` - `DelegEvent` -> `ShelleyDelegEvent` - `DelegsEvent` -> `ShelleyDelegsEvent` @@ -745,67 +745,67 @@ Release tag `ledger/1.1.0` - `TickEvent` -> `ShelleyTickEvent` - `TickfEvent` -> `ShelleyTickfEvent` - `UtxowEvent` -> `ShelleyUtxowEvent` -- Renamed predicate failure type names: +* Renamed predicate failure type names: - `Cardano.Ledger.Shelley.Rules`: - - `BbodyPredicateFailure` -> `ShelleyBbodyPredFailure` - - `DelegPredicateFailure` -> `ShelleyDelegPredFailure` - - `DelegsPredicateFailure` -> `ShelleyDelegsPredFailure` - - `DelplPredicateFailure` -> `ShelleyDelplPredFailure` - - `EpochPredicateFailure` -> `ShelleyEpochPredFailure` - - `LedgerPredicateFailure` -> `ShelleyLedgerPredFailure` - - `LedgersPredicateFailure` -> `ShelleyLedgersPredFailure` - - `MirPredicateFailure` -> `ShelleyMirPredFailure` - - `NewEpochPredicateFailure` -> `ShelleyNewEpochPredFailure` - - `NewppPredicateFailure` -> `ShelleyNewppPredFailure` - - `LedgerPredicateFailure` -> `ShelleyLedgerPredFailure` - - `PoolPredicateFailure` -> `ShelleyPoolPredFailure` - - `PoolreapPredicateFailure` -> `ShelleyPoolreapPredFailure` - - `PpupPredicateFailure` -> `ShelleyPpupPredFailure` - - `RupdPredicateFailure` -> `ShelleyRupdPredFailure` - - `SnapPredicateFailure` -> `ShelleySnapPredFailure` - - `TickPredicateFailure` -> `ShelleyTickPredFailure` - - `TickfPredicateFailure` -> `ShelleyTickfPredFailure` - - `UpecPredicateFailure` -> `ShelleyUpecPredFailure` - - `UtxoPredicateFailure` -> `ShelleyUtxoPredFailure` - - `UtxowPredicateFailure` -> `ShelleyUtxowPredFailure` + + `BbodyPredicateFailure` -> `ShelleyBbodyPredFailure` + + `DelegPredicateFailure` -> `ShelleyDelegPredFailure` + + `DelegsPredicateFailure` -> `ShelleyDelegsPredFailure` + + `DelplPredicateFailure` -> `ShelleyDelplPredFailure` + + `EpochPredicateFailure` -> `ShelleyEpochPredFailure` + + `LedgerPredicateFailure` -> `ShelleyLedgerPredFailure` + + `LedgersPredicateFailure` -> `ShelleyLedgersPredFailure` + + `MirPredicateFailure` -> `ShelleyMirPredFailure` + + `NewEpochPredicateFailure` -> `ShelleyNewEpochPredFailure` + + `NewppPredicateFailure` -> `ShelleyNewppPredFailure` + + `LedgerPredicateFailure` -> `ShelleyLedgerPredFailure` + + `PoolPredicateFailure` -> `ShelleyPoolPredFailure` + + `PoolreapPredicateFailure` -> `ShelleyPoolreapPredFailure` + + `PpupPredicateFailure` -> `ShelleyPpupPredFailure` + + `RupdPredicateFailure` -> `ShelleyRupdPredFailure` + + `SnapPredicateFailure` -> `ShelleySnapPredFailure` + + `TickPredicateFailure` -> `ShelleyTickPredFailure` + + `TickfPredicateFailure` -> `ShelleyTickfPredFailure` + + `UpecPredicateFailure` -> `ShelleyUpecPredFailure` + + `UtxoPredicateFailure` -> `ShelleyUtxoPredFailure` + + `UtxowPredicateFailure` -> `ShelleyUtxowPredFailure` - `Cardano.Ledger.ShelleyMA.Rules`: - - `UtxoPredicateFailure` -> `ShelleyMAUtxoPredFailure` + + `UtxoPredicateFailure` -> `ShelleyMAUtxoPredFailure` - `Cardano.Ledger.Alonzo.Rules`: - - `AlonzoBbodyPredFail` -> `AlonzoBbodyPredFailure` and constructor: - - `ShelleyInAlonzoPredFail` -> `ShelleyInAlonzoBbodyPredFailure` - - `UtxoPredicateFailure` -> `AlonzoUtxoPredFailure` - - `UtxosPredicateFailure` -> `AlonzoUtxosPredFailure` - - `UtxowPredicateFail` -> `AlonzoUtxowPredFailure` and constructor: - - `WrappedShelleyEraFailure` -> `ShelleyInAlonzoUtxowPredFailure` + + `AlonzoBbodyPredFail` -> `AlonzoBbodyPredFailure` and constructor: + * `ShelleyInAlonzoPredFail` -> `ShelleyInAlonzoBbodyPredFailure` + + `UtxoPredicateFailure` -> `AlonzoUtxoPredFailure` + + `UtxosPredicateFailure` -> `AlonzoUtxosPredFailure` + + `UtxowPredicateFail` -> `AlonzoUtxowPredFailure` and constructor: + * `WrappedShelleyEraFailure` -> `ShelleyInAlonzoUtxowPredFailure` - `Cardano.Ledger.Babbage.Rules`: - - `BabbageUtxoPred` -> `BabbageUtxoPredFailure` and constructor: - - `FromAlonzoUtxoFail` -> `AlonzoInBabbageUtxoPredFailure` - - `BabbageUtxowPred` -> `BabbageUtxowPredFailure` and constructor: - - `FromAlonzoUtxowFail` -> `AlonzoInBabbageUtxowPredFailure` + + `BabbageUtxoPred` -> `BabbageUtxoPredFailure` and constructor: + * `FromAlonzoUtxoFail` -> `AlonzoInBabbageUtxoPredFailure` + + `BabbageUtxowPred` -> `BabbageUtxowPredFailure` and constructor: + * `FromAlonzoUtxowFail` -> `AlonzoInBabbageUtxowPredFailure` ### Deprecated -- The provenance for the reward calculation has been removed. +* The provenance for the reward calculation has been removed. The type signature to the API function `getRewardProvenance` has not change, it just returns an empty provenance value. The type signature will be changed once the corresponding query has been deprecated in the ouroboros-network repository. #2879 -- `getTxOutAddr txOut` in favor of `txOut ^. addrTxOutL` -- `getTxOutEitherAddr txOut` in favor of `txOut ^. addrEitherTxOutL` -- `getTxOutCompactAddr txOut` in favor of `txOut ^. compactAddrTxOutL` -- `getTxOutBootstrapAddress txOut` in favor of `txOut ^. bootAddrTxOutF` -- `getAllInputs txBody` in favor of ` txBody ^. allInputsTxBodyF` -- `getCoin txOut` in favor of `txOut ^. coinTxOutL` +* `getTxOutAddr txOut` in favor of `txOut ^. addrTxOutL` +* `getTxOutEitherAddr txOut` in favor of `txOut ^. addrEitherTxOutL` +* `getTxOutCompactAddr txOut` in favor of `txOut ^. compactAddrTxOutL` +* `getTxOutBootstrapAddress txOut` in favor of `txOut ^. bootAddrTxOutF` +* `getAllInputs txBody` in favor of ` txBody ^. allInputsTxBodyF` +* `getCoin txOut` in favor of `txOut ^. coinTxOutL` ### Removed -- The `StakeCreds` type was unused and is now removed. +* The `StakeCreds` type was unused and is now removed. #2880 -- The`Ord` instance for `MemoBytes` was removed. +* The`Ord` instance for `MemoBytes` was removed. #2881 -- `makeTxOut` in favor of `mkBasicTxOut` -- `HasField` instances for: `"inputs"`, `"outputs"`, `"txfee"`, +* `makeTxOut` in favor of `mkBasicTxOut` +* `HasField` instances for: `"inputs"`, `"outputs"`, `"txfee"`, `"auxiliaryData"`, `"minted"`, `"wdrls"`, `"ttl"`, `"update"`, `"certs"`, `"vldt"`, `"mint"`, `"collateral"`, `"reqSignerHashes"`, `"scriptIntegrityHash"`, `"txnetworkid"`, `"sizedOutputs"`, @@ -813,8 +813,8 @@ Release tag `ledger/1.1.0` `"sizedCollateralReturn"`, `"body"`, `"wits"`, `"auxData"`, `"size"`, `"isValid"`, `"addrWits"`, `"scriptWits"`, `"bootWits"`, `"txdatahash"`, `"addr"`, `"bootAddr"`, `"script"`, `"dats"`, `"rdmrs"` -- `ValidateScript` in favor of `EraScript` and `EraTx` -- Type class synonyms: +* `ValidateScript` in favor of `EraScript` and `EraTx` +* Type class synonyms: - `Trans*` - `Uses*`: `UsesPParams`, `UsesScript`, `UsesTxBody`, `UsesTxOut`, `UsesAuxiliaryData` - `BlockAnn` @@ -828,7 +828,7 @@ Release tag `ledger/1.1.0` ### Fixed -- The error message for failed Plutus V2 scripts was being obscured by a bug which has now been fixed. +* The error message for failed Plutus V2 scripts was being obscured by a bug which has now been fixed. #2888 ## 1.0.0 @@ -843,10 +843,10 @@ cardano-ledger commit used for the 1.35.0 release of cardano-node release. ### Fixed -- Ensure Babbage TxOut decoder can't fail due to malformed Ptr. +* Ensure Babbage TxOut decoder can't fail due to malformed Ptr. This bug was manifesting in the cardano-node as: if a node is running in the Babbage era and shuts down, when it comes back up it has to re-sync from genesis. #2897 -- The Alonzo UTxO rule was previously using the incorrect minfee function (from Shelley). +* The Alonzo UTxO rule was previously using the incorrect minfee function (from Shelley). It now uses the Alonze minfee function. #2936 diff --git a/eras/allegra/impl/CHANGELOG.md b/eras/allegra/impl/CHANGELOG.md index d61adaecfc5..e0782e0009f 100644 --- a/eras/allegra/impl/CHANGELOG.md +++ b/eras/allegra/impl/CHANGELOG.md @@ -27,19 +27,19 @@ ## 1.7.0.0 * Add `DecCBOR` instances for: - * `Timelock` - * `AllegraTxAuxData` - * `AllegraTxBody` + - `Timelock` + - `AllegraTxAuxData` + - `AllegraTxBody` * Converted `CertState` to a type family * Made the fields of predicate failures and environments lazy * Add `Era era` constraint to `NoThunks` instance for `TimeLock` * Remove `Era era` constraint from: - * `getRequireSignatureTimelock` - * `getRequireAllOfTimelock` - * `getRequireAnyOfTimelock` - * `getRequireMOfTimelock` - * `getTimeStartTimelock` - * `getTimeExpireTimelock` + - `getRequireSignatureTimelock` + - `getRequireAllOfTimelock` + - `getRequireAnyOfTimelock` + - `getRequireMOfTimelock` + - `getTimeStartTimelock` + - `getTimeExpireTimelock` * Add `MemPack` instance for `Timelock` * Remove deprecated `AuxiliaryData` type synonym * Deprecate `Allegra` type synonym @@ -64,24 +64,24 @@ ## 1.5.0.0 * Replace patterns within `Timelock` with `AllegraEraScript`- constrained ones: - * `RequireTimeExpire` - * `RequireTimeStart` + - `RequireTimeExpire` + - `RequireTimeStart` * Remove `Timelock` patterns: - * `RequireSignature` - * `RequireAllOf` - * `RequireAnyOf` - * `RequireMOf` + - `RequireSignature` + - `RequireAllOf` + - `RequireAnyOf` + - `RequireMOf` * Introduce `AllegraEraScript` class * Add `AllegraEraScript` and `ShelleyEraScript` instances for `AllegraEra` * Change signatures of `evalTimelock` and `validateTimelock`: - * replace `Era` constraint with `AllegraEraScript` - * replace `Timelock` with `NativeScript` + - replace `Era` constraint with `AllegraEraScript` + - replace `Timelock` with `NativeScript` ### testlib * Change signatures of `Arbitrary` instances for `Timelock` and `AllegraTxAuxData era`: - * replace `Era` constraint with `AllegraEraScript` - * add `NativeScript era ~ Timelock era` constraint + - replace `Era` constraint with `AllegraEraScript` + - add `NativeScript era ~ Timelock era` constraint ## 1.4.1.0 @@ -179,9 +179,9 @@ ## 1.1.1.0 * Add `TranslateEra` instances for: - * `DState` - * `PState` - * `VState` + - `DState` + - `PState` + - `VState` ## 1.1.0.0 diff --git a/eras/alonzo/impl/CHANGELOG.md b/eras/alonzo/impl/CHANGELOG.md index 26781914603..889e40c3f9c 100644 --- a/eras/alonzo/impl/CHANGELOG.md +++ b/eras/alonzo/impl/CHANGELOG.md @@ -7,8 +7,8 @@ * Replace `TimelockScript` constructor of `AlonzoScript` with a new constructor `NativeScript` * Changed `MaxTxSizeUTxO` to use `Word32` * Make `transValidityInterval` based on eras instead of protocol versions. - * Remove `hardforkConwayTranslateUpperBoundForPlutusScripts` from `Cardano.Ledger.Alonzo.Era`. - * Remove protocol version from arguments to `transValidityInterval`. + - Remove `hardforkConwayTranslateUpperBoundForPlutusScripts` from `Cardano.Ledger.Alonzo.Era`. + - Remove protocol version from arguments to `transValidityInterval`. * Add `NFData` instance for `AlonzoGenesis` * Add `reqSignerHashesTxBodyG` * Add `mkScriptIntegrity` @@ -20,12 +20,12 @@ * Added `eraUnsupportedLanguage` * Changed return type of `mkPlutusScript` and `mkBinaryPlutusScript` from `Maybe` to `MonadFail` * Deprecate `Alonzo.TxSeq` in favour of `Alonzo.BlockBody`. #5156 - * Rename `AlonzoTxSeq` to `AlonzoBlockBody` + - Rename `AlonzoTxSeq` to `AlonzoBlockBody` * Rename `alonzoEqTxRaw` to `alonzoTxEqRaw` * Add `Generic` instance to `TransactionScriptFailure` * Add `Generic` instance for `AlonzoBbodyEvent` * Fix `AlonzoPlutusPurpose` CBOR(Group) instances. #5135 - * Reset shuffled serialization indexes for `AlonzoPlutusPurpose AsItem`. + - Reset shuffled serialization indexes for `AlonzoPlutusPurpose AsItem`. * Deprecated `toAlonzoTransitionConfigPairs` * Fixed `FromJSON` instance for `TransitionConfig AlonzoEra` * Added `COMPLETE` pragma for `TxCert AlonzoEra` @@ -33,10 +33,10 @@ * Deprecated `toAlonzoGenesisPairs` * Removed `MissingRequiredSigners` from `AlonzoUtxowPredFailure` * Renamed fields of `AlonzoTx` - * `body` to `atBody` - * `wits` to `atWits` - * `auxiliaryData` to `atAuxData` - * `isValid` to `atIsValid` + - `body` to `atBody` + - `wits` to `atWits` + - `auxiliaryData` to `atAuxData` + - `isValid` to `atIsValid` * Added `Generic` instance for `AlonzoScriptsNeeded` * Move to `testlib` `DecCBOR` instances for: `AlonzoTxSeq`, `AlonzoTx`, `TxBody AlonzoEra`, `AlonzoTxAuxDataRaw`, `AlonzoTxAuxData`, `AlonzoScript`, `AlonzoTxWitsRaw`, `AlonzoTxWits`, `RedeemersRaw`, `Redeemers`, `TxDatsRaw`, `TxDats` * Added to `PParams`: `ppCollateralPercentage`,`ppCostModels`,`ppMaxBlockExUnits`,`ppMaxCollateralInputs`,`ppMaxTxExUnits`,`ppMaxValSize`,`ppPrices` @@ -66,10 +66,10 @@ * Added `TxInfoPV4` to `VersionedTxInfo` * Added `Arbitrary` instance for `TransitionConfig BabbageEra` * Added `ToExpr` instances for: - * `AsIxItem` - * `AlonzoScriptsNeeded` - * `AlonzoPlutusPurpose AsIxItem` - * `AlonzoBbodyPredFailure` + - `AsIxItem` + - `AlonzoScriptsNeeded` + - `AlonzoPlutusPurpose AsIxItem` + - `AlonzoBbodyPredFailure` * Deprecated `mkPlutusScript'` * Change type signature of `genPlutusScript`, `genNativeScript`, `genAlonzoScript`, `alwaysSucceedsLang` and `alwaysFailsLang`. * Remove `TxInfoLanguage` and `mkTxInfoLanguage` @@ -78,15 +78,15 @@ ## 1.13.0.0 * Add `DecCBOR` instances for: - * `MaryTxBody` - * `TxDats` - * `AlonzoTxAuxData` - * `AlonzoScript` - * `Redeemers` - * `AlonzoTxWits` - * `AlonozTxBody` - * `AlonzoTx` - * `AlonzoTxSeq` + - `MaryTxBody` + - `TxDats` + - `AlonzoTxAuxData` + - `AlonzoScript` + - `Redeemers` + - `AlonzoTxWits` + - `AlonozTxBody` + - `AlonzoTx` + - `AlonzoTxSeq` * Remove redundant `EncCBOR (Data era)` constraint from `DecCBOR` instance for `Annotator (AlonzoTxWits era)` * Converted `CertState` to a type family * Remove `reapplyAlonzoTx` as no longer needed. @@ -106,8 +106,8 @@ * Add `genNonEmptyTxDats` and `genNonEmptyRedeemers` to `Arbitrary` * Renamed: - * `impLookupPlutusScriptMaybe` -> `impLookupPlutusScript` - * `impGetScriptContextMaybe` -> `impLookupScriptContext` + - `impLookupPlutusScriptMaybe` -> `impLookupPlutusScript` + - `impGetScriptContextMaybe` -> `impLookupScriptContext` * Add `DecCBOR` instances for `TranslationInstance` * Converted `CertState` to a type family * Expose `alonzoFixupFees` @@ -136,19 +136,19 @@ ## 1.11.0.0 * Add `ProtVer` argument to functions in `EraPlutusTxInfo` class: - * `toPlutusTxCert` of - * `toPlutusScriptPurpose` - * `toPlutusArgs` + - `toPlutusTxCert` of + - `toPlutusScriptPurpose` + - `toPlutusArgs` * Add `ProtVer` argument to `TxInfo` functions: - * `transTxBodyCerts` - * `transPlutusPurpose` - * `toPlutusV1Args` - * `toLegacyPlutusArgs` + - `transTxBodyCerts` + - `transPlutusPurpose` + - `toPlutusV1Args` + - `toLegacyPlutusArgs` ### `testlib` * Move `TxInfo` golden tests over from the older `-test` package. #4599 - * Also move the `gen-golden` executable over. + - Also move the `gen-golden` executable over. ## 1.10.2.0 @@ -167,11 +167,11 @@ * Add `LedgerTxInfo` to `Cardano.Ledger.Alonzo.Plutus.Context` * `EraPlutusTxInfo` class: - * replace params in `toPlutusTxInfo` signature with `LedgerTxInfo` - * replace `toPlutusScriptContext` with `toPlutusArgs` + - replace params in `toPlutusTxInfo` signature with `LedgerTxInfo` + - replace `toPlutusScriptContext` with `toPlutusArgs` * `EraPlutusContext` class: - * remove `mkPlutusScriptContext`, `mkPlutusLanguageContext` - * add `mkPlutusWithContext` + - remove `mkPlutusScriptContext`, `mkPlutusLanguageContext` + - add `mkPlutusWithContext` * add `toPlutusWithContext` to `Cardano.Ledger.Alonzo.Plutus.Context` * Move `PlutusScriptContext` type family to core * Add `ContextError` inhabitant to `TransactionScriptFailure` @@ -182,17 +182,17 @@ * Add `Inject` instance for `AlonzoTx` * Move these functions and types from `cardano-ledger-api`, so they can be used in the test suite: - * `TransactionScriptFailure` - * `evalTxExUnits` - * `RedeemerReport` - * `evalTxExUnitsWithLogs` - * `RedeemerReportWithLogs` + - `TransactionScriptFailure` + - `evalTxExUnits` + - `RedeemerReport` + - `evalTxExUnitsWithLogs` + - `RedeemerReportWithLogs` ### `testlib` * Change signatures of `Arbitrary` instances for `AlonzoScript`: - * replace `Era` constraint with `AllegraEraScript` - * replace `Timelock` with `NativeScript` + - replace `Era` constraint with `AllegraEraScript` + - replace `Timelock` with `NativeScript` ## 1.8.0.0 @@ -209,12 +209,12 @@ * Add instances for `InjectRuleFailure` and switch to using `injectFailure` * Add `allegraToAlonzoUtxoPredFailure` * Add `NFData` instances for: - * `CollectError` - * `AlonzoUtxoPredFailure` - * `FailureDescription` - * `TagMismatchDescription` - * `AlonzoUtxosPredFailure` - * `AlonzoUtxowPredFailure` + - `CollectError` + - `AlonzoUtxoPredFailure` + - `FailureDescription` + - `TagMismatchDescription` + - `AlonzoUtxosPredFailure` + - `AlonzoUtxowPredFailure` * Add `Semigroup` and `Monoid` instances for `Redeemers` * Add `alonzoScriptPrefixTag` * Add implementation for `getMinFeeTxUtxo` @@ -236,16 +236,16 @@ * Add `ToExpr` instances for `AlonzoUtxoEvent`, `AlonzoUtxowEvent` and `AlonzoUtxosEvent` * Add `RuleListEra` instance for Alonzo * Add: - * `impLookupPlutusScriptMaybe` - * `fixupOutputDatums` + - `impLookupPlutusScriptMaybe` + - `fixupOutputDatums` * Remove root coin argument from `initAlonzoImpNES` * Rename `fixupPlutusScripts` to `fixupRedeemers` * Add: - * `fixupPPHash` - * `fixupPlutusScripts` - * `addCollateralInput` - * `impGetPlutusContexts` - * `fixupDatums` + - `fixupPPHash` + - `fixupPlutusScripts` + - `addCollateralInput` + - `impGetPlutusContexts` + - `fixupDatums` * Add `Test.Cardano.Ledger.Alonzo.Imp.UtxosSpec` * Add `alonzoFixupTx` @@ -358,43 +358,43 @@ * Add `Test.Cardano.Ledger.Alonzo.ImpTest` * Add `EraImpTest` instance for `AlonzoEra` * Add `ToExpr` instances for: - * `CollectError` - * `AlonzoUtxoPredFailure` - * `FailureDescription` - * `TagMismatchDescription` - * `AlonzoUtxosPredFailure` - * `AlonzoUtxowPredFailure` - * `BinaryData` - * `Datum` - * `IsValid` - * `ScriptPurpose` - * `TxOutSource` - * `TranslationError` - * `Addr28Extra` - * `DataHash32` - * `RdmrPtr` + - `CollectError` + - `AlonzoUtxoPredFailure` + - `FailureDescription` + - `TagMismatchDescription` + - `AlonzoUtxosPredFailure` + - `AlonzoUtxowPredFailure` + - `BinaryData` + - `Datum` + - `IsValid` + - `ScriptPurpose` + - `TxOutSource` + - `TranslationError` + - `Addr28Extra` + - `DataHash32` + - `RdmrPtr` * Expose `genValidCostModel` in `Arbitrary` ## 1.4.2.0 * Add `ToExpr` instance for: - * `PlutusData` - * `Data` - * `BinaryData` - * `Datum` - * `AlonzoTx` - * `AlonzoTxBody` - * `AlonzoTxOut` - * `AlozoTxWits` - * `IsValid` - * `Addr28Extra` - * `DataHash32` - * `RdmrPtr` - * `Redeemers` + - `PlutusData` + - `Data` + - `BinaryData` + - `Datum` + - `AlonzoTx` + - `AlonzoTxBody` + - `AlonzoTxOut` + - `AlozoTxWits` + - `IsValid` + - `Addr28Extra` + - `DataHash32` + - `RdmrPtr` + - `Redeemers` * Add `Generic` instance for : - * `AlonzoTxBody` - * `Redeemers` - * `TxDats` + - `AlonzoTxBody` + - `Redeemers` + - `TxDats` * Add `upgradeData`, `upgradeRedeemers` and `upgradeTxDats` * Add `TxUpgradeError` type to `EraTx` * Add `AlonzoTxBodyUpgradeError`, `AlonzoTxUpgradeError` @@ -404,8 +404,8 @@ ### `testlib` * Add `Test.Cardano.Ledger.Alonzo.Binary.RoundTrip` module with: - * `roundTripAlonzoCommonSpec` - * `roundTripAlonzoEraTypesSpec` + - `roundTripAlonzoCommonSpec` + - `roundTripAlonzoEraTypesSpec` ## 1.4.1.0 @@ -468,9 +468,9 @@ * Replace `DPState c` with `CertState era` * Add `TranslateEra` instances for: - * `DState` - * `PState` - * `VState` + - `DState` + - `PState` + - `VState` * Added support for Plutus V3 in the types and functions that use `Language`. (Note that the Alonzo ledger era rules do not allow V3 scripts, however.). * Fix a bug of converting a mint field to the plutus context: [#3398](https://github.com/intersectmbo/cardano-ledger/pull/3398) diff --git a/eras/babbage/impl/CHANGELOG.md b/eras/babbage/impl/CHANGELOG.md index 8c757a77f1b..1cb6872582e 100644 --- a/eras/babbage/impl/CHANGELOG.md +++ b/eras/babbage/impl/CHANGELOG.md @@ -49,13 +49,13 @@ ## 1.10.0.0 * Add `ProtVer` argument to `TxInfo` functions: - * `transTxRedeemers` - * `toPlutusV2Args` + - `transTxRedeemers` + - `toPlutusV2Args` ### `testlib` * Move `TxInfo` golden tests over from the older `-test` package. #4599 - * Also move the `gen-golden` executable over. + - Also move the `gen-golden` executable over. ## 1.9.0.0 @@ -81,16 +81,16 @@ ## 1.7.0.0 * Add type `EraRuleEvent` instances for the event type of: - * `UTXOS` - * `PPUP` - * `LEDGER` - * `TICK` + - `UTXOS` + - `PPUP` + - `LEDGER` + - `TICK` * Add instances for `InjectRuleFailure` and switch to using `injectFailure` * Add `NFData` instance for `BabbageUtxoPredFailure`, `BabbageUtxowPredFailure` * Add implementation for `getMinFeeTxUtxo` * Add `getReferenceScriptsNonDistinct` * Add the constructor `BabbageNonDisjointRefInputs` to `BabbageUtxoPredFailure` - * Utxo rule raises that `PredicateFailure` in Conway and future Eras when they are not disjoint. + - Utxo rule raises that `PredicateFailure` in Conway and future Eras when they are not disjoint. * Modify `PParams` JSON instances to match `cardano-api` ### `testlib` @@ -134,12 +134,12 @@ ## 1.5.0.0 * Add `Generic` instance for: - * `BabbageUtxoPredFailure` - * `BabbageUtxowPredFailure` + - `BabbageUtxoPredFailure` + - `BabbageUtxowPredFailure` * Add `ToExpr` instance for: - * `BabbageUtxoPredFailure` - * `BabbageUtxowPredFailure` - * `BabbageTxOut` + - `BabbageUtxoPredFailure` + - `BabbageUtxowPredFailure` + - `BabbageTxOut` * Switch to using `AlonzoEraUTxO` in rules * Deprecate `getDatumBabbage` in favor of `getBabbageSpendingDatum` * Add `getBabbageSupplementalDataHashes` @@ -154,8 +154,8 @@ ## 1.4.5.0 * Add `ToExpr` instance for: - * `BabbageTxBody` - * `BabbageTxOut` + - `BabbageTxBody` + - `BabbageTxOut` * Add `Generic` instance for `BabbageTxBody` * Add `BabbageTxUpgradeError` and `BabbageTxBodyUpgradeError` * Add `EraTransition` instance. @@ -180,10 +180,10 @@ ## 1.4.0.0 * Added a protocol version constraint to: - * `STS (BabbageUTXOS era)` instance - * `STS (BabbageUTXOW era)` instance - * `utxosTransition` - * `babbageUtxowTransition` + - `STS (BabbageUTXOS era)` instance + - `STS (BabbageUTXOW era)` instance + - `utxosTransition` + - `babbageUtxowTransition` ## 1.3.0.0 @@ -201,9 +201,9 @@ * Replace `DPState c` with `CertState era` * Add `TranslateEra` instances for: - * `DState` - * `PState` - * `VState` + - `DState` + - `PState` + - `VState` * Added support for Plutus V3 in the types and functions that use `Language`. (Note that the Alonzo and Babbage ledger era rules do not allow V3 scripts, however.). Addition of `babbageTxInfoV1` and `babbageTxInfoV2` diff --git a/eras/conway/impl/CHANGELOG.md b/eras/conway/impl/CHANGELOG.md index 243b54599af..506a422f9a5 100644 --- a/eras/conway/impl/CHANGELOG.md +++ b/eras/conway/impl/CHANGELOG.md @@ -3,21 +3,21 @@ ## 1.20.0.0 * Decoupled `ConwayEraTxCert` from `ShelleyEraTxCert`, so added `ShelleyEraTxCert` constraint to: - * `DecCBOR ConwayTxCert` - * `transTxCert` - * `transTxCertV1V2` + - `DecCBOR ConwayTxCert` + - `transTxCert` + - `transTxCertV1V2` * Added `conwayGovCertVKeyWitness` * Added `conwayTxCertDelegDecoder` * Changed `MaxTxSizeUTxO` to use `Word32` * Rename `transScriptPurpose` to `transPlutusPurposeV3` * Make `transValidityInterval` implicit to eras instead of protocol versions. - * Implement `transValidityInterval` for Conway. + - Implement `transValidityInterval` for Conway. * Add `NFData` for `ConwayGenesis` * Deprecate `PoolParams` in favor of `StakePoolState`. #5196 - * Update `DRepPulser` and `RatifyEnv` to use `StakePoolState` instead of `PoolParams`. + - Update `DRepPulser` and `RatifyEnv` to use `StakePoolState` instead of `PoolParams`. * Better predicate failures for incorrect deposits and refunds. - * Add `hardforkConwayDELEGIncorrectDepositsAndRefunds` for protocol 11 onwards, to `Conway.Era`. - * Add `DepositIncorrectDELEG` and `RefundIncorrectDELEG` to `ConwayDelegPredFailure`. + - Add `hardforkConwayDELEGIncorrectDepositsAndRefunds` for protocol 11 onwards, to `Conway.Era`. + - Add `DepositIncorrectDELEG` and `RefundIncorrectDELEG` to `ConwayDelegPredFailure`. * Add `ScriptIntegrityHashMismatch` * Change the type of `cppDRepDeposit` to `CompactForm Coin` * Add `ppDRepDepositCompactL` and `ppuDRepDepositCompactL` @@ -25,15 +25,15 @@ * Delete `Tx` newtype wrapper * Hide `Cardano.Ledger.Conway.Translation` module and remove its re-exports: `addrPtrNormalize` and `translateDatum` * Removed: - * `maxRefScriptSizePerTx` - * `maxRefScriptSizePerBlock` - * `refScriptCostMultiplier` - * `refScriptCostStride` + - `maxRefScriptSizePerTx` + - `maxRefScriptSizePerBlock` + - `refScriptCostMultiplier` + - `refScriptCostStride` * Added: - * `ppMaxRefScriptSizePerTxG` - * `ppMaxRefScriptSizePerBlockG` - * `ppRefScriptCostMultiplierG` - * `ppRefScriptCostStrideG` + - `ppMaxRefScriptSizePerTxG` + - `ppMaxRefScriptSizePerBlockG` + - `ppRefScriptCostMultiplierG` + - `ppRefScriptCostStrideG` * Add `mkDelegatee` and `getDRepDelegatee` * Depercated `getVoteDelegatee` in favor of `getDRepDelegatee` * Add `conwayRegisterInitialFundsThenStaking` @@ -43,8 +43,8 @@ * Add `AlonzoEraTx` constraint to `STS` instance for `ConwayBBODY` * Add `totalRefScriptSizeInBlock` * Move some hard-fork triggers and export them from `Cardano.Ledger.Conway` module. - * `bootstrapPhase` to `hardforkConwayBootstrapPhase`. - * `disallowUnelectedCommitteeFromVoting` to `hardforkConwayDisallowUnelectedCommitteeFromVoting`. + - `bootstrapPhase` to `hardforkConwayBootstrapPhase`. + - `disallowUnelectedCommitteeFromVoting` to `hardforkConwayDisallowUnelectedCommitteeFromVoting`. * Add `UnelectedCommitteeVoters` to `ConwayGovPredFailure` #5091 * Change the type of `authorizedELectedCommitteeCredentials` to `StrictMaybe (Committee era) -> CommitteeState era -> Set.Set (Credential 'HotCommitteeRole)` #5091 @@ -56,21 +56,21 @@ * Export `registerDRepsThenDelegs` * Deprecated `toUpgradeConwayPParamsUpdatePairs` and `toConwayGenesisPairs` * Add: - * `alonzoToConwayUtxosPredFailure` - * `alonzoToConwayUtxosEvent` - * `getConwayScriptsNeeded` - * `getConwayMinFeeTxUtxo` - * `getConwayMinFeeTx` - * `conwayRedeemerPointer` - * `conwayRedeemerPointerInverse` - * `transMintValue` - * `transTxBodyId` - * `transVotingProcedures` - * `transProposal` - * `transTxCertV1V2` - * `transPlutusPurposeV1V2` - * `guardConwayFeaturesForPlutusV1V2` - * `transTxInInfoV3` + - `alonzoToConwayUtxosPredFailure` + - `alonzoToConwayUtxosEvent` + - `getConwayScriptsNeeded` + - `getConwayMinFeeTxUtxo` + - `getConwayMinFeeTx` + - `conwayRedeemerPointer` + - `conwayRedeemerPointerInverse` + - `transMintValue` + - `transTxBodyId` + - `transVotingProcedures` + - `transProposal` + - `transTxCertV1V2` + - `transPlutusPurposeV1V2` + - `guardConwayFeaturesForPlutusV1V2` + - `transTxInInfoV3` * Remove era parametrization from `GovPurposeId`, `GovRelation` * Move to `testlib` the `DecCBOR` instance for `TxBody ConwayEra` * Add `ReferenceInputsNotDisjointFromInputs` @@ -102,19 +102,19 @@ * Added `registerRewardAccountWithDeposit` * Added `regDelegToDRep` * Generalised the following helpers and thus changed their constraints to `ConwayEraImp`: - * `setupPoolWithStake` - * `setupPoolWithoutStake` - * `trySubmitGovAction` - * `trySubmitGovActions` - * `mkProposal` - * `submitGovAction` - * `submitGovAction_` - * `submitGovActions` - * `submitTreasuryWithdrawals` - * `submitFailingGovAction` + - `setupPoolWithStake` + - `setupPoolWithoutStake` + - `trySubmitGovAction` + - `trySubmitGovActions` + - `mkProposal` + - `submitGovAction` + - `submitGovAction_` + - `submitGovActions` + - `submitTreasuryWithdrawals` + - `submitFailingGovAction` * Decoupled `ConwayEraTxCert` from `ShelleyEraTxCert`, so added `ShelleyEraTxCert` constraint to: - * `genUnRegTxCert` - * `genRegTxCert` + - `genUnRegTxCert` + - `genRegTxCert` * Added `registerPoolWithDeposit` * Added `registerStakeCredentialWithDeposit` * Added `Examples` module with: `ledgerExamples`, `exampleConwayCerts` @@ -124,9 +124,9 @@ * Fixed `Arbitrary` instance for `ConwayGenesis` * Added `Arbitrary` instance for `TransitionConfig ConwayEra` * Added `ToExpr` instances for: - * `ConwayPlutusPurpose AsIxItem` - * `DRepPulser` - * `ConwayBbodyPredFailure` + - `ConwayPlutusPurpose AsIxItem` + - `DRepPulser` + - `ConwayBbodyPredFailure` * Added `Era` module with `ConwayEraTest` class ## 1.19.0.0 @@ -191,8 +191,8 @@ * Add `HardForkEvent` constructor to `ConwayEpochEvent` * Add `HardFork` module, `ConwayHARDFORK` and `ConwayHardForkEvent` * Add predicate failures to guard against invalid reward accounts (return addresses) in proposals and treasury withdrawals. #4639 - * `ProposalReturnAddressDoesNotExist`, and - * `TreasuryWithdrawalReturnAddressDoesNotExist`. + - `ProposalReturnAddressDoesNotExist`, and + - `TreasuryWithdrawalReturnAddressDoesNotExist`. * Add `refScriptCostStride` and `refScriptCostMultiplier` * Added protocol version argument to `ppuWellFormed` * Add `ConwayMempoolEvent` type @@ -201,22 +201,22 @@ * Add `ConwayMempoolFailure` to `ConwayLedgerPredFailure` * Add `ZeroTreasuryWithdrawals` to `ConwayGovPredFailure` * Add `ProtVer` argument to `TxInfo` functions: - * `transTxCert` - * `transScriptPurpose` - * `transPlutusPurposeV1V2` - * `toPlutusV3Args` + - `transTxCert` + - `transScriptPurpose` + - `transPlutusPurposeV1V2` + - `toPlutusV3Args` * Changed `ConwayWdrlNotDelegatedToDRep` to wrap `NonEmpty KeyHash` * Removed `DRepAlreadyRegisteredForStakeKeyDELEG` * Add `showGovActionType`, `acceptedByEveryone` * Added `unRatifySignal` * Added lenses: - * `ratifySignalL` - * `reStakeDistrL` - * `reStakePoolDistrL` - * `reDRepDistrL` - * `reDRepStateL` - * `reCurrentEpochL` - * `reCommitteeStateL` + - `ratifySignalL` + - `reStakeDistrL` + - `reStakePoolDistrL` + - `reDRepDistrL` + - `reDRepStateL` + - `reCurrentEpochL` + - `reCommitteeStateL` * Add a new field to `GovInfoEvent` and change "unclaimed" field from `Set` to a `Map`. * Changed return type of `proposalsShowDebug` * Added `gen-golden` executable needed for golden tests: #4629 @@ -230,7 +230,7 @@ * Removed `redelegateDRep` from `ImpTest` * Changed signature of `delegateToDRep` to take a `Credential` parameter * Move `TxInfo` golden tests over from the older `-test` package. #4599 - * Also move the `gen-golden` executable over. + - Also move the `gen-golden` executable over. * Added Test.Cardano.Ledger.Conway.CDDL with CDDL definitions in Conway. * Change `ImpException` to contain `Doc` * Add `impAnnDoc` @@ -286,19 +286,19 @@ * Add `psPoolDistrL` lens. * Add `psPoolDistr` field to `PulsingSnapshot` for tracking the pool stake distribution. * Fix DRep expiry updates based on the number of dormant epochs. - * Remove `DRepPulser.dormantEpoch`. - * Add `CERTS.updateDormantDRepExpiry`. - * Fix `updateNumDormantEpochs` to take current proposals, rather than ones from the pulser. - * In `GOVCERT`, make `ConwayUpdateDRep` calculate `currentEpochNo + drepActivity - numDormantEpochs`. - * Add `GOVCERT.updateDRepExpiry` to calculate this way. - * Add `CertState.vsActualDRepExpiry` to get the actual expiry of a DRep considering `numDormantEpochs`. + - Remove `DRepPulser.dormantEpoch`. + - Add `CERTS.updateDormantDRepExpiry`. + - Fix `updateNumDormantEpochs` to take current proposals, rather than ones from the pulser. + - In `GOVCERT`, make `ConwayUpdateDRep` calculate `currentEpochNo + drepActivity - numDormantEpochs`. + + Add `GOVCERT.updateDRepExpiry` to calculate this way. + - Add `CertState.vsActualDRepExpiry` to get the actual expiry of a DRep considering `numDormantEpochs`. * Add `NFData` instance for `ConwayDelegEnv` * Add `NFData` instances for: - * `RatifySignal` - * `EnactSignal` + - `RatifySignal` + - `EnactSignal` * Add instances for `ConwayGovCertEnv`. #4348 - * `NFData` - * `ToExpr` + - `NFData` + - `ToExpr` * Add `NFData` instance for `RatifySignal` * Add `AllegraEraScript` and `ShelleyEraScript` instances for `ConwayEra` @@ -306,17 +306,17 @@ * Add `submitYesVoteCCs_` utility to Conway ImpTest * Add tests for DRep expiry, considering dormant epochs. - * Add `unregisterDRep`. - * Add `updateDRep`. - * Add `expectDRepResigned` - * Add `isDRepExpired`. - * Remove `expectExtaDRepExpiry` in favour of `expectDRepExpiry`. - * Add `expectActualDRepExpiry` that considers `numDormantEpochs`. - * Add `passNEpochsChecking`. + - Add `unregisterDRep`. + - Add `updateDRep`. + - Add `expectDRepResigned` + - Add `isDRepExpired`. + - Remove `expectExtaDRepExpiry` in favour of `expectDRepExpiry`. + - Add `expectActualDRepExpiry` that considers `numDormantEpochs`. + - Add `passNEpochsChecking`. * Add `ToExpr` instance for `RatifySignal` * Add `ToExpr` instances for: - * `RatifySignal` - * `EnactSignal` + - `RatifySignal` + - `EnactSignal` ## 1.14.0.0 @@ -325,63 +325,63 @@ * Moved `DelegateeNotRegisteredDELEG` to `ConwayDelegPredFailure` * Remove `gePrevGovActionIds` from `GovEnv` * Include proposal deposits in the DRep active voting stake. #4309 - * Add `proposalsDeposits` to `Governance.Proposals`. - * This extracts a `Map (Credential 'Staking (EraCrypto era)) (CompactForm Coin)` from reward-account-staking-credential to deposit amounts - * Add `dpProposalDeposits` field to `DRepPulser`. - * Change `computeDRepDistr` to also take as argument the `dpProposalDeposits`. + - Add `proposalsDeposits` to `Governance.Proposals`. + + This extracts a `Map (Credential 'Staking (EraCrypto era)) (CompactForm Coin)` from reward-account-staking-credential to deposit amounts + - Add `dpProposalDeposits` field to `DRepPulser`. + - Change `computeDRepDistr` to also take as argument the `dpProposalDeposits`. * Add lenses: - * `dvtHardForkInitiationL` - * `dvtMotionNoConfidenceL` - * `dvtTreasuryWithdrawalL` + - `dvtHardForkInitiationL` + - `dvtMotionNoConfidenceL` + - `dvtTreasuryWithdrawalL` * Add`DisallowedProposalDuringBootstrap` and `DisallowedVotesDuringBootstrap` to `ConwayGovPredFailure` * Make `DRepDistr` calculation include rewards when no UTxO stake is delegated. #4273 - * Rename `computeDrepPulser` to `computeDRepPulser`. + - Rename `computeDrepPulser` to `computeDRepPulser`. * Implement `NoThunks` instance for: - * `ConwayUtxoPredFailure` - * `ConwayUtxowPredFailure` + - `ConwayUtxoPredFailure` + - `ConwayUtxowPredFailure` * Add `ConwayUtxowPredFailure` era rule failure: - * Implement its `InjectRuleFailure` instances for: - * `BBODY` - * `LEDGER` - * `LEDGERS` - * `UTXOW` - * Implement instances: - * `Generic` - * `Show` - * `Eq` - * `EncCBOR` - * `DecCBOR` - * `NFData` - * Add mappings: - * `babbageToConwayUtxowPredFailure` - * `alonzoToConwayUtxowPredFailure` - * `shelleyToConwayUtxowPredFailure` - * Update `Embed (ConwayUTXO era) (ConwayUTXOW era)` instance + - Implement its `InjectRuleFailure` instances for: + + `BBODY` + + `LEDGER` + + `LEDGERS` + + `UTXOW` + - Implement instances: + + `Generic` + + `Show` + + `Eq` + + `EncCBOR` + + `DecCBOR` + + `NFData` + - Add mappings: + + `babbageToConwayUtxowPredFailure` + + `alonzoToConwayUtxowPredFailure` + + `shelleyToConwayUtxowPredFailure` + - Update `Embed (ConwayUTXO era) (ConwayUTXOW era)` instance * Add `ConwayUtxoPredFailure` era rule failure: - * Implement its `InjectRuleFailure` instances for: - * `BBODY` - * `LEDGER` - * `LEDGERS` - * `UTXO` - * `UTXOW` - * Implement instances: - * `Generic` - * `Show` - * `Eq` - * `EncCBOR` - * `DecCBOR` - * `NFData` - * Add mappings: - * `babbageToConwayUtxoPredFailure` - * `alonzoToConwayUtxoPredFailure` - * Update `allegraToConwayUtxoPredFailure` mapping + - Implement its `InjectRuleFailure` instances for: + + `BBODY` + + `LEDGER` + + `LEDGERS` + + `UTXO` + + `UTXOW` + - Implement instances: + + `Generic` + + `Show` + + `Eq` + + `EncCBOR` + + `DecCBOR` + + `NFData` + - Add mappings: + + `babbageToConwayUtxoPredFailure` + + `alonzoToConwayUtxoPredFailure` + - Update `allegraToConwayUtxoPredFailure` mapping * Add `ConwayUTXO` era rule: - * Implement instances: - * `STS` - * `Embed (ConwayUTXOS era) (ConwayUTXO era)` - * `Embed (ConwayUTXO era) (ConwayUTXOW era)` + - Implement instances: + + `STS` + + `Embed (ConwayUTXOS era) (ConwayUTXO era)` + + `Embed (ConwayUTXO era) (ConwayUTXOW era)` * Add `ucppPlutusV3CostModel` to `UpgradeConwayPParams`. #4252 - * Remove the `Default` instance for `ConwayGenesis`. + - Remove the `Default` instance for `ConwayGenesis`. * Add `foldrVotingProcedures`. ### `testlib` @@ -390,22 +390,22 @@ * Add `withPostBootstrap` to Conway ImpTest * Add `withImpStateWithProtVer` to Conway ImpTest * Add the following utilities. #4273 - * to `Conway.ImpTest` - * `setupDRepWithoutStake` - * `setupPoolWithoutStake` - * `submitAndExpireProposalToMakeReward` - * to `Shelley.ImpTest` - * `getRewardAccountFor` - * `registerAndRetirePoolToMakeReward` + - to `Conway.ImpTest` + + `setupDRepWithoutStake` + + `setupPoolWithoutStake` + + `submitAndExpireProposalToMakeReward` + - to `Shelley.ImpTest` + + `getRewardAccountFor` + + `registerAndRetirePoolToMakeReward` * Add `getConstitution` to Conway ImpTest * Change return type of `setupSingleDRep` to Credential instead of KeyHash * Add `registerInitialCommittee` and `getCommitteeMembers` to Conway ImpTest * Implement `ConwayUtxowPredFailure` instances: - * `Arbitrary` - * `ToExpr` + - `Arbitrary` + - `ToExpr` * Implement `ConwayUtxoPredFailure` instances: - * `Arbitrary` - * `ToExpr` + - `Arbitrary` + - `ToExpr` * Updated `exampleConwayGenesis` to `conway-genesis.json`. #4252 ## 1.13.1.0 @@ -424,21 +424,21 @@ * Add `ConwayUtxosEvent` * Add `Generic`, `Eq` and `NFData` instances for `ConwayEpochEvent` * Add `Eq` and `NFData` instances for: - * `ConwayGovEvent` - * `ConwayCertEvent` - * `ConwayCertsEvent` - * `ConwayLedgerEvent` - * `ConwayNewEpochEvent` + - `ConwayGovEvent` + - `ConwayCertEvent` + - `ConwayCertsEvent` + - `ConwayLedgerEvent` + - `ConwayNewEpochEvent` * Add type `EraRuleEvent` instances for the event type of: - * `UPEC` - * `NEWPP` - * `PPUP` - * `MIR` - * `DELEGS` - * `TICK` - * `ENACT` - * `LEDGER` - * `UTXOS` + - `UPEC` + - `NEWPP` + - `PPUP` + - `MIR` + - `DELEGS` + - `TICK` + - `ENACT` + - `LEDGER` + - `UTXOS` * Add `ConwayDRepIncorrectRefund` * Stop exporting `utxosGovStateL` from `Cardano.Ledger.Conway.Governance` * Remove deprecated `curPParamsConwayGovStateL` and `prevPParamsConwayGovStateL` @@ -446,28 +446,28 @@ * Add `ConwayUtxosPredFailure` * Support for intra-era hard fork with `ProtVerHigh` set to `10` * Guard Conway-specific features in transactions that use Plutus v1 or v2. #4112 - * Add `PlutusContextError` variants: - * `CurrentTreasuryValueFieldNotSupported` - * `VotingProceduresFieldNotSupported` - * `ProposalProceduresFieldNotSupported` - * `TreasuryDonationFieldNotSupported` - * Allow `RegDepositTxCert` and `UnRegDepositTxCert` to pass by ignoring the deposit or refund values, respectively. + - Add `PlutusContextError` variants: + + `CurrentTreasuryValueFieldNotSupported` + + `VotingProceduresFieldNotSupported` + + `ProposalProceduresFieldNotSupported` + + `TreasuryDonationFieldNotSupported` + - Allow `RegDepositTxCert` and `UnRegDepositTxCert` to pass by ignoring the deposit or refund values, respectively. * Switch `EPOCH` rule environment back to `()`. Start using the latest stake pool distribution: #4115 * Add: - * `transTxInInfoV1` - * `transTxOutV1` + - `transTxInInfoV1` + - `transTxOutV1` * Add instances for `InjectRuleFailure` and switch to using `injectFailure` * Remove `ConwayPOOL` rule, in favor of `ShelleyPOOL` * Add `NFData` instance for `BabbageUtxoPredFailure` * Rename `MinFeeRefScriptCoinsPerByte` to `MinFeeRefScriptCostPerByte` and change its type from `CoinsPerByte` to `NonNegativeInterval` #4055 * Rename `committeeQuorum` to `committeeThreshold` #4053 * Changed `GovActionState` to have 1 field (`gasProposalProcedure`) rather than 3 (`gasDeposit`, `gasAction`, `gasReturnAddr`) - * the old field names (`gasDeposit`, `gasAction`, `gasReturnAddr`) become functions, and the lenses - * (`gasDepositL`, `gasActionL`, `gasReturnAddrL`) have the same type, but behave differently. - * Added the lenses: `pProcDepositL`, `pProcGovActionL`, `pProcReturnAddrL`, `pProcAnchorL`, `gasProposalProcedureL`. + - the old field names (`gasDeposit`, `gasAction`, `gasReturnAddr`) become functions, and the lenses + - (`gasDepositL`, `gasActionL`, `gasReturnAddrL`) have the same type, but behave differently. + - Added the lenses: `pProcDepositL`, `pProcGovActionL`, `pProcReturnAddrL`, `pProcAnchorL`, `gasProposalProcedureL`. * Add `getDRepDistr`, `getConstitution` and `getCommitteeMembers` from `ConwayEraGov` #4033 - * Move `Constitution` to `Conway.Governance.Procedures` + - Move `Constitution` to `Conway.Governance.Procedures` * Add implementation for `getMinFeeTxUtxo` * Add `cppMinFeeRefScriptCoinsPerByte` to `ConwayPParams` and `ppMinFeeRefScriptCoinsPerByteL` * Add `ucppMinFeeRefScriptCoinsPerByte` to `UpgradeConwayPParams` and `ppuMinFeeRefScriptCoinsPerByteL` @@ -479,20 +479,20 @@ * Add upgrade failure: `CTBUEContainsDuplicateCerts` * Rename `proposalsRemoveDescendentIds` to `proposalsRemoveWithDescendants` (fixed spelling too) * Rename: - * `pfPParamUpdateL` to `grPParamUpdateL` - * `pfHardForkL` to `grHardForkL` - * `pfCommitteeL` to `grCommitteeL` - * `pfConstitutionL` to `grConstitutionL` + - `pfPParamUpdateL` to `grPParamUpdateL` + - `pfHardForkL` to `grHardForkL` + - `pfCommitteeL` to `grCommitteeL` + - `pfConstitutionL` to `grConstitutionL` * Rename: - * `cgProposalsL` to `cgsProposalsL` - * `cgEnactStateL` to `cgsEnactStateL` - * `cgDRepPulsingStateL` to `cgsDRepPulsingStateL` + - `cgProposalsL` to `cgsProposalsL` + - `cgEnactStateL` to `cgsEnactStateL` + - `cgDRepPulsingStateL` to `cgsDRepPulsingStateL` * Add: - * `cgsPrevPParamsL` - * `cgsCommitteeL` - * `cgsConstitutionL` - * `govStatePrevGovActionIds` - * `mkEnactState` + - `cgsPrevPParamsL` + - `cgsCommitteeL` + - `cgsConstitutionL` + - `govStatePrevGovActionIds` + - `mkEnactState` * Deprecated `curPParamsConwayGovStateL` and `curPParamsConwayGovStateL` * Rename `PForest` to `GovRelation` * Add `hoistGovRelation` and `withGovActionParent` @@ -504,29 +504,29 @@ ### `testlib` * Add `ToExpr` instances for: - * `ConwayNewEpochEvent` - * `ConwayEpochEvent` - * `ConwayLedgerEvent` - * `ConwayCertsEvent` - * `ConwayCertEvent` - * `ConwayGovEvent` + - `ConwayNewEpochEvent` + - `ConwayEpochEvent` + - `ConwayLedgerEvent` + - `ConwayCertsEvent` + - `ConwayCertEvent` + - `ConwayGovEvent` * Change the types of some functions in `Test.Cardano.Ledger.Conway.ImpTest` to use `NonEmpty (PredicateFailure _)` instead of `[PredicateFailure _]` - * `submitFailingVote` - * `trySubmitVote` - * `trySubmitProposal` - * `trySubmitProposals` - * `submitFailingProposal` - * `trySubmitGovAction` - * `trySubmitGovActions` + - `submitFailingVote` + - `trySubmitVote` + - `trySubmitProposal` + - `trySubmitProposals` + - `submitFailingProposal` + - `trySubmitGovAction` + - `trySubmitGovActions` * Add `Test.Cardano.Ledger.Conway.Imp.GovCertSpec` * Add `RuleListEra` instance for Conway * Rename `canGovActionBeDRepAccepted` to `isDRepAccepted` and refactor #4097 - * Add `isSPOAccepted` - * Change `setupSingleDRep` to return relevant keyhashes - * Change `setupPoolWithStake` to return relevant keyhashes - * Add `getLastEnactedCommittee` - * Add `getRatifyEnvAndState` + - Add `isSPOAccepted` + - Change `setupSingleDRep` to return relevant keyhashes + - Change `setupPoolWithStake` to return relevant keyhashes + - Add `getLastEnactedCommittee` + - Add `getRatifyEnvAndState` * Add `Test.Cardano.Ledger.Conway.Imp.UtxosSpec` * Add `getGovPolicy` * Add `submitGovActions` and `trySubmitGovActions` @@ -540,10 +540,10 @@ * Add `FromJSON`, `EncCBOR` and `DecCBOR` instances for `Delegatee` * Add `pvtPPSecurityGroup` * Add lenses: - * `pvtCommitteeNormalL` - * `pvtCommitteeNoConfidenceL` - * `pvtPPSecurityGroupL` - * `dvtCommitteeNoConfidenceL` + - `pvtCommitteeNormalL` + - `pvtCommitteeNoConfidenceL` + - `pvtPPSecurityGroupL` + - `dvtCommitteeNoConfidenceL` * Add `PPGroups` and `StakePoolGroup` * Add `ToStakePoolGroup` typeclass * Add `DRepGroup` and `ToDRepGroup` typeclass @@ -573,16 +573,16 @@ * Remove deprcated `translateScript` * Add `getVoteDelegatee` * Track and prune unreachable proposals #3855 #3919 #3978 #3981 - * Consolidate the entire proposals-tree under the `Proposals` module and expose all its operations in a convenient manner - * Move `PrevGovActionIds` from `Governance` to `Governance.Proposals` - * Add `rsEnacted` field to `RatifyState` to track enacted proposals separately from removed ones and rename `rsRemoved` to `rsExpired` in order to better represent its role - * Add `ProposalsSerializable` as an accompanying type used to correctly serialize `Proposals` in a space-efficient way - * Add the following operations to `Governance.Proposals` - * `mkProposals` as the only way to reconstruct the `Proposals` tree from, for instance, a deserialized one - * `proposalsAddAction` as the only way to add new proposals to the system - * `proposalsApplyEnactment` as the only way to replay from `ENACT` operations upon `Proposals` in the ledger state, outside of the pulser. - * Rename `PrevGovActionId purpose (EraCrypto era)` to `GovPurposeId purpose era` - * Add the following accessors and lenses, among others: + - Consolidate the entire proposals-tree under the `Proposals` module and expose all its operations in a convenient manner + - Move `PrevGovActionIds` from `Governance` to `Governance.Proposals` + - Add `rsEnacted` field to `RatifyState` to track enacted proposals separately from removed ones and rename `rsRemoved` to `rsExpired` in order to better represent its role + - Add `ProposalsSerializable` as an accompanying type used to correctly serialize `Proposals` in a space-efficient way + - Add the following operations to `Governance.Proposals` + + `mkProposals` as the only way to reconstruct the `Proposals` tree from, for instance, a deserialized one + + `proposalsAddAction` as the only way to add new proposals to the system + + `proposalsApplyEnactment` as the only way to replay from `ENACT` operations upon `Proposals` in the ledger state, outside of the pulser. + + Rename `PrevGovActionId purpose (EraCrypto era)` to `GovPurposeId purpose era` + + Add the following accessors and lenses, among others: * `PForest` * `PRoot` * `PEdges` @@ -597,11 +597,11 @@ * `pfHardForkL` * `pfCommitteeL` * `pfConstitutionL` - * Add the pruning functionality and the deposit refunds in the `EPOCH` rule - * In the `Gov` rule - * Modify the rule transition implementation to accept new proposals into the `Proposals` forests based on proposal purpose - * In the `Ratify` rule - * Account for the tracking of enacted and expired proposals + - Add the pruning functionality and the deposit refunds in the `EPOCH` rule + - In the `Gov` rule + + Modify the rule transition implementation to accept new proposals into the `Proposals` forests based on proposal purpose + - In the `Ratify` rule + + Account for the tracking of enacted and expired proposals * Moved `ToExpr` instances out of the main library and into the testlib. * Changed the type of ConwayPParams fields cppEMax, cppGovActionLifetime, cppDRepActivity * Changed types of lenses: `ppGovActionLifetimeL`, `ppDRepActivityL`, `ppCommitteeMaxTermLengthL` and `ppuGovActionLifetimeL`, `ppuDRepActivityL`, `ppuCommitteeMaxTermLengthL` @@ -613,14 +613,14 @@ * Add the previous governance action ID to the outputs of `electBasicCommittee` * Add `setupPoolWithStake` * Add: - * `registerPool` - * `sendCoinTo` and `sendValueTo` + - `registerPool` + - `sendCoinTo` and `sendValueTo` * Add `submitProposal_` * Add `submitTreasuryWithdrawals` * Track and prune unreachable proposals #3855 #3919 #3978 #3981 - * Add invariant-respecting `Arbitrary` generators for `Proposals` - * Add property tests for all `Proposals` operations - * Add procedural unit tests for all `Proposals` operations + - Add invariant-respecting `Arbitrary` generators for `Proposals` + - Add property tests for all `Proposals` operations + - Add procedural unit tests for all `Proposals` operations * Remove `Test.Cardano.Ledger.Conway.PParamsSpec` and replace the unit test it contained with a new property test in `Test.Cardano.Ledger.Alonzo.Binary.CostModelsSpec` @@ -631,8 +631,8 @@ * Add `conwayDRepDepositsTxCerts`, `conwayDRepRefundsTxCerts`, `conwayTotalDepositsTxCerts` and `conwayTotalRefundsTxCerts` * Rename data-type `ProposalsSnapshot` to `Proposals`. #3859 - * Rename module `Governance.Snapshots` to `Governance.Proposals`. - * Rename all the functions related to the data-type. + - Rename module `Governance.Snapshots` to `Governance.Proposals`. + - Rename all the functions related to the data-type. * Switch to using `OMap` for `ProposalsSnapshot` #3791 * Add `VotingOnExpiredGovAction` predicate failure in `GOV` #3825 * Rename `modifiedGroups` -> `modifiedPPGroups` and move into `ConwayEraPParams` @@ -673,30 +673,30 @@ * Rename `ensPParams` to `ensCurPParams`. * Add `ToJSON` instance for `RatifyState` * Change `ToJSON` instance for `ConwayGovState`: - * Add `"nextRatifyState"` field - * Rename `"ratify"` to `"enactState"` - * Rename `"gov"` to `"proposals"` + - Add `"nextRatifyState"` field + - Rename `"ratify"` to `"enactState"` + - Rename `"gov"` to `"proposals"` * Fix `ToJSON` instance for `EnactState`: - * Current PParams were wrongfully used for `"prevPParams"`. - * Remove `"treasury"` and `"withdrawals"` as those are temporary bindings needed only + - Current PParams were wrongfully used for `"prevPParams"`. + - Remove `"treasury"` and `"withdrawals"` as those are temporary bindings needed only for `ENACT` rule * Add an anchor argument to `ResignCommitteeColdTxCert` * Prevent invalid previous gov-action ids in proposals #3768 - * Also, add lenses - * `govProceduresProposalsL` - * `pProcGovActionL` - * `gasActionL` + - Also, add lenses + + `govProceduresProposalsL` + + `pProcGovActionL` + + `gasActionL` * Add `ToExpr` instance for: - * `Voter` - * `ConwayCertPredFailure` - * `ConwayCertsPredFailure` - * `ConwayDelegPredFailure` - * `ConwayGovPredFailure` - * `ConwayGovCertPredFailure` - * `ConwayLedgerPredFailure` - * `ConwayTxBody` + - `Voter` + - `ConwayCertPredFailure` + - `ConwayCertsPredFailure` + - `ConwayDelegPredFailure` + - `ConwayGovPredFailure` + - `ConwayGovCertPredFailure` + - `ConwayLedgerPredFailure` + - `ConwayTxBody` * Add `Generic` and `NFData` instance for: - * `ConwayNewEpochPredFailure` + - `ConwayNewEpochPredFailure` * Add `totalObligation` * Add `utxosDepositedL` * Add `conwayWitsVKeyNeeded` @@ -712,29 +712,29 @@ * Add `ConwayEraPParams era` constraint to `isCommitteeVotingAllowed` and `votingCommitteeThreshold` * Add `ToExpr` instance for: - * `Voter` - * `VotingProcedures` - * `VotingProcedure` - * `ProposalProcedure` - * `ConwayTxBody` + - `Voter` + - `VotingProcedures` + - `VotingProcedure` + - `ProposalProcedure` + - `ConwayTxBody` * Add `ConwayTxBodyUpgradeError`, `ConwayTxCertUpgradeError` * Add to `Ratify`: - * `committeeAccepted` - * `committeeAcceptedRatio` + - `committeeAccepted` + - `committeeAcceptedRatio` * Add `reCommitteeState` to `RatifyEnv` * Add PredicateFailure for current treasury value mismatch in tx body in LEDGER #3749 * Change `To/FromJSON` format for `ConwayGenesis` * Add `EraTransition` instance and `toConwayTransitionConfigPairs`. * Expose `toConwayGenesisPairs` and `toUpgradeConwayPParamsUpdatePairs` * Rename `ConwayPParams` to be consistent with the Agda specification. #3739 - * `govActionExpiration` to `govActionLifetime` - * `committeeTermLimit` to `committeeMaxTermLength` - * `minCommitteeSize` to `committeeMinSize` + - `govActionExpiration` to `govActionLifetime` + - `committeeTermLimit` to `committeeMaxTermLength` + - `minCommitteeSize` to `committeeMinSize` * Prevent `DRep` expiry when there are no active governance proposals to vote on (in ConwayCERTS). #3729 - * Add `updateNumDormantEpochs` function in `ConwayEPOCH` to update the dormant-epochs counter - * Refactor access to `ConwayGovState` by making its lens part of `ConwayEraGov`. - * Export `gasExpiresAfterL` for use in tests + - Add `updateNumDormantEpochs` function in `ConwayEPOCH` to update the dormant-epochs counter + - Refactor access to `ConwayGovState` by making its lens part of `ConwayEraGov`. + - Export `gasExpiresAfterL` for use in tests * Add `ExpirationEpochTooSmall` data constructor to `ConwayGovPredFailure` * Add `ConflictingCommitteeUpdate` data constructor to `ConwayGovPredFailure` * Rename `NewCommitte` to `UpdateCommittee` @@ -743,47 +743,47 @@ * Remove `DecCBOR`/`EncCBOR` and `FromCBOR`/`ToCBOR` for `RatifyState`, since that state is ephemeral and is never serialized. * Add `PredicateFailure` for `Voter` - `GovAction` mismatches, with `checkVotesAreValid`. #3718 - * Add `DisallowedVoters (Map (GovActionId (EraCrypto era)) (Voter (EraCrypto era)))` + - Add `DisallowedVoters (Map (GovActionId (EraCrypto era)) (Voter (EraCrypto era)))` inhabitant to the `ConwayGovPredFailure` data type. - * Fix naming for `toPrevGovActionIdsParis` to `toPrevGovActionIdsPairs` + - Fix naming for `toPrevGovActionIdsParis` to `toPrevGovActionIdsPairs` * Rename: - * `thresholdSPO` -> `votingStakePoolThreshold` - * `thresholdDRep` -> `votingDRepThreshold` - * `thresholdCC` -> `votingCommitteeThreshold` + - `thresholdSPO` -> `votingStakePoolThreshold` + - `thresholdDRep` -> `votingDRepThreshold` + - `thresholdCC` -> `votingCommitteeThreshold` * Add: - * `isStakePoolVotingAllowed` - * `isDRepVotingAllowed` - * `isCommitteeVotingAllowed` + - `isStakePoolVotingAllowed` + - `isDRepVotingAllowed` + - `isCommitteeVotingAllowed` * Fix `ConwayTxBodyRaw` decoder to disallow empty `Field`s #3712 - * `certsTxBodyL` - * `withdrawalsTxBodyL` - * `mintTxBodyL` - * `collateralInputsTxBodyL` - * `reqSignerHashesTxBodyL` - * `referenceInputsTxBodyL` - * `votingProceduresTxBodyL` - * `proposalProceduresTxBodyL` + - `certsTxBodyL` + - `withdrawalsTxBodyL` + - `mintTxBodyL` + - `collateralInputsTxBodyL` + - `reqSignerHashesTxBodyL` + - `referenceInputsTxBodyL` + - `votingProceduresTxBodyL` + - `proposalProceduresTxBodyL` * Add `reorderActions`, `actionPriority` * Remove `ensProtVer` field from `EnactState`: #3705 * Move `ConwayEraTxBody` to `Cardano.Ledger.Conway.TxBody` * Move `ConwayEraPParams` to `Cardano.Ledger.Conway.PParams` * Rename: - * `GovActionsState` to `GovSnapshots` - * `cgGovActionsStateL` to `cgGovSnapshotsL` - * `curGovActionsStateL` to `curGovSnapshotsL` - * `prevGovActionsStateL` to `prevGovSnapshotsL` + - `GovActionsState` to `GovSnapshots` + - `cgGovActionsStateL` to `cgGovSnapshotsL` + - `curGovActionsStateL` to `curGovSnapshotsL` + - `prevGovActionsStateL` to `prevGovSnapshotsL` * Add: - * `ProposalsSnapshot` - * `snapshotIds` - * `snapshotAddVote` - * `snapshotInsertGovAction` - * `snapshotActions` - * `snapshotRemoveIds` - * `fromGovActionStateSeq` + - `ProposalsSnapshot` + - `snapshotIds` + - `snapshotAddVote` + - `snapshotInsertGovAction` + - `snapshotActions` + - `snapshotRemoveIds` + - `fromGovActionStateSeq` * Add lenses: - * `gasCommitteeVotesL` - * `gasDRepVotesL` - * `gasStakePoolVotesL` + - `gasCommitteeVotesL` + - `gasDRepVotesL` + - `gasStakePoolVotesL` * Add `FromJSON` instance for `Committee` * Add `constitution` and `committee` fields to `ConwayGenesis` @@ -803,14 +803,14 @@ ## 1.8.1.0 * Apply enacted `TreasuryWithdrawals` in `ConwayEPOCH` #3748 - * Add lenses `ensWithdrawalsL` and `ensTreasuryL` + - Add lenses `ensWithdrawalsL` and `ensTreasuryL` ## 1.8.0.0 * Add all Conway `TxCert` to consumed/produced calculations in the `UTXO` rule. #3700 * Change `ToJSONKey` implementation of `Voter` to flat text * Add DRep refund calculation #3688 - * Add `conwayConsumedValue` as `getConsumedValue` for Conway + - Add `conwayConsumedValue` as `getConsumedValue` for Conway * Change `PredicateFailure (ConwayENACT era)` to `Void` * Remove `EnactPredFailure` * Change `PredicateFailure (ConwayEPOCH era)` to `Void` @@ -818,18 +818,18 @@ * Remove `EpochFailure` and `RatifyFailure` from `ConwayNewEpochPredFailure` * Change `PredicateFailure (ConwayRATIFY era)` to `Void` * Add: - * `rsDelayed` - * `PParamGroup` - * `ParamGrouper` - * `pGroup` - * `pUngrouped` - * `modifiedGroups` - * `dvtPPNetworkGroupL` - * `dvtPPGovGroupL` - * `dvtPPTechnicalGroupL` - * `dvtPPEconomicGroupL` - * `threshold` - * `ensCommitteeL` + - `rsDelayed` + - `PParamGroup` + - `ParamGrouper` + - `pGroup` + - `pUngrouped` + - `modifiedGroups` + - `dvtPPNetworkGroupL` + - `dvtPPGovGroupL` + - `dvtPPTechnicalGroupL` + - `dvtPPEconomicGroupL` + - `threshold` + - `ensCommitteeL` * Add `pparamsGroups` to `ConwayEraPParams` * Add `PrevGovActionIds` * Change `EnactState` to add `ensPrevGovActionIds` @@ -837,45 +837,45 @@ * Add `EnactSignal` and the signal of `Enact` to it * Remove `rsFuture` from `RatifyState` * Add to `GovActionsState`: - * `curGovActionsState` - * `prevGovActionsState` - * `prevDRepState` - * `prevCommitteeState` + - `curGovActionsState` + - `prevGovActionsState` + - `prevDRepState` + - `prevCommitteeState` * Add `ToExpr` instances to: - * `PoolVotingThresholds` - * `DRepVotingThresholds` - * `GovActionState` - * `GovActionsState` - * `EnactState` - * `RatifyState` - * `ConwayGovState` - * `GovActionIx` - * `GovActionId` - * `Vote` - * `Committee` - * `PrevGovActionId` - * `GovAction` - * `ConwayPParams` with `Identity` and `StrictMaybe` + - `PoolVotingThresholds` + - `DRepVotingThresholds` + - `GovActionState` + - `GovActionsState` + - `EnactState` + - `RatifyState` + - `ConwayGovState` + - `GovActionIx` + - `GovActionId` + - `Vote` + - `Committee` + - `PrevGovActionId` + - `GovAction` + - `ConwayPParams` with `Identity` and `StrictMaybe` * Add lenses: - * `cgEnactStateL` - * `curGovActionsStateL` - * `prevGovActionsStateL` - * `prevDRepStateL` - * `prevCommitteeStateL` + - `cgEnactStateL` + - `curGovActionsStateL` + - `prevGovActionsStateL` + - `prevDRepStateL` + - `prevCommitteeStateL` * Replace `cgRatifyState` with `cgEnactState` * Deprecate `cgRatifyStateL` * Add `ProposalDepositIncorrect` predicate failure, that is produced when `ProposalProcedure` deposit does not match `"govActionDeposit"` from `PParams` #3669 * Add "minCommitteeSize" `PParam` validation for `NewCommittee` `GovAction` #3668 - * Add `committeeMembersL` and `committeeQuorumL` lenses for `Committee` - * Add `NewCommitteeSizeTooSmall` `PredicateFailure` in `GOV` + - Add `committeeMembersL` and `committeeQuorumL` lenses for `Committee` + - Add `NewCommitteeSizeTooSmall` `PredicateFailure` in `GOV` * Add `EqRaw` instance for `ConwayTxBody` * Add `ToExpr` instance for `Delegatee`, `ConwayDelegCert`, `ConwayGovCert` and `ConwayTxCert` * Implement expiry for governance proposals #3664 - * Update `ppGovActionExpiration` to be an `EpochNo` - * Add `gasExpiresAfter :: !EpochNo` to `GovActionState` - * Add `gePParams` to `GovEnv` - * Rename `teTxId` to `geTxId` and `teEpoch` to `geEpoch` + - Update `ppGovActionExpiration` to be an `EpochNo` + - Add `gasExpiresAfter :: !EpochNo` to `GovActionState` + - Add `gePParams` to `GovEnv` + - Rename `teTxId` to `geTxId` and `teEpoch` to `geEpoch` * Add `reDRepState` to `RatifyEnv` * Add field `gasId` to `GovActionState` * Add `insertGovActionsState` @@ -890,9 +890,9 @@ * Add `Network` validation for `ProposalProcedure` and `TreasuryWithdrawals` in GOV #3659 * Make `DELEG`, `POOL` and `GOVCERT` conform to spec-v0.8 #3628 - * Add `CertEnv` and `CertsEnv` to pass `EpochNo` down from `LEDGER` to sub-rules - * Add `drepDeposit` to `DRepState` to track deposits paid by `DRep`s - * Update `DRep` expiry in `LEDGER` for all `DRep`s who are voting in current `Tx` + - Add `CertEnv` and `CertsEnv` to pass `EpochNo` down from `LEDGER` to sub-rules + - Add `drepDeposit` to `DRepState` to track deposits paid by `DRep`s + - Update `DRep` expiry in `LEDGER` for all `DRep`s who are voting in current `Tx` * Add `ConwayGovCertEnv` * Change the environment of `GOVCERT` to `ConwayGovCertEnv` * Add `ConwayEraGov` with `constitutionGovStateL` @@ -900,12 +900,12 @@ * Add optional `PrevGovActionId` to `ParameterChange`, `HardForkInitiation`, `NoConfidence`, `NewCommittee` and `NewConstitution` governance actions. * Rename `*governance*` to `*gov*` #3607 - * `GovernanceAction` to `GovAction` - * `GovernanceActionId` to `GovActionId` - * `GovernanceActionIx` to `GovActionIx` - * `GovernanceActionState` to `GovActionState` - * `ConwayGovState` to `GovActionsState` - * `ConwayGovernance` to `ConwayGovState` + - `GovernanceAction` to `GovAction` + - `GovernanceActionId` to `GovActionId` + - `GovernanceActionIx` to `GovActionIx` + - `GovernanceActionState` to `GovActionState` + - `ConwayGovState` to `GovActionsState` + - `ConwayGovernance` to `ConwayGovState` * Add `MalformedProposal` to `ConwayGovPredFailure` * Add `ppuWellFormed` to `ConwayEraPParams` * Filter out zero valued `TxOut`'s on Byron/Shelley boundary instead of on Babbage/Conway. @@ -916,29 +916,29 @@ * Add `currentTreasuryValue :: !(StrictMaybe Coin)` as a new field to Conway TxBody #3586 * Add an optional Anchor to the Conway DRep registration certificate #3576 * Change `ConwayCommitteeCert` to allow: - * committee cold keys to be script-hashes #3581 - * committee hot keys to be script-hashes #3552 + - committee cold keys to be script-hashes #3581 + - committee hot keys to be script-hashes #3552 * Change EnactState.ensConstitution #3556 - * from `SafeHash (EraCrypto era) ByteString` - * to `Constitution era` - * Use this datatype for GovernanceAction.NewConstitution + - from `SafeHash (EraCrypto era) ByteString` + - to `Constitution era` + - Use this datatype for GovernanceAction.NewConstitution * Add `ConwayPParams` #3498 - * Add `UpgradeConwayPParams` - * Add `ConwayEraPParams` - * Add `PoolVotingThresholds` - * Add `DRepVotingThresholds` + - Add `UpgradeConwayPParams` + - Add `ConwayEraPParams` + - Add `PoolVotingThresholds` + - Add `DRepVotingThresholds` * Rename: - * `cgTally` -> `cgGovActionsState` - * `cgTallyL` -> `cgGovActionsStateL` - * `VDelFailure` -> `GovCertFailure` - * `VDelEvent` -> `GovCertEvent` - * `certVState` -> `certGState` - * `ConwayVDelPredFailure` -> `ConwayGovCertPredFailure` - * `ConwayTallyPredFailure` -> `ConwayGovPredFailure` - * `TallyEnv` -> `GovEnv` - * `ConwayTallyState` -> `ConwayGovState` - * `TALLY` -> `GOV` - * `VDEL` -> `GOVCERT` + - `cgTally` -> `cgGovActionsState` + - `cgTallyL` -> `cgGovActionsStateL` + - `VDelFailure` -> `GovCertFailure` + - `VDelEvent` -> `GovCertEvent` + - `certVState` -> `certGState` + - `ConwayVDelPredFailure` -> `ConwayGovCertPredFailure` + - `ConwayTallyPredFailure` -> `ConwayGovPredFailure` + - `TallyEnv` -> `GovEnv` + - `ConwayTallyState` -> `ConwayGovState` + - `TALLY` -> `GOV` + - `VDEL` -> `GOVCERT` * Make `Anchor` required in `ProposalProcedure`. * Add `ConwayUTXO` * Add `indexedGovProps` @@ -953,8 +953,8 @@ reports all actions as a set, rather than one action per each individual failure. * Type of `gpVotingProcedures` in `GovernanceProcedures` was aslo changed to `GovernanceProcedures` * Rename: - * `ConwayCommitteeCert` -> `ConwayGovCert` - * `ConwayTxCertCommittee` -> `ConwayTxCertGov` + - `ConwayCommitteeCert` -> `ConwayGovCert` + - `ConwayTxCertCommittee` -> `ConwayTxCertGov` * Remove `DelegStakeTxCert` from the `COMPLETE` pragma for `TxCert` * Add `Committee` and adjust `NewCommittee` governance action * Add `treasuryDonationTxBodyL` to `ConwayEraTxBody` @@ -962,8 +962,8 @@ * Update `ProposalProcedure` return address to be a `RewardAcnt` * Add `ensPrevPParams` field to `EnactState` * Add lenses: - * `ensPrevPParamsL` - * `ensCurPParamsL` + - `ensPrevPParamsL` + - `ensCurPParamsL` ## 1.6.3.0 @@ -984,7 +984,7 @@ ## 1.5.0.0 * Add `ensConstitutionL` and `rsEnactStateL` to `Governance` #3506 - * Override `getConsitutionHash` for Conway to return just the hash of the constitution + - Override `getConsitutionHash` for Conway to return just the hash of the constitution * Added `ConwayWdrlNotDelegatedToDRep` to `ConwayLedgerPredFailure` * Changed the type of voting delegatee from `Credential` to `DRep` * Removal of `VoterRole` in favor of `Voter` @@ -1014,9 +1014,9 @@ * Add `EncCBOR`/`DecCBOR` for `ConwayCertPredFailure` * Add `EncCBOR`/`DecCBOR` for `ConwayVDelPredFailure` * Add `POOL` rules to Conway #3464 - * Make `ShelleyPOOL` rules reusable in Conway + - Make `ShelleyPOOL` rules reusable in Conway * Add `CERT` and `DELEG` rules to Conway #3412 - * Add `domDeleteAll` to `UMap`. + - Add `domDeleteAll` to `UMap`. * Introduction of `TxCert` and `EraTxCert` * Add `ConwayEraTxCert` * Add `EraTxCert`, `ShelleyEraTxCert` and `ConwayEraTxCert` instances for `ConwayEra` @@ -1034,9 +1034,9 @@ * Removed `toShelleyDCert` and `fromShelleyDCertMaybe` #3372 * Replace `DPState c` with `CertState era` * Add `TranslateEra` instances for: - * `DState` - * `PState` - * `VState` + - `DState` + - `PState` + - `VState` * Add `ConwayDelegsPredFailure` * Renamed `DELPL` to `CERT` * Added `ConwayDELEGS` rule @@ -1056,19 +1056,19 @@ * Added `RATIFY` rule * Added `ConwayGovernance` * Added lenses: - * `cgTallyL` - * `cgRatifyL` - * `cgVoterRolesL` + - `cgTallyL` + - `cgRatifyL` + - `cgVoterRolesL` * Removed `GovernanceActionInfo` * Replaced `ctbrVotes` and `ctbrGovActions` with `ctbrGovProcedure` * Renamed `ENACTMENT` to `ENACT` * Add `ToJSON` instance for: #3323 - * `ConwayGovernance` - * `ConwayTallyState` - * `GovernanceAction` - * `GovernanceActionState` - * `GovernanceActionIx` - * `GovernanceActionId` + - `ConwayGovernance` + - `ConwayTallyState` + - `GovernanceAction` + - `GovernanceActionState` + - `GovernanceActionIx` + - `GovernanceActionId` * Add `ToJSONKey` instance for `GovernanceActionId` #3323 * Fix `EncCBOR`/`DecCBOR` and `ToCBOR`/`FromCBOR` for `ConwayTallyState` #3323 * Add `Anchor` and `AnchorDataHash` types. #3323 @@ -1093,10 +1093,10 @@ * Fix `Arbitrary` for `ConwayTallyState`. #3323 * Consolidate all `Arbitrary` instances from the test package to under a new `testlib`. #3285 * Add `Arbitrary` instances for: - * `ConwayTallyPredFailure` - * `EnactState` - * `RatifyState` - * `ConwayGovernance` + - `ConwayTallyPredFailure` + - `EnactState` + - `RatifyState` + - `ConwayGovernance` * Fix `Arbitrary` for `ConwayTxBody`. ## 1.0.0.0 diff --git a/eras/mary/impl/CHANGELOG.md b/eras/mary/impl/CHANGELOG.md index 2eb4ebf951f..b65e54a91cf 100644 --- a/eras/mary/impl/CHANGELOG.md +++ b/eras/mary/impl/CHANGELOG.md @@ -99,9 +99,9 @@ ## 1.3.4.0 * Add `ToExpr` instance for: - * `MaryTxBody` - * `CompactForm (MaryValue)` - * `CompactValue` + - `MaryTxBody` + - `CompactForm (MaryValue)` + - `CompactValue` * Add `Generic` instance for `CompactValue` * Add `EraTransition` instance. @@ -137,9 +137,9 @@ ## 1.1.1.0 * Add `TranslateEra` instances for: - * `DState` - * `PState` - * `VState` + - `DState` + - `PState` + - `VState` * Add `EraDCert`, `ShelleyEraDCert` instances to `MaryEra` ## 1.1.0.0 diff --git a/eras/shelley/impl/CHANGELOG.md b/eras/shelley/impl/CHANGELOG.md index f620d8c2c4a..cd29f9608c7 100644 --- a/eras/shelley/impl/CHANGELOG.md +++ b/eras/shelley/impl/CHANGELOG.md @@ -4,33 +4,33 @@ * Changed `MaxTxSizeUTxO` and `sizeShelleyTxF` to use `Word32` * Remove: - * `ShelleyEpochPredFailure` - * `ShelleyMirPredFailure` - * `ShelleyNewEpochPredFailure` - * `ShelleyPoolreapPredFailure` - * `ShelleyRupdPredFailure` - * `ShelleySnapPredFailure` - * `ShelleyTickPredFailure` - * `ShelleyTickfPredFailure` - * `ShelleyUpecPredFailure` - * `TickTransitionError` - * `UpecPredFailure` + - `ShelleyEpochPredFailure` + - `ShelleyMirPredFailure` + - `ShelleyNewEpochPredFailure` + - `ShelleyPoolreapPredFailure` + - `ShelleyRupdPredFailure` + - `ShelleySnapPredFailure` + - `ShelleyTickPredFailure` + - `ShelleyTickfPredFailure` + - `ShelleyUpecPredFailure` + - `TickTransitionError` + - `UpecPredFailure` * Remove `withCborRoundTripFailures` * Refactor pool deposits to use `StakePoolState`. #5234 - * Update `Pool` rule to store deposits in individual `StakePoolState` records - * Add and export `prUTxOStateL`, `prChainAccountStateL`, and `prCertStateL` lenses for `ShelleyPoolreapState` - * Update genesis stake pool registration to use `mempty` deposits for initial pools per specification - * Remove `epochStatePoolParamsL` lens. - * Remove `psDepositsL` as no longer necessary. + - Update `Pool` rule to store deposits in individual `StakePoolState` records + - Add and export `prUTxOStateL`, `prChainAccountStateL`, and `prCertStateL` lenses for `ShelleyPoolreapState` + - Update genesis stake pool registration to use `mempty` deposits for initial pools per specification + - Remove `epochStatePoolParamsL` lens. + - Remove `psDepositsL` as no longer necessary. * Add `hardforkConwayDisallowDuplicatedVRFKeys` * Add `VRFKeyHashAlreadyRegistered` to `ShelleyPoolPredFailure` type * Add `NFData` for `NominalDiffTimeMicro`, `ShelleyGenesisStaking` and `ShelleyGenesis` * Deprecate `PoolParams` in favor of `StakePoolState`. #5196 - * Deprecate the API `getPoolParameters` in favor of `getStakePools`. - * Deprecate the lens `epochStatePoolParamsL` in favor of `epochStateStakePoolsL`. - * Rename - * `psStakePoolParamsL` to `psStakePoolsL` - * `psFutureStakePoolParamsL` to `psFutureStakePoolsL` + - Deprecate the API `getPoolParameters` in favor of `getStakePools`. + - Deprecate the lens `epochStatePoolParamsL` in favor of `epochStateStakePoolsL`. + - Rename + + `psStakePoolParamsL` to `psStakePoolsL` + + `psFutureStakePoolParamsL` to `psFutureStakePoolsL` * Add `mkBasicBlockBodyShelley` and `txSeqBlockBodyShelleyL` to use in Allegra and Mary. * Add `Default` instance for `NewEpochState` * Remove `epochStateUMapL`, `unifiedL`, `rewards`, `delegations`, `ptrsMap` and `dsUnifiedL` @@ -38,36 +38,36 @@ * Add `ShelleyAccounts`, `ShelleyAccountState`, `shelleyAddAccountState`, `registerShelleyAccount` and ` unregisterShelleyAccount` * Rename `registerInitialFundsThenStaking` to `shelleyRegisterInitialFundsThenStaking` * Deprecate `Cardano.Ledger.Shelley.BlockChain` in favor of `Cardano.Ledger.Shelley.BlockBody`. #5156 - * Rename `ShelleyTxSeq` to `ShelleyBlockBody` + - Rename `ShelleyTxSeq` to `ShelleyBlockBody` * Rename `shelleyEqTxRaw` to `shelleyTxEqRaw` * Add `Generic` instances for `ShelleyBbodyEvent` and `ShelleyLedgersEvent` * Move some hard-fork triggers and export them from `Cardano.Ledger.Shelley` module: - * `aggregateRewards` to `hardforkAllegraAggregateRewards`. - * `allowMIRTransfer` to `hardforkAlonzoAllowMIRTransfer`. - * `validatePoolRewardAccountNetID` to `hardforkAlonzoValidatePoolRewardAccountNetID`. - * `forgoRewardPrefilter` to `hardforkBabbageForgoRewardPrefilter`. - * Delete the `Shelley.HardForks` module. + - `aggregateRewards` to `hardforkAllegraAggregateRewards`. + - `allowMIRTransfer` to `hardforkAlonzoAllowMIRTransfer`. + - `validatePoolRewardAccountNetID` to `hardforkAlonzoValidatePoolRewardAccountNetID`. + - `forgoRewardPrefilter` to `hardforkBabbageForgoRewardPrefilter`. + - Delete the `Shelley.HardForks` module. * Add `disallowUnelectedCommitteeFromVoting` to `Shelley.HardForks`. #5091 - * This tests if the protocol version is greater than 10. + - This tests if the protocol version is greater than 10. * Deprecated `toShelleyGenesisPairs` * Add `ToJSON` and `FromJSON` instances for `FromByronTranslationContext` * Deprecated `toShelleyGenesisPairs` and `toShelleyTransitionConfigPairs` * Removed `toShelleyGenesisPairs` * Remove `ShelleyTxRaw`, `MkShelleyTx`, `segWitTx`, `unsafeConstructTxWithBytes` * Added `Generic` instances for: - * `ShelleyBbodyState` - * `ShelleyScriptsNeeded` + - `ShelleyBbodyState` + - `ShelleyScriptsNeeded` * Remove Bool argument from `auxDataSeqDecoder` * Move to `testlib` `DecCBOR` instances for: `ShelleyTxSeq`, `ShelleyTxRaw`, `ShelleyTx`, `TxBody ShelleyEra`, `ShelleyTxAuxData`, `ShelleyTxWitsRaw`, `ShelleyTxWits`, `MultiSigRaw`, `MultiSig` * Remove `segWitTx` * Add: - * `unlessMajorVersion` - * `whenMajorVersion` - * `whenMajorVersionAtLeast` - * `whenMajorVersionAtMost` - * `cantFollow` - * `majorFollow` - * `minorFollow` + - `unlessMajorVersion` + - `whenMajorVersion` + - `whenMajorVersionAtLeast` + - `whenMajorVersionAtMost` + - `cantFollow` + - `majorFollow` + - `minorFollow` * Remove `CorruptRewardUpdate` predicate failure and replace that check with an assertion. #5007 * Added to `PParams`: `shelleyPParams`, `ppA0`,`ppD`,`ppEMax`,`ppExtraEntropy`,`ppMaxBBSize`,`ppKeyDeposit`,`ppMinFeeA`,`ppMinFeeB`,`ppMinPoolCost` `ppMaxBHSize`,`ppMaxTxSize`,`ppNOpt`,`ppProtocolVersion`,`ppPoolDeposit`,`ppRho`,`ppTau` * Removed from `PParams`: `shelleyCommonPParamsHKDPairs`,`shelleyCommonPParamsHKDPairsV6`,`shelleyCommonPParamsHKDPairsV8` @@ -85,19 +85,19 @@ * Removed `ShelleyPoolreapEnv` (became obsolete) * Removed `shelleyCertVState` from `ShelleyCertState` * Moved `CertState` to `State` module: - * `epochStateRegDRepL` moved to Conway - * `vsDRepsL` moved to Conway - * `vsCommitteeStateL` moved to Conway + - `epochStateRegDRepL` moved to Conway + - `vsDRepsL` moved to Conway + - `vsCommitteeStateL` moved to Conway ### `testlib` * Added `EraSpecificSpec ShelleyEra` instance * Added `EraSpecificSpec` class * Removed `ShelleyEraTxCert` from `ShelleyEraImp`, so added `ShelleyEraTxCert` constraint to: - * `registerStakeCredential` - * `delegateStake` - * `registerRewardAccount` - * `registerPool` + - `registerStakeCredential` + - `delegateStake` + - `registerRewardAccount` + - `registerPool` * Added `withEachEraVersion` * Added `Examples` module with: `LedgerExamples`, `ledgerExamples`, `mkLedgerExamples`, `exampleCerts`,`exampleWithdrawals`, `exampleAuxDataMap`, `exampleNonMyopicRewards`, `exampleCoin`, `examplePayKey`, `exampleStakeKey`, `exampleNewEpochState`, `examplePoolDistr`, `examplePoolParams`, `exampleTxIns`, `exampleProposedPPUpdates`, `exampleByronAddress`, `testShelleyGenesis`, `keyToCredential`, `mkDSIGNKeyPair`, `mkKeyHash`, `mkScriptHash`, `mkWitnessesPreAlonzo`, `seedFromByte`, `seedFromWords` * Add `nativeAlwaysFails`, `nativeAlwaysSucceeds` @@ -109,16 +109,16 @@ * Added `Arbitrary` instance for `TransitionConfig ShelleyEra` * Rename `poolParams` to `freshPoolParams` * Added `ToExpr` instances for: - * `ShelleyScriptsNeeded` - * `ShelleyBbodyState` - * `ShelleyTickPredFailure` - * `ShelleyNewEpochPredFailure` - * `ShelleyEpochPredFailure` - * `ShelleyUpecPredFailure` - * `ShelleyPoolPredFailure` - * `ShelleySnapPredFailure` - * `ShelleyMirPredFailure` - * `ShelleyRupdPredFailure` + - `ShelleyScriptsNeeded` + - `ShelleyBbodyState` + - `ShelleyTickPredFailure` + - `ShelleyNewEpochPredFailure` + - `ShelleyEpochPredFailure` + - `ShelleyUpecPredFailure` + - `ShelleyPoolPredFailure` + - `ShelleySnapPredFailure` + - `ShelleyMirPredFailure` + - `ShelleyRupdPredFailure` * Added `Era` module with `ShelleyEraTest` class ## 1.16.0.0 @@ -138,11 +138,11 @@ `applyBlockNoValidation`) and `applyTickOpts` (in favor `applyTick`). * Disable validation level for `applyTick` * Add `DecCBOR` instances for: - * `ShelleyTxWits` - * `ShelleyTxAuxData` - * `ShelleyTxBody` - * `ShelleyTx` - * `ShelleyTxSeq` + - `ShelleyTxWits` + - `ShelleyTxAuxData` + - `ShelleyTxBody` + - `ShelleyTx` + - `ShelleyTxSeq` * Add `segWitTx` * Rename `segwitTx` to `segWitAnnTx` * Converted `CertState` to a type family @@ -159,11 +159,11 @@ * Made the fields of predicate failures and environments lazy * Changed the type of `sgSecurityParam` to `NonZero Word64` * Following functions now expect a `NonZero Word64` security parameter: - * `startStep` - * `createRUpd` - * `desirability` - * `getTopRankedPools` - * `getTopRankedPoolsVMap` + - `startStep` + - `createRUpd` + - `desirability` + - `getTopRankedPools` + - `getTopRankedPoolsVMap` * Remove `Era era` constraint from `sizeShelleyTxF` and `wireSizeShelleyTxF` * Add `MemPack` instance `ShelleyTxOut` * Deprecate `hashShelleyTxAuxData` @@ -171,27 +171,27 @@ * Deprecate `Shelley` type synonym * Deprecate `PPUpdateEnv` * Remove crypto parametrization from: - * `ShelleyEra` - * `ShelleyGenesisStaking` - * `ShelleyGenesis` - * `IncrementalStake` - * `NonMyopic` - * `RewardProvenancePool`, `RewardProvenance` - * `RewardAns`, `RewardUpdate`, `RewardSnapShot`, `FreeVars`, `RewardPulser`, `PulsingRewUpdate` - * `PulsingRewUpdate`, `PoolRewardInfo` - * `FromByronTranslationContext` - * `GenesisDelegCert`, `MIRTarget`, `MIRCert`, `ShelleyDelegCert` + - `ShelleyEra` + - `ShelleyGenesisStaking` + - `ShelleyGenesis` + - `IncrementalStake` + - `NonMyopic` + - `RewardProvenancePool`, `RewardProvenance` + - `RewardAns`, `RewardUpdate`, `RewardSnapShot`, `FreeVars`, `RewardPulser`, `PulsingRewUpdate` + - `PulsingRewUpdate`, `PoolRewardInfo` + - `FromByronTranslationContext` + - `GenesisDelegCert`, `MIRTarget`, `MIRCert`, `ShelleyDelegCert` ### `testlib` * Renamed: - * `lookupKeyPair` -> `getKeyPair` - * `lookupByronKeyPair` -> `getByronKeyPair` - * `tryLookupReward` -> `lookupReward` - * `lookupReward` -> `getReward` - * `lookupImpRootTxOut` -> `getImpRootTxOut` - * `impGetNativeScript` -> `impLookupNativeScript` - * `impLookupUTxO` -> `impGetUTxO` + - `lookupKeyPair` -> `getKeyPair` + - `lookupByronKeyPair` -> `getByronKeyPair` + - `tryLookupReward` -> `lookupReward` + - `lookupReward` -> `getReward` + - `lookupImpRootTxOut` -> `getImpRootTxOut` + - `impGetNativeScript` -> `impLookupNativeScript` + - `impLookupUTxO` -> `impGetUTxO` * Converted `CertState` to a type family * Add `disableImpInitExpectLedgerRuleConformance`. #4821 @@ -200,12 +200,12 @@ * Change param of `PoolRank.desirability` to `Word16` * Change type of `nOpt` in `RewardParams` to `Word16` * Add lenses for `LedgerEnv`. #4748 - * `ledgerSlotNoL` - * `ledgerEpochNoL` - * `ledgerIxL` - * `ledgerPpL` - * `ledgerAccountL` - * `ledgerMempoolL` + - `ledgerSlotNoL` + - `ledgerEpochNoL` + - `ledgerIxL` + - `ledgerPpL` + - `ledgerAccountL` + - `ledgerMempoolL` * Change `PoolEnv` to take `EpochNo` instead of `SlotNo` * Add `EpochNo` to `DelplEnv` * Add `Maybe EpochNo` to `LedgerEnv` @@ -235,19 +235,19 @@ * Change type of VRF key hash in `GenesisDelegCert`, `GenesisDelegTxCert` and `DuplicateGenesisVRFDELEG` to `VRFVerKeyHash` * Added `EncCBOR` instance for `LedgerEnv` * Use `Mismatch` to clarify *some more* predicate failures. #4711 - * `Shelley/InsufficientForInstantaneousRewardsDELEG` - * `Shelley/MIRCertificateTooLateinEpochDELEG` - * `Shelley/InsufficientForTransferDELEG` - * `Shelley/ExpiredUTxO` - * `Shelley/ValueNotConservedUTxO` + - `Shelley/InsufficientForInstantaneousRewardsDELEG` + - `Shelley/MIRCertificateTooLateinEpochDELEG` + - `Shelley/InsufficientForTransferDELEG` + - `Shelley/ExpiredUTxO` + - `Shelley/ValueNotConservedUTxO` ### `testlib` * Changed the return type of `iteExpectLedgerRuleConformance` * Add `runSTS` * Add `iteExpectLedgerRuleConformance` to `ImpTestEnv` for additionally checking conformance with ImpTests. #4748 - * Add lens `iteExpectLedgerRuleConformanceL`. - * Add `modifyImpInitExpectLedgerRuleConformance`. + - Add lens `iteExpectLedgerRuleConformanceL`. + - Add `modifyImpInitExpectLedgerRuleConformance`. * Added `tryLookupReward` * Switch to using `ImpSpec` package * Remove: `runImpTestM`, `runImpTestM_`, `evalImpTestM`, `execImpTestM`, `runImpTestGenM`, `runImpTestGenM_`, `evalImpTestGenM`, `execImpTestGenM`, `withImpState` and `withImpStateModified`. @@ -259,11 +259,11 @@ * Added `expectUTxOContent` * Added `disableTreasuryExpansion` * Added a `MonadFail` constraint to two methods of `ShelleyEraImp`: - * `initGenesis` - * `initNewEpochState` + - `initGenesis` + - `initNewEpochState` * Added a `MonadFail` constraint to: - * `defaultInitNewEpochState` - * `defaultInitImpTestState` + - `defaultInitNewEpochState` + - `defaultInitImpTestState` * Added `logText` * Added `ToExpr` instance for `LedgerEnv` * Added `tryRunImpRuleNoAssertions` to `ImpTest` @@ -276,15 +276,15 @@ * Remove `ShelleyNewppPredFailure`. #4649 * Change predicate-failures and their serialization to use the `Mismatch` type to report supplied and expected values. #4649 - * `MaxTxSizeUTxO` - * `FeeTooSmallUTxO` - * `WrongBlockBodySizeBBODY` - * `InvalidBodyHashBBODY` - * `ConflictingMetadataHash` - * `StakePoolRetirementWrongEpochPOOL` - * `StakePoolCostTooLowPOOL` - * `WrongNetworkPOOL` - * `NonGenesisUpdatePPUP` + - `MaxTxSizeUTxO` + - `FeeTooSmallUTxO` + - `WrongBlockBodySizeBBODY` + - `InvalidBodyHashBBODY` + - `ConflictingMetadataHash` + - `StakePoolRetirementWrongEpochPOOL` + - `StakePoolCostTooLowPOOL` + - `WrongNetworkPOOL` + - `NonGenesisUpdatePPUP` * Deprecated `applyTxs` and `applyTxsTransition` in `Mempool` * Replaced `applyTx` in `ApplyTx` class with `applyTxOpts` * Added and exposed `applyTx` in `Mempool` @@ -292,8 +292,8 @@ * Added `registerStakeCredential` and `delegateStake` to `ImpTest` * Remove protocol version argument from `mkShelleyGlobals` (`maxMajorPV` was removed from `Globals`) * Added `EncCBOR` instances for: - * `UtxoEnv` - * `CertEnv` + - `UtxoEnv` + - `CertEnv` * Expose `ptrMapL` ### `testlib` @@ -343,16 +343,16 @@ * Introduce `ShelleyEraScript` class * Add `ShelleyEraScript` for `ShelleyEra` * Replace patterns within `MultiSig` with `ShelleyEraScript`-constrained ones: - * `RequireSignature` - * `RequireAllOf` - * `RequireAnyOf` - * `RequireMOf` + - `RequireSignature` + - `RequireAllOf` + - `RequireAnyOf` + - `RequireMOf` * Change signatures of `evalMultiSig` and `validateMultiSig`: - * replace `Era` constraint with `ShelleyEraScript` - * replace `MultiSig` with `NativeScript` + - replace `Era` constraint with `ShelleyEraScript` + - replace `MultiSig` with `NativeScript` * Add `Inject` instances for: - * `UTxOState` - * `UtxoEnv` + - `UTxOState` + - `UtxoEnv` ### `testlib` @@ -360,8 +360,8 @@ * Add `ToExpr` for `PoolEnv`. * Add `withCborRoundTripFailures` * Change signatures of `Arbitrary` instances for `MultiSig`: - * replace `Era` constraint with `ShelleyEraScript` - * add `NativeScript era ~ MultiSig era` constraint + - replace `Era` constraint with `ShelleyEraScript` + - add `NativeScript era ~ MultiSig era` constraint ## 1.11.0.0 @@ -374,10 +374,10 @@ * Export `impNESL` instead of of `impNESG` from `ImpTest` * Replace `initImpNES` with `initImpTestState` and change its return type to MonadState * Add functions to Shelley `ImpTest`: - * `withFixup` - * `withCustomFixup` - * `withPreFixup` - * `withPostFixup` + - `withFixup` + - `withCustomFixup` + - `withPreFixup` + - `withPostFixup` * Add `ToExpr` and `NFData` instances for `UtxoEnv` * Stop fixing up multi assets in the transaction. * Change how quickcheck generator is initialized in `runImpTestM` and others derived from it. @@ -388,26 +388,26 @@ * Remove the `missingScriptsSymmetricDifference` function * Add `NFData` instance for `AdaPots`, `ShelleyDelegEvent` * Add `Generic`, `Eq` and `NFData` instances for: - * `ShelleyDelegsEvent` - * `ShelleyDelplEvent` - * `ShelleyEpochEvent` - * `ShelleyLedgerEvent` - * `ShelleyMirEvent` - * `ShelleyNewEpochEvent` - * `PoolEvent` - * `PoolReap` - * `PpupEvent` - * `RupdEvent` - * `SnapEvent` - * `ShelleyTickEvent` - * `UtxoEvent` - * `ShelleyUtxowEvent` + - `ShelleyDelegsEvent` + - `ShelleyDelplEvent` + - `ShelleyEpochEvent` + - `ShelleyLedgerEvent` + - `ShelleyMirEvent` + - `ShelleyNewEpochEvent` + - `PoolEvent` + - `PoolReap` + - `PpupEvent` + - `RupdEvent` + - `SnapEvent` + - `ShelleyTickEvent` + - `UtxoEvent` + - `ShelleyUtxowEvent` * Rename `NewEpoch` constructor of `ShelleyDelegEvent` to `DelegNewEpoch` * Rename `ShelleyGovState` fields: - * `proposals` to `sgsCurProposals` - * `futureProposals` to `sgsFutureProposals` - * `sgovPp` to `sgsCurPParams` - * `sgovPrevPp` to `sgsPrevPParams` + - `proposals` to `sgsCurProposals` + - `futureProposals` to `sgsFutureProposals` + - `sgovPp` to `sgsCurPParams` + - `sgovPrevPp` to `sgsPrevPParams` * Change `UPEC` environment to `LedgerState` * Rename `currentPp` to `usCurPParams` and `ppupState` to `usGovState` * Change `ApplyTxError`, `TickTransitionError` and `BlockTransitionError` @@ -420,7 +420,7 @@ * Add instances for `InjectRuleFailure` and switch to using `injectFailure` * Remove `poolCertTransition` * Remove `getDRepDistr`, `getConstitution` and `getCommitteeMembers` from `EraGov` #4033 - * Move `Constitution` to `Conway.Governance.Procedures` + - Move `Constitution` to `Conway.Governance.Procedures` * Deprecated `keyBy` * Add `getShelleyMinFeeTxUtxo` * Add implementation for `getMinFeeTxUtxo` @@ -439,20 +439,20 @@ ### `testlib` * Add `ToExpr` instances for: - * `ShelleyDelegsEvent` - * `ShelleyDelplEvent` - * `ShelleyEpochEvent` - * `ShelleyLedgerEvent` - * `ShelleyMirEvent` - * `ShelleyNewEpochEvent` - * `PoolEvent` - * `PoolReap` - * `PpupEvent` - * `RupdEvent` - * `SnapEvent` - * `ShelleyTickEvent` - * `UtxoEvent` - * `ShelleyUtxowEvent` + - `ShelleyDelegsEvent` + - `ShelleyDelplEvent` + - `ShelleyEpochEvent` + - `ShelleyLedgerEvent` + - `ShelleyMirEvent` + - `ShelleyNewEpochEvent` + - `PoolEvent` + - `PoolReap` + - `PpupEvent` + - `RupdEvent` + - `SnapEvent` + - `ShelleyTickEvent` + - `UtxoEvent` + - `ShelleyUtxowEvent` * Add `SomeSTSEvent` * Replaced `small-steps-test` dependency with `small-steps:testlib` * Change `submitFailingTx`, `tryRunImpRule` and `trySubmitTx` @@ -465,22 +465,22 @@ * Adjust `sendCointTo` and `sendValueTo` to return `TxIn` * Added `ToExpr` instance for `ShelleyTxAuxDataRaw` * Add: - * `PlutusArgs` - * `ScriptTestContext` - * `shelleyFixupTx` - * `impGetScriptTestContext` - * `impGetScriptContextMaybe` - * `updateAddrTxWits` - * `addNativeScriptTxWits` - * `addRootTxIn` - * `fixupFees` - * `logFeeMismatch` - * `impScriptsL` - * `impNativeScriptsG` + - `PlutusArgs` + - `ScriptTestContext` + - `shelleyFixupTx` + - `impGetScriptTestContext` + - `impGetScriptContextMaybe` + - `updateAddrTxWits` + - `addNativeScriptTxWits` + - `addRootTxIn` + - `fixupFees` + - `logFeeMismatch` + - `impScriptsL` + - `impNativeScriptsG` * Add: - * `expectRegisteredRewardAddress` - * `expectNotRegisteredRewardAddress` - * `expectTreasury` + - `expectRegisteredRewardAddress` + - `expectNotRegisteredRewardAddress` + - `expectTreasury` * Add `ToExpr` instances for `AdaPots` and `Obligations` ## 1.9.0.0 @@ -505,9 +505,9 @@ `Cardano.Ledger.Shelley.Core`. * Deprecated unused `hashMultiSigScript`, `txwitsScript` * Delete deprecated modules: - * `Cardano.Ledger.Shelley.Orphans` - * `Cardano.Ledger.Shelley.Delegation.PoolParams` - * `Cardano.Ledger.Shelley.LedgerState.RefundsAndDeposits` + - `Cardano.Ledger.Shelley.Orphans` + - `Cardano.Ledger.Shelley.Delegation.PoolParams` + - `Cardano.Ledger.Shelley.LedgerState.RefundsAndDeposits` * Remove deprecated functions: `updateTxBodyG`, `totalCertsDeposits`, `totalCertsDepositsCertState`, `totalTxRefundsShelley`, `keyCertsRefunds`, `keyCertsRefundsCertState`, `totalTxDeposits`, `totalTxDepositsShelley` `minfee`, @@ -583,29 +583,29 @@ * Remove `validateDelegationRegistered` in favor of a new and more specific validating function `validateStakePoolDelegateeRegistered`. * Add `ToExpr` instances for: - * `ShelleyDelegPredFailure` - * `ShelleyDelegsPredFailure` - * `ShelleyDelplPredFailure` - * `ShelleyEpochPredFailure` - * `ShelleyLedgerPredFailure` - * `ShelleyPpupPredFailure` - * `ShelleyUtxoPredFailure` - * `VotingPeriod` + - `ShelleyDelegPredFailure` + - `ShelleyDelegsPredFailure` + - `ShelleyDelplPredFailure` + - `ShelleyEpochPredFailure` + - `ShelleyLedgerPredFailure` + - `ShelleyPpupPredFailure` + - `ShelleyUtxoPredFailure` + - `VotingPeriod` * Add `NFData` instances for: - * `ShelleyMirPredFailure` - * `ShelleyNewEpochPredFailure` - * `ShelleyNewppPredFailure` - * `ShelleyPoolreapPredFailure` - * `ShelleySnapPredFailure` - * `ShelleyUpecPredFailure` + - `ShelleyMirPredFailure` + - `ShelleyNewEpochPredFailure` + - `ShelleyNewppPredFailure` + - `ShelleyPoolreapPredFailure` + - `ShelleySnapPredFailure` + - `ShelleyUpecPredFailure` * Add `epochStateGovStateL` * Add `shelleyCommonPParamsHKDPairsV8` * Add `ToExpr` instances for: - * `ShelleyPoolPredFailure` - * `ShelleyUtxowPredFailure` + - `ShelleyPoolPredFailure` + - `ShelleyUtxowPredFailure` * Add `NFData` instance for: - * `ShelleyRupdPredFailure` - * `ShelleyTickPredFailure` + - `ShelleyRupdPredFailure` + - `ShelleyTickPredFailure` * Rename `validateFailedScripts` to `validateFailedNativeScripts` and change its arguments. * Change type of `validateMissingScripts` @@ -619,10 +619,10 @@ ## 1.6.1.0 * Add `ToExpr` instance for: - * `Update` - * `ShelleyTx` - * `ShelleyTxBody` - * `ShelleyTxWits` + - `Update` + - `ShelleyTx` + - `ShelleyTxBody` + - `ShelleyTxWits` * Add `Generic` instance for `ShelleyTx` * Add `Memoized` instance for `ShelleyTx` * Introduce `Cardano.Ledger.Shelley.Transition` module with `EraTransition` interface. @@ -634,8 +634,8 @@ * Add `Arbitrary` instance for `Constitution` * `Test.Cardano.Ledger.Shelley.Binary.RoundTrip` module with: - * `roundTripShelleyCommonSpec` - * `roundTripStateEraTypesSpec` + - `roundTripShelleyCommonSpec` + - `roundTripStateEraTypesSpec` ## 1.6.1.0 @@ -671,43 +671,43 @@ * Replace `constitutionHash` with `constitutionAnchor` * Add `upgradeShelleyTxCert` * Rename `*governance*` to `*gov*` #3607 - * `EraGovernance` to `EraGov` - * `GovernanceState` to `GovState` - * `witsVKeyNeededNoGovernance` to `witsVKeyNeededNoGov` - * `witsVKeyNeededGovernance` to `witsVKeyNeededGov` - * `utxosGovernance` to `utxosGovState` + - `EraGovernance` to `EraGov` + - `GovernanceState` to `GovState` + - `witsVKeyNeededNoGovernance` to `witsVKeyNeededNoGov` + - `witsVKeyNeededGovernance` to `witsVKeyNeededGov` + - `utxosGovernance` to `utxosGovState` * Filter out zero valued `TxOut`'s on Byron/Shelley boundary. * Rename `getProducedValue` to `shelleyProducedValue` * Change the constraints on `produced` and `evaluateTransactionBalance` * Add `lsCertStateL` * Make new `Constitution` datatype #3556 - * Adopt some Default instances for example SafeHash + - Adopt some Default instances for example SafeHash * Add new methods to `EraGovernance`: - * `curPParamsGovStateL` - * `prevPParamsGovStateL` + - `curPParamsGovStateL` + - `prevPParamsGovStateL` * Rename `ShelleyPPUPState` to `ShelleyGovState` * Add new fields to `ShelleyGovState`: - * `sgovPp` - * `sgovPrevPp` + - `sgovPp` + - `sgovPrevPp` * Add lenses: - * `proposalsL` - * `futureProposalsL` - * `esAccountStateL` - * `esSnapshotsL` - * `esNonMyopicL` + - `proposalsL` + - `futureProposalsL` + - `esAccountStateL` + - `esSnapshotsL` + - `esNonMyopicL` * Remove `esPrevPp` and `esPp` from `EpochState` * Rename `esPrevPpL` to `prevPParamsEpochStateL` * Rename `esPpL` to `curPParamsEpochStateL` * Swap the order of `esSnapshots` and `esLState` in `EpochState` * Add lenses: - * `lsCertStateL` - * `utxosStakeDistrL` - * `utxosDonationL` - * `utxosUtxoL` - * `utxosDepositedL` - * `esAccountStateL` - * `asTreasuryL` - * `asReservesL` + - `lsCertStateL` + - `utxosStakeDistrL` + - `utxosDonationL` + - `utxosUtxoL` + - `utxosDepositedL` + - `esAccountStateL` + - `asTreasuryL` + - `asReservesL` ## 1.4.2.0 @@ -718,7 +718,7 @@ ## 1.4.1.0 * Add `getConstitutionHash` to `EraGovernance` #3506 - * Also add `nesEpochStateL` to `LedgerState.Types` + - Also add `nesEpochStateL` to `LedgerState.Types` ## 1.4.0.0 @@ -727,9 +727,9 @@ * Changed the signature of `validateNeededWitnesses` * Added `witsVKeyNeededGovernance` and `witsVKeyNeededNoGovernance` * Added protocol version bound to - * `STS (ShelleyUTXOW era)` instance - * `transitionRulesUTXOW` - * `witsVKeyNeeded` + - `STS (ShelleyUTXOW era)` instance + - `transitionRulesUTXOW` + - `witsVKeyNeeded` * Prevent using `getMirTxCert` from being used in eras after Babbage. This also affects all functions that use it * Prevent using `mkGenesisDelegTxCert`, `getGenesisDelegTxCert` and `GenesisDelegTxCert` @@ -744,10 +744,10 @@ `Cardano.Ledger.Shelley.Delegation.PoolParams` modules * Added `Cardano.Ledger.Shelley.TxCert` module * Make `DCert` parameterized on `era` instead of `c`rypto and rename it as `ShelleyTxCert`: - * `DCertDelegCert` -> `ShelleyTxCertDeleg` - * `DCertPool` -> `ShelleyTxCertPool` - * `DCertGenesis` -> `ShelleyTxCertGenesis` - * `DCertMir` -> `ShelleyTxCertMir` + - `DCertDelegCert` -> `ShelleyTxCertDeleg` + - `DCertPool` -> `ShelleyTxCertPool` + - `DCertGenesis` -> `ShelleyTxCertGenesis` + - `DCertMir` -> `ShelleyTxCertMir` * Introduce `TxCert` type family with pattern synonyms and rename the actual `DCert` type into `ShelleyTxCert` * Introduce `ShelleyEraTxCert` type class. @@ -756,17 +756,17 @@ * Add helper functions `shelleyTxCertDelegDecoder`, `commonTxCertDecoder`, `encodeShelleyDelegCert`, `encodePoolCert` and `encodeConstitutionalCert` * Deprecate: - * `RegKey` in favor of `ShelleyRegCert` - * `DeRegKey` in favor of `ShelleyUnRegCert` - * `Delegate` in favor of `ShelleyDelegCert` + - `RegKey` in favor of `ShelleyRegCert` + - `DeRegKey` in favor of `ShelleyUnRegCert` + - `Delegate` in favor of `ShelleyDelegCert` * Addition of `getVKeyWitnessShelleyTxCert` and `getScriptWitnessShelleyTxCert` * Deprecate: - * `extractKeyHashWitnessSet` in favor of `credKeyHashWitness` - * `scriptCred` in favor of `credScriptHash` - * `scriptStakeCred` in favor of `getScriptWitnessTxCert` - * `requiresVKeyWitness` in favor of `getVKeyWitnessTxCert` - * `delegCWitness` - no longer used. - * `propWits` - will become an internal function in the future version + - `extractKeyHashWitnessSet` in favor of `credKeyHashWitness` + - `scriptCred` in favor of `credScriptHash` + - `scriptStakeCred` in favor of `getScriptWitnessTxCert` + - `requiresVKeyWitness` in favor of `getVKeyWitnessTxCert` + - `delegCWitness` - no longer used. + - `propWits` - will become an internal function in the future version * `validateNeededWitnesses` no longer accepts `witsVKeyNeeded` as an argument. * Move `ConstitutionalDelegCert` from `cardano-ledger-core` as `GenesisDelegCert`. * Fixed `NoThunks (ShelleyGenesis c)` instance, as it was incorrectly disallowing thunks in its `sgInitialFunds` and `sgStaking` fields @@ -779,9 +779,9 @@ * Rename `keyCertsRefundsDPState` to `keyCertsRefundsCertState` * Rename `totalCertsDepositsDPState` to `totalCertsDepositsCertState` * Added new functions to `DELEGS` rule - * `drainWithdrawals` - * `validateZeroRewards` - * `validateDelegationRegistered` + - `drainWithdrawals` + - `validateZeroRewards` + - `validateDelegationRegistered` ## 1.1.1.0 @@ -791,29 +791,29 @@ * Added a default implementation for `emptyGovernanceState` * Added lenses: - * `esAccountStateL` - * `esSnapshotsL` - * `esLStateL` - * `esPrevPpL` - * `esPpL` - * `esNonMyopicL` - * `lsUTxOState` - * `lsDPState` - * `utxosUtxo` - * `utxosDeposited` - * `utxosFees` - * `utxosGovernance` - * `utxosStakeDistr` + - `esAccountStateL` + - `esSnapshotsL` + - `esLStateL` + - `esPrevPpL` + - `esPpL` + - `esNonMyopicL` + - `lsUTxOState` + - `lsDPState` + - `utxosUtxo` + - `utxosDeposited` + - `utxosFees` + - `utxosGovernance` + - `utxosStakeDistr` * Added `ToJSON` instance for `ShelleyTxOut` * Added `ToJSON` instance for `AlonzoPParams StrictMaybe` * Added `ToJSON (GovernanceState era)` superclass constraint for `EraGovernance` * Added `ToJSON` instance for: - * `ShelleyTxOut` - * `AlonzoPParams StrictMaybe` - * `ProposedPPUpdates` and `ShelleyPPUPState` - * `AccountState`, `EpochState`, `UTxOState`, `IncrementalStake` and `LedgerState` - * `Likelihood` and `NonMyopic` - * `RewardUpdate` and `PulsingRewUpdate` + - `ShelleyTxOut` + - `AlonzoPParams StrictMaybe` + - `ProposedPPUpdates` and `ShelleyPPUPState` + - `AccountState`, `EpochState`, `UTxOState`, `IncrementalStake` and `LedgerState` + - `Likelihood` and `NonMyopic` + - `RewardUpdate` and `PulsingRewUpdate` * Added of `ToJSON`/`FromJSON` instances for `LogWeight` * Change `totalCertsDeposits` to accept a function that checks for registered pools, rather than the `DPState`. Use `totalCertsDepositsDPState` for the previous behavior diff --git a/libs/cardano-ledger-api/CHANGELOG.md b/libs/cardano-ledger-api/CHANGELOG.md index be19b6d1b47..53d80f749b4 100644 --- a/libs/cardano-ledger-api/CHANGELOG.md +++ b/libs/cardano-ledger-api/CHANGELOG.md @@ -31,10 +31,10 @@ * Expose new `TxAuxDataHash` and deprecate old `AuxiliaryDataHash` * Stop re-exporting `Crypto` and `StandardCrypto`, since they have been moved to `cardano-protocol-tpraos` * Removal of crypto parametrization: - * `LatestKnownEra` - * `HotCredAuthStatus` and `CommitteeMemberState` - * `DecAddr` - * Many other re-exported types. See individual packages for changelog + - `LatestKnownEra` + - `HotCredAuthStatus` and `CommitteeMemberState` + - `DecAddr` + - Many other re-exported types. See individual packages for changelog * Add `unRedeemersL`, `unTxDatsL` ## 1.10.0.0 @@ -131,17 +131,17 @@ * Add `LatestKnownEra` * Add `Cardano.Ledger.Api.Transition` module * Add the dormant-epochs counter to `DRep` expiry in `queryDRepState` #3729 - * If it is not zero. + - If it is not zero. * Rename: - * `GovActionsState` to `GovSnapshots` - * `cgGovActionsStateL` to `cgGovSnapshotsL` + - `GovActionsState` to `GovSnapshots` + - `cgGovActionsStateL` to `cgGovSnapshotsL` * Add `lookupRegStakeTxCert` and `lookupUnRegStakeTxCert` * Add `isRegStakeTxCert` and `isUnRegStakeTxCert` ## 1.5.0.0 * Add one more parameter to `evalBalanceTxBody` #3688 - * `Credential 'DRepRole (EraCrypto era) -> Maybe Coin` + - `Credential 'DRepRole (EraCrypto era) -> Maybe Coin` * Add `cgEnactStateL` ## 1.4.0.0 @@ -156,9 +156,9 @@ * Add `upgradeTxAuxData` function to `EraTxAuxData` * Add `upgradeTxCert` function and `TxCertUpgradeError` family to `EraTxCert` * Export: - * Procedures: `VotingProcedure`, `VotingProcedures` and `ProposalProcedure` - * Constitution: `Constitution`, `constitutionHashL` and `constitutionScriptL` - * GovActions: `GovActionPurpose`, `PrevGovActionId`, `govActionIdToText`, + - Procedures: `VotingProcedure`, `VotingProcedures` and `ProposalProcedure` + - Constitution: `Constitution`, `constitutionHashL` and `constitutionScriptL` + - GovActions: `GovActionPurpose`, `PrevGovActionId`, `govActionIdToText`, `PrevGovActionId` and `GovActionPurpose` * Add optional `PrevGovActionId` to `ParameterChange`, `HardForkInitiation`, `NoConfidence`, `NewCommittee` and `NewConstitution` governance actions. @@ -187,7 +187,7 @@ * Add support for Plutus V3 * Start on `Cardano.Ledger.Api.State.Query` interface: - * Add `filterStakePoolDelegsAndRewards` and `queryStakePoolDelegsAndRewards` + - Add `filterStakePoolDelegsAndRewards` and `queryStakePoolDelegsAndRewards` ### `testlib` @@ -219,9 +219,9 @@ `Tag`. * Export from `Cardano.Ledger.Api.Scripts`: `CostModels` and `ValidityInterval`. * Export from `Cardano.Ledger.Api.Era`: - * `Era` - * `ByronEra` - * Protocol version related functionality: `eraProtVerHigh`, `eraProtVerLow`, + - `Era` + - `ByronEra` + - Protocol version related functionality: `eraProtVerHigh`, `eraProtVerLow`, `AtLeastEra`, `AtMostEra`, `ExactEra`, `ProtVerAtLeast`, `ProtVerAtMost`, `ProtVerInBounds`, `atLeastEra` and `atMostEra` * Move `Cardano.Ledger.Alonzo.Tools` module from `cardano-ledegr-alonzo` into diff --git a/libs/cardano-ledger-binary/CHANGELOG.md b/libs/cardano-ledger-binary/CHANGELOG.md index 22b15fe5370..f8e85966972 100644 --- a/libs/cardano-ledger-binary/CHANGELOG.md +++ b/libs/cardano-ledger-binary/CHANGELOG.md @@ -17,9 +17,9 @@ * Add `mapCoder` as a replacement for `fmap` * Remove `Functor` and `Applicative` instance for `Decode` * Add to `Plain`: - * `assertTag` - * `decodeTagMaybe` - * `encodeRatioWithTag`, + - `assertTag` + - `decodeTagMaybe` + - `encodeRatioWithTag`, * Add `DecCBOR` instance for `Data.IntMap` * Add `decodeIntMap` * Add `ToCBOR` instance for `PV1.Data` @@ -40,8 +40,8 @@ * Add `getOriginalBytes` * `toPlainDecoder` now optionally expects one extra argument for the original `ByteString` * Extend `Coders` to accommodate `{Enc|Dec}CBORGroup`. #4666 - * Add `ToGroup` to `Encode` - * Add `FromGroup` to `Decode` + - Add `ToGroup` to `Encode` + - Add `FromGroup` to `Decode` * Add `{Enc|Dec}CBORGroup` instance for `(a, a)`. #4666 ### `testlib` @@ -53,11 +53,11 @@ ### `testlib` * Add: - * `decoderEquivalenceSpec` - * `decoderEquivalenceExpectation` - * `decoderEquivalenceProp` - * `cddlDecoderEquivalenceSpec` - * `huddleDecoderEquivalenceSpec` + - `decoderEquivalenceSpec` + - `decoderEquivalenceExpectation` + - `decoderEquivalenceProp` + - `cddlDecoderEquivalenceSpec` + - `huddleDecoderEquivalenceSpec` * Re-export types `Doc` and `AnsiStyle` in `Test.Cardano.Ledger.Binary.TreeDiff` * `diffExpr` and `diffExprCompact` changed type signature * Add `diffExprString` and `diffExprCompactString`, which replace the old implementations @@ -84,10 +84,10 @@ ### `testlib` * Re-export: - * `Pretty` - * `ansiWlPretty` - * `ppEditExpr` - * `ediff` + - `Pretty` + - `ansiWlPretty` + - `ppEditExpr` + - `ediff` ## 1.3.2.0 @@ -136,8 +136,8 @@ ## 1.1.3.0 * Add `ToExpr` instance for: - * `Sized` - * `SignedDSIGN` + - `Sized` + - `SignedDSIGN` * Add `Generic` instance for `CompactValue` * Add `fieldGuarded` to be able to conditionally construct a `Field` #3712 * Expose `showDecoderError` from `Cardano.Ledger.Binary.Plain` @@ -187,13 +187,13 @@ * Add `Arbitrary` instance for `Term` * Renamed: - * `roundTripAnnFailureRangeExpectation` -> `roundTripAnnRangeFailureExpectation` - * `roundTripFailureCborRangeExpectation` -> `roundTripCborRangeFailureExpectation` - * `roundTripAnnFailureRangeExpectation` -> `roundTripAnnRangeFailureExpectation` + - `roundTripAnnFailureRangeExpectation` -> `roundTripAnnRangeFailureExpectation` + - `roundTripFailureCborRangeExpectation` -> `roundTripCborRangeFailureExpectation` + - `roundTripAnnFailureRangeExpectation` -> `roundTripAnnRangeFailureExpectation` * Added: - * `embedTripFailureExpectation` - * `embedTripRangeFailureExpectation` - * `roundTripRangeFailureExpectation` + - `embedTripFailureExpectation` + - `embedTripRangeFailureExpectation` + - `roundTripRangeFailureExpectation` ## 1.0.0.0 diff --git a/libs/cardano-ledger-core/CHANGELOG.md b/libs/cardano-ledger-core/CHANGELOG.md index f8ee11e7309..1944d10be28 100644 --- a/libs/cardano-ledger-core/CHANGELOG.md +++ b/libs/cardano-ledger-core/CHANGELOG.md @@ -7,13 +7,13 @@ `eraName` type class function. * Changed `sizeTxF` and `sizeTxForFeeCalculation` to use `Word32` * Move pool deposits from `PState` into `StakePoolState`. #5234 - * Add `spsDeposit` field to `StakePoolState` - * Remove `psDeposits` field from `PState` data constructor - * Update `mkStakePoolState` to take deposit parameter as first argument - * Remove `psDepositsL` as no longer necessary. - * Remove `payPoolDeposit` and `refundPoolDeposit` functions as they are no longer necessary - * Update `EncCBOR`/`DecCBOR` instances for `PState` to handle new structure - * Add lenses for `StakePoolState` fields + - Add `spsDeposit` field to `StakePoolState` + - Remove `psDeposits` field from `PState` data constructor + - Update `mkStakePoolState` to take deposit parameter as first argument + - Remove `psDepositsL` as no longer necessary. + - Remove `payPoolDeposit` and `refundPoolDeposit` functions as they are no longer necessary + - Update `EncCBOR`/`DecCBOR` instances for `PState` to handle new structure + - Add lenses for `StakePoolState` fields * Add `psVRFKeyHashes` to `PState` * Add `psVRFKeyHashesL` * Deprecate `costModelParamsCount` in favor of `costModelInitParamCount` @@ -21,12 +21,12 @@ * Export `credToDRep` and `dRepToCred` * Add `ppVrfL`, `ppCostL`, `ppMetadataL`, `spsVrfL` to `StakePool` module * Deprecate `PoolParams` in favor of `StakePoolState`. #5196 - * Move the `PoolParams` module to `Cardano.Ledger.State.StakePool` and export from there. - * Add the `StakePoolState` data type to the new module. - * Reexport `PoolParams` from its original module and deprecate it. - * Replace `PoolParams` with `StatekPoolState` in `PState` and rename the fields and lenses. - * `psStakePoolParams(L)` to `psStakePools(L)`, and - * `psFutureStakePoolParams(L)` to `psFutureStakePools(L)`. + - Move the `PoolParams` module to `Cardano.Ledger.State.StakePool` and export from there. + - Add the `StakePoolState` data type to the new module. + - Reexport `PoolParams` from its original module and deprecate it. + - Replace `PoolParams` with `StatekPoolState` in `PState` and rename the fields and lenses. + + `psStakePoolParams(L)` to `psStakePools(L)`, and + + `psFutureStakePoolParams(L)` to `psFutureStakePools(L)`. * Add `mkGenesisWith` * Add `NFData` instance for `NoGenesis` * Require `Eq`, `Show`, `Typeable`, `ToCBOR`, `FromCBOR`, `ToJSON`, `FromJSON`, `NFData` for every `Genesis` type. @@ -42,10 +42,10 @@ * Add `CanGetAccounts`, `CanSetAccounts`, `EraAccounts`, `lookupAccountState`, `updateLookupAccountState`, `isAccountRegistered`, `adjustAccountState`, `lookupStakePoolDelegation`, `sumBalancesAccounts`, `sumDepositsAccounts`, `addToBalanceAccounts`, `withdrawalsThatDoNotDrainAccounts`, `drainAccounts`, `removeStakePoolDelegations` * Add `mkInlineDatum`, `mkHashedDatum` * Rename `EraSegWits` to `EraBlockBody`. #5156 - * Rename `TxSeq` to `BlockBody` - * Add `mkBasicBlockBody` - * Deprecate `fromTxSeq` and `toTxSeq` in favour of the `txSeqBlockBodyL` lens - * Deprecate `hashTxSeq` in favour of `hashBlockBody` + - Rename `TxSeq` to `BlockBody` + - Add `mkBasicBlockBody` + - Deprecate `fromTxSeq` and `toTxSeq` in favour of the `txSeqBlockBodyL` lens + - Deprecate `hashTxSeq` in favour of `hashBlockBody` * Replaced `hkdPoolDepositL` method with `hkdPoolDepositCompactL` * Add `ppPoolDepositCompactL` and `ppuPoolDepositCompactL` * Add `standardHashSize` and `standardAddrHashSize` @@ -75,14 +75,14 @@ * Remove `delegators` field from JSON serialiser for `DRepState` for correct round-tripping. #5004 * Change `TxBody` to an associated `data` family * Remove `HeapWords` instances for: #5001 - * `Coin` - * `DeltaCoin` - * `CompactFormCoin` - * `CompactFormDeltaCoin` - * `SafeHash` - * `StrictMaybe DataHash` - * `TxId` - * `TxIn` + - `Coin` + - `DeltaCoin` + - `CompactFormCoin` + - `CompactFormDeltaCoin` + - `SafeHash` + - `StrictMaybe DataHash` + - `TxId` + - `TxIn` * Add `addCompactCoin` to `Cardano.Ledger.Coin` and deprecate `Cardano.Ledger.UMap.addCompact` in its favor * Move `sumCompactCoin` to `Cardano.Ledger.Coin` @@ -100,8 +100,8 @@ * Removed `upgradeCertState` * Removed `VState` (moved to `cardano-ledger-conway`) and related functions * Removed from `EraCertState` type family: - * `mkCertState` - * `certVStateL` + - `mkCertState` + - `certVStateL` * Moved `CertState` to `State` module * Rename `wvkSig` to `wvkSignature` * Remove `eqBootstrapWitnessRaw` and `BootstrapWitnessRaw` @@ -135,18 +135,18 @@ * Add `EraStake`, `CanGetInstantStake`, `CanSetInstantStake` , `snapShotFromInstantStake`, `resolveActiveInstantStakeCredentials` * Add boolean argument to `fromCborRigorousBothAddr` for lenient `Ptr` decoding * Add `ToCBOR` and `FromCBOR` instances for: - * `BoundedRatio` - * `PositiveUnitInterval` - * `ActiveSlotCoeff` - * `Network` - * `NoGenesis` + - `BoundedRatio` + - `PositiveUnitInterval` + - `ActiveSlotCoeff` + - `Network` + - `NoGenesis` * Move `EraGov` to `Cardano.Ledger.State` from `cardano-ledger-shelley` * Add DecCBOR instances for: - * `PlutusData` - * `Data` - * `BootstrapWitness` - * `WitVKey` - * `Block` + - `PlutusData` + - `Data` + - `BootstrapWitness` + - `WitVKey` + - `Block` * Converted `CertState` to a type family * Remove `applySTSValidateSuchThat` and `applySTSNonStatic` as redundant. * Move `AccountState` to `Cardano.Ledger.State` from `cardano-ledger-shelley` @@ -159,28 +159,28 @@ * Added `ToPlutusData` instance for `NonZero` * `maxpool'` now expects `nOpt` to be a `NonZero Word16` * Add `HasZero` instance for `Coin` together with lifted conversion functions: - * `toCompactCoinNonZero` - * `fromCompactCoinNonZero` - * `unCoinNonZero` - * `toCoinNonZero` - * `compactCoinNonZero` + - `toCompactCoinNonZero` + - `fromCompactCoinNonZero` + - `unCoinNonZero` + - `toCoinNonZero` + - `compactCoinNonZero` * Add `Cardano.Ledger.BaseTypes.NonZero` * Remove `era` type parameter from `MemoBytes` type * Remove `Era era` constraint from: - * `Memo` pattern - * `decodeMemoBytes` - * `DecCBOR (Annotator (MemoBytes t))` instance - * `DecCBOR (MemoBytes t)` instance - * `memoBytes` - * `mkMemoized` - * `lensMemoRawType` - * `Data` pattern - * `dataToBinaryData` + - `Memo` pattern + - `decodeMemoBytes` + - `DecCBOR (Annotator (MemoBytes t))` instance + - `DecCBOR (MemoBytes t)` instance + - `memoBytes` + - `mkMemoized` + - `lensMemoRawType` + - `Data` pattern + - `dataToBinaryData` * Introduce `mkMemoizedEra` and `memoBytesEra` * Add `Version` parameter to: - * `memoBytes` - * `mkMemoized` - * `lensMemoRawType` + - `memoBytes` + - `mkMemoized` + - `lensMemoRawType` * Remove `era` type parameter from `Mem` type * Reduce the kind of `MemoHashIndex` type family parameter to a concrete type * Reduce the kind of `RawType` type to a concrete type @@ -205,11 +205,11 @@ * Deprecate `Hash`, `SignedDSIGN` and `SignKeyDSIGN` type synonyms. * Deprecate `hashSignature` in favor of new `hashTxBodySignature` * Move into `Cardano.Ledger.Hashes`: - * `HASH` and `ADDRHASH` - * `KeyHash` and `HashKey` - * `SafeHash`, `SafeToHash`, `HashAnnotated`, `castSafeHash` and `extractHash`. - * `KeyRoleVRF`, `VRFVerKeyHash`, `toVRFVerKeyHash`, `fromVRFVerKeyHash` - * `GenDelegPair` and `GenDelegs` + - `HASH` and `ADDRHASH` + - `KeyHash` and `HashKey` + - `SafeHash`, `SafeToHash`, `HashAnnotated`, `castSafeHash` and `extractHash`. + - `KeyRoleVRF`, `VRFVerKeyHash`, `toVRFVerKeyHash`, `fromVRFVerKeyHash` + - `GenDelegPair` and `GenDelegs` * Re-export `KeyRole` from `Cardano.Ledger.Hashes`. * Re-export some of the new additions to `Cardano.Ledger.Hashes` from `Cardano.Ledger.Core`. * Remove `GenesisCredential` as unused. @@ -217,26 +217,26 @@ them into type synonyms for the exact algorithms previously being used in `StandardCrypto` * Remove crypto parametrization from types: - * `Addr`, `BootstrapAddress`, `RewardAccount`, `CompactAddr` and `Withdrawals` - * `AuxiliaryDataHash` - * `BlocksMade`, `Anchor` - * `FutureGenDeleg`, `InstantaneousRewards`, `CommitteeAuthorization` - * `ByronEra` and `VoidEra` - * `PoolCert` - * `Credential`, `StakeReference` and `GenesisCredential` - * `DRep` and `DRepState` - * `Stake`, `SnapShot` and `SnapShots` - * `DataHash`, `ScriptHash` - * `BootstrapWitness` - * `VKey`, `KeyHash`, `GenDelegPair`, `GenDelegs`, `VRFVerKeyHash` - * `PlutusWithConext`, `ScriptFailure`, `ScriptResult`, `PlutusDebugInfo` - * `TxOutSource` - * `IndividualPoolStake`, `PoolDistr` - * `PoolParams` - * `Reward` - * `SafeHash` and `SafeToHash` - * `TxId`, `TxIn` - * `UMElem`, `RewardDelegation`, `StakeCredentials`, `UView` and `UMap` + - `Addr`, `BootstrapAddress`, `RewardAccount`, `CompactAddr` and `Withdrawals` + - `AuxiliaryDataHash` + - `BlocksMade`, `Anchor` + - `FutureGenDeleg`, `InstantaneousRewards`, `CommitteeAuthorization` + - `ByronEra` and `VoidEra` + - `PoolCert` + - `Credential`, `StakeReference` and `GenesisCredential` + - `DRep` and `DRepState` + - `Stake`, `SnapShot` and `SnapShots` + - `DataHash`, `ScriptHash` + - `BootstrapWitness` + - `VKey`, `KeyHash`, `GenDelegPair`, `GenDelegs`, `VRFVerKeyHash` + - `PlutusWithConext`, `ScriptFailure`, `ScriptResult`, `PlutusDebugInfo` + - `TxOutSource` + - `IndividualPoolStake`, `PoolDistr` + - `PoolParams` + - `Reward` + - `SafeHash` and `SafeToHash` + - `TxId`, `TxIn` + - `UMElem`, `RewardDelegation`, `StakeCredentials`, `UView` and `UMap` * Remove `HashWithCrypto` as no longer needed. * Deprecate `hashAnchorData` * Change superclass of `Crypto` from `KESAlgorithm` to `UnsoundPureKESAlgorithm` @@ -291,7 +291,7 @@ * Add `VRFVerKeyHash` and `KeyRoleVRF`. * Switch `genDelegVrfHash`, `individualPoolStakeVrf` and `ppVrf` to using `VRFVerKeyHash`. * Add `{Enc|Dec}CBORGroup` instances for `Mismatch`. #4666 - * Add `(un)swapMismatch` to swap `Mismatch` values to preserve serialisation when necessary. + - Add `(un)swapMismatch` to swap `Mismatch` values to preserve serialisation when necessary. * Add `drepDelegsL` ### `testlib` @@ -321,10 +321,10 @@ * Rename `uniformSubset` to `uniformSubSet` * Add `tracedDiscard` * Add re-exported functions that were added in `cardano-ledger-binary-1.4.0.0` - * `ansiExpr` - * `ansiExprString` - * `diffExprString` - * `diffExprCompactString` + - `ansiExpr` + - `ansiExprString` + - `diffExprString` + - `diffExprCompactString` * Existing re-exported functions `diffExpr` and `diffExprCompact` have new return types per `cardano-ledger-binary-1.4.0.0` * Add a function `expectRawEqual` @@ -376,29 +376,29 @@ ### `testlib` * Rename test scripts: - * `alwaysSucceeds2` -> `alwaysSucceedsNoDatum` - * `alwaysSucceeds3` -> `alwaysSucceedsWithDatum` - * `alwaysFails2` -> `alwaysFailsNoDatum` - * `alwaysFails3` -> `alwaysFailsWithDatum` - * `guessTheNumber3` -> `redeemerSameAsDatum` - * `evendata3` -> `evenDatum` - * `evenRedeemer2` -> `evenRedeemerNoDatum` - * `evenRedeemer3` -> `evenRedeemerWithDatum` + - `alwaysSucceeds2` -> `alwaysSucceedsNoDatum` + - `alwaysSucceeds3` -> `alwaysSucceedsWithDatum` + - `alwaysFails2` -> `alwaysFailsNoDatum` + - `alwaysFails3` -> `alwaysFailsWithDatum` + - `guessTheNumber3` -> `redeemerSameAsDatum` + - `evendata3` -> `evenDatum` + - `evenRedeemer2` -> `evenRedeemerNoDatum` + - `evenRedeemer3` -> `evenRedeemerWithDatum` * Remove test scripts: `odddata`, `oddRedeemer`, `oddRedeemer2`, `sumsTo10`, `guessTheNumber2`, `redeemerIs102` ## 1.12.0.0 * Change `computeDRepPulser` to also process proposal-deposits for SPOs. #4324 - * Add `sumAllStakeCompact`. - * Add `UMap.umElemDelegations` to extract SPO, DRep and rewards for a given stake credential. - * Add `pdTotalActiveStake` field to `PoolDistr`, to hold the total active stake delegated to pools, including proposal deposits. - * Add `individualTotalPoolStake` to `IndividualPoolStake` to hold the delegated stake as an absolute number, including proposal deposits. - * Add lenses: - * `individualTotalPoolStakeL` - * `poolDistrTotalL` + - Add `sumAllStakeCompact`. + - Add `UMap.umElemDelegations` to extract SPO, DRep and rewards for a given stake credential. + - Add `pdTotalActiveStake` field to `PoolDistr`, to hold the total active stake delegated to pools, including proposal deposits. + - Add `individualTotalPoolStake` to `IndividualPoolStake` to hold the delegated stake as an absolute number, including proposal deposits. + - Add lenses: + + `individualTotalPoolStakeL` + + `poolDistrTotalL` * Add lenses to `RewardAccount`. #4309 - * `rewardAccountCredentialL` - * `rewardAccountNetworkL` + - `rewardAccountCredentialL` + - `rewardAccountNetworkL` * Add `umElemDRepDelegatedReward` to `UMap`. #4273 * Add `fromDeltaCoin` * Add trivial `Inject` instances for `()` and `Void` @@ -406,9 +406,9 @@ * Add functions `rdRewardCoin`, `rdDepositCoin` in UMap.hs * Add function `mkCoinTxOut` in Core.hs * Add typeclass `HKDApplicative` and make instances for the following: #4252 - * `HKD Identity` - * `HKD Maybe` - * `HKD StrictMaybe` + - `HKD Identity` + - `HKD Maybe` + - `HKD StrictMaybe` * Move `Metadatum` from `cardano-ledger-shelley` into a new module `Cardano.Ledger.Metadata` * Add `mkBasicTxAuxData` and `metadataTxAuxDataL` to `EraTxAuxData` type class. * Add `Random`, `Uniform` and `UniformRange` instances for `Language` @@ -452,9 +452,9 @@ * Add `setMinFeeTxUtxo` * Add `getMinFeeTxUtxo` to `EraUTxO` * Change signature by adding `refScriptsSize` parameter for: - * `getMinFeeTx` in `EraTx` - * `setMinFeeTx` - * `estimateMinFeeTx` + - `getMinFeeTx` in `EraTx` + - `setMinFeeTx` + - `estimateMinFeeTx` * Add `originalBytesSize` and default implementation to `SafeToHash` typeclass * Rename `RewardAccount` fields `getRwdNetwork` and `getRwdCred` to `raNetwork` and `raCredential` respectively * Deprecate `ppRewardAcnt` in favor of `ppRewardAccount` @@ -514,33 +514,33 @@ `Cardano.Ledger.Keys` * Add `unData`, `getCostModelEvaluationContext` * Changes to `Cardano.Ledger.Plutus.Evaluate`: - * Make `PlutusWithContext` era agnostic, but Language aware. `pwcScript` can be either + - Make `PlutusWithContext` era agnostic, but Language aware. `pwcScript` can be either in decoded or binary format. `pwcProtocolVersion` was added too. - * `debugPlutus`, `runPlutusScript`, `runPlutusScriptWithLogs` and + - `debugPlutus`, `runPlutusScript`, `runPlutusScriptWithLogs` and `explainPlutusEvaluationError` no longer accept `ProtVer` as argument, since major protocol version has been added to `PlutusWithContext` - * Change constructor of `ScriptFailure` from `PlutusSF` to `ScriptFailure` and add + - Change constructor of `ScriptFailure` from `PlutusSF` to `ScriptFailure` and add record names: `scriptFailureMessage` and `scriptFailurePlutus` - * Remove `PlutusDebugLang`, `PlutusDebug`, `PlutusData` and `PlutusError` - * Stop re-exporting removed: `EraPlutusContext`, `PlutusTxCert`, `unTxCertV1`, + - Remove `PlutusDebugLang`, `PlutusDebug`, `PlutusData` and `PlutusError` + - Stop re-exporting removed: `EraPlutusContext`, `PlutusTxCert`, `unTxCertV1`, `unTxCertV2` and `unTxCertV3` - * Add `evaluatePlutusWithContext` - * Remove `deserialiseAndEvaluateScript` in favor of `evaluatePlutusWithContext` + - Add `evaluatePlutusWithContext` + - Remove `deserialiseAndEvaluateScript` in favor of `evaluatePlutusWithContext` * Changes to `Cardano.Ledger.Plutus.Language`: - * Rename `BinaryPlutus` to `PlutusBinary` for consistency with names of other Plutus types. - * Add `Plutus` with helpers: `decodeWithPlutus`, `isValidPlutus` - * Add `PlutusRunnable` with helpers: `plutusFromRunnable` - * Add `asSLanguage` - * Add `plutusSLanguage` and `plutusLanguage` - * Deprecated `fromSLanguage` in favor of more general `plutusLanguage` - * Rename `IsLanguage` class to `PlutusLanguage` and add these functions to the class: + - Rename `BinaryPlutus` to `PlutusBinary` for consistency with names of other Plutus types. + - Add `Plutus` with helpers: `decodeWithPlutus`, `isValidPlutus` + - Add `PlutusRunnable` with helpers: `plutusFromRunnable` + - Add `asSLanguage` + - Add `plutusSLanguage` and `plutusLanguage` + - Deprecated `fromSLanguage` in favor of more general `plutusLanguage` + - Rename `IsLanguage` class to `PlutusLanguage` and add these functions to the class: `decodePlutusRunnable`, `evaluatePlutusRunnable` and `evaluatePlutusRunnableBudget` * Changes to `Cardano.Ledger.Plutus.TxInfo`: - * `NFData` instance for `TxOutSource` - * Remove: `transDataHash'`, `transHash` (use `hashToBytes` instead), `transTxOutAddr`, + - `NFData` instance for `TxOutSource` + - Remove: `transDataHash'`, `transHash` (use `hashToBytes` instead), `transTxOutAddr`, `txInfoIn'`, `getWitVKeyHash`, `VersionedTxInfo`, `EraPlutusContext`, `PlutusTxCert`, `unTxCertV1`, `unTxCertV2`, `unTxCertV3` and `txInfoId` (use `transTxId` instead) - * Add `transCoinToValue`, `transTxId` + - Add `transCoinToValue`, `transTxId` * Add `fromNativeScript` * Remove unused `mapMaybeValidation` and `runTestMaybe` * Remove `InjectMaybe` type class in favor of more general `Inject` @@ -598,14 +598,14 @@ * Add `toNoUpdate` and `fromNoUpdate` methods to `HKDFunctor` * Add `Updatable` instance for `NoUpdate` * Change functions to methods of `EraPParams`: - * `ppProtocolVersionL` - * `ppuProtocolVersionL` + - `ppProtocolVersionL` + - `ppuProtocolVersionL` * Add `Generic` instance for `AuxiliaryDataHash` * Add `ToExpr` instances for: - * `CompactAddr` - * `AuxiliaryDataHash` - * `CompactDeltaCoin` - * `VKey` + - `CompactAddr` + - `AuxiliaryDataHash` + - `CompactDeltaCoin` + - `VKey` * Add `setMinFeeTx` * Add `ScriptsProvided` * Require new `EraUTxO` class method `getScriptsProvided` @@ -625,13 +625,13 @@ * Require `ToExpr` for `EraTxWits` class * Add `upgradeTxWits` function to `EraTxWits` class * Add `ToExpr` instance to: - * `CompactAddr` - * `Withdrawals` - * `AuxiliaryDataHash` - * `VKey` - * `ChainCode` - * `BootstrapWitness` - * `WitVKey` + - `CompactAddr` + - `Withdrawals` + - `AuxiliaryDataHash` + - `VKey` + - `ChainCode` + - `BootstrapWitness` + - `WitVKey` * Add `Generic` instance to `AuxiliaryDataHash` * Add `vsNumDormantEpochs` to `VState` to track the number of contiguous epochs in which there were no governance proposals to vote on. #3729 * Add `fromEraShareCBOR` @@ -648,26 +648,26 @@ * Add `Arbitrary` instance for `DRepDistr` * Move `Arbitrary` instance for `SnapShot` and `SnapShots` from `cardano-ledger-shelley:testlib` * Add `Test.Cardano.Ledger.Core.Binary.RoundTrip` with: - * `roundTripEraSpec` - * `roundTripAnnEraSpec` - * `roundTripEraTypeSpec` - * `roundTripAnnEraTypeSpec` - * `roundTripShareEraSpec` - * `roundTripShareEraTypeSpec` - * `roundTripEraExpectation` - * `roundTripEraTypeExpectation` - * `roundTripAnnEraExpectation` - * `roundTripAnnEraTypeExpectation` - * `roundTripShareEraExpectation` - * `roundTripShareEraTypeExpectation` - * `roundTripCoreEraTypesSpec` + - `roundTripEraSpec` + - `roundTripAnnEraSpec` + - `roundTripEraTypeSpec` + - `roundTripAnnEraTypeSpec` + - `roundTripShareEraSpec` + - `roundTripShareEraTypeSpec` + - `roundTripEraExpectation` + - `roundTripEraTypeExpectation` + - `roundTripAnnEraExpectation` + - `roundTripAnnEraTypeExpectation` + - `roundTripShareEraExpectation` + - `roundTripShareEraTypeExpectation` + - `roundTripCoreEraTypesSpec` ## 1.6.0.0 * Add `lookupRegStakeTxCert` and `lookupUnRegStakeTxCert` to `EraTxCert` typeclass #3700 * Change `ToJSONKey`/`FromJSONKey` implementation of `Credential` to flat text * Add one more parameter to `getConsumedValue` to lookup DRep deposits #3688 - * `Credential 'DRepRole (EraCrypto era) -> Maybe Coin` + - `Credential 'DRepRole (EraCrypto era) -> Maybe Coin` * Add `Ap`, `hoistAp`, `runAp`, `runAp_` * Add `eqBootstrapWitnessRaw` and `eqWitVKeyRaw` * Add `eqRawType` @@ -696,15 +696,15 @@ * Add `DRepState` * Change `vsDReps` to a map * Rename key roles #3588 - * `Voting` to `DRepRole` - * `CommitteeHotKey` to `HotCommitteeRole` - * `CommitteeColdKey` to `ColdCommitteeRole` + - `Voting` to `DRepRole` + - `CommitteeHotKey` to `HotCommitteeRole` + - `CommitteeColdKey` to `ColdCommitteeRole` * Change `VState` to allow committee cold keys to be script-hashes #3581 - * `vsCommitteeHotKeys :: Map (Credential 'CommitteeColdKey eracrypto) (Maybe (Credential 'CommitteeHotKey eracrypto))` + - `vsCommitteeHotKeys :: Map (Credential 'CommitteeColdKey eracrypto) (Maybe (Credential 'CommitteeHotKey eracrypto))` * Adopt `Default` instances #3556 - * Moved instances for `SafeHash`, `RewardAcnt` and `Credential` from Shelley.RewardProvenance + - Moved instances for `SafeHash`, `RewardAcnt` and `Credential` from Shelley.RewardProvenance * Change `VState` to allow committee hot keys to be script-hashes #3552 - * `vsCommitteeHotKeys :: Map (KeyHash 'CommitteeColdKey eracrypto) (Maybe (Credential 'CommitteeHotKey eracrypto))` + - `vsCommitteeHotKeys :: Map (KeyHash 'CommitteeColdKey eracrypto) (Maybe (Credential 'CommitteeHotKey eracrypto))` * Added `withSLanguage` * Move `BinaryPlutus` from `cardano-ledger-alonzo` and changed its `Show` instance to display as base64 encoding. @@ -713,13 +713,13 @@ `Plutus` type instead of `Language` and `ShortByteString` * Remove default implementation for `spendableInputsTxBodyL` * Add lenses: - * `dsUnifiedL` - * `dsGenDelegsL` - * `dsIRewardsL` - * `dsFutureGenDelegsL` - * `certDStateL` - * `certPStateL` - * `certVStateL` + - `dsUnifiedL` + - `dsGenDelegsL` + - `dsIRewardsL` + - `dsFutureGenDelegsL` + - `certDStateL` + - `certPStateL` + - `certVStateL` * Add `getProducedValue` to `EraUTxO` ## 1.4.1.0 @@ -730,14 +730,14 @@ * Added `DRep`, `DRepCredential` * Changed type `Credential 'Voting c` -> `DRep c` in: - * `UMElem` - * `umElemAsTuple` - * `umElemDRep` - * `UMap` - * `DRepUView` - * `dRepUView` - * `dRepMap` - * `unify` + - `UMElem` + - `umElemAsTuple` + - `umElemDRep` + - `UMap` + - `DRepUView` + - `dRepUView` + - `dRepMap` + - `unify` ## 1.3.1.0 @@ -746,24 +746,24 @@ ## 1.3.0.0 * Add delegated representatives to the `UMap` and make its interface more coherent #3426 - * Additions - * Add `Credential 'Voting (EraCrypto era)` as the fourth element to the `UMap` n-tuple. - * `umElemPtrs :: UMElem c -> Maybe (Set Ptr)` - * `umElemDRep :: UMElem c -> Maybe (Credential 'Voting (EraCrypto era))` - * `UView (DRepUView)` constructor and `dRepUView` - * `invPtrMap :: UMap c -> Map (Credential 'Staking c) (Set Ptr)` - * `dRepMap :: UMap c -> Map (Credential 'Staking c) (Credential 'Voting c)` - * synonym `unionL = (∪)` - * synonym `unionR = (⨃)` - * synonym `domDelete = (⋪)` - * synonym `rngDelete = (⋫)` - * Renames - * `Trip` to `UMElem`, pattern `Triple` to `UMElem` - * `viewTrip` to `umElemAsTuple` - * `tripRewardActiveDelegation` to `umElemRDActive` - * `tripReward` to `umElemRDPair` - * `tripDelegation` to `umElemSPool` - * `View (RewardDeposits, Delegations, Ptrs)` to `UView (RewDepUView, SPoolUView, PtrUView)` + - Additions + + Add `Credential 'Voting (EraCrypto era)` as the fourth element to the `UMap` n-tuple. + + `umElemPtrs :: UMElem c -> Maybe (Set Ptr)` + + `umElemDRep :: UMElem c -> Maybe (Credential 'Voting (EraCrypto era))` + + `UView (DRepUView)` constructor and `dRepUView` + + `invPtrMap :: UMap c -> Map (Credential 'Staking c) (Set Ptr)` + + `dRepMap :: UMap c -> Map (Credential 'Staking c) (Credential 'Voting c)` + + synonym `unionL = (∪)` + + synonym `unionR = (⨃)` + + synonym `domDelete = (⋪)` + + synonym `rngDelete = (⋫)` + - Renames + + `Trip` to `UMElem`, pattern `Triple` to `UMElem` + + `viewTrip` to `umElemAsTuple` + + `tripRewardActiveDelegation` to `umElemRDActive` + + `tripReward` to `umElemRDPair` + + `tripDelegation` to `umElemSPool` + + `View (RewardDeposits, Delegations, Ptrs)` to `UView (RewDepUView, SPoolUView, PtrUView)` * `rdPairs` to `rewDepUView` * `delegations` to `sPoolUView` * `ptrs` to `ptrUView` @@ -776,12 +776,12 @@ * `delView` to `sPoolMap` * `ptrView` to `ptrMap` * `domRestrictedView` to `domRestrictedMap` - * `zero` to `nullUMElem` - * `zeroMaybe` to `nullUMElemMaybe` - * `sumRewardsView` to `sumRewardsUView` - * `sumDepositView` to `sumDepositUView` - * Reimplementations - * `unionRewAgg` NOTE: It does not require `assert (Map.valid result) result` any more + + `zero` to `nullUMElem` + + `zeroMaybe` to `nullUMElemMaybe` + + `sumRewardsView` to `sumRewardsUView` + + `sumDepositView` to `sumDepositUView` + - Reimplementations + + `unionRewAgg` NOTE: It does not require `assert (Map.valid result) result` any more and has been tested for equivalence with the older version with `--qc-max-success=10000 --qc-max-size=1000`. The test is added to `UMapSpec`. * Add `certsTxBodyL` to `EraTxBody` @@ -802,17 +802,17 @@ ## 1.2.0.0 * Deprecate `Cardano.Ledger.UMapCompact` in favor of `Cardano.Ledger.UMap` and add tests for it. #3371 - * Add `Cardano.Ledger.UMap.rdPairView` to view the reward-deposits pair from the `UMap`. + - Add `Cardano.Ledger.UMap.rdPairView` to view the reward-deposits pair from the `UMap`. * Replace `DPState c` with `CertState era` * Add `VState` * Add `certVState` * Parametrize `DState` and `PState` by era * Rename `Cardano.Ledger.DPState` module to `Cardano.Ledger.CertState` * Rename: - * `lsDPState` -> `lsCertState` - * `dpsPState` -> `certPState` - * `dpsDState` -> `certDState` - * `obligationDPState` -> `obligationCertState` + - `lsDPState` -> `lsCertState` + - `dpsPState` -> `certPState` + - `dpsDState` -> `certDState` + - `obligationDPState` -> `obligationCertState` * Add support for `PlutusV3` ## 1.1.0.0 @@ -820,20 +820,20 @@ * Add `ToJSON (PParamsHKD f era)` superclass constraints for `EraPParams`. * Add `ToJSON (TxOut era)` superclass constraints for `EraTxOut`. * Add superclass constraints for `Val`: - * `NoThunks`, `EncCBOR`, `DecCBOR`, `ToJSON`, `NFData`, `Show` - * `EncCBOR (CompactForm t)`, `DecCBOR (CompactForm t)` + - `NoThunks`, `EncCBOR`, `DecCBOR`, `ToJSON`, `NFData`, `Show` + - `EncCBOR (CompactForm t)`, `DecCBOR (CompactForm t)` * Add `ToJSONKey`/`FromJSONKey` instances for `ScriptHash` * Add `ToJSON`/`FromJSON` instances for `CompactForm Coin`, `SafeHash` and `TxId` * Add `ToJSON` instances for: - * `Ptr`, `CertIx`, `TxIx` - * `Trip` and `UMap` - * `DeltaCoin` and `CompactForm DeltaCoin` - * `InstantaneousRewards`, `FutureGenDeleg`, `PState`, `DState` and `DPState`. - * `UTxO` and `TxIn` - * `Stake`, `SnapShot`, `SnapShots`, `PoolDistr` and `IndividualPoolStake` - * `Reward` and `RewardType` - * `AuxiliaryDataHash` - * `Credential` + - `Ptr`, `CertIx`, `TxIx` + - `Trip` and `UMap` + - `DeltaCoin` and `CompactForm DeltaCoin` + - `InstantaneousRewards`, `FutureGenDeleg`, `PState`, `DState` and `DPState`. + - `UTxO` and `TxIn` + - `Stake`, `SnapShot`, `SnapShots`, `PoolDistr` and `IndividualPoolStake` + - `Reward` and `RewardType` + - `AuxiliaryDataHash` + - `Credential` * Make `getConsumedValue` accept a deposit lookup function instead of a `DPState` * Add `lookupDepositDState` and `lookupRewardDState`. Former can be used with `getConsumedValue` to regain previous behavior. diff --git a/libs/cardano-protocol-tpraos/CHANGELOG.md b/libs/cardano-protocol-tpraos/CHANGELOG.md index 880a6339711..09680ecb429 100644 --- a/libs/cardano-protocol-tpraos/CHANGELOG.md +++ b/libs/cardano-protocol-tpraos/CHANGELOG.md @@ -22,11 +22,11 @@ * Move `Crypto` and `StandardCrypto` definitions from `cardano-ledger-core` into new `Cardano.Protocol.Crypto` module. * Remove crypto parametrization from types: - * `LedgerView`, `ChainDepState` - * `HashHeader` `PrevHash`, `LastAppliedBlock` - * `OCertEnv`, `OcertPredicateFailure` - * `OverlayEnv`, `OBftSlot` - * `PrtclState`, `PrtclEnv`, `PrtlSeqFailure` + - `LedgerView`, `ChainDepState` + - `HashHeader` `PrevHash`, `LastAppliedBlock` + - `OCertEnv`, `OcertPredicateFailure` + - `OverlayEnv`, `OBftSlot` + - `PrtclState`, `PrtclEnv`, `PrtlSeqFailure` ### `testlib` @@ -103,10 +103,10 @@ * Add `mkBHeader` * Move from `cardano-ledger-shelley-test`: `mkOCert`, `mkBHBody`, `mkBlock` * Move `AllIssuerKeys` from `cardano-ledegr-shelley-test`. Rename its fields: - * `cold` - > `aikCold` - * `hot` - > `aikHot` - * `vrf` - > `aikVrf` - * `hk` - > `aikColdKeyHash` + - `cold` - > `aikCold` + - `hot` - > `aikHot` + - `vrf` - > `aikVrf` + - `hk` - > `aikColdKeyHash` * Bring back `genBlock` * Move `genCoherentBlock` from `cardano-ledegr-shelley-test` and change it to accept `AllIssuerKeys` as an argument. From f09dbe88870cdc1300a7fff9696051c1053b51a9 Mon Sep 17 00:00:00 2001 From: Neil Mayhew Date: Wed, 3 Sep 2025 17:11:53 -0600 Subject: [PATCH 3/4] Update .git-blame-ignore-revs --- .git-blame-ignore-revs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs index 204f9a49ea0..dfc0735baa5 100644 --- a/.git-blame-ignore-revs +++ b/.git-blame-ignore-revs @@ -3,6 +3,14 @@ # from the repository's root to tell `git blame` to ignore # the commits below. +# Use different bullet characters for different list levels in CHANGELOGs +# CommitDate: Thu Sep 4 22:48:33 2025 -0600 +dd81c3f9e2acd33e58911cff1688232fd3593680 + +# Fix formatting inconsistencies and errors in CHANGELOG files +# CommitDate: Thu Sep 4 22:48:33 2025 -0600 +d91a32057ba6c0caa97a5282b652c36c8b6a601a + # Apply `fourmolu` with `respectful: false` # CommitDate: Mon May 12 14:08:08 2025 -0600 4b79a7a9fb54aabe567e2a4f83825616046f7ab3 From 85fb9a06bf6e588a1eb1d4f46cfcd21d21044d42 Mon Sep 17 00:00:00 2001 From: Neil Mayhew Date: Tue, 2 Sep 2025 22:01:03 -0600 Subject: [PATCH 4/4] Add changelog linting to GitHub CI --- .github/workflows/haskell.yml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/.github/workflows/haskell.yml b/.github/workflows/haskell.yml index c8669e07d23..5578bf6ab40 100644 --- a/.github/workflows/haskell.yml +++ b/.github/workflows/haskell.yml @@ -645,3 +645,25 @@ jobs: echo 'The diff must not contain any `undefined` values' false fi + + changelog-lint: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: Install changelog linter + run: | + REPO=cardano-ledger-release-tool + RELEASE=changelogs-0.1.0.0 + curl -sSfL "https://github.com/input-output-hk/$REPO/releases/download/$RELEASE/$REPO-Linux-x86_64.zip" -o $REPO.zip + BINDIR=$HOME/.local/bin + mkdir -p "$BINDIR" + unzip $REPO.zip -d "$BINDIR" + rm $REPO.zip + echo "$BINDIR" >> $GITHUB_PATH + + - name: Run linter + run: | + git ls-files '*CHANGELOG.md' | xargs -r changelogs --inplace + git diff --exit-code