- Add
LedgerTxInfo
toCardano.Ledger.Alonzo.Plutus.Context
EraPlutusTxInfo
class:- replace params in
toPlutusTxInfo
signature withLedgerTxInfo
- replace
toPlutusScriptContext
withtoPlutusArgs
- replace params in
EraPlutusContext
class:- remove
mkPlutusScriptContext
,mkPlutusLanguageContext
- add
mkPlutusWithContext
- remove
- add
toPlutusWithContext
toCardano.Ledger.Alonzo.Plutus.Context
- Move
PlutusScriptContext
type family to core - Add
ContextError
inhabitant toTransactionScriptFailure
- Change return type of
evalTxExUnits
andevalTxExUnitsWithLogs
to not beEither
s - Add
lookupPlutusScript
anderaLanguages
to AlonzoScripts
- Deprecate
lookupPlutusScript
in AlonzoEvaluate
- Add
AllegraEraScript
andShelleyEraScript
instances forAlonzoEra
- Add
Inject
instance forAlonzoTx
- Move these functions and types from
cardano-ledger-api
, so they can be used in the test suite:TransactionScriptFailure
evalTxExUnits
RedeemerReport
evalTxExUnitsWithLogs
RedeemerReportWithLogs
- Change signatures of
Arbitrary
instances forAlonzoScript
:- replace
Era
constraint withAllegraEraScript
- replace
Timelock
withNativeScript
- replace
- Change the type of the balance field in
InsufficientCollateral
toDeltaCoin
- Add
ToJSON
instances forFailureDescription
andTagMismatchDescription
- Undeprecate
redeemerPointer
. - Add
AlonzoEraTxAuxData
withplutusScriptsTxAuxDataL
- Add
metadataAlonzoTxAuxDataL
,timelockScriptsAlonzoTxAuxDataL
andplutusScriptsAllegraTxAuxDataL
- Add type
EraRuleEvent
instances forPPUP
,LEDGER
andTICK
events - Add
Eq
andNFData
instances forAlonzoUtxoEvent
,AlonzoUtxowEvent
andAlonzoUtxosEvent
- Add instances for
InjectRuleFailure
and switch to usinginjectFailure
- Add
allegraToAlonzoUtxoPredFailure
- Add
NFData
instances for:CollectError
AlonzoUtxoPredFailure
FailureDescription
TagMismatchDescription
AlonzoUtxosPredFailure
AlonzoUtxowPredFailure
- Add
Semigroup
andMonoid
instances forRedeemers
- Add
alonzoScriptPrefixTag
- Add implementation for
getMinFeeTxUtxo
- Deprecated
indexRedeemers
andredeemerPointer
. - Add
lookupRedeemer
- Rename
AsIndex
toAsIx
andupgradePlutusPurposeAsIndex
toupgradePlutusPurposeAsIx
- Add
AsIxItem
as well astoAsItem
,toAsIx
. - Switch
PlutusPurpose
toAsIxItem
inAlonzoScriptsNeeded
- Add
hoistPlutusPurpose
,toSpendingPurpose
,toMintingPurpose
,toCertifyingPurpose
,toRewardingPurpose
,fromSpendingPurpose
,fromMintingPurpose
,fromCertifyingPurpose
,fromRewardingPurpose
toAlonzoEraScript
- Add
SpendingPurpose
,MintingPurpose
,CertifyingPurpose
,RewardingPurpose
pattern synonyms. - Add
getSpendingScriptsNeeded
,getRewardingScriptsNeeded
,getMintingScriptsNeeded
- Add
zipAsIxItem
- Modify
PParams
JSON instances to matchcardano-api
- Add
ToExpr
instances forAlonzoUtxoEvent
,AlonzoUtxowEvent
andAlonzoUtxosEvent
- Add
RuleListEra
instance for Alonzo - Add:
impLookupPlutusScriptMaybe
fixupOutputDatums
- Remove root coin argument from
initAlonzoImpNES
- Rename
fixupPlutusScripts
tofixupRedeemers
- Add:
fixupPPHash
fixupPlutusScripts
addCollateralInput
impGetPlutusContexts
fixupDatums
- Add
Test.Cardano.Ledger.Alonzo.Imp.UtxosSpec
- Add
alonzoFixupTx
- Deprecated
getAlonzoSpendingTxIn
in favor ofplutusPurposeSpendingTxIn
- Add
PlutusPurpose
,plutusPurposeSpendingTxIn
andupgradePlutusPurposeAsIndex
toAlonzoEraScript
. - Add
AsIndex
,AsItem
andAlonzoPlutusPurpose
- Remove
RdmrPtr
andTag
in favor ofPlutusPurpose AsIndex
- Remove
ScriptPurpose
in favor ofPlutusPurpose AsItem
- Add
AlonzoTxAuxData'
,atadMetadata'
,atadTimelock'
,atadPlutus'
- Add
alonzoRedeemerPointer
,alonzoRedeemerPointerInverse
- Remove
rdptr
andrdptrInv
in favor ofredeemerPointer
andredeemerPointerInverse
respectively - Rename
indexedRdmrs
toindexRedeemers
and change the type of one of its arguments - Deprecate
requiredSignersAreWitnessed
- Add
ToJSON
forAlonzoContextError
andCollectError
- Stop exporting all of the internal
hkd*
functions andPParamsHKD
fromCardano.Ledger.Alonzo.Core
. - Export
AlonzoEraTx
fromCardano.Ledger.Alonzo.Core
- Add
transTxBodyId
,transTxBodyCerts
,transTxBodyWithdrawals
,transTxBodyReqSignerHashes
,transTxWitsDatums
- Remove deprecated
VersionedTxInfo
,getDatum
,getAllowedSupplimentalDataHashes
,txscripts
- Remove
ExtendedUTxO
in favor ofPlutusEraTxInfo
andtxInfo
in favor oftoPlutusTxInfo
- Rename
alonzoTransTxCert
totransTxCert
- Remove
alonzoTxInfo
andlanguages
as unnecessary. - Remove
transTxOutAddr
in favor oftransAddr
- Remove
txInfoIn'
,txInfoIn
as unnecessary - Rename
txInfoOut
totransTxOut
for consistency - Replace
valContext
withtoPlutusContext
, - Stop exporting from
Cardano.Ledger.Alonzo.Plutus.TxInfo
:getWitVKeyHash
,transKeyHash
,transKeyHash
,transSafeHash
,transStakeReference
,slotToPOSIXTime
,transCred
,transProtocolVersion
,validScript
,transDataHash'
,transDataHash
,transExUnits
,ScriptFailure
,ScriptResult
,scriptPass
,scriptFail
,PlutusDebugLang
,PlutusDebug
,PlutusData
,PlutusError
,PlutusDebugInfo
,EraPlutusContext
,PlutusWithContext
,PlutusTxCert
,unTxCertV1
,unTxCertV2
,unTxCertV3
,debugPlutus
,runPlutusScript
,runPlutusScriptWithLogs
,deserialiseAndEvaluateScript
andexplainPlutusEvaluationError
. - Add new module
Cardano.Ledger.Alonzo.Plutus.Context
that contains new type classes for plutus context translation:EraPlutusTxInfo
andEraPlutusContext
as well as the type families for plutus specific types:PlutusTxInfo
,PlutusTxCert
,PlutusScriptPurpose
,PlutusScriptContext
- Remove deprecated module
Cardano.Ledger.Alonzo.TxInfo
- Add
lookupPlutusScript
andtransLookupTxOut
- Add
transValidityInterval
- Remove
transVITime
in favor oftransValidityInterval
. - Remove deprecated
scriptsNeeded
,scriptsNeededFromBody
,evalScripts
,evalScriptsWithLogs
,collectTwoPhaseScriptInputs
getDatumAlonzo
,getSpendingTxIn
. - Remove
language
in favor of two separate functionsplutusScriptLanguage
andtoPlutusScript
- Remove
knownToNotBe1Phase
in favor oflookupPlutusScript
. - Rename
Cardano.Ledger.Alonzo.PlutusScriptApi
toCardano.Ledger.Alonzo.Plutus.Evaluate
- Turn
TranslationError
sum type into aContextError
data family - Add
AlonzoEraScript
type class with associated data familyPlutusScript
and functions:eraMaxLanguage
,toPlutusScript
,fromplutusScript
,mkPlutusScript
andwithPlutusScript
- Add
withPlutusScriptLanguage
,plutusScriptLanguage
,decodePlutusScript
,plutusScriptBinary
,mkBinaryPlutusScript
,isValidPlutusScript
andtoPlutusSLanguage
- Remove
Cardano.Ledger.Alonzo.TxInfo
module - Remove
ExtendedUTxO
- Instead of accepting
UTxO
the validation functionppViewHashesMatch
now acceptsScriptsProvided
and remove the no longer neededlanguages
function. - Delete
utxoPredFailMaToAlonzo
,utxoPredFailShelleyToAlonzo
- Moved
ToExpr
instances out of the main library and into the testlib. - Changed the type of the ConwayPParams field appEMax
- Add
TxUTxODiff (UTxO era) (UTxO era)
inhabitant to theAlonzoUtxosEvent era
data type.
- Added
ShelleyEraImp
constraint toemptyAlonzoImpNES
- Rename
emptyAlonzoImpNES
toinitAlonzoImpNES
- Remove
Test.Cardano.Ledger.Alonzo.CostModel
in favor ofTest.Cardano.Ledger.Plutus
- Move
costModelParamsCount
toCardano.Ledger.Plutus.CostModels
- Add
mkPlutusScript'
- Add
alwaysSucceedsLang
andalwaysFailsLang
- Change
alwaysSucceeds
andalwaysFails
to accept the language version at the type level. - Export
genNativeScript
andgenPlutusScript
from Arbitrary
- Move
Cardano.Ledger.Alonzo.Scripts.Data
toCardano.Ledger.Plutus.Data
- Deprecated
Cardano.Ledger.Alonzo.Language
- Move
Cardano.Ledger.Alonzo.TxInfo
toCardano.Ledger.Alonzo.Plutus.TxInfo
with deprecation of the former. - Add
evalScriptsWithLogs
,evalPlutusScriptsWithLogs
andrunPlutusScriptWithLogs
: #3843
- Provide CDDL spec files with
readAlonzoCddlFileNames
andreadAlonzoCddlFiles
fromTest.Cardano.Ledger.Alonzo.Binary.Cddl
- Expose
genValidAndUnknownCostModels
inArbitrary
- Add
Test.Cardano.Ledger.Alonzo.CostModel
- Add
updateCostModels
- Add
AlonzoEraUTxO
and use in the rules. - Deprecate
getDatum
in favor ofgetSpendingDatum
- Deprecate
getDatumAlonzo
in favor ofgetAlonzoSpendingDatum
- Deprecate
getSpendingTxIn
in favor ofgetAlonzoSpendingTxIn
- Deprecate
getAllowedSupplimentalDataHashes
in favor ofgetSupplementalDataHashes
- Rename
NonOutputSupplimentaryDatums
toNotAllowedSupplementalDatums
- Remove unused
isTwoPhaseScriptAddress
- Change arguments to
hasExactSetOfRedeemers
- Add
emptyAlonzoImpNES
- Add
Test.Cardano.Ledger.Alonzo.ImpTest
- Add
EraImpTest
instance forAlonzoEra
- Add
ToExpr
instances for:CollectError
AlonzoUtxoPredFailure
FailureDescription
TagMismatchDescription
AlonzoUtxosPredFailure
AlonzoUtxowPredFailure
BinaryData
Datum
IsValid
ScriptPurpose
TxOutSource
TranslationError
Addr28Extra
DataHash32
RdmrPtr
- Expose
genValidCostModel
inArbitrary
- Add
ToExpr
instance for:PlutusData
Data
BinaryData
Datum
AlonzoTx
AlonzoTxBody
AlonzoTxOut
AlozoTxWits
IsValid
Addr28Extra
DataHash32
RdmrPtr
Redeemers
- Add
Generic
instance for :AlonzoTxBody
Redeemers
TxDats
- Add
upgradeData
,upgradeRedeemers
andupgradeTxDats
- Add
TxUpgradeError
type toEraTx
- Add
AlonzoTxBodyUpgradeError
,AlonzoTxUpgradeError
- Add
toAlonzoTransitionConfigPairs
andEraTransition
instance. - Rename
alonzoGenesisAesonPairs
->toAlonzoGenesisPairs
for consistency.
- Add
Test.Cardano.Ledger.Alonzo.Binary.RoundTrip
module with:roundTripAlonzoCommonSpec
roundTripAlonzoEraTypesSpec
- Made
isPlutusScript
more general. - Add
alonzoEqTxRaw
andalonzoEqTxWitsRaw
- Add
EqRaw
instance forAlonzoScript
,AlonzoTxWits
,AlonzoTxAuxData
,AlonzoTxBody
andAlonzoTx
- Add
translateAlonzoTxAuxData
,translateAlonzoScript
andtranslateDatum
- Deprecated
translateTxOut
in favor ofupgradeTxOut
- Deprecated
transStakeCred
in favor oftransCred
- Rename
transShelleyTxCert
toalonzoTransTxCert
- Change type of
Plutus
to useBinaryPlutus
instead ofShortByteString
- Deprecate
runPLCScript
in favor ofrunPlutusScript
- Addition of
PlutusWithContext
- Deprecation of
collectTwoPhaseScriptInputs
in favor ofcollectPlutusScriptsWithContext
- Deprecation of
evalScripts
in favor ofevalPlutusScripts
- Deprecation of
runPLCScript
in favor ofrunPlutusScript
- Deprecation of
explainPlutusFailure
in favor ofexplainPlutusEvaluationError
- Move
BinaryPlutus
intocardano-ledger-core
package inCardano.Ledger.Language
module - Change
PlutusScript
constructor of theAlonzoScript
type. It now accepts the newPlutus
type instead of aLanguage
andShortByteString
- Rename
pdSBS
field topdPlutusScript
in thePlutusDebugLang
data type
- Export
transMintValue
- Add implementation for
spendableInputsTxBodyL
- Added
Semigroup
andMonoid
instances toAlonzoScriptsNeeded
- Introduction of
TxCert
andEraTxCert
- Add
EraTxCert
andShelleyEraTxCert
instances toAlonzoEra
- Add
PlutusTxCert
- Add
unTxCertV1
,unTxCertV2
,unTxCertV3
- Add
EraPlutusContext
- Add
EraPlutusContext 'PlutusV1
instance toAlonzoEra
- Rename
transTxCert
totransShelleyTxCert
- Remove
witsVKeyNeeded
, in favor of the one fromcardano-ledger-shelley
- Fix an issue where
TotalDeposits
didn't appear on Alonzo era
- Fix
PParams AlonzoEra
serialization. #3440
- Replace
DPState c
withCertState era
- Add
TranslateEra
instances for: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
- Change parametrization of
ScriptPurpose
,CollectError
andTransactionScriptFailure
fromc
rypto toera
- Add
ToJSON
instance forAlonzoTxOut
,AlonzoScript
andDatum
- Add
ToJSON
instance forAlonzoPParams StrictMaybe
- Stop exporting an internal function
decodeBinaryData
- Remove redundant
Redeemers'
pattern synonym. - Move
Cardano.Ledger.Alonzo.Tools
module intocardano-ledger-api:Cardano.Ledger.Api.Scripts
- Add helper lens
hashDataTxWitsL
- Rename
smMap
tocmValues
- Remove redundant pattern synonym
AlonzoTxAuxData'{atadMetadata',atadTimelock',atadPlutus'}
- Addition of
costModelToMap
,costModelFromMap
andcostModelParamNames
- Made it possible for
FromJSON
to decodeCostModels
both as the new approach:- as a list of cost models values,
- and the old approach of mapping from the parameter name to the cost model value
- Consolidate all
Arbitrary
instances from the test package to under a newtestlib
. #3285
- First properly versioned release.