- Changed the type of
AtMostEraandAtLeastErato accept a type level string instead of an actual era type. - Add
EraNametype family to theEratype class and use it for default implementation oferaNametype class function. - Changed
sizeTxFandsizeTxForFeeCalculationto useWord32 - Move pool deposits from
PStateintoStakePoolState. #5234- Add
spsDepositfield toStakePoolState - Remove
psDepositsfield fromPStatedata constructor - Update
mkStakePoolStateto take deposit parameter as first argument - Remove
psDepositsLas no longer necessary. - Remove
payPoolDepositandrefundPoolDepositfunctions as they are no longer necessary - Update
EncCBOR/DecCBORinstances forPStateto handle new structure - Add lenses for
StakePoolStatefields
- Add
- Add
psVRFKeyHashestoPState - Add
psVRFKeyHashesL - Deprecate
costModelParamsCountin favor ofcostModelInitParamCount - Add
costModelInitParamNames,costModelInitParamCount,parseCostModelAsArrayandparseCostModelAsMap - Export
credToDRepanddRepToCred - Add
ppVrfL,ppCostL,ppMetadataL,spsVrfLtoStakePoolmodule - Deprecate
PoolParamsin favor ofStakePoolState. #5196- Move the
PoolParamsmodule toCardano.Ledger.State.StakePooland export from there. - Add the
StakePoolStatedata type to the new module. - Reexport
PoolParamsfrom its original module and deprecate it. - Replace
PoolParamswithStatekPoolStateinPStateand rename the fields and lenses.psStakePoolParams(L)topsStakePools(L), andpsFutureStakePoolParams(L)topsFutureStakePools(L).
- Move the
- Add
mkGenesisWith - Add
NFDatainstance forNoGenesis - Require
Eq,Show,Typeable,ToCBOR,FromCBOR,ToJSON,FromJSON,NFDatafor everyGenesistype. - Add
HashHeader(moved fromcardano-protocol-tpraos) - Add
drepDepositCompactL - Change the type of
drepDeposittoCompactForm Coin - Remove
AccountStatetype synonym forChainAccountState - Remove
rewards,delegations,ptrsMapanddsUnifiedL - Replace
dsUnifiedwithdsAccountsinDState - Add
Defaultinstance toBlocksMadeandPoolDistr - Add
Random,UniformandUniformRangeinstances forTxIx,CertIxandSlotNo32 - Add
Uniforminstances forPtr - Add
CanGetAccounts,CanSetAccounts,EraAccounts,lookupAccountState,updateLookupAccountState,isAccountRegistered,adjustAccountState,lookupStakePoolDelegation,sumBalancesAccounts,sumDepositsAccounts,addToBalanceAccounts,withdrawalsThatDoNotDrainAccounts,drainAccounts,removeStakePoolDelegations - Add
mkInlineDatum,mkHashedDatum - Rename
EraSegWitstoEraBlockBody. #5156- Rename
TxSeqtoBlockBody - Add
mkBasicBlockBody - Deprecate
fromTxSeqandtoTxSeqin favour of thetxSeqBlockBodyLlens - Deprecate
hashTxSeqin favour ofhashBlockBody
- Rename
- Replaced
hkdPoolDepositLmethod withhkdPoolDepositCompactL - Add
ppPoolDepositCompactLandppuPoolDepositCompactL - Add
standardHashSizeandstandardAddrHashSize - Add
zeroCostModelsmethod toEraTest - Added support for
PlutusV4 - Add a timeout argument to
plutusDebug - Add
pdoExUnitsEnforcedtoPlutusDebugOverridesand adddefaultPlutusDebugOverrides - Add
NFDatainstance forPlutusDebugInfo - Add
DebugTimedOutconstructor toPlutusDebugInfo - Add
debugPlutusUnbounded - Added
binaryUpgradeTx,binaryUpgradeTxBody,binaryUpgradeTxWits,binaryUpgradeTxAuxData - Remove
upgradeTxandTxUpgradeErrorfromEraTx - Remove
upgradeTxBodyandTxBodyUpgradeErrorfromEraTxBody - Remove
upgradeTxAuxDatafromEraTxAuxData - Move
upgradeTxWitsfromEraTxWits - Moved
wireSizeTxFout ofEraTx - Move to
DecCBORinstance forBlocktotestlib - Removed constraints from
EraPParamsfor bothPParamsHKD Identity eraandPParamsHKD StrictMaybe era:EncCBOR,DecCBOR,ToCBOR,FromCBOR,ToJSON,FromJSON - Added
eraPParamstoEraPParams - Added
jsonPairsPParamsandjsonPairsPParamsUpdatetoEraPParamsalong with their implementation - Replaced positional
PParamconstructor with a record-style constructor and added constraints on t:DecCBOR,EncCBOR,FromJSON,ToJSON - Added
PParamUpdate - Added error-throwing
ToPlutusDatainstance forNonce - Rename
ppLensandppuLenstoppLensHKDandppuLensHKD, respectively - Add
sumUTxOandsumCoinUTxO - Deprecate
balanceandcoinBalancein favor ofsumUTxOandsumCoinUTxO - Remove
delegatorsfield from JSON serialiser forDRepStatefor correct round-tripping. #5004 - Change
TxBodyto an associateddatafamily - Remove
HeapWordsinstances for: #5001CoinDeltaCoinCompactFormCoinCompactFormDeltaCoinSafeHashStrictMaybe DataHashTxIdTxIn
- Add
addCompactCointoCardano.Ledger.Coinand deprecateCardano.Ledger.UMap.addCompactin its favor - Move
sumCompactCointoCardano.Ledger.Coin - Add
eraDecoderWithBytes - Expose
MkDataconstructor. - Remove
Textparameter fromtranslateEraThroughCBOR - Add
keyHashWitnessesTxWits - Remove export of
mkMemoBytesfromCardano.Ledger.MemoBytesas unsafe - Add
CanGetChainAccountStateandCanSetChainAccountState - Add
treasuryLandreservesL - Add
casTreasuryLandcasReservesL - Rename
AccountStatetoChainAccountState. Rename accessor fieldsasTreasuryandasReservestocasTreasuryandcasReservesrespectively. - Added
sizeTxForFeeCalculationtoEraTxwith a default implementation - Added
consumedtoEraUTxO - Removed
upgradeCertState - Removed
VState(moved tocardano-ledger-conway) and related functions - Removed from
EraCertStatetype family:mkCertStatecertVStateL
- Moved
CertStatetoStatemodule - Rename
wvkSigtowvkSignature - Remove
eqBootstrapWitnessRawandBootstrapWitnessRaw - Rename
bwSigtobwSignatureforBootstrapWitness - Remove
witVKeyBytesandeqWitVKeyRaw - Remove
EqRawinstance forWitVKey - Replace
Block'constructor withBlock - Remove patterns:
Block,UnserialisedBlockandUnsafeUnserialisedBlock - Add
EncCBORGroup (TxSeq era)andEncCBOR hconstraints toEncCBORandToCBORinstances forBlock
- Add
Arbitraryinstances forPlutusLedgerApi.V1.Ex{Budget,CPU,Memory} - Add
Test.Cardano.Ledger.Plutus.ExUnits - Added
genericShrinkMemo - Add
maxWord32andposWord32rules to CDDL - Add
registerTestAccountandaccountsFromUMap - Add
mkTestAccountState,accountsFromAccountsMapandaccountsToUMaptoEraTest - Add
expectLeftDeepExpr_andexpectRightDeepExpr_ - Add
expectJust,expectJustDeep,expectJustDeep_,expectNothing - Change argument of
txInAtfromIntegraltoInt - Add
roundTripJsonShelleyEraSpec - Add superclass constraint to
EraTestforEq,Show,Typeable,ToJSON,FromJSONandArbitraryclasses forTranslationContexttype - Added
goldenJsonPParamsUpdateSpec - Added
Eramodule withEraTestclass
- Add
goldenJsonPParamsSpec - Add
BoootstrapWitnessRawtype - Add
EraStake,CanGetInstantStake,CanSetInstantStake,snapShotFromInstantStake,resolveActiveInstantStakeCredentials - Add boolean argument to
fromCborRigorousBothAddrfor lenientPtrdecoding - Add
ToCBORandFromCBORinstances for:BoundedRatioPositiveUnitIntervalActiveSlotCoeffNetworkNoGenesis
- Move
EraGovtoCardano.Ledger.Statefromcardano-ledger-shelley - Add DecCBOR instances for:
PlutusDataDataBootstrapWitnessWitVKeyBlock
- Converted
CertStateto a type family - Remove
applySTSValidateSuchThatandapplySTSNonStaticas redundant. - Move
AccountStatetoCardano.Ledger.Statefromcardano-ledger-shelley - Move
Cardano.Ledger.PoolDistrmodule contents intoCardano.Ledger.Stateand deprecated the former - Move
Cardano.Ledger.SnapShotsmodule contents intoCardano.Ledger.Stateand deprecated the former - Move
Cardano.Ledger.UTxOmodule contents intoCardano.Ledger.Stateand deprecated the former - Add
CanGetUTxOandCanSetUTxOtype classes - Add
CanGetUTxOandCanSetUTxOinstances forUTxO - Add
DecShareCBORinstances forDRepandDRepState - Added
ToPlutusDatainstance forNonZero maxpool'now expectsnOptto be aNonZero Word16- Add
HasZeroinstance forCointogether with lifted conversion functions:toCompactCoinNonZerofromCompactCoinNonZerounCoinNonZerotoCoinNonZerocompactCoinNonZero
- Add
Cardano.Ledger.BaseTypes.NonZero - Remove
eratype parameter fromMemoBytestype - Remove
Era eraconstraint from:MemopatterndecodeMemoBytesDecCBOR (Annotator (MemoBytes t))instanceDecCBOR (MemoBytes t)instancememoBytesmkMemoizedlensMemoRawTypeDatapatterndataToBinaryData
- Introduce
mkMemoizedEraandmemoBytesEra - Add
Versionparameter to:memoBytesmkMemoizedlensMemoRawType
- Remove
eratype parameter fromMemtype - Reduce the kind of
MemoHashIndextype family parameter to a concrete type - Reduce the kind of
RawTypetype to a concrete type - Add
byteCountMemoBytes,packMemoBytesMandunpackMemoBytesMtoMemoBytesmodule - Require
MemPackinstance forTxOutandCompactForm (Value era)forEraTxOuttype class. - Add
decodeMemoBytes - Add
MemPackinstance forCompactAddr,TxIx,TxId,TxIn,CompactForm Coin,KeyHash,ScriptHash,Credential,SafeHash,Plutus,PlutusBinary,BinaryDataandDatum - Add
DecShareCBORinstance forTxIn - Add
fromCborRigorousBothAddr - Add
SlotNo32and use it inPtrdefinition - Add
mkPtrNormalized - Deprecate
normalizePtrandaddrPtrNormalize - Switch
TxIxandCertIxto useWord16instead ofWord64 - Deprecate
mkTxIxandmkCertIx - Extract
indexProxyfromHashAnnotatedtype class and deprecate it. - Extract
hashTxAuxDatafromEraTxAuxDatainto a standalone function. - Add
TxAuxDataHashand deprecateAuxiliaryDayaHashin its favor. - Deprecate
Cardano.Ledger.Cryptomodule in favor ofcardano-protocol-tpraos:Cardano.Protocol.Crypto - Deprecate
KESignable,SignedKES,SignKeyKES,VerKeyKES,VRFSignable,CertifiedVRF,SignKeyVRFandVerKeyVRFtype synonyms. - Deprecate
Hash,SignedDSIGNandSignKeyDSIGNtype synonyms. - Deprecate
hashSignaturein favor of newhashTxBodySignature - Move into
Cardano.Ledger.Hashes:HASHandADDRHASHKeyHashandHashKeySafeHash,SafeToHash,HashAnnotated,castSafeHashandextractHash.KeyRoleVRF,VRFVerKeyHash,toVRFVerKeyHash,fromVRFVerKeyHashGenDelegPairandGenDelegs
- Re-export
KeyRolefromCardano.Ledger.Hashes. - Re-export some of the new additions to
Cardano.Ledger.HashesfromCardano.Ledger.Core. - Remove
GenesisCredentialas unused. - Remove
HASH,ADDRHASHandDSIGNtype families out ofCryptotype class and turn them into type synonyms for the exact algorithms previously being used inStandardCrypto - Remove crypto parametrization from types:
Addr,BootstrapAddress,RewardAccount,CompactAddrandWithdrawalsAuxiliaryDataHashBlocksMade,AnchorFutureGenDeleg,InstantaneousRewards,CommitteeAuthorizationByronEraandVoidEraPoolCertCredential,StakeReferenceandGenesisCredentialDRepandDRepStateStake,SnapShotandSnapShotsDataHash,ScriptHashBootstrapWitnessVKey,KeyHash,GenDelegPair,GenDelegs,VRFVerKeyHashPlutusWithConext,ScriptFailure,ScriptResult,PlutusDebugInfoTxOutSourceIndividualPoolStake,PoolDistrPoolParamsRewardSafeHashandSafeToHashTxId,TxInUMElem,RewardDelegation,StakeCredentials,UViewandUMap
- Remove
HashWithCryptoas no longer needed. - Deprecate
hashAnchorData - Change superclass of
CryptofromKESAlgorithmtoUnsoundPureKESAlgorithm - Add
PlutusDebugOverridesargument todebugPlutus - Add
PlutusDebugOverridesdata type - Add
Readinstance forLanguage
- Add
Arbitraryinstance forPV1.Data - Add
Arbitraryinstances forData,BinaryDataandDatum - Add
decoderEquivalenceEraSpec - Converted
CertStateto a type family - Re-export
KeyPair,mkAddrandmkCredentialfromTest.Cardano.Ledger.Imp.Common - Add
MakeStakeReferenceandMakeCredential - Deprecate
mkCredin favor ofmkCredentialfromMakeCredential - Change
mkAddrto accept two polymorphic arguments instead of a tuple of keypairs - Deprecate
mkScriptAddr - Add
runGen - Added
ArbitraryandToExprinstances forNonZero - Deprecate
genBadPtr,genAddrBadPtrandgenCompactAddrBadPtr - Remove crypto parametrization from types:
KeyPairandKeyPairs
- Add
toVRFVerKeyHashandfromVRFVerKeyHash - Change lens type of
hkdNOptL,ppNOptL, andppuNOptLtoWord16 - Add
epochFromSlot - Remove usage of a
Readermonad inepochInfoEpoch,epochInfoFirstandepochInfoSize. - Add
eraProtVersions - Remove deprecated
_unTxIdandadaOnly - Remove deprecated module
Cardano.Ledger.Serialization - Remove deprecated
fromSLanguage - Remove deprecated
decodeValidAndUnknownCostModelsanddecodeCostModelFailHard - Remove deprecated module
Cardano.Ledger.Language - Remove deprecated
KeyPair - Remove
Cardano.Ledger.Erathat had all of its contents deprecated. - Remove
getAllTxInputsas unused. - Remove deprecated
DelegationandpoolCWitness - Remove deprecated
txid - Remove deprecated
ValidateAuxiliaryData,AuxiliaryData,hashAuxiliaryDataandvalidateAuxiliaryData - Remove deprecated
Cardano.Ledger.Apmodule and all if its contents - Remove deprecated
ppRewardAcnt - Remove deprecated
mkRwdAcnt,deserialiseAddr,serialiseRewardAcnt,deserialiseRewardAcnt,RewardAcnt,getRwdNetwork,getRwdCred,putRewardAcnt,decodeRewardAcnt,fromCborRewardAcnt - Remove deprecated
HashAlgorithm - Remove
SafeandhashSafeList - Remove requirement for
FromCBORinstance forTxOutinEraTxOut - Add
decodeMemoized - Add
DecCBORinstance forMemoBytes - Add
VRFVerKeyHashandKeyRoleVRF. - Switch
genDelegVrfHash,individualPoolStakeVrfandppVrfto usingVRFVerKeyHash. - Add
{Enc|Dec}CBORGroupinstances forMismatch. #4666- Add
(un)swapMismatchto swapMismatchvalues to preserve serialisation when necessary.
- Add
- Add
drepDelegsL
- Add
decodeHexPlutustoPlutusmodule - Add
Guardrailmodule - Switch to using
ImpSpecpackage - Remove
HasSubState,subStateM,setSubStateM,StateGenandStateGenMas no longer useful. - Re-export
withImpInitandmodifyImpInit - Remove deprecated
mkVKeyRwdAcnt - Remove deprecated
deserialiseRewardAcntOld - Generalize the return type of
assertColorFailuretoMonadIO - Moved
Test.Cardano.Ledger.Core.Toolsinto the test suite.
- Add
Mismatchtype to clarify predicate-failures reporting supplied and expected values. #4649 - Added
drepDelegstoDRepState - Add
member'function toUMapmodule. #4639 - Add
credKeyHashtoCredential - Remove
maxMajorPVfromGlobals - Add
deleteStakingCredentialandextractStakingCredentialtoUMapmodule.
- Add
uniformSubMapanduniformSubMapElems - Rename
uniformSubsettouniformSubSet - Add
tracedDiscard - Add re-exported functions that were added in
cardano-ledger-binary-1.4.0.0ansiExpransiExprStringdiffExprStringdiffExprCompactString
- Existing re-exported functions
diffExpranddiffExprCompacthave new return types percardano-ledger-binary-1.4.0.0 - Add a function
expectRawEqual - Add
assertColorFailure - Add
Test.Cardano.Ledger.Core.Binary.CDDLcontaining core CDDL definitions shared across eras.
- Add
EncCBORinstance forPoolCert - Add
mkTermToEvaluatetoPlutusLanguageclass. - Add a field to
DebugFailure - Convert
debugPlutusto anIOaction - Add
plutus-debugexecutable - Change default implementation of
translateEra - Add
EraGenesisandGenesistype family. NewNoGenesistype to be used for eras that do not have a genesis file - Move
ensureMinCoinTxOutfromcardano-ledger-apitoCardano.Ledger.Tools - Change default implementation of
translateEra - Add
EraGenesisandGenesistype family. NewNoGenesistype to be used for eras that do not have a genesis file - Move
ensureMinCoinTxOutfromcardano-ledger-apitoCardano.Ledger.Tools - Add
wireSizeTxFtoEraTxclass
- Add
Showinstances forScriptTestContextandPlutusArgs - Add
setSubStateM - Rename
subStatetosubStateM
- Add
setMinCoinTxOutandsetMinCoinTxOutWith - Add
authorizedHotCommitteeCredentials
- Improve error reporting for
CostModeljson parsing
- Add
subStateLtoHasSubState - Create a catch all
Inject a ainstance for the same type - Remove unnecessary instances:
Inject a ()andInject Void a - Add
integralToBoundedtoBaseTypes - Add
PlutusScriptContexttype family moved from Alonzo - Add
LegacyPlutusArgsdata - Add
PlutusArgsdata family toPlutusLanguageand instances - Change signature of
evaluatePlutusRunnableandevaluatePlutusRunnableBudgetto replace data list withPlutusArgs
- Rename test scripts:
alwaysSucceeds2->alwaysSucceedsNoDatumalwaysSucceeds3->alwaysSucceedsWithDatumalwaysFails2->alwaysFailsNoDatumalwaysFails3->alwaysFailsWithDatumguessTheNumber3->redeemerSameAsDatumevendata3->evenDatumevenRedeemer2->evenRedeemerNoDatumevenRedeemer3->evenRedeemerWithDatum
- Remove test scripts:
odddata,oddRedeemer,oddRedeemer2,sumsTo10,guessTheNumber2,redeemerIs102
- Change
computeDRepPulserto also process proposal-deposits for SPOs. #4324- Add
sumAllStakeCompact. - Add
UMap.umElemDelegationsto extract SPO, DRep and rewards for a given stake credential. - Add
pdTotalActiveStakefield toPoolDistr, to hold the total active stake delegated to pools, including proposal deposits. - Add
individualTotalPoolStaketoIndividualPoolStaketo hold the delegated stake as an absolute number, including proposal deposits. - Add lenses:
individualTotalPoolStakeLpoolDistrTotalL
- Add
- Add lenses to
RewardAccount. #4309rewardAccountCredentialLrewardAccountNetworkL
- Add
umElemDRepDelegatedRewardtoUMap. #4273 - Add
fromDeltaCoin - Add trivial
Injectinstances for()andVoid - Add
byteStringToNum - Add functions
rdRewardCoin,rdDepositCoinin UMap.hs - Add function
mkCoinTxOutin Core.hs - Add typeclass
HKDApplicativeand make instances for the following: #4252HKD IdentityHKD MaybeHKD StrictMaybe
- Move
Metadatumfromcardano-ledger-shelleyinto a new moduleCardano.Ledger.Metadata - Add
mkBasicTxAuxDataandmetadataTxAuxDataLtoEraTxAuxDatatype class. - Add
Random,UniformandUniformRangeinstances forLanguage - Add
decodeCostModelsLenientanddecodeCostModelsFailing - Make decoder for
CostModelsvery lenient starting with protocol version9. - Deprecate
decodeValidAndUnknownCostModels - Disable deserialization of
CostModelsforPlutusV3and newer whenever current protocol version is not set to at least version9 - Remove
CostModelErrorandcostModelsErrors - Stop re-exporting
CostModelApplyError - Change
CostModelparameter value type fromIntegertoInt64. Affects type signatures of all functions that work on raw cost model parameter values. mkCostModelsLenientwas changed to work inMonadFail, since failures during construction is now again possible.- Deprecate
decodeCostModelFailHardin favor of newdecodeCostModel.
- Export
subState - Remove
FlexibleCostModelsand makeArbitraryinstance forCostModelsmore flexible.
- Add
shouldSatisfyExpr - Add
EraRuleEvent,InjectRuleEvent - Add
NFDatainstance forObligations,PlutusWithContext,PlutusDatums - Add
Eq,Show,Genericinstances forPlutusDatums - Add
CommitteeAuthorizationand use it to represent hot key credential inCommitteeState - Change
applySTSValidateSuchThatandapplySTSNonStaticto useNonEmpty (PredicateFailure _)instead of[PredicateFailure _] - Added
boomplaceholder - Add
EraRuleFailuretype family andInjectRuleFailuretype class - Add
VoidFailure - Fix
ToJSON/FromJSONinstances ofPrices - Update
FromJSONinstance ofBoundedRatio - Fix
ToJSONinstance ofBoundedRatioto avoid precision loss - Add
pwcScriptHashfield toPlutusWithContext - Parameterize
PlutusWithContext con crypto. - Extract
hashScriptoutside ofEraScripttype class. - Add
plutusLanguageTagandhashPlutusScript - Add
setMinFeeTxUtxo - Add
getMinFeeTxUtxotoEraUTxO - Change signature by adding
refScriptsSizeparameter for:getMinFeeTxinEraTxsetMinFeeTxestimateMinFeeTx
- Add
originalBytesSizeand default implementation toSafeToHashtypeclass - Rename
RewardAccountfieldsgetRwdNetworkandgetRwdCredtoraNetworkandraCredentialrespectively - Deprecate
ppRewardAcntin favor ofppRewardAccount - Deprecate
fromCborRewardAcntin favor offromCborRewardAccount - Deprecate
decodeRewardAcntin favor ofdecodeRewardAccount - Deprecate
putRewardAcntin favor ofputRewardAccount - Deprecate
deserialiseRewardAcntin favor ofdeserialiseRewardAccount - Deprecate
serialiseRewardAcntin favor ofserialiseRewardAccount - Deprecate
RewardAcntin favor ofRewardAccount - Modify
PricesandNonceJSON instances to matchcardano-api
- Add
shouldContainExpr - Add
EraRuleProof,UnliftRules,roundTripAllPredicateFailures - Add
Test.Cardano.Ledger.Plutus.ScriptTestContext - Add
genByronVKeyAddr,genByronAddrFromVKey - Add
Uniforminstances forByronKeyPairandKeyPair - Add
mkKeyPairWithSeedandmkBootKeyPairWithSeed - Remove
epsilonMaybeEqfromUtils - Add
PlutusArgs,ScriptTestContext - Add
txInAt - Add
mkScriptAddr - Deprecate
deserialiseRewardAcntOldin favor ofdeserialiseRewardAccountOld - Deprecate
mkVKeyRwdAcntin favor ofmkVKeyRewardAccount - Add
Statefulrandom interface:HasStatefulGen,HasGenEnv,HasSubState,StatefulGen,StateGen,StateGenM,uniformM,uniformRM,uniformListM,uniformListRM,uniformByteStringM,uniformShortByteStringM - Re-export the whole of
quickcheck-classesfromImp.Common - Re-export
replicateM_andreplicateMfromImp.Common
- Add
umElemsL - Add
txIdTxBodyandtxIdTx. Deprecatedtxid. - Add
getGenesisKeyHashCountTxBodytoEraTxBody - Add
calcMinFeeTxandcalcMinFeeTxNativeScriptWits,estimateMinFeeTx,addDummyWitsTxand movesetMinFeeTxtoCardano.Ledger.Tools - Add
kindObject - Add
ToJSONinstance forTxOutSourceandPoolCert - Expose
txInToText - Add
getWitsVKeyNeededtoEraUTxO - Changed the type of the lenses
ppMaxBBSizeL,ppMaxTxSizeL,ppMaxBHSizeL,ppuMaxBBSizeL,ppuMaxTxSizeLandppuMaxBHSizeL - Add
txInsFilter - Fix
ToJSON/FromJSONforCostModels. Make sure thatCostModelscan roundtrip through JSON. Also reportCostModelsfailures in JSON. - Add
costModelParamsCount - Move Plutus related
Arbitraryinstances:ExUnits,CostModels,FlexibleCostModels,CostModel,Prices,Language - Add
Cardano.Ledger.Plutusthat re-exports all plutus related functionality - Add
SemigroupandMonoidinstances forCostModels - Add
mkCostModelsand exposeflattenCostModels - Stop exporting
CostModelsconstructor in order to improve safety. - Fix
Eq/Ordand addEncCBOR/DecCBORinstances forCostModelError - Re-export
Cardano.Ledger.Keys.BootstrapandCardano.Ledger.Keys.WitsVKeyfromCardano.Ledger.Keys - Add
unData,getCostModelEvaluationContext - Changes to
Cardano.Ledger.Plutus.Evaluate:- Make
PlutusWithContextera agnostic, but Language aware.pwcScriptcan be either in decoded or binary format.pwcProtocolVersionwas added too. debugPlutus,runPlutusScript,runPlutusScriptWithLogsandexplainPlutusEvaluationErrorno longer acceptProtVeras argument, since major protocol version has been added toPlutusWithContext- Change constructor of
ScriptFailurefromPlutusSFtoScriptFailureand add record names:scriptFailureMessageandscriptFailurePlutus - Remove
PlutusDebugLang,PlutusDebug,PlutusDataandPlutusError - Stop re-exporting removed:
EraPlutusContext,PlutusTxCert,unTxCertV1,unTxCertV2andunTxCertV3 - Add
evaluatePlutusWithContext - Remove
deserialiseAndEvaluateScriptin favor ofevaluatePlutusWithContext
- Make
- Changes to
Cardano.Ledger.Plutus.Language:- Rename
BinaryPlutustoPlutusBinaryfor consistency with names of other Plutus types. - Add
Plutuswith helpers:decodeWithPlutus,isValidPlutus - Add
PlutusRunnablewith helpers:plutusFromRunnable - Add
asSLanguage - Add
plutusSLanguageandplutusLanguage - Deprecated
fromSLanguagein favor of more generalplutusLanguage - Rename
IsLanguageclass toPlutusLanguageand add these functions to the class:decodePlutusRunnable,evaluatePlutusRunnableandevaluatePlutusRunnableBudget
- Rename
- Changes to
Cardano.Ledger.Plutus.TxInfo:NFDatainstance forTxOutSource- Remove:
transDataHash',transHash(usehashToBytesinstead),transTxOutAddr,txInfoIn',getWitVKeyHash,VersionedTxInfo,EraPlutusContext,PlutusTxCert,unTxCertV1,unTxCertV2,unTxCertV3andtxInfoId(usetransTxIdinstead) - Add
transCoinToValue,transTxId
- Add
fromNativeScript - Remove unused
mapMaybeValidationandrunTestMaybe - Remove
InjectMaybetype class in favor of more generalInject - Move
decodeAddrShortanddecodeAddrShortEithertocardano-ledger-api:Cardano.Ledger.Api.Tx.Address - Remove deprecated
Cardano.Ledger.CompactAddressandCardano.Ledger.UMapCompact - Add the newtype
EpochInterval - Change the type of
ppEMaxLandppuEMaxL - Moved
ToExprinstances out of the main library and into the testlib.
- Add
integralToByteStringN - Add
ByronKeyPair - Add
Arbitraryinstances for Byron types:Address,AttributesandAddrAttributes - Add
Test.Cardano.Ledger.Core.JSONwithroundTripJsonSpec,roundTripJsonEraSpecandroundTripJsonProperty - Add
zeroTestingCostModelandzeroTestingCostModels - Add
mkCostModelConst - Add
diffExprCompact - Add
expectLeftDeep_,expectRightDeep_ - Two new modules
Test.Cardano.Ledger.PlutusandTest.Cardano.Ledger.Plutus.Examples
- Add
certsTotalDepositsTxBodyandcertsTotalRefundsTxBody - Add
getTotalDepositsTxBodyandgetTotalRefundsTxBodytoEraTxBody. Corresponding functions have been removed fromShelleyEraTxBodyin favor of the two above - Add
getTotalDepositsTxCertsandgetTotalRefundsTxCertstoEraTxCert - Deprecated
Cardano.Ledger.Ap, since we no longer use this module - Moved
Cardano.Ledger.LanguagetoCardano.Ledger.Plutus.Languagewith deprecation. - Move
ExUnitsandPricesfromCardano.Ledger.Alonzo.Scriptsto newCardano.Ledger.Plutus.ExUnitsmodule. - Move
CostModelsfromCardano.Ledger.Alonzo.Scriptsto newCardano.Ledger.Plutus.CostModelsmodule. - Move
Cardano.Ledger.Alonzo.Scritps.DatatoCardano.Ledger.Plutus.Data - Move some parts of
Cardano.Ledger.Alonzo.TxInfointoCardano.Ledger.Plutus.TxInfoandCardano.Ledger.Plutus.Evaluate - Expose
decodeValidAndUnknownCostModelsinCostModels
- Addition of
Test.Cardano.Ledger.Imp.Common - Re-export
ToExpr,showExpr,diffExpr,assertBoolandassertFailure - Add
shouldBeExpr,shouldBeRight,shouldBeRightExpr,shouldBeLeftandshouldBeLeftExpr - Add
expectRight,expectRightDeep,expectRightExpr,expectRightDeepExpr,expectLeft,expectLeftExpr,expectLeftDeepandexpectLeftDeepExpr
- Add
ToJSON/FromJSONandToJSONKey/FromJSONKeyinstances forDRep - Add
parseCredential - Add
NoUpdate,HKDNoUpdate - Add
toNoUpdateandfromNoUpdatemethods toHKDFunctor - Add
Updatableinstance forNoUpdate - Change functions to methods of
EraPParams:ppProtocolVersionLppuProtocolVersionL
- Add
Genericinstance forAuxiliaryDataHash - Add
ToExprinstances for:CompactAddrAuxiliaryDataHashCompactDeltaCoinVKey
- Add
setMinFeeTx - Add
ScriptsProvided - Require new
EraUTxOclass methodgetScriptsProvided EraTxreplacedEraTxBodysuperclass forEraUTxO
- Add
testGlobalsandmkDummySafeHash - Add
Test.Cardano.Ledger.Core.Rational
- Require
ToExprforEraTxclass - Add
upgradeTxfunction toEraTxclass - Require
ToExprforEraTxBodyclass - Add
upgradeTxBodyfunction toEraTxBodyclass - Require
ToExprforEraTxWitsclass - Add
upgradeTxWitsfunction toEraTxWitsclass - Add
ToExprinstance to:CompactAddrWithdrawalsAuxiliaryDataHashVKeyChainCodeBootstrapWitnessWitVKey
- Add
Genericinstance toAuxiliaryDataHash - Add
vsNumDormantEpochstoVStateto track the number of contiguous epochs in which there were no governance proposals to vote on. #3729 - Add
fromEraShareCBOR - Remove redundant
DecCBORconstraint ineraDecoder - Add
FromJSONinstance toAnchor - Change
ToJSON/FromJSONimplementation ofCredentialto usekeyHashvskey hashandscriptHashvsscript hashJSON keys. - Change
ToJSONKey/FromJSONKeyimplementation ofCredentialto usekeyHash-vskeyhash-andscriptHash-vsscripthash-prefixes.
- Added
BinaryUpgradeOpts - Add
Arbitraryinstance forDRepDistr - Move
Arbitraryinstance forSnapShotandSnapShotsfromcardano-ledger-shelley:testlib - Add
Test.Cardano.Ledger.Core.Binary.RoundTripwith:roundTripEraSpecroundTripAnnEraSpecroundTripEraTypeSpecroundTripAnnEraTypeSpecroundTripShareEraSpecroundTripShareEraTypeSpecroundTripEraExpectationroundTripEraTypeExpectationroundTripAnnEraExpectationroundTripAnnEraTypeExpectationroundTripShareEraExpectationroundTripShareEraTypeExpectationroundTripCoreEraTypesSpec
- Add
lookupRegStakeTxCertandlookupUnRegStakeTxCerttoEraTxCerttypeclass #3700 - Change
ToJSONKey/FromJSONKeyimplementation ofCredentialto flat text - Add one more parameter to
getConsumedValueto lookup DRep deposits #3688Credential 'DRepRole (EraCrypto era) -> Maybe Coin
- Add
Ap,hoistAp,runAp,runAp_ - Add
eqBootstrapWitnessRawandeqWitVKeyRaw - Add
eqRawType - Add
EqRawtype class witheqRaw. - Add
EqRawinstance forWitVKeyandBootstrapWitness - Require
EqRawinstance forScript,TxWits,TxAuxData,TxBodyandTx - Add
ToExprinstance forPoolCert - Require
ToExprinstance forScript,TxAuxDataandTxCert - Require an extra argument for
decodePositiveCoinin order to improve error reporting #3694
- Add
drepDepositto theDRepState#3628 - Introduce
CommitteeStateandcsCommitteeCredsL. - Change then name and the type of
vsCommitteeHotKeystovsCommitteeStateandvsCommitteeHotKeysLtovsCommitteeStateL - Add
drepExpiryLanddrepAnchorL - Add
eraName - Add
addrPtrNormalize - Add
upgradeTxOutfunction toEraTxOut - Add
upgradeScriptfunction toEraScript - Add
upgradeTxAuxDatafunction toEraTxAuxData - Add
upgradeTxCertfunction andTxCertUpgradeErrorfamily toEraTxCert - Add
Defaultinstance forAnchor - Add
AnchorandAnchorDataHash - Add
DRepState - Change
vsDRepsto a map - Rename key roles #3588
VotingtoDRepRoleCommitteeHotKeytoHotCommitteeRoleCommitteeColdKeytoColdCommitteeRole
- Change
VStateto allow committee cold keys to be script-hashes #3581vsCommitteeHotKeys :: Map (Credential 'CommitteeColdKey eracrypto) (Maybe (Credential 'CommitteeHotKey eracrypto))
- Adopt
Defaultinstances #3556- Moved instances for
SafeHash,RewardAcntandCredentialfrom Shelley.RewardProvenance
- Moved instances for
- Change
VStateto allow committee hot keys to be script-hashes #3552vsCommitteeHotKeys :: Map (KeyHash 'CommitteeColdKey eracrypto) (Maybe (Credential 'CommitteeHotKey eracrypto))
- Added
withSLanguage - Move
BinaryPlutusfromcardano-ledger-alonzoand changed itsShowinstance to display as base64 encoding. - Added
Plutus - Changed
Phase2Scriptconstructor of thePhaseScripttype. It now accepts newPlutustype instead ofLanguageandShortByteString - Remove default implementation for
spendableInputsTxBodyL - Add lenses:
dsUnifiedLdsGenDelegsLdsIRewardsLdsFutureGenDelegsLcertDStateLcertPStateLcertVStateL
- Add
getProducedValuetoEraUTxO
- Add
spendableInputsTxBodyL
- Added
DRep,DRepCredential - Changed type
Credential 'Voting c->DRep cin:UMElemumElemAsTupleumElemDRepUMapDRepUViewdRepUViewdRepMapunify
- Addition of
getPoolCertTxCert
- Add delegated representatives to the
UMapand make its interface more coherent #3426- Additions
- Add
Credential 'Voting (EraCrypto era)as the fourth element to theUMapn-tuple. umElemPtrs :: UMElem c -> Maybe (Set Ptr)umElemDRep :: UMElem c -> Maybe (Credential 'Voting (EraCrypto era))UView (DRepUView)constructor anddRepUViewinvPtrMap :: 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 = (⋫)
- Add
- Renames
TriptoUMElem, patternTripletoUMElemviewTriptoumElemAsTupletripRewardActiveDelegationtoumElemRDActivetripRewardtoumElemRDPairtripDelegationtoumElemSPoolView (RewardDeposits, Delegations, Ptrs)toUView (RewDepUView, SPoolUView, PtrUView)rdPairstorewDepUViewdelegationstosPoolUViewptrstoptrUViewunViewtounUViewviewtoVMaptounUnifyToVMaprewViewtorewardMapcompactRewViewtocompactRewardMapdepositViewtodepositMaprdPairViewtordPairMapdelViewtosPoolMapptrViewtoptrMapdomRestrictedViewtodomRestrictedMap
zerotonullUMElemzeroMaybetonullUMElemMaybesumRewardsViewtosumRewardsUViewsumDepositViewtosumDepositUView
- Reimplementations
unionRewAggNOTE: It does not requireassert (Map.valid result) resultany more and has been tested for equivalence with the older version with--qc-max-success=10000 --qc-max-size=1000. The test is added toUMapSpec.
- Additions
- Add
certsTxBodyLtoEraTxBody - Introduce
TxCerttype family andEraTxCerttype class. - Deprecate
Delegation - Add
toKeyHashWitness - Addition of
getVKeyWitnessTxCertandgetScriptWitnessTxCerttoEraTxCerttype class - Add new key roles:
CommitteeColdKeyandCommitteeHotKey - Remove
ConstitutionalDelegCert. Instead it now lives incardano-ledger-shelleyasGenesisDelegCert - Add
StakeCredentialsand two helper functions:toStakeCredentialsanddomRestrictedStakeCredentials
- Add
genValidUMapWithCredsanduniformSubset
- Deprecate
Cardano.Ledger.UMapCompactin favor ofCardano.Ledger.UMapand add tests for it. #3371- Add
Cardano.Ledger.UMap.rdPairViewto view the reward-deposits pair from theUMap.
- Add
- Replace
DPState cwithCertState era - Add
VState - Add
certVState - Parametrize
DStateandPStateby era - Rename
Cardano.Ledger.DPStatemodule toCardano.Ledger.CertState - Rename:
lsDPState->lsCertStatedpsPState->certPStatedpsDState->certDStateobligationDPState->obligationCertState
- Add support for
PlutusV3
- Add
ToJSON (PParamsHKD f era)superclass constraints forEraPParams. - Add
ToJSON (TxOut era)superclass constraints forEraTxOut. - Add superclass constraints for
Val:NoThunks,EncCBOR,DecCBOR,ToJSON,NFData,ShowEncCBOR (CompactForm t),DecCBOR (CompactForm t)
- Add
ToJSONKey/FromJSONKeyinstances forScriptHash - Add
ToJSON/FromJSONinstances forCompactForm Coin,SafeHashandTxId - Add
ToJSONinstances for:Ptr,CertIx,TxIxTripandUMapDeltaCoinandCompactForm DeltaCoinInstantaneousRewards,FutureGenDeleg,PState,DStateandDPState.UTxOandTxInStake,SnapShot,SnapShots,PoolDistrandIndividualPoolStakeRewardandRewardTypeAuxiliaryDataHashCredential
- Make
getConsumedValueaccept a deposit lookup function instead of aDPState - Add
lookupDepositDStateandlookupRewardDState. Former can be used withgetConsumedValueto regain previous behavior. - Add
hashScriptTxWitsL - Remove custom
Failtype, in favor ofFailTpackage - Move
bBodySizeintoCardano.Ledger.Core - Rename
TxIdfield from_unTxIdtounTxId
- Remove
runFailErrorin favor oferrorFailfromFailTpackage
- First properly versioned release.