- Add
processDelegation
- Added
reDelegatees
andrePoolParams
toRatifyEnv
for updated SPO vote calculation #4645 - Added
dpPoolParams
toDRepPulser
to track the parameters of each stake pool - Add
HardForkEvent
constructor toConwayEpochEvent
- Add
HardFork
module,ConwayHARDFORK
andConwayHardForkEvent
- Add predicate failures to guard against invalid reward accounts (return addresses) in proposals and treasury withdrawals. #4639
ProposalReturnAddressDoesNotExist
, andTreasuryWithdrawalReturnAddressDoesNotExist
.
- Add
refScriptCostStride
andrefScriptCostMultiplier
- Added protocol version argument to
ppuWellFormed
- Add
ConwayMempoolEvent
type - Add
MempoolEvent
toConwayLedgerEvent
- Add
Mempool
module,ConwayMEMPOOL
andConwayMempoolPredFailure
- Add
ConwayMempoolFailure
toConwayLedgerPredFailure
- Add
ZeroTreasuryWithdrawals
toConwayGovPredFailure
- Add
ProtVer
argument toTxInfo
functions:transTxCert
transScriptPurpose
transPlutusPurposeV1V2
toPlutusV3Args
- Changed
ConwayWdrlNotDelegatedToDRep
to wrapNonEmpty KeyHash
- Removed
DRepAlreadyRegisteredForStakeKeyDELEG
- Add
showGovActionType
,acceptedByEveryone
- Added
unRatifySignal
- Added lenses:
ratifySignalL
reStakeDistrL
reStakePoolDistrL
reDRepDistrL
reDRepStateL
reCurrentEpochL
reCommitteeStateL
- Add a new field to
GovInfoEvent
and change "unclaimed" field fromSet
to aMap
. - Changed return type of
proposalsShowDebug
- Added
gen-golden
executable needed for golden tests: #4629 - Change
State
forCERT
andGOVCERT
toCertState
- Add
DelegateeDRepNotRegisteredDELEG
predicate failure - Rename
DelegateeNotRegisteredDELEG
toDelegateeStakePoolNotRegisteredDELEG
- Added
expectMembers
- Removed
redelegateDRep
fromImpTest
- Changed signature of
delegateToDRep
to take aCredential
parameter - Move
TxInfo
golden tests over from the older-test
package. #4599- Also move the
gen-golden
executable over.
- Also move the
- Added Test.Cardano.Ledger.Conway.CDDL with CDDL definitions in Conway.
- Change
ImpException
to containDoc
- Add
impAnnDoc
- Add
ifBootstrap
- Replace GOVCERT
updateDRepExpiry
withcomputeDRepExpiry
- Added
Eq
,Show
,NFData
andGeneric
instances forCertsEnv
- Add
delegateToDRep
andredelegateDRep
- Added
ToExpr
instance forCertsEnv
- Added
submitUpdateCommittee
,expectCommitteeMemberPresence
,expectCommitteeMemberAbsence
anddonateToTreasury
- Add
maxRefScriptSizePerBlock
andmaxRefScriptSizePerTx
toCardano.Ledger.Conway.Rules
- Add
ConwayBBODY
andConwayBbodyPredFailure
type for BBody rule - Added
ConwayCommitteeIsUnknown
predicate failure toConwayGovCertPredFailure
- Added
ceCurrentCommittee
andceCommitteeProposals
toCertEnv
- Added
certsCurrentCommittee
andcertsCommitteeProposals
toCertsEnv
- Added
cgceCurrentCommittee
andcgceCommitteeProposals
toConwayGovCertEnv
- Added
proposalsWithPurpose
,isGovActionWithPurpose
andToGovActionPurpose
- Added
ConwayTxRefScriptsSizeTooBig
predicate failure toConwayLedgerPredFailure
- Replaced
geCommitteeState
withgeCertState
inGovEnv
- Added
VotersDoNotExist
predicate failure toConwayGovPredFailure
- Export
ConwayEraTxCert
,RegDepositTxCert
,UnRegDepositTxCert
,DelegTxCert
,RegDepositDelegTxCert
,AuthCommitteeHotKeyTxCert
,ResignCommitteeColdTxCert
,RegDRepTxCert
,UnRegDRepTxCert
andUpdateDRepTxCert
fromCardano.Ledger.Conway.Core
- Remove
GovProcedures
in favor of newly added typeGovSignal
- Added
ToExpr
instance forConwayNewEpochPredFailure
- Change the return type of
resignCommitteeColdKey
- Add an argument to
registerCommitteeHotKeys
- Add
tierRefScriptFee
andtxNonDistinctRefScriptsSize
- Make reference scripts fee grow exponentially with size
- Add
registerCommitteeHotKeys
- Add
psPoolDistrL
lens. - Add
psPoolDistr
field toPulsingSnapshot
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
, makeConwayUpdateDRep
calculatecurrentEpochNo + drepActivity - numDormantEpochs
.- Add
GOVCERT.updateDRepExpiry
to calculate this way.
- Add
- Add
CertState.vsActualDRepExpiry
to get the actual expiry of a DRep consideringnumDormantEpochs
.
- Remove
- Add
NFData
instance forConwayDelegEnv
- Add
NFData
instances for:RatifySignal
EnactSignal
- Add instances for
ConwayGovCertEnv
. #4348NFData
ToExpr
- Add
NFData
instance forRatifySignal
- Add
AllegraEraScript
andShelleyEraScript
instances forConwayEra
- 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 ofexpectDRepExpiry
. - Add
expectActualDRepExpiry
that considersnumDormantEpochs
. - Add
passNEpochsChecking
.
- Add
- Add
ToExpr
instance forRatifySignal
- Add
ToExpr
instances for:RatifySignal
EnactSignal
- Added
ConwayDelegEnv
- Changed the
Environment
ofConwayDELEG
rule toConwayDelegEnv
- Moved
DelegateeNotRegisteredDELEG
toConwayDelegPredFailure
- Remove
gePrevGovActionIds
fromGovEnv
- Include proposal deposits in the DRep active voting stake. #4309
- Add
proposalsDeposits
toGovernance.Proposals
.- This extracts a
Map (Credential 'Staking (EraCrypto era)) (CompactForm Coin)
from reward-account-staking-credential to deposit amounts
- This extracts a
- Add
dpProposalDeposits
field toDRepPulser
. - Change
computeDRepDistr
to also take as argument thedpProposalDeposits
.
- Add
- Add lenses:
dvtHardForkInitiationL
dvtMotionNoConfidenceL
dvtTreasuryWithdrawalL
- Add
DisallowedProposalDuringBootstrap
andDisallowedVotesDuringBootstrap
toConwayGovPredFailure
- Make
DRepDistr
calculation include rewards when no UTxO stake is delegated. #4273- Rename
computeDrepPulser
tocomputeDRepPulser
.
- Rename
- Implement
NoThunks
instance for: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
- 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
- Add
ConwayUTXO
era rule:- Implement instances:
STS
Embed (ConwayUTXOS era) (ConwayUTXO era)
Embed (ConwayUTXO era) (ConwayUTXOW era)
- Implement instances:
- Add
ucppPlutusV3CostModel
toUpgradeConwayPParams
. #4252- Remove the
Default
instance forConwayGenesis
.
- Remove the
- Add
foldrVotingProcedures
.
- Add
ToExpr
instances forCertEnv
andConwayDelegEnv
- 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
- Add
getConstitution
to Conway ImpTest - Change return type of
setupSingleDRep
to Credential instead of KeyHash - Add
registerInitialCommittee
andgetCommitteeMembers
to Conway ImpTest - Implement
ConwayUtxowPredFailure
instances:Arbitrary
ToExpr
- Implement
ConwayUtxoPredFailure
instances:Arbitrary
ToExpr
- Updated
exampleConwayGenesis
toconway-genesis.json
. #4252
- Fix typo in
ToJSON
instance ofConwayGovState
- Add
ToExpr
instance forGovProcedures
- Add
geCommitteeState
- Remove
ConwayDelegEvent
,ConwayGovCertEvent
- Add
GovInfoEvent
- Add
ConwayUtxosEvent
- Add
Generic
,Eq
andNFData
instances forConwayEpochEvent
- Add
Eq
andNFData
instances for:ConwayGovEvent
ConwayCertEvent
ConwayCertsEvent
ConwayLedgerEvent
ConwayNewEpochEvent
- Add type
EraRuleEvent
instances for the event type of:UPEC
NEWPP
PPUP
MIR
DELEGS
TICK
ENACT
LEDGER
UTXOS
- Add
ConwayDRepIncorrectRefund
- Stop exporting
utxosGovStateL
fromCardano.Ledger.Conway.Governance
- Remove deprecated
curPParamsConwayGovStateL
andprevPParamsConwayGovStateL
- Add
EraRuleFailure "POOL"
type instance forConwayEra
- Add
ConwayUtxosPredFailure
- Support for intra-era hard fork with
ProtVerHigh
set to10
- Guard Conway-specific features in transactions that use Plutus v1 or v2. #4112
- Add
PlutusContextError
variants:CurrentTreasuryValueFieldNotSupported
VotingProceduresFieldNotSupported
ProposalProceduresFieldNotSupported
TreasuryDonationFieldNotSupported
- Allow
RegDepositTxCert
andUnRegDepositTxCert
to pass by ignoring the deposit or refund values, respectively.
- Add
- Switch
EPOCH
rule environment back to()
. Start using the latest stake pool distribution: #4115 - Add:
transTxInInfoV1
transTxOutV1
- Add instances for
InjectRuleFailure
and switch to usinginjectFailure
- Remove
ConwayPOOL
rule, in favor ofShelleyPOOL
- Add
NFData
instance forBabbageUtxoPredFailure
- Rename
MinFeeRefScriptCoinsPerByte
toMinFeeRefScriptCostPerByte
and change its type fromCoinsPerByte
toNonNegativeInterval
#4055 - Rename
committeeQuorum
tocommitteeThreshold
#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 (
- Add
getDRepDistr
,getConstitution
andgetCommitteeMembers
fromConwayEraGov
#4033- Move
Constitution
toConway.Governance.Procedures
- Move
- Add implementation for
getMinFeeTxUtxo
- Add
cppMinFeeRefScriptCoinsPerByte
toConwayPParams
andppMinFeeRefScriptCoinsPerByteL
- Add
ucppMinFeeRefScriptCoinsPerByte
toUpgradeConwayPParams
andppuMinFeeRefScriptCoinsPerByteL
- Fix
ConwayTxBody
pattern synonym, by changing its certificates arguments toOSet
from aStrictSeq
. - Add
VotingPurpose
andProposingPurpose
pattern synonyms - Add
ConwayEraScript
withtoVotingPurpose
,toProposingPurpose
,fromVotingPurpose
,fromProposingPurpose
. - Add upgrade failure:
CTBUEContainsDuplicateCerts
- Rename
proposalsRemoveDescendentIds
toproposalsRemoveWithDescendants
(fixed spelling too) - Rename:
pfPParamUpdateL
togrPParamUpdateL
pfHardForkL
togrHardForkL
pfCommitteeL
togrCommitteeL
pfConstitutionL
togrConstitutionL
- Rename:
cgProposalsL
tocgsProposalsL
cgEnactStateL
tocgsEnactStateL
cgDRepPulsingStateL
tocgsDRepPulsingStateL
- Add:
cgsPrevPParamsL
cgsCommitteeL
cgsConstitutionL
govStatePrevGovActionIds
mkEnactState
- Deprecated
curPParamsConwayGovStateL
andcurPParamsConwayGovStateL
- Rename
PForest
toGovRelation
- Add
hoistGovRelation
andwithGovActionParent
- Add
TreeMaybe
,toGovRelationTree
andtoGovRelationTreeEither
- Remove
proposalsAreConsistent
- Remove
registerDelegs
andregisterInitialDReps
- Modify
PParams
JSON instances to matchcardano-api
- Add
ToExpr
instances for:ConwayNewEpochEvent
ConwayEpochEvent
ConwayLedgerEvent
ConwayCertsEvent
ConwayCertEvent
ConwayGovEvent
- Change the types of some functions in
Test.Cardano.Ledger.Conway.ImpTest
to useNonEmpty (PredicateFailure _)
instead of[PredicateFailure _]
submitFailingVote
trySubmitVote
trySubmitProposal
trySubmitProposals
submitFailingProposal
trySubmitGovAction
trySubmitGovActions
- Add
Test.Cardano.Ledger.Conway.Imp.GovCertSpec
- Add
RuleListEra
instance for Conway - Rename
canGovActionBeDRepAccepted
toisDRepAccepted
and refactor #4097- Add
isSPOAccepted
- Change
setupSingleDRep
to return relevant keyhashes - Change
setupPoolWithStake
to return relevant keyhashes - Add
getLastEnactedCommittee
- Add
getRatifyEnvAndState
- Add
- Add
Test.Cardano.Ledger.Conway.Imp.UtxosSpec
- Add
getGovPolicy
- Add
submitGovActions
andtrySubmitGovActions
- Add
submitProposals
andtrySubmitProposal
- Changed the types in
GovernanceActionsDoNotExist
,DisallowedVoters
andVotingOnExpiredGovAction
toNonEmpty
- Add
cgDelegsL
- Add
FromJSON
,EncCBOR
andDecCBOR
instances forDelegatee
- Add
pvtPPSecurityGroup
- Add lenses:
pvtCommitteeNormalL
pvtCommitteeNoConfidenceL
pvtPPSecurityGroupL
dvtCommitteeNoConfidenceL
- Add
PPGroups
andStakePoolGroup
- Add
ToStakePoolGroup
typeclass - Add
DRepGroup
andToDRepGroup
typeclass - Modify
THKD
replacingPPGroup
withPPGroups
- Add
ConwayPlutusPurpose
- Add
unGovActionIx
- Add
foldlVotingProcedures
- Add a policy field to
ParameterChange
andTreasuryWithdrawals
constructors ofGovAction
- Add
InvalidPolicyHash
toConwayGovPredFailure
- Add
ToJSON
instance forConwayContextError
,ConwayTxCert
,ConwayDelegCert
,Delegatee
andConwayGovCert
- Add
forceDRepPulsingState
- Add
registerInitialDReps
andregisterDelegs
- Add
cgDelegs
,cgInitialDReps
toConwayGenesis
- Changed the type of lenses ppCommitteeMaxTermLengthL, ppuCommitteeMaxTermLengthL
- Change 'getScriptWitnessConwayTxCert' so that DRepRegistration certificate requires a witness
- Implement
ToJSON
andFromJSON
instances forPoolVotingThresholds
andDRepVotingThreshold
, instead of deriving that doesn't handle field names correctly. - Hide
Cardano.Ledger.Conway.TxOut
module - Export
ConwayEraPParams
andConwayEraTxBody
fromCardano.Ledger.Conway.Core
- Stop exporting
BabbagePParams
fromCardano.Ledger.Conway.PParams
- Add
transTxBodyWithdrawals
,transTxCert
,transDRepCred
,transColdCommitteeCred
,transHotCommitteeCred
,transDelegatee
,transDRep
,transScriptPurpose
- Remove
conwayTxInfo
andbabbageScriptPrefixTag
- 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
fromGovernance
toGovernance.Proposals
- Add
rsEnacted
field toRatifyState
to track enacted proposals separately from removed ones and renamersRemoved
torsExpired
in order to better represent its role - Add
ProposalsSerializable
as an accompanying type used to correctly serializeProposals
in a space-efficient way - Add the following operations to
Governance.Proposals
mkProposals
as the only way to reconstruct theProposals
tree from, for instance, a deserialized oneproposalsAddAction
as the only way to add new proposals to the systemproposalsApplyEnactment
as the only way to replay fromENACT
operations uponProposals
in the ledger state, outside of the pulser.- Rename
PrevGovActionId purpose (EraCrypto era)
toGovPurposeId purpose era
- Add the following accessors and lenses, among others:
PForest
PRoot
PEdges
PHierarchy
pRootsL
prRootL
prChildrenL
pnChildrenL
pHierarchyL
pHierarchyNodesL
pfPParamUpdateL
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
- Modify the rule transition implementation to accept new proposals into the
- In the
Ratify
rule- Account for the tracking of enacted and expired proposals
- Consolidate the entire proposals-tree under the
- Moved
ToExpr
instances out of the main library and into the testlib. - Changed the type of ConwayPParam's fields cppEMax, cppGovActionLifetime, cppDRepActivity
- Changed types of lenses:
ppGovActionLifetimeL
,ppDRepActivityL
,ppCommitteeMaxTermLengthL
andppuGovActionLifetimeL
,ppuDRepActivityL
,ppuCommitteeMaxTermLengthL
- Implement
getNextEpochCommitteeMembers
in ConwayEraGov
- Change argument of
validCommitteeTerm
function fromStrictMaybe Committee
toGovAction
- Add the previous governance action ID to the outputs of
electBasicCommittee
- Add
setupPoolWithStake
- Add:
registerPool
sendCoinTo
andsendValueTo
- Add
submitProposal_
- Add
submitTreasuryWithdrawals
- Track and prune unreachable proposals #3855 #3919 #3978 #3981
- Add invariant-respecting
Arbitrary
generators forProposals
- Add property tests for all
Proposals
operations - Add procedural unit tests for all
Proposals
operations
- Add invariant-respecting
- Remove
Test.Cardano.Ledger.Conway.PParamsSpec
and replace the unit test it contained with a new property test inTest.Cardano.Ledger.Alonzo.Binary.CostModelsSpec
- Switch
ppCommitteeMaxTermLength
toEpochNo
, rather thanNatural
- Add
conwayTotalDepositsTxBody
andconwayProposalsDeposits
- Add
conwayDRepDepositsTxCerts
,conwayDRepRefundsTxCerts
,conwayTotalDepositsTxCerts
andconwayTotalRefundsTxCerts
- Rename data-type
ProposalsSnapshot
toProposals
. #3859- Rename module
Governance.Snapshots
toGovernance.Proposals
. - Rename all the functions related to the data-type.
- Rename module
- Switch to using
OMap
forProposalsSnapshot
#3791 - Add
VotingOnExpiredGovAction
predicate failure inGOV
#3825 - Rename
modifiedGroups
->modifiedPPGroups
and move intoConwayEraPParams
- Expose
pparamsUpdateThreshold
- Fix #3835
- Rename
PParamGroup
toPPGroup
andGovernanceGroup
toGovGroup
- Introduce
THKD
and use it forConwayPParams
- Add
data ConwayGovEvent era
with constructorGovNewProposals !(TxId (EraCrypto era)) !(ProposalsSnapshot era)
. #3856 - Add
EpochBoundaryRatifyState (RatifyState era)
inhabitant to theConwayEpochEvent era
data type.
- Provide CDDL spec files with
readConwayCddlFileNames
andreadConwayCddlFiles
fromTest.Cardano.Ledger.Conway.Binary.Cddl
- Add
ToJSON
instance forProposalProcedure
- Fix
NewEpochState
translation: #3801 - Change order of arguments for
committeeAccepted
adnspoAccepted
for consistency #3801 - Add
spoAcceptedRatio
#3801 - Export
snapshotGovActionStates
#3801 - Change type for
snapshotRemoveIds
to also return the removed actions. #3801 - Add
reDRepDistrL
#3759 - Remove
GovSnapshots
#3759 - Move
DRepPulser
fromcardano-ledger-core
. #3759 - Add
DRepPulsingState
#3759:pulseDRepPulsingState
,completeDRepPulsingState
,extractDRepPulsingState
,finishDRepPulser
,computeDrepDistr
,getRatifyState
,getPulsingStateDRepDistr
,dormantEpoch
,setFreshDRepPulsingState
,setCompleteDRepPulsingState
- Add
PulsingSnapshot
andpsProposalsL
,psDRepDistrL
,psDRepStateL
#3759 - Add
RunConwayRatify
class #3759 - Enforce no duplicates from
certsTxBodyL
andproposalProceduresTxBodyL
#3779 - Remove
WrongCertificateTypeDELEG
predicate failure. - Add
getDelegateeTxCert
andgetStakePoolDelegatee
- Add
enactStateGovStateL
toConwayEraGov
- Add
psDRepDistrG
. - Rename
ensPParams
toensCurPParams
. - Add
ToJSON
instance forRatifyState
- Change
ToJSON
instance forConwayGovState
:- Add
"nextRatifyState"
field - Rename
"ratify"
to"enactState"
- Rename
"gov"
to"proposals"
- Add
- Fix
ToJSON
instance forEnactState
:- Current PParams were wrongfully used for
"prevPParams"
. - Remove
"treasury"
and"withdrawals"
as those are temporary bindings needed only forENACT
rule
- Current PParams were wrongfully used for
- Add an anchor argument to
ResignCommitteeColdTxCert
- Prevent invalid previous gov-action ids in proposals #3768
- Also, add lenses
govProceduresProposalsL
pProcGovActionL
gasActionL
- Also, add lenses
- Add
ToExpr
instance for:Voter
ConwayCertPredFailure
ConwayCertsPredFailure
ConwayDelegPredFailure
ConwayGovPredFailure
ConwayGovCertPredFailure
ConwayLedgerPredFailure
ConwayTxBody
- Add
Generic
andNFData
instance for:ConwayNewEpochPredFailure
- Add
totalObligation
- Add
utxosDepositedL
- Add
conwayWitsVKeyNeeded
- Add
ConwayEraPParams era
constraint toisCommitteeVotingAllowed
andvotingCommitteeThreshold
- Switch to using
AlonzoEraUTxO
in rules - Change
cppProtocolVersion
to aHKDNoUpdate
field
- Addition of
ImpTest
interface
- Add
ConwayEraPParams era
constraint toisCommitteeVotingAllowed
andvotingCommitteeThreshold
- Add
ToExpr
instance for:Voter
VotingProcedures
VotingProcedure
ProposalProcedure
ConwayTxBody
- Add
ConwayTxBodyUpgradeError
,ConwayTxCertUpgradeError
- Add to
Ratify
:committeeAccepted
committeeAcceptedRatio
- Add
reCommitteeState
toRatifyEnv
- Add PredicateFailure for current treasury value mismatch in tx body in LEDGER #3749
- Change
To/FromJSON
format forConwayGenesis
- Add
EraTransition
instance andtoConwayTransitionConfigPairs
. - Expose
toConwayGenesisPairs
andtoUpgradeConwayPParamsUpdatePairs
- Rename
ConwayPParams
to be consistent with the Agda specification. #3739govActionExpiration
togovActionLifetime
committeeTermLimit
tocommitteeMaxTermLength
minCommitteeSize
tocommitteeMinSize
- Prevent
DRep
expiry when there are no active governance proposals to vote on (in ConwayCERTS). #3729- Add
updateNumDormantEpochs
function inConwayEPOCH
to update the dormant-epochs counter - Refactor access to
ConwayGovState
by making its lens part ofConwayEraGov
. - Export
gasExpiresAfterL
for use in tests
- Add
- Add
ExpirationEpochTooSmall
data constructor toConwayGovPredFailure
- Add
ConflictingCommitteeUpdate
data constructor toConwayGovPredFailure
- Rename
NewCommitte
toUpdateCommittee
- Remove
NewCommitteeSizeTooSmall
data constructor fromConwayGovPredFailure
- Fix invalid order in
fromGovActionStateSeq
, thus alsoDecCBOR
forProposalsSnapshot
- Remove
DecCBOR
/EncCBOR
andFromCBOR
/ToCBOR
forRatifyState
, since that state is ephemeral and is never serialized. - Add
PredicateFailure
forVoter
-GovAction
mismatches, withcheckVotesAreValid
. #3718- Add
DisallowedVoters (Map (GovActionId (EraCrypto era)) (Voter (EraCrypto era)))
inhabitant to theConwayGovPredFailure
data type. - Fix naming for
toPrevGovActionIdsParis
totoPrevGovActionIdsPairs
- Add
- Rename:
thresholdSPO
->votingStakePoolThreshold
thresholdDRep
->votingDRepThreshold
thresholdCC
->votingCommitteeThreshold
- Add:
isStakePoolVotingAllowed
isDRepVotingAllowed
isCommitteeVotingAllowed
- Fix
ConwayTxBodyRaw
decoder to disallow emptyField
s #3712certsTxBodyL
withdrawalsTxBodyL
mintTxBodyL
collateralInputsTxBodyL
reqSignerHashesTxBodyL
referenceInputsTxBodyL
votingProceduresTxBodyL
proposalProceduresTxBodyL
- Add
reorderActions
,actionPriority
- Remove
ensProtVer
field fromEnactState
: #3705 - Move
ConwayEraTxBody
toCardano.Ledger.Conway.TxBody
- Move
ConwayEraPParams
toCardano.Ledger.Conway.PParams
- Rename:
GovActionsState
toGovSnapshots
cgGovActionsStateL
tocgGovSnapshotsL
curGovActionsStateL
tocurGovSnapshotsL
prevGovActionsStateL
toprevGovSnapshotsL
- Add:
ProposalsSnapshot
snapshotIds
snapshotAddVote
snapshotInsertGovAction
snapshotActions
snapshotRemoveIds
fromGovActionStateSeq
- Add lenses:
gasCommitteeVotesL
gasDRepVotesL
gasStakePoolVotesL
- Add
FromJSON
instance forCommittee
- Add
constitution
andcommittee
fields toConwayGenesis
- Add
Test.Cardano.Ledger.Conway.ImpTest
- Rename
genNewCommittee
togenUpdateCommitteee
- Add
genNewCommittee
- Add
genNoConfidence
- Add
genTreasuryWithdrawals
- Add
genHardForkInitiation
- Add
genParameterChange
- Add
genNewConstitution
- Add
genGovActionStateFromAction
- Add
govActionGenerators
- Apply enacted
TreasuryWithdrawals
inConwayEPOCH
#3748- Add lenses
ensWithdrawalsL
andensTreasuryL
- Add lenses
- Add all Conway
TxCert
to consumed/produced calculations in theUTXO
rule. #3700 - Change
ToJSONKey
implementation ofVoter
to flat text - Add DRep refund calculation #3688
- Add
conwayConsumedValue
asgetConsumedValue
for Conway
- Add
- Change
PredicateFailure (ConwayENACT era)
toVoid
- Remove
EnactPredFailure
- Change
PredicateFailure (ConwayEPOCH era)
toVoid
- Remove
ConwayEpochPredFailure
- Remove
EpochFailure
andRatifyFailure
fromConwayNewEpochPredFailure
- Change
PredicateFailure (ConwayRATIFY era)
toVoid
- Add:
rsDelayed
PParamGroup
ParamGrouper
pGroup
pUngrouped
modifiedGroups
dvtPPNetworkGroupL
dvtPPGovGroupL
dvtPPTechnicalGroupL
dvtPPEconomicGroupL
threshold
ensCommitteeL
- Add
pparamsGroups
toConwayEraPParams
- Add
PrevGovActionIds
- Change
EnactState
to addensPrevGovActionIds
- Add
ensPrevGovActionIdsL
,ensPrevPParamUpdateL
,ensPrevHardForkL
ensPrevCommitteeL
,ensPrevConstitutionL
- Add
EnactSignal
and the signal ofEnact
to it - Remove
rsFuture
fromRatifyState
- Add to
GovActionsState
:curGovActionsState
prevGovActionsState
prevDRepState
prevCommitteeState
- Add
ToExpr
instances to:PoolVotingThresholds
DRepVotingThresholds
GovActionState
GovActionsState
EnactState
RatifyState
ConwayGovState
GovActionIx
GovActionId
Vote
Committee
PrevGovActionId
GovAction
ConwayPParams
withIdentity
andStrictMaybe
- Add lenses:
cgEnactStateL
curGovActionsStateL
prevGovActionsStateL
prevDRepStateL
prevCommitteeStateL
- Replace
cgRatifyState
withcgEnactState
- Deprecate
cgRatifyStateL
- Add
ProposalDepositIncorrect
predicate failure, that is produced whenProposalProcedure
deposit does not match"govActionDeposit"
fromPParams
#3669 - Add "minCommitteeSize"
PParam
validation forNewCommittee
GovAction
#3668- Add
committeeMembersL
andcommitteeQuorumL
lenses forCommittee
- Add
NewCommitteeSizeTooSmall
PredicateFailure
inGOV
- Add
- Add
EqRaw
instance forConwayTxBody
- Add
ToExpr
instance forDelegatee
,ConwayDelegCert
,ConwayGovCert
andConwayTxCert
- Implement expiry for governance proposals #3664
- Update
ppGovActionExpiration
to be anEpochNo
- Add
gasExpiresAfter :: !EpochNo
toGovActionState
- Add
gePParams
toGovEnv
- Rename
teTxId
togeTxId
andteEpoch
togeEpoch
- Update
- Add
reDRepState
toRatifyEnv
- Add field
gasId
toGovActionState
- Add
insertGovActionsState
- Change type of
rsRemoved
inRatifyState
to useGovActionState
instead of a tuple - Change
RatifySignal
to useGovActionsState
instead of a tuple
- Fix DRep distribution computation.
- Add
Network
validation forProposalProcedure
andTreasuryWithdrawals
in GOV #3659 - Make
DELEG
,POOL
andGOVCERT
conform to spec-v0.8 #3628- Add
CertEnv
andCertsEnv
to passEpochNo
down fromLEDGER
to sub-rules - Add
drepDeposit
toDRepState
to track deposits paid byDRep
s - Update
DRep
expiry inLEDGER
for allDRep
s who are voting in currentTx
- Add
- Add
ConwayGovCertEnv
- Change the environment of
GOVCERT
toConwayGovCertEnv
- Add
ConwayEraGov
withconstitutionGovStateL
- Add
PrevGovActionId
andGovActionPurpose
- Add optional
PrevGovActionId
toParameterChange
,HardForkInitiation
,NoConfidence
,NewCommittee
andNewConstitution
governance actions. - Rename
*governance*
to*gov*
#3607GovernanceAction
toGovAction
GovernanceActionId
toGovActionId
GovernanceActionIx
toGovActionIx
GovernanceActionState
toGovActionState
ConwayGovState
toGovActionsState
ConwayGovernance
toConwayGovState
- Add
MalformedProposal
toConwayGovPredFailure
- Add
ppuWellFormed
toConwayEraPParams
- Filter out zero valued
TxOut
's on Byron/Shelley boundary instead of on Babbage/Conway. - Deprecate
translateTxOut
in favor ofupgradeTxOut
- Deprecate
translateScript
in favor ofupgradeScript
- Switch GovernanceActionIx to
Word32
froWord64
and removeNum
andEnum
instances, which are dangerous due to potential overflows. - 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
- Change EnactState.ensConstitution #3556
- from
SafeHash (EraCrypto era) ByteString
- to
Constitution era
- Use this datatype for GovernanceAction.NewConstitution
- from
- Add
ConwayPParams
#3498- Add
UpgradeConwayPParams
- Add
ConwayEraPParams
- Add
PoolVotingThresholds
- Add
DRepVotingThresholds
- Add
- Rename:
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 inProposalProcedure
. - Add
ConwayUTXO
- Add
indexedGovProps
- Add
rsRemoved
toRatifyState
- Add
conwayProducedValue
- Changed the superclasses of
STS (ConwayUTXOS era)
- Add
VotingProcedures
type - Remove
vProcGovActionId
andvProcVoter
fromVotingProcedure
- Change the type of
votingProceduresL
to returnVotingProcedures
, which is a nested Map instead of a sequence, as before. - Change
GovernanceActionDoesNotExist
toGovernanceActionsDoNotExist
, which now reports all actions as a set, rather than one action per each individual failure. - Type of
gpVotingProcedures
inGovernanceProcedures
was aslo changed toGovernanceProcedures
- Rename:
ConwayCommitteeCert
->ConwayGovCert
ConwayTxCertCommittee
->ConwayTxCertGov
- Remove
DelegStakeTxCert
from theCOMPLETE
pragma forTxCert
- Add
Committee
and adjustNewCommittee
governance action - Add
treasuryDonationTxBodyL
toConwayEraTxBody
- Add
ConwayUpdateDRep
constructor toConwayGovCert
type and corresponding patternUnRegDRepTxCert
- Update
ProposalProcedure
return address to be aRewardAcnt
- Add
ensPrevPParams
field toEnactState
- Add lenses:
ensPrevPParamsL
ensCurPParamsL
- Implement stake distribution handling in the
TICKF
rule.
- Add implementation for
spendableInputsTxBodyL
- Removal of TxOuts with zero
Coin
from UTxO on translation
- Removal of
GovernanceProcedure
in favor ofGovernanceProcedures
- Add
ensConstitutionL
andrsEnactStateL
toGovernance
#3506- Override
getConsitutionHash
for Conway to return just the hash of the constitution
- Override
- Added
ConwayWdrlNotDelegatedToDRep
toConwayLedgerPredFailure
- Changed the type of voting delegatee from
Credential
toDRep
- Removal of
VoterRole
in favor ofVoter
- Removal of
vProcRole
andvProcRoleKeyHash
in favor ofvProcVoter
inVotingProcedure
- Removal of
cgVoterRolesL
andcgVoterRoles
forConwayGovernance
as no longer needed. - Removal of
gasVotes
in favor ofgasCommitteeVotes
,gasDRepVotes
andgasStakePoolVotes
inGovernanceActionState
- Removal of
reRoles
fromRatifyEnv
as no longer needed - Addition of
reStakePoolDistr
toRatifyEnv
- Remove
VoterDoesNotHaveRole
as no longer needed fromConwayTallyPredFailure
- Added
ConwayEpochPredFailure
- Added instance for
Embed (ConwayRATIFY era) (ConwayEPOCH era)
- Removed instance for
Embed (ConwayRATIFY era) (ConwayNEWEPOCH era)
- Changed superclasses of
STS (ConwayEPOCH era)
andSTS (ConwayNEWEPOCH era)
- Added
ConwayUTXOW
rule
- Add
Arbitrary
instances forConwayCertPredFailure
,ConwayVDelPredFailure
, andConwayDelegPredFailure
- Add
VDEL
rules to Conway #3467 - Add
EncCBOR
/DecCBOR
forConwayCertPredFailure
- Add
EncCBOR
/DecCBOR
forConwayVDelPredFailure
- Add
POOL
rules to Conway #3464- Make
ShelleyPOOL
rules reusable in Conway
- Make
- Add
CERT
andDELEG
rules to Conway #3412- Add
domDeleteAll
toUMap
.
- Add
- Introduction of
TxCert
andEraTxCert
- Add
ConwayEraTxCert
- Add
EraTxCert
,ShelleyEraTxCert
andConwayEraTxCert
instances forConwayEra
- Add
EraPlutusContext 'PlutusV1
instance toConwayEra
- Add
EraPlutusContext 'PlutusV2
instance toConwayEra
- Add
EraPlutusContext 'PlutusV3
instance toConwayEra
- Added
toShelleyDelegCert
andfromShelleyDelegCert
- Changed
ConwayDelegCert
structure #3408 - Addition of
getScriptWitnessConwayTxCert
andgetVKeyWitnessConwayTxCert
- Add
ConwayCommitteeCert
- Added
ConwayDelegCert
andDelegatee
#3372 - Removed
toShelleyDCert
andfromShelleyDCertMaybe
#3372 - Replace
DPState c
withCertState era
- Add
TranslateEra
instances for:DState
PState
VState
- Add
ConwayDelegsPredFailure
- Renamed
DELPL
toCERT
- Added
ConwayDELEGS
rule - Added
ConwayCERT
rule - Added
ConwayDelegsPredFailure
rule - Added
ConwayDelegsEvent
rule - Change the Conway txInfo to allow Plutus V3 NOTE - unlike V1 and V2, the ledger will no longer place the "zero ada" value in the script context for the transaction minting field.
- Added instances for ConwayDelegsPredFailure:
NoThunks
,EncCBOR
,DecCBOR
, andArbitrary
- Added
GovernanceActionMetadata
- Added
RatifyEnv
andRatifySignal
- Added
RATIFY
rule - Added
ConwayGovernance
- Added lenses:
cgTallyL
cgRatifyL
cgVoterRolesL
- Removed
GovernanceActionInfo
- Replaced
ctbrVotes
andctbrGovActions
withctbrGovProcedure
- Renamed
ENACTMENT
toENACT
- Add
ToJSON
instance for: #3323ConwayGovernance
ConwayTallyState
GovernanceAction
GovernanceActionState
GovernanceActionIx
GovernanceActionId
- Add
ToJSONKey
instance forGovernanceActionId
#3323 - Fix
EncCBOR
/DecCBOR
andToCBOR
/FromCBOR
forConwayTallyState
#3323 - Add
Anchor
andAnchorDataHash
types. #3323 - Rename
transDCert
totoShelleyDCert
- Add
fromShelleyDCertMaybe
- Renamed
Vote
type toVotingProcedure
- Add
ProposalProcedure
- Use
VotingProcedure
andProposalProcedure
inGovernanceProcedure
- Rename
VoteDecision
toVote
. RenameNo
/Yes
->VoteNo
/VoteYes
. - Export
govActionIdToText
- Export constructors for
ConwayTallyPredFailure
- Add
ensTreasury
andensWithdrawals
toEnactState
#3339 - Add
EnactPredFailure
as the failure forENACT
andRATIFY
#3339 - Add
RatifyFailure
toConwayNewEpochPredFailure
#3339 - Add
EncCBOR
/DecCBOR
andToCBOR
/FromCBOR
forConwayTallyPredFailure
- Add
ToCBOR
/FromCBOR
forConwayGovernance
- Remove
cgAlonzoGenesis
fromConwayGenesis
. - Set
ConwayGenesis
asTranslationContext
- Fix
Arbitrary
forConwayTallyState
. #3323 - Consolidate all
Arbitrary
instances from the test package to under a newtestlib
. #3285 - Add
Arbitrary
instances for:ConwayTallyPredFailure
EnactState
RatifyState
ConwayGovernance
- Fix
Arbitrary
forConwayTxBody
.
- First properly versioned release.