-
Deprecate patterns, to lower entry bar knowledge to this codebase (breaking, refactoring) PR 733
-
Introduce new type
PlutusScriptInEra
and fix the double cbor encoding plutus script bug Resolves: #685 (bugfix) PR 720 -
Shelley: export {to,from}AlonzoLanguage (Plutus script language conversions) (compatible) PR 731
-
Expose GovActionState from Ledger (feature, compatible) PR 730
-
Deprecate some patterns, remove deprecated ones. See the deprecation stanzas for migration guidance. (compatible, refactoring) PR 728
-
Downgrade plutus version to 1.37 (bugfix) PR 727
-
Added schema checking functionality for DRep registration, DRep update, and GovAction metadata, based on CIP-0100, CIP-0108, and CIP-0119. Also add functionality to check whether a certificate is for DRep registration or updating. (feature, compatible, test) PR 713
-
Added
GetBigLedgerPeerSnapshot
block query (breaking) PR 521 -
Add certificates support in
createCompatibleSignedTx
. (feature, breaking) PR 691 -
Integrate
typed-protocols
,ouroboros-network
,cardano-ledger
andouroboros-consensus
(breaking, feature) PR 687 -
Export genTxOutByron (compatible) PR 703
-
Don't export the ledger's
coerceKeyRole
function anymore, export RewardAccount (breaking) PR 708 -
Adds
modTxTotalCollateral
,modTxReturnCollateral
,modTxFee
,modTxValidityLowerBound
,modTxValidityUpperBound
,modTxMetadata
,modTxAuxScripts
,modTxWithdrawals
,modTxCertificates
,modTxUpdateProposal
,modTxScriptValidity
,modTxMintValue
functions for modifyingTxBodyContent
. AddsaddTxMintValue
andsubtractTxMintValue
. (compatible) PR 706 -
Add TxBodyModifier functions:
addTxIns
,modTxInsCollateral
,addTxInsCollateral
,addTxInCollateral
,modTxInsReference
,addTxInsReference
,addTxInReference
,addTxOuts
,modTxExtraKeyWits
,addTxExtraKeyWits
. (compatible) PR 704
-
Integrate queryProposals (GetProposals) (feature) PR 684
-
Export HasKeyRole's coerceKeyRole function (compatible) PR 699
-
Exposed
Language
,Plutus
,Script
,getNativeScript
,languageToText
,plutusBinary
,plutusScriptLanguage
,serializeAsHexText
,showTimelock
inCardano.Api.Ledger
, andAlonzoEraOnwardsConstraints
inCardano.Api
(feature) PR 689 -
Export the Convert class (compatible) PR 696
-
fromProposalProcedure: return StakeCredential (breaking) PR 692
-
Export GovActionIx from the ledger (compatible) PR 688
-
We introduce the
Convert
type class as an alternative to cardano-ledger'sInject
typeclass. WhileInject
is more general,Convert
is specifically designed for transformations between era-indexed types, making the intent clearer at call sites where we're converting between eons. (feature) PR 690
-
Add
sbeToSimpleScriptLanguageInEra
,getScriptWitnessScript
,getScriptWitnessReferenceInput
,getScriptWitnessReferenceInputOrScript
function RefactorTxMintValue
to better represent minting state PropagateIsPlutusLanguage
constraint toScriptLanguage lang
,AnyPlutusScriptVersion
,Script lang
andScriptWitness witctx era
types. RemoveMaybe ScriptHash
fromPReferenceScript
andSReferenceScript
. (breaking, refactoring) PR 663 -
Improve plutus script failure error (feature) PR 683
-
Remove experimental code exposure in
Cardano.Api
non-experimental modules (breaking) PR 681 -
Deprecate eons conversion functions like
conwayEraOnwardsToBabbageEraOnwards
. AddInject
instances for eon conversions. See the PR description for migration aid. (compatible, refactoring) PR 636
-
ValueParser: rename publicly exposed function names to indicate they are parsers
To adapt: prefix old function name by
parse
and everything should compile again. (breaking) PR 674 -
Parameterize Value parser on role of the Value being parsed: transaction output or minting policy (breaking) PR 666
-
Add function to extract anchor data from a certificate (feature) PR 664
-
Export the Committee record from the ledger, for use in the CLI (compatible) PR 669
-
Exposed functions and types from
ouroboros-*
required bycardano-cli
. (compatible) PR 667 -
Rename
TxOutDatumInTx
datum toTxOutSupplementalDatum
(breaking) PR 662 -
Exposed
GovAction
andConstitution
types and constructors required by hash check intransaction build
incardano-cli
(feature) PR 661
-
Use correct stake deregistration certs in Conway Require 400,000 deposit when registering keys in
defaultShelleyGenesis
. (bugfix) PR 657 -
Expose transitive dependencies from
cardano-ledger
needed bycardano-cli
Breaking change:Cardano.Api.Ledger
no longer exports Byron'sTx
but it is now exported inCardano.Api.Byron
(breaking) PR 656 -
Fix datum conversion in 'fromLedgerTxOuts' when using 'fromAlonzoTxOut' (bugfix) PR 620
-
Bump ouroboros-consensus to 0.21, ouroboros-consensus-cardano to 0.20, ouroboros-consensus-protocol to 0.9.0.2, ouroboros-consensus-diffusion to 0.18, ouroboros-network-api to 0.10, plutus-ledger-api to 1.36, plutus-core to 1.36, and cardano-ledger-binary to 1.3.
- Stop supplying protocol version to Globals (breaking) PR 643
-
Export an additional symbol (compatible) PR 652
-
Expose AnyVote type (feature, compatible) PR 649
-
Handle plutus related ledger events in Conway (feature, compatible) PR 650
-
Exposed functions and types from cardano-ledger-alonzo, and cardano-ledger-byron required by cardano-cli. Breaking changes:
Address
type and its constructorByronAddress
are no longer exported byCardano.Api.Byron
, but they are both exported byCardano.Api
now, together withShelleyAddress
constructor.- The types
TxId
,TxIn
,TxOut
, andTxIx
, with their constructors are no longer exported byCardano.Api.Byron
. (breaking, refactoring) PR 647
-
Add voting to simple tx interface (feature, breaking) PR 648
-
This module exposes
createCompatibleSignedTx
which is intended to be used in testing only. It allows the creation of simple unbalanced transactions that can submit protocol updates in any era. (feature) PR 644 -
Add new field 'inlineDatumRaw' to TxOut ToJSON instance
It contains the raw CBOR for any inline datum.
When building applications that need to spend from a script UTxO which has a datum attached, that off-chain code needs access to the raw Datum for evaluating the transaction and calculate fees. (feature, compatible) PR 632
-
Make
IsXXXBasedEra
a class hierarchy (compatible) PR 641 -
Allow next leadership-schedule at 4k/f (bugfix) PR 639
-
Introduce supplementary datums (feature) PR 640
-
Added new types to CDDL and added test for forward compatibility of
deserialiseTxLedgerCddl
(bugfix, test) PR 634 -
Fix collateral balancing when building transaction (compatible, bugfix) PR 631
-
Removes the dependency to
optparse-applicative-fork
, as it is unused internally and not useful for users. (breaking, refactoring) PR 635 -
Add export
fromLedgerUTxO
to `Cardano.Api. (feature, compatible) PR 627
-
Upgrade
cardano-ledger-*
,ouroboros-consensus-cardano
,ouroboros-network-api
,plutus-core
andplutus-ledger-api
. (feature, breaking) PR 610 -
Fix current treasury value in transaction building: default to
Nothing
instead of0
. Experimental API: remove redundant type families and functions #625 (breaking, bugfix) PR 625 -
Deprecate
valueFromList
and valueToList. AddIsList Value
instance. Fix fee estimation when autobalancing assets minted in the transaction. (breaking, bugfix) PR 622 -
Include datums and redeemers in makeUnsignedTx (bugfix) PR 623
-
Deprecate createAndValidateTransactionBody. Use createTransactionBody instead. (breaking) PR 597
-
Introduce new
newtype UnsignedTx
type which aims to eventually replacedata TxBody
Introduce newdata Era
type which reduces the number of eras cardano-api exposes. It is only concerned with mainnet and the upcoming era Update experimental api and propagateBalancedTxBody
now returnsUnsignedTx
which is a wrapped cardano-ledgerTx
. (feature, breaking) PR 604 -
Fix datum conversion in 'fromShelleyTxOut' when using 'ShelleyBasedEraAlonzo' as input (bugfix) PR 613
-
Add
Lovelace
as a type synonym toCoin
(compatible) PR 614 -
TxInsReference
is no longer parameterised bybuild
. New functionsmkFeatured
,setTxProposalProcedures
,setTxVotingProcedures
,mkTxVotingProcedures
,mkTxProposalProcedures
,convProposalProcedures
, andbuildTxWithToMaybe
. New generatorgenValidTxBody
. Fix missing script proposals in transaction building #594. (breaking, refactoring, bugfix, test) PR 602 -
Exposed
querySPOStakeDistribution
query (feature) PR 598 -
Modify TxCertificates allow multiple script witnesses for a single stake credential (breaking, bugfix) PR 595
-
Export metadataValueFromJsonNoSchema (feature, compatible) PR 591
-
Make ScriptDatum in spending scripts optional in accordance with CIP-0069 (feature, compatible) PR 575
-
Update substituteExecutionUnits to include proposal and vote script witnesses (feature, breaking) PR 587
-
Fix reading of Plutus V2 cost models with different lengths in AlonzoGenesis in different eras (compatible, bugfix) PR 564
-
Export queryAccountState (compatible) PR 588
-
Add
IsAllegraBasedEra
,IsAlonzoBasedEra
,IsBabbageBasedEra
,IsConwayBasedEra
,IsMaryBasedEra
type classes. AddToAlonzoScript
andHasScriptLanguageInEra
type classes. (feature, compatible) PR 585
-
- Remove redundant era conversion functions. Use
toCardanoEra
instead. - Add IO Exception handling to consensus query execution.
- Refactor Cardano.Api.Convenience.Query to return
ExceptT e IO a
instead ofIO (Either e a)
(breaking, refactoring) PR 566
- Remove redundant era conversion functions. Use
-
Make the query used by the CLI's
transaction build
return the current treasury value, so that command to do treasury donation doesn't require the user to pass it. Corresponding CLI PR: IntersectMBO/cardano-cli#778 (feature, breaking) PR 557 -
Small improvements to queries (breaking, refactoring) PR 559
- Deserialize
ouroboros-consensus
'sPoolDistr
instead ofcardano-ledger
'sPoolDist
to maintain backwards compatibility with thePoolDistr
query. This is needed becausecardano-ledger
'sPoolDistr
datatype has changed. (compatible) PR 562
-
- Updated dependencies:
cardano-ledger
ouroboros-consensus
ouroboros-network
plutus
- Replaced
Cardano.Api.Fees.TransactionValidityError.TransactionValidityTranslationError
withCardano.Api.Fees.ScriptExecutionError.ScriptErrorTranslationError
- Concretized
toShelleyMultiSig
andfromShelleyMultiSig
toShelleyEra
. (feature, breaking) PR 552
- Updated dependencies:
-
evaluateTransactionExecutionUnitsShelley: return logs that are useful for debugging (breaking) PR 555
-
Export Target type from ouroboros-network, to be more convenient to users (compatible) PR 448
-
Add MuxError handling in
FoldBlocksError
. RenameLedgerStateCondition
toConditionResult
. (breaking, refactoring) PR 548 -
Prepare deprecation of ProtocolParameters (compatible, documentation) PR 547
-
TxBodyContent: support treasury donations (breaking) PR 543
-
Added deprecation warning to function
serialiseTxLedgerCddl
(breaking) PR 534
-
- Updated
cardano-ledger
,ouroboros-consensus
andplutus
packages. - Added
FailT
dependency. - Updated
conwayGenesisDefaults
andalonzoGenesisDefaults
. - Changed
CostModel
to useInt64
instead ofInteger
. - Fixed
ProtocolParameters
golden test to account for theInteger
->Int64
change in theCostModel
. (breaking, test) PR 523
- Updated
- Update estimateBalancedTxBody to account for required deposits due to governance proposals and stake registration certificates (feature, compatible, improvement) PR 527
-
Adding
MinFeeRefScriptCostPerByte
to Conway PParams (feature) PR 524 -
Added a golden test for ProtocolParameters, added three property-based tests for comparing ProtocolParameters and PParams for the different eras, and fixed the implementation of
toAlonzoPParams
function. (improvement) PR 457
-
Sort metadata keys for no-schema json for canonical CBOR (breaking, bugfix) PR 517
-
Implement estimateBalancedTxBody and estimateOrCalculateBalancedTxBody (feature, compatible) PR 511
-
Add support for CC keys in the SomeAddressVerificationKey type (feature, breaking) PR 514
-
- Add
getReferenceInputsSizeForTxIds
function. - Bump
cardano-ledger
andouroboros-consensus
bounds. In particular, the Conway genesis parameterucppMinFeeRefScriptCostPerByte
needs to be set to the correct value after benchmarking. - Add an extra parameter to
evaluateTransactionFee
, the reference script size, which the Ledger requires to estimate the minimum fee of a transaction. (feature, breaking) PR 496
- Add
-
In
Cardano.API.LedgerState
:- Use type aliases and patterns from ouroboros-consensus instead of re-defining them.
- Import entities from the right modules. (improvement) PR 503
-
Replace unsafeMergeVotingProcedures by mergeVotingProcedures, that handles incompatible votes and return an error (breaking, bugfix) PR 498
-
Undeprecate
evaluateTransactionFee
(compatible) PR 493 -
Re-implement
evaluateTransactionFee
using ledger'scalcMinFeeTx
TheevaluateTransactionFee
takes an additionalutxo
parameter and no longer takesbyronwitcount
. (breaking) PR 490
-
Add support for script-based CC members (feature, breaking) PR 489
-
Bump ouroboros-consensus-diffusion 0.12 (compatible) PR 488
-
Add plutus script support when making hot key authorisation certificates (feature, breaking) PR 476
-
Exposed
UpgradeConwayPParams
constructors and type. (improvement) PR 485 -
Exported more realistic default genesis for both Conway and Alonzo, and export DRepState constructors. (improvement) PR 482
-
Use the ledger's Coin instead of our custom Lovelace type (breaking, improvement) PR 475
-
Remove error
"evaluateTransactionFee: TODO support Byron key witnesses"
inestimateMinFeeTx
(compatible) PR 478 -
Revert #316 "Remove unused constraint" (improvement) PR 472
-
Expose Block constructors (improvement) PR 468
-
Add
SlotNo
andBlockNo
parameters tofoldEpochState
's callback function This gives access to the currentSlotNo
andBlockNo
in a given requested block. (feature, breaking) PR 470 -
Default genesis parameters yielding positive treasury (compatible) PR 425
-
Simplify
EraInEon
to take fewer constraints (compatible) PR 316
- Update ouroboros-consensus-0.16, ouroboros-consensus-cardano-0.14, ouroboros-consensus-diffusion-0.11, ouroboros-consensus-protocol-0.7, ouroboros-network-api-0.7 (compatible) PR 459
- Enable deposit return script addresses Enable constitutional scripts (bugfix, compatible, feature) PR 456
-
Allow
checkLedgerStateCondition
check to run in IO. Rename tofoldEpochState
. (feature, breaking) PR 453 -
Fix Conway script hash mismatch (bugfix) PR 452
-
add types for reexport (improvement) PR 420
- Support constructing DRep update certificates (feature, compatible) PR 421
- Make it build with ghc-9.8 (maintenance, compatible) PR 436
-
Make committee keys able to sign transactions (feature, compatible) PR 441
-
bech32 prefixes for committee keys hashes were incorrect. This PR fixes that, in accordance with CIP-5: https://github.com/cardano-foundation/CIPs/blob/master/CIP-0005/README.md?plain=1#L111 (breaking) PR 440
-
Bump CHaP for cardano node 8.8 release Parameterize
TransactionValidityError
andTxBodyErrorAutoBalance
on era Data constructorTransactionValidityTranslationError
is now parameterized onContextError (ShelleyLedgerEra era)
cppPoolRetireMaxEpoch
,protocolParamPoolRetireMaxEpoch
,icCommitteeTermLength
andprotocolUpdatePoolRetireMaxEpoch
records are updated toLedger.EpochInterval
RecordscppMaxBlockBodySize
,cppMaxTxSize
,protocolUpdateMaxBlockBodySize
,protocolUpdateMaxTxSize
have been updated toStrictMaybe Word32
RecordscppMaxBlockHeaderSize
,protocolUpdateMaxBlockHeaderSize
has been updated toStrictMaybe Word16
InhabitantsSuccessfulPlutusScript
andFailedPlutusScript
ofLedgerEvent
are now parameterized onNonEmpty PlutusWithContext
queryNodeLocalState
are nowexecuteLocalStateQueryExpr
parameterized onTarget ChainPoint
ResolvablePointers
data constructor has been updated with associated data typesPlutusPurpose AsIndex (ShelleyLedgerEra era)
andPlutusPurpose AsItem (ShelleyLedgerEra era)
ReplacePrevGovActionId
withGovPurposeId
ImplementTxProposalProcedures
andTxVotingProcedures
which enables Plutus script witnessing of proposals and votes. Remove support for intermediate tx body format. (feature, breaking) PR 407 -
Expose getAnyNewEpochState. Simplify rendering LedgerState errors (breaking, improvement) PR 439
-
Add return value to
checkLedgerStateCondition
(breaking) PR 433 -
Fix that bech32 prefixes for CC keys were incorrect (breaking, bugfix) PR 435
-
Bump hedgehog-extras to 0.6.0.1 to benefit of this fix: input-output-hk/hedgehog-extras#58 (compatible, test, release) PR 434
-
Better
MonadError
handling to avoid nestingExceptT
inmodifyError
(compatible, improvement) PR 431
-
Implement checkLedgerStateConditions. This new function gives direct access to the
NewEpochState
which contains the ledger state. It also requires anEpochNo
upon which it will terminate if the supplied condition is not met. (feature, compatible) PR 424 -
Use MonadError for 'LedgerState'. Add
Show LedgerState
,IOException
handling infoldBlocks
(compatible, improvement) PR 422 -
Support signing with drep extended key (compatible) PR 419
-
Expose CurrentEra and UpcomingEra pattern synonyms (feature, breaking, compatible) PR 414
-
Add renderSafeHashAsHex, which we want to remove from cardano-node and use in cardano-cli (feature, compatible) PR 410
-
Implement Era GADT and IsEra class as an alternative to the existing era handling code (feature, compatible) PR 402
-
Make it possible to merge again, by fixing dead links (improvement) PR 411
-
Expose all ledger events and convert the pattern synonyms to functions so GHC will warn us if we haven't handled a particular ledger event. (feature, breaking, improvement) PR 400
-
split cases in textEnvelopeType account for eras after conway using forEraInEon (breaking, bugfix) PR 390
- Restore the inclusion of datum hashes in Alonzo era tx bodies (bugfix) PR 398
- Expose AnyProposals and AnyRatificationState (feature, compatible) PR 395
-
New
ToJSON
instance forTxValidationErrorInCardanoMode
(feature) PR 393 -
Remove
ByronTx
data constructor fromdata Tx era
Delete Cardano.Api.Eon.ByronEraOnly module RemoveTxFeeImplicit
andTxValidityNoUpperBound
(breaking) PR 382
-
Remove
renderEra
UsedocToText . pretty
instead. RenameprettyTo*
functions todocTo*
. (breaking, improvement) PR 387 -
Expose NewGovernanceProposals and EpochBoundaryRatificationState ledger events in Conway era (feature, compatible) PR 388
-
Guard queries with their respective eras (breaking, improvement) PR 386
- Expose
stakeCredentialWitness
function, which returns only stake credentials for the certificates requiring witnessing: delegation and deregistration. (compatible, bugfix) PR 383
-
Parameterize
createAndValidateTransactionBody
onShelleyBasedEra era
(breaking) PR 378 -
Add
QueryStakeVoteDelegatees
to return the vote delegatee associated to a stake credential (feature, compatible) PR 367 -
ToJSON
instance forTxValidationError
(feature, compatible) PR 379
-
Error
instance forFileError
instead ofPretty
MakeprettyToText
return strictText
and addprettyToLazyText
ExportDoc
(feature, breaking) PR 375 -
Use
Pretty
for rendering errors instead ofShow
(breaking, improvement) PR 370 -
Integrate ledger relocation of Plutus modules. Eliminate
Ledger.Coin
wrapper inMaryValue
uses. Update consensus dependencies. UseLedger.THKD
onConwayPParams
. (breaking) PR 359
-
Export
AllegraEraOnwards
(compatible) PR 374 -
Isolation of Byron era 1/n. Changes made to cardano-api where Byron era was never being called in the first place. (breaking) PR 362
-
Update and export
Test.Gen.Cardano.Api.ProtocolParameters
(bugfix, test) PR 369 -
Fix round trip for empty
Value
. Add tests. (bugfix) PR 365
-
Use ledger presentation of multi-asset values directly. Lens to make this uniform over
ShelleyBasedEra
.Delete
ByronToAllegraEra
.New module
Cardano.Api.Ledger.Lens
.Modify
TxOutValue
to haveTxOutValueByron
andTxOutValueShelleyBased
instead ofTxOutAdaOnly
andTxOutValue
respectively.TxOutValueShelleyBased
now directly uses the ledger type instead of theValue
type.These functions have changed to either
L.Value (ShelleyLedgerEra era)
instead ofValue
or eons or both:genValue
genValueDefault
genValueForMinting
(breaking) PR 360
-
Replace
IsCardanoEra
andIsShelleyBasedEra
contraints in GADT constructors withTypeable
(breaking, improvement) PR 354 -
Modify foldBlocks to recurse on ledger events instead of mapping over them. This allows finer grained control over when
foldBlocks
is stopped. (optimisation) PR 353 -
--protocol-(minor|major)-version cannot be changed via create-protocol-parameters-update command in conway (breaking) PR 358
-
Modify foldBlocks to allow the fold to terminate from the accumulator via the FoldStatus type.
Modify foldBlocks to accumulate the chain tip rather than only immutable blocks (blocks that are k blocks away from the tip).
Add debug mode to foldBlocks which forces it to error with information about ledger states, client and server tip, number of requests in flight and the current IORef state. (feature, breaking) PR 350
-
Delete types:
- ByronAndAllegraEraOnwards
- ByronToMaryEra
- MaryEraOnly
Delete functions:
- allegraEraOnwardsToByronAndAllegraOnwardsEra
- byronAndAllegraEraOnwardsConstraints
- byronAndAllegraEraOnwardsToCardanoEra
- byronToMaryEraConstraints
- byronToMaryEraToCardanoEra
- caseByronToMaryOrAlonzoEraOnwards
- caseMaryEraOnlyOrAlonzoEraOnwards
- maryEraOnlyConstraints
- maryEraOnlyToCardanoEra
- maryEraOnlyToShelleyBasedEra (breaking, improvement) PR 355
-
Remove uses of
coerceKeyRole
, use asWitness when key role conversion is required (feature, breaking) PR 341 -
Delete
ByronMode
andShelleyMode
DeleteanyEraInModeToAnyEra
DeleteAnyEraInMode
Modify to useCardanoMode
only:executeQueryAnyMode
connectToLocalNode
- `connectToLocalNodeWithVersion
mkLocalNodeClientParams
queryNodeLocalState
submitTxToNodeLocal
queryTxMonitoringLocal
getLocalChainTip
executeLocalStateQueryExpr
DeparameteriseLocalNodeClientProtocolsInMode
ModifyLocalNodeClientProtocols
to only work inCardanoMode
. RenameLocalNodeClientProtocolsInMode
toLocalNodeClientProtocolsInIO
RenameTxValidationErrorInMode
toTxValidationErrorInCardanoMode
DeparameteriseTxValidationErrorInMode
Modify to useCardanoMode
onlydetermineEra
DeparameteriseLocalNodeConnectInfo
DeparameteriseLocalTxMonitoringResult
DeparameteriseLocalTxMonitoringQuery
DeparameteriseTxInMode
Modify to useCardanoMode
onlyfromConsensusBlock
toConsensusBlock
queryExpr
getProgress
getSlotForRelativeTime
toLedgerEpochInfo
slotToEpoch
queryCurrentEpochState
queryEpoch
queryDebugLedgerState
queryGenesisParameters
queryPoolDistribution
queryPoolState
queryProtocolParameters
queryConstitutionHash
queryProtocolParametersUpdate
queryProtocolState
queryStakeAddresses
queryStakeDelegDeposits
queryStakeDistribution
queryStakePoolParameters
queryStakePools
queryStakeSnapshot
queryUtxo
queryConstitution
queryGovState
queryDRepState
queryDRepStakeDistribution
queryCommitteeMembersState
DeparameteriseBlockInMode
DeparameteriseTxIdInMode
RemoveEraInMode
argument inQueryInEra
constructor DeleteConsensusBlockForMode
ModifyTxInMode
to carryCardanoEra
instead ofEraInMode
DeparameteriseBlockInMode
DeparameteriseTxIdInMode
DeparameteriseEraHistory
Modify to not takeEraInMode
argumentqueryCurrentEpochState
queryEpoch
queryDebugLedgerState
queryGenesisParameters
queryPoolDistribution
queryPoolState
queryProtocolParameters
queryConstitutionHash
queryProtocolParametersUpdate
queryProtocolState
queryStakeAddresses
queryStakeDelegDeposits
queryStakeDistribution
queryStakePoolParameters
queryStakePools
queryStakeSnapshot
queryUtxo
queryConstitution
queryGovState
queryDRepState
queryDRepStakeDistribution
queryCommitteeMembersState
ModifyTxInMode
constructors to removeEraInMode
arguments from constructors RemoveEraInMode
fromTxValidationErrorInCardanoMode
constructors DeleteEraInMode
,eraInModeToEra
andtoEraInMode
RemoveConsensusMode
argument from:fromConsensusBlock
fromConsensusTip
determineEra
DeletedetermineEraExpr
. UsequeryCurrentEra
instead. DeparameteriseQueryInMode
DeleteAnyConsensusModeParams
DeparametriseConsensusModeParams
RemoveConsensusMode
argument fromEraHistory
constructor DeleteEraConsensusModeMismatch
constructor DeletelocalConsensusMode
,AnyConsensusMode
andrenderMode
DeleteEraConsensusModeMismatch
DeleteCardanoMode
andConsensusMode
. (breaking) PR 342
-
Switch to use lens and eons for txbody construction (improvement) PR 334
-
Simplify
createTransactionBody
(improvement) PR 333 -
In
Tx
,ByronTx
now carries additionalByronEraOnly
witness InTxBody
,TxBodyByron
now carries additionalByronEraOnly
witness DeleteCardanoEraStyle
because eons solve the same problem more generally DeletecardanoEraStyle
(breaking) PR 335
-
Updated ledger, consensus and typed-protocol packages Adapted ProtocolParameters to the new ProtVer >=8 constraint in in ppuProtocolVersionL Replaced queryCommitteState with new queryCommitteeMembersState Improved costModel generation for tests Adapt to new type HKDNoUpdate f ProtVer of cppProtocolVersion Export types needed for querying the committee state Adjust to type change of proposalProceduresTxBodyL Remove invalidBeforeL and invalidHereAfterL defined in ledger (breaking, maintenance) PR 321
-
Expose
PlutusScriptV3
(bugfix) PR 343 -
Add support for simple scripts in Conway (bugfix) PR 344
-
Delete
ProtocolUTXOCostPerWord
feature (breaking) PR 339 -
Delete
ProtocolUTxOCostPerByteFeature
(breaking) PR 340 -
Add Show instance for FoldBlocksError (feature, compatible) PR 338
-
Split the
txValidityRange
field into two fields. New functionallegraEraOnwardsToByronAndAllegraOnwardsEra
(breaking, improvement) PR 332 -
Add support for Plutus V1 in Conway (bugfix) PR 323
-
DRep extended key: add CastVerificationKeyRole (compatible) PR 327
-
Delete
AlonzoEraOnly
. ExportcaseMaryEraOnlyOrAlonzoEraOnwards
(feature, breaking) PR 330 -
New
shelleyToAlonzoEraToShelleyToBabbageEra
function (feature, compatible) PR 329 -
Delete unnecessary calls to
shelleyBasedEraConstraints
(improvement) PR 325
- Remove
IsShelleyBasedEra
andIsCardanoEra
from all functions and types. UseShelleyBasedEra
andCardanoEra
instead. (breaking) PR 313
-
Add support for DRep extended keys (feature, compatible) PR 320
-
Parameterize GovernanceAction on era (breaking) PR 322
-
Haddock-document the
case*
functions (compatible, improvement) PR 314 -
New
MaryEraOnly
eon New functions:caseMaryEraOnlyOrAlonzoEraOnwards
disjointByronEraOnlyAndShelleyBasedEra
disjointAlonzoEraOnlyAndBabbageEraOnwards
Deprecate:noByronEraInShelleyBasedEra
. UsedisjointByronEraOnlyAndShelleyBasedEra
instead. (feature, breaking) PR 312
-
Delete
EraCast
type class (breaking) PR 308 -
Fewer constraints in functions (compatible) PR 310
-
Introduce anchor newtypes for drep registration certificate (feature, compatible) PR 305
-
Reduce constraint usage with eons (compatible, improvement) PR 299
-
Delete
EraCast
instance forCertificate
(breaking) PR 307 -
Add certs to txbody of Conway transactions (feature, compatible) PR 306
-
Add
BabbageEraOnly
(feature, compatible) PR 304
-
Add support for committee hot key witnesses (feature, compatible) PR 300
-
Delete
withShelleyBasedEraConstraintsForLedger
. UseshelleyBasedEraConstraints
instead. (breaking, improvement) PR 297 -
Simplify
DebugLedgerState
with eons (breaking, improvement) PR 296
- Haddock bug fix (compatible bug fix)
-
Rename
AnyEraInEon
toEraInEon
(breaking, improvement) PR 289 -
Require conway onwards for voting. Functions with modified type signatures:
createVotingProcedure
toVotingCredential
singletonVotingProcedures
(breaking, improvement) PR 293
-
Add witness committee cold key (feature, compatible) PR 292
-
More use of ReexposeLedger (improvement) PR 290
-
Expose Conway drep registration certificate anchor (breaking, improvement) PR 284
-
Parameterize
AnyEraInEon
. AddAnyEon
(breaking) PR 287 -
Add support for conway era protocol parameters. Adapted
GenesisCardano
to upstream Ledger/Consensus changes. (feature, breaking) PR 270
-
New
caseAlonzoOnlyOrBabbageEraOnwards
andalonzoEraOnlyToAlonzoEraOnwards
functions (feature, compatible) PR 282 -
Delete
AuxScriptsSupportedInEra
. UseAllegraEraOnwards
instead. (breaking, improvement) PR 273 -
- Rename
inShelleyBasedEraEonMaybe
toforShelleyBasedEraInEonMaybe
- Rename
inShelleyBasedEraEon
toforShelleyBasedEraInEon
- Rename
maybeEonInShelleyBasedEra
toforShelleyBasedEraMaybeEon
- Rename
eonInShelleyBasedEra
toinEonForShelleyBasedEra
- Rename
maybeEonInEra
toforEraMaybeEon
- Rename
inEraEonMaybe
toforEraInEonMaybe
- New
inEonForEraMaybe
function - New
inEonForShelleyBasedEraMaybe
function (feature, breaking) PR 281
- Rename
-
Remove
CollateralSupportedInEra
. UseAlonzoEraOnwards
instead. RemovecollateralSupportedInEra
. UseinEonForEra
instead. (breaking) PR 271 -
Replace
TxScriptValiditySupportedInEra
. Use AlonzoEraOnwards instead. DeletetxScriptValiditySupportedInCardanoEra
. UseforEraInEra
instead. DeletetxScriptValiditySupportedInShelleyBasedEra
. UseforEraInEra
instead. (breaking) PR 261 -
Delete
ValidityUpperBoundSupportedInEra
. UseShelleyBasedEra
instead. DeleteValidityNoUpperBoundSupportedInEra
. UseByronAndAllegraEraOnwards
instead. NewcaseByronAndAllegraEraOnwardsOrShelleyEraOnly
function. NewShelleyEraOnly
eon NewByronAndAllegraEraOnwards
eon DeletevalidityUpperBoundSupportedInEra
. UseinEonForEra
instead. DeletevalidityNoUpperBoundSupportedInEra
. UseinEonForEra
instead. DeleteIsByronToAllegraEra
. DeleteIsByronToMaryEra
. DeleteIsByronToAlonzoEra
. (breaking, improvement) PR 272 -
New
AnyEraInEon
. Delete:- AnyByronEraOnly
- AnyByronToAllegraEra
- AnyByronToMaryEra
- AnyByronToAlonzoEra
- AnyShelleyToAllegraEra
- AnyShelleyToMaryEra
- AnyShelleyToAlonzoEra
- AnyShelleyToBabbageEra
- AnyShelleyBasedEra
- AnyMaryEraOnwards
- AnyAlonzoEraOnly
- AnyAlonzoEraOnwards
- AnyBabbageEraOnwards
- AnyConwayEraOnwards
Use
AnyEraInEon
instead. (feature, breaking) PR 280
-
Delete
ValidityLowerBoundSupportedInEra
. UseAllegraEraOnwards
instead DeletevalidityLowerBoundSupportedInEra
. UseinEonForEra
or equivalent instead (breaking, improvement) PR 279 -
Delete
TxExtraKeyWitnessesSupportedInEra
. UseAlonzoEraOnwards
instead. DeleteextraKeyWitnessesSupportedInEra
. UseinEonForEra
or related instead. (breaking, improvement) PR 278 -
Delete
TxTotalAndReturnCollateralSupportedInEra
. UseBabbageEraOnwards
instead. DeletetotalAndReturnCollateralSupportedInEra
. UseinEonForEra
or related instead. (breaking, improvement) PR 275 -
Explicit pattern match on all ledger certificates constructors. Remove
getIsCardanoEraConstraint
. UsecardanoEraConstraints
instead. (breaking, improvement) PR 277
-
A prior refactor accidentally defaulted to
isLeadingSlotsTPraos
regardless of the era (compatible, bugfix) PR 274 -
Fix missing redeemers in certificate deregistration (bugfix) PR 268
-
Delete
WithdrawalsSupportedInEra
. UseShelleyBasedEra
instead. DeletewithdrawalsSupportedInEra
. UseinEonForEra
instead. (breaking, improvement) PR 260 -
Replace
UpdateproposalSupportedInEra
withShelleyToBabbageEra
(breaking) PR 258 -
Delete
TxMetadataSupportedInEra
. UseShelleyBasedEra
instead. DeletetxMetadataSupportedInEra
. UseinEonForEra
instead. (breaking, improvement) PR 263 -
New functions
alonzoEraOnwardsToMaryEraOnwards
andshelleyToAllegraEraToByronToAllegraEra
(feature, compatible) PR 266 -
Export
getTxBodyContent
(feature, compatible) PR 267 -
Delete
CertificatesSupportedInEra
. UseShelleyBasedEra
instead. DeletecertificatesSupportedInEra
. UseinEonForEra
instead. (breaking) PR 259
-
Make ProposeNewCommittee use the appropriate type of key (breaking, improvement) PR 264
-
- Organise eon re-exports from
Cardano.Api
. - Export
MaryEraOnwards
(feature, compatible) PR 265
- Organise eon re-exports from
-
- Delete
AdaSupportedInEra
. UseByronToAllegraEra
instead. - Delete
MultiAssetSupportedInEra
. UseMaryEraOnwards
instead. - Delete function
multiAssetSupportedInEra
. UsecaseByronToAllegraOrMaryEraOnwards
instead. - New
ByronToAllegraEra
eon. - New
MaryEraOnwards
eon. - New functions:
caseByronToAllegraOrMaryEraOnwards
caseShelleyToAllegraOrMaryEraOnwards
caseShelleyToMaryOrAlonzoEraOnwards
shelleyToAllegraEraToByronToAllegraEra
(breaking, improvement) PR 254
- Delete
-
Delete unused eon type classes:
IsAlonzoEraOnly
IsAlonzoEraOnwards
IsBabbageEraOnwards
IsByronEraOnly
IsCardanoEra
IsConwayEraOnwards
IsShelleyToAllegraEra
IsShelleyToAlonzoEra
IsShelleyToBabbageEra
IsShelleyToMaryEra
(breaking) PR 256
-
Export
ByronEraOnly
(feature) PR 255 -
Update to the pre-commit script, so that it fails on hlint errors (improvement) PR 253
-
Delete
TxFeesExplicitInEra
andTxFeesImplicitInEra
NewByronEraOnly
feature MoveShelleyBasedEra
into its own module as it is a legitimate feature (breaking, improvement) PR 244 -
- Rename
FeatureInEra
toEon
- Rename the following modules:
Cardano.Api.Feature.AlonzoEraOnly -> Cardano.Api.Eon.AlonzoEraOnly
Cardano.Api.Feature.AlonzoEraOnwards -> Cardano.Api.Eon.AlonzoEraOnwards
Cardano.Api.Feature.BabbageEraOnwards -> Cardano.Api.Eon.BabbageEraOnwards
Cardano.Api.Feature.ConwayEraOnwards -> Cardano.Api.Eon.ConwayEraOnwards
Cardano.Api.Feature.ShelleyToAllegraEra -> Cardano.Api.Eon.ShelleyToAllegraEra
Cardano.Api.Feature.ShelleyToAlonzoEra -> Cardano.Api.Eon.ShelleyToAlonzoEra
Cardano.Api.Feature.ShelleyToBabbageEra -> Cardano.Api.Eon.ShelleyToBabbageEra
Cardano.Api.Feature.ShelleyToMaryEra -> Cardano.Api.Eon.ShelleyToMaryEra
- Rename the following functions:
inEraFeature
toinEonEra
inEraFeature
toeraInEon
- Rename the following functions (conservatively replacing "feature" with "eon" until we have a better naming convention):
inEraFeatureMaybe -> inEraEonMaybe
maybeFeatureInEra -> maybeEonInEra
featureInShelleyBasedEra -> eonInShelleyBasedEra
inShelleyBasedEraFeature -> inShelleyBasedEraEon
inShelleyBasedEraFeatureMaybe -> inShelleyBasedEraEonMaybe
maybeFeatureInShelleyBasedEra -> maybeEonInShelleyBasedEra
(breaking, improvement) PR 247
- Rename
-
Add JSON instance for
Hash GenesisKey
(improvement) PR 249 -
Support more ledger constraints (feature, compatible) PR 248
-
Fix typos in some deserialization error messages (bugfix) PR 243
-
Fix DRep Stake and DRep Stake queries for empty lists (bugfix) PR 245
-
Fix querying for dreps in
transaction build
in eras before conway (bugfix) PR 240 -
Fix Query error in QueryStakeDelegDeposits when executing transaction build (bugfix) PR 239
-
Expose constraints from casing functions (feature, compatible) PR 237
-
New functions:
caseByronOrShelleyBasedEra
caseShelleyToMaryOrAlonzoEraOnwards
caseShelleyToAlonzoOrBabbageEraOnwards
RenamedcaseShelleyToBabbageAndConwayEraOnwards
tocaseShelleyToBabbageOrConwayEraOnwards
(breaking) PR 232
-
Fix existing test constraints functions. Type signatures changed on:
shelleyBasedEraTestConstraints
shelleyToBabbageEraTestConstraints
conwayEraOnwardsTestConstraints
(breaking, bugfix) PR 233
-
Add the following features:
AlonzoEraOnly
ShelleyToAllegraEra
BabbageEraOnwards
AlonzoEraOnwards
ShelleyToMaryEra
ShelleyToAlonzoEra
(feature) PR 220
-
New
caseShelleyToBabbageAndConwayEraOnwards
function (feature, compatible) PR 231 -
Delete deprecated functions and types:
Allegra
AsAllegra
AsByron
AsMary
AsShelley
Byron
Mary
Shelley
eitherDeserialiseFromRawBytes
hashScriptData
makeStakeAddressPoolDelegationCertificate
makeTransactionBody
queryPparams
(breaking, improvement) PR 230
-
Updated to
cardano-ledger-conway-1.18
. PR 227
-
New
foldSomeAddressVerification
key function (feature, compatible) PR 225 -
FeatureInEra
instances forCardanoEra
andShelleyBasedEra
(feature, compatible) PR 226 -
Fix type signature of
queryGenesisParameters
so that it can be queried in any era (breaking, bugfix) PR 224
-
Fix exception when executing drep queries (bugfix) PR 221
-
Use
newtype
instead ofGADT
forLedgerProtocolParameters
(breaking, improvement) PR 218 -
Changes:
- Deleted
TxGovernanceActions
- New generators:
genProposals
,genProposal
,genVotingProcedures
- New test constraints functions:
shelleyBasedEraTestConstraints
,shelleyToBabbageEraTestConstraints
,conwayEraOnwardsTestConstraints
- New era functions:
inEraFeatureMaybe
,inShelleyBasedEraFeatureMaybe
,maybeFeatureInShelleyBasedEra
(breaking, improvement) PR 217
- Deleted
-
Replace ProtocolParameters usage with ledger's PParams (breaking) PR 214
-
Delete
TxVotes
andVotingEntry
and useVotingProcedures
instead (breaking) PR 209 -
New functions
emptyVotingProcedures
,singletonVotingProcedures
andmergeVotingProcedures
(feature, compatible) PR 208 -
Expose ledger lenses for governance types:
drepExpiryL
,drepAnchorL
,drepDepositL
,csCommitteeCredsL
(feature, compatible) PR 206 -
New
makeStakeAddressAndDRepDelegationCertificate
function (feature, compatible) PR 207 -
Use injective type families to improve type inference (compatible) PR 210
- Add
VotingProcedures
type. (feature, compatible) PR 204
-
Expose following queries from consensus:
- GetGovState
- GetDRepState
- GetDRepStakeDistr
- GetCommitteeState
- GetConstitution (feature, compatible) PR 196
-
Update createAnchor to use hashAnchorData (feature, breaking) PR 200
-
Updating the ledger dependency to cardano-ledger-conway-1.7.0.0: Many superficial renamings TxVotes carries a map now ResolvablePointers now has a different representation than does the ledger ProposalNewCommitee requires the old committee's credentials The ProposalNewConstitution case of toGovernanceAction was hashing the argument'ByteString, but it was already a hash. See temporarilyOptOutOfPrevGovAction makeGovernanceActionId was reusing the transaction id as the governance action id, but the types no longer allow that. Semigroup oprhan was missing for ConwayPParams QueryConstitutionHash phantom type is now more specific Cardano.Ledger.Api no longer export EraCrypto Introduced (internal) pattern synonyms for scripts to coverup a change in the corresponding ledger types. (feature, breaking) PR 179
-
New
VotingEntry
type (compatible) PR 194 -
Fix parameterisation of
GovernanceActionId
(breaking) PR 192 -
Implement createPParams and begin propagating Ledger.PParams in cardano-api (feature) PR 190
-
Delete deprecated functions and types (improvement) PR 173
-
Fix parameterisation of
GovernanceActionId
(breaking) PR 192 -
Implement createPParams and begin propagating Ledger.PParams in cardano-api (feature) PR 190
-
Delete deprecated functions and types (improvement) PR 173
- Implement
EraBasedProtocolParametersUpdate
(feature) PR 180
- Modify
queryGenesisParameters
so that its type advertises it only returns genesis parameters for the Shelley era (breaking) PR 181
-
Fix
EraCast Certificate
(bugfix; no-api-changes) PR 170 -
Fix committee hot keys (feature; breaking) PR 167
-
New
inEraFeature
andinShelleyBasedEraFeature
functions (feature; compatible) PR 162 -
Add
SerialiseAsBech32 (Hash CommitteeHotKey)
instance (feature; no-api-changes) PR 160
- Fix typo:
Constitional
->Constitutional
(bugfix; no-api-changes) PR 163
-
Add parent feature constraints. New
IsShelleyToBabbageEra
andConwayEraOnwards
type classes. (feature; compatible) PR 159 -
Deprecate
TxVotesSupportedInEra
(feature; breaking) PR 154 -
Deprecate
shelleyCertificateConstraints
andconwayCertificateConstraints
(feature; breaking) PR 155 -
More shelleyBasedEraConstraint constraints (feature; compatible) PR 149
-
Deprecate
TxGovernanceActionSupportedInEra
(feature; breaking) PR 150 -
Deprecate some constraint functions (feature; breaking) PR 151
-
Add SerialiseAsBech32 instances for committee cold and hot keys Remove CommitteeKey as it was redundant (feature; breaking) PR 152
-
Clean up constraints on Proposal and Vote instances, add their generators for tests (bugfix; compatible) PR 118
-
Expose shelleyCertificateConstraints and conwayCertificateConstraints (feature; compatible) PR 147
-
Provide additional constraints in
shelleyBasedEraConstraints
. This will obsolete the following:obtainEraCryptoConstraints
obtainCryptoConstraints
obtainEraPParamsConstraint
obtainSafeToHashConstraint
Also provide additional constraints inconwayEraOnwardsConstraints
andshelleyToBabbageEraConstraints
(feature; compatible) PR 143
-
Expose
shelleyCertificateConstraints
andconwayCertificateConstraints
(feature; compatible) PR 147
-
Fix permissions of file written using handleFileForWritingWithOwnerPermissionImpl (bugfix; no-api-changes) PR 141
-
Support more constraints for Conway witnesses
conwayEraOnwardsConstraints
shelleyToBabbageEraConstraints
New types:- AnyConwayEraOnwards
- AnyShelleyToBabbageEra (feature; compatible) PR 137
-
Expose functions for errors messages testing in golden files (feature; compatible) PR 126
-
Improved feature ergonomics New:
Featured
asFeaturedInEra
asFeaturedInShelleyBasedEra
genFeaturedInEra
genMaybeFeaturedInEra
conwayEraOnwardsToCardanoEra
conwayEraOnwardsToCardanoEra
conwayEraOnwardsToShelleyBasedEra
shelleyToBabbageEraConstraints
shelleyToBabbageEraToCardanoEra
shelleyToBabbageEraToShelleyBasedEra
Deprecated:FeatureValue
UseMaybe Featured
insteadisFeatureValue
valueOrDefault
asFeatureValue
asFeatureValueInShelleyBasedEra
(feature; breaking) PR 128
-
Expose
toShelleyPoolParams
for Conway integration (feature; compatible) PR 134 -
FeatureInEra
instance forShelleyBasedEra
(feature; compatible) PR 131
-
Expose more functionality from cardano-api (feature; compatible) PR 130
-
Rename
AtMostBabbageEra
toShelleyToBabbageEra
and addFeatureInEra
instances toShelleyToBabbageEra
andConwayEraOnwards
. (feature; breaking) PR 127 -
Incorporate remaining conway certificate types into cardano-api (feature; breaking) PR 119
-
Wire up remaining Conway governance actions (feature; compatible) PR 112
-
Fix ghc version CPP (bugfix; compatible) PR 123
- Add a HasTypeProxy constraint to getVerificationKey (feature; compatible) PR 122
-
Make it build with ghc-9.6 (feature; no-api-changes) PR 104
-
Fix Show and Eq instances for Proposal type (bugfix; no-api-changes) PR 115
-
Export
withShelleyBasedEraConstraintsForLedger
Use the ^>= version range operator for ledger and consensus libraries to avoid breaking changes affecting builds. (feature; compatible) PR 108 -
- Update to the latest ledger and consensus
- Introduce CommitteeKey (feature; breaking) PR 99
-
Add CastVerificationKeyRole StakePoolKey StakeKey instance (feature; compatible) PR 101
-
New
shelleyBasedEraConstraints
function (feature; compatible) PR 103 -
Propagate ledger's TxCert type family throughout the api (feature; breaking) PR 97
-
Parameterise
Certificate
withera
(feature; breaking) PR 84
- Update VotingCredential to be parameterized on cardano-api's era type (feature; breaking) PR 85
-
- Parameterise
Certificate
type with phantomera
type argument - Additional
CardanoEra era
argument for:makeCommitteeDelegationCertificate
makeCommitteeHotKeyUnregistrationCertificate
makeMIRCertificate
makeStakeAddressDeregistrationCertificate
makeStakeAddressPoolDelegationCertificate
makeStakeAddressRegistrationCertificate
makeStakePoolRegistrationCertificate
makeStakePoolRetirementCertificate
- New functions:
cardanoEraConstraints
textEnvelopeTypeInEra
- Delete
Certificate
constructor arguments from:PoolRegistration
PoolReRegistration
(feature; breaking) PR 83
- Parameterise
-
- Conway related
- Incorporate the ability to specify votes and governance actions in transactions
- Introduce TxVotes and TxGovernanceActions types (feature; breaking) PR 41
- New
requireShelleyBasedEra
function (feature; compatible) PR 58
- New
queryEpoch
function (feature; compatible) PR 56
- New queries:
queryCurrentEpochState
queryDebugLedgerState
queryGenesisParameters
queryPoolDistribution
queryPoolState
queryProtocolParameters
queryProtocolParametersUpdate
queryProtocolState
queryStakeAddresses
queryStakeDistribution
queryStakePoolParameters
queryStakeSnapshot
Deprecate:queryPparams
(feature; breaking) PR 53
- Simplify
queryStateForBalancedTx
such that:- It no longer invokes
executeQueryCardanoMode
`queryNodeLocalState, allowing it to run over a single connection - It no longer takes
socketPath
andnetworkId
parameters (feature; breaking) PR 47
- It no longer invokes
-
This module exports our query API as functions. It is intended to replace our query API as the public API.
Having functions as our public API rather than data allows us to export non-primitive functions as well as afford us the ability to refactor our query data types without breaking user code (feature; compatible) PR 48
-
Generate fields only if they make sense for the given era. Changes:
- New
Cardano.Api.Feature
module - New
FeatureInEra
type class - New
FeatureValue
type - New functions:
genFeatureValueInEra
featureInShelleyBasedEra
isFeatureValue
valueOrDefault
asFeatureValue
asFeatureValueInShelleyBasedEra
genProtocolParameters
andgenValidProtocolParameters
functions take additionalera
argument (feature; breaking) PR 40
- New
-
Changes:
- Updated plutus, ledger, and consensus dependency bounds
- Added support for Plutus V3 in conway
- Added a
query
field toLocalNodeConnectInfo
- Field added to
LocalNodeConnectInfo
(feature; breaking) PR 24
-
Crypto pinning via
iohkNix
overlay (bugfix; no-api-changes) PR 27
- Make
cardano-api:internal
component public (feature; compatible) PR 26
-
Expose
toAlonzoCostModels
function fromCardano.Api
(feature; compatible) PR 17 -
Add
Eq
andData
instances to various error types (feature; compatible) PR 9 -
Remove support for reading
ApplicationName
andApplicationVersion
from node configuration and replace with hardcoded values. (feature; breaking) PR 8 -
Add new
checkVrfFilePermissions
function (feature; compatible) PR 11 -
Added
genValidProtocolParameters
generator producingProtocolParameters
which do pass validations inCardano.Api.ProtocolParameters
module. RemoveCardano.Api.Orphans
from public API. (feature, test; breaking) PR 1
-
Addition of
QueryStakeDelegDeposits
ledger state query. -
Breaking change -
evaluateTransactionBalance
,makeTransactionBodyAutoBalance
andconstructBalancedTx
requires a mapping fromStakeCredential
to a deposit for every unregistration certificate present in the transaction -
Breaking change -
queryStateForBalancedTx
now requires a list of certificates and produces a Map withStakeCredential
to a deposit for every deregistration certificate in the supplied list
-
New functions:
intoFile
,readByteStringFile
,readLazyByteStringFile
,readTextFile
. Modify functions inCardano.Api.IO
to use unspecified content type rather than()
. (PR 5194) -
Breaking change
-
Delete
Cardano.Api.Environment
module. Merge twoSocketPath
type definitions to the one defined inCardano.Api.IO
DeleteEnvSocketError
and associated functions and types. (PR 5215) -
NodeConfigFile
newtype replaced withNodeConfigFile
type alias.GenesisConfigFile
newtype replaced withByronGenesisFile
,ShelleyGenesisFile
,AlonzoGenesisFile
,ConwayGenesisFile
type aliases. NewByronGenesisConfig
,ShelleyGenesisConfig
,AlonzoGenesisConfig
,ConwayGenesisConfig
type aliases. (PR 5217)
- Fix
toEraInMode
for Conway (PR 5175)
-
Add
getSlotForRelativeTime
function (PR 5130) -
New
ToJSON ScriptWitnessIndex
instance that produces machine readable output. AnyJSON
output uses this instance. PR 5168
-
Delete
readEnvSocketPath
function. (PR 5207) -
Expose node config reading functionality:
NodeConfig
,NodeConfigFile
andreadNodeConfig
-
Expose genesis file reading functionality:
- All eras:
GenesisConfig
andreadCardanoGenesisConfig
- Byron:
readByronGenesisConfig
- Shelley:
ShelleyConfig
,GenesisHashShelley
,readShelleyGenesisConfig
andshelleyPraosNonce
- Alonzo:
GenesisHashAlonzo
andreadAlonzoGenesisConfig
- Conway:
GenesisHashConway
andreadConwayGenesisConfig
- All eras:
-
Expose envirnment construction functionality:
mkProtocolInfoCardano
andgenesisConfigToEnv
-
New error exports:
TxOutInAnyEra(..)
txOutInAnyEra
StakePoolMetadataValidationError(..)
ScriptHash(..)
(PR 5188)
-
Rename
TestEnableDevelopmentHardForkEras
toExperimentalHardForksEnabled
andTestEnableDevelopmentNetworkProtocols
toExperimentalProtocolsEnabled
(PR 4341) -
Changed type of
protocolParamTxFeeFixed
,protocolParamTxFeePerByte
fromNatural
toLovelace
andprotocolUpdateTxFeeFixed
andprotocolUpdateTxFeePerByte
fromMaybe Natural
toMaybe Lovelace
(PR 5013) -
Append, not prepend change output when balancing a transaction (PR 4343)
-
Expose convenience functions
executeQueryCardanoMode
,determineEra
,constructBalancedTx
andqueryStateForBalancedTx
(PR 4446) -
Expand
BalancedTxBody
to includeTxBodyContent
(PR 4491) -
Change
calculateMinimumUTxO
to returnLovelace
instead of aValue
(PR 4482) -
Breaking change - Reduce exposed modules in cardano-api (PR4546)
-
Breaking change -
deserialiseFromRawBytes
method of theSerialiseAsRawBytes
type class to returnEither
instead ofMaybe
. DeprecateeitherDeserialiseFromRawBytes
. UsedeserialiseFromRawBytes
instead. (PR 4876) -
Breaking change - Preserve ScriptData bytes with HashableScriptData (PR4886)
-
Breaking change -
determineEraExpr
to returnIO (Either UnsupportedNtcVersionError AnyCardanoEra)
instead ofIO AnyCardanoEra
. (PR4788) -
Breaking change -
queryExpr
to returnIO (Either UnsupportedNtcVersionError a)
instead ofIO a
. (PR4788) -
Breaking change - Remove distinction between multisig and timelock scripts(PR4763)
-
Breaking change Change return type of
queryNodeLocalState
to newAcquiringFailure
type. -
Breaking change - For performance reasons,
evaluateTransactionFee
to take aLedger.PParams (ShelleyLedgerEra era)
argument instead ofProtocolParameters
New typeBundledProtocolParameters
and new functionsbundleProtocolParams
andunbundleProtocolParams
. (PR4903) -
Auto-balance multi asset transactions (PR 4450)
-
Breaking change - Removed
fromShelleyPParams
in favor offromLedgerPParams ShelleyBasedEraShelley
(PR 5013) -
Breaking change - JSON fields have been changed: (PR 5013)
- For
PState
:- Renamed
"pParams pState"
->"pParams"
- Renamed
"fPParams pState"
->"fPParams"
- Renamed
"retiring pState"
->"retiring"
- Added
"deposits"
- Renamed
- For
DState
:- Removed
"unifiedRewards"
- Added
"unified"
, which contains an object with both rewards and deposits.
- Removed
- For
InstantaneousRewards
:- Addition of
"deltaReserves"
and"deltaTreasury"
fields
- Addition of
CostModel
inAlonzoGenesis
andPParams
is formatted with a list of values to promote forward compatibility
- For
-
Fix a bug where only metadata from TxAuxData was hashed upon transaction body creation with
createTransactionBody
(PR 5013) -
Breaking change - Change representation of
CostModel
. It is no longer a mapping from param name to values, but instead a list with values, where order of value dictates the mapping to param names of a plutus cost model for a particular plutus version (PR 5013) -
Breaking change - ToJSON instance for CostModel and consequently for ProtocolParameters will now produce a list of values instead of a key value mapping. (PR 5013)
-
Breaking change -
calculateMinimumUTxO
no longer fails, it is a total computation. (PR 5013) -
New generators in
gen
sublibrary:genPositiveLovelace
,genPositiveQuantity
andgenSignedNonZeroQuantity
. (PR 5013) -
Split serialisation from IO (PR 5049)
-
Move parsers to reusable location (PR 5046)
-
Remove unused error constructors (PR 5041)
-
New
bounded
function (PR 4919) -
Modify
constructBalancedTx
to takeLedgerEpochInfo
(PR 4858) -
Add
ReaderT
ofNodeToClientVersion
toLocalStateQueryExpr
(PR 4809) -
Move signing key reading to cardano-api (PR 4698)
-
Replace
Data.Map
withData.Map.Strict
(PR 4675) -
New
Cardano.Api.DeserialiseAnyOf
module (PR 4639) -
Replace
deserialiseFromRawBytes
function witheitherDeserialiseFromRawBytes
(PR 4626) -
New
deserialiseFromTextEnvelopeCddlAnyOf
function (PR 4625) -
** Breaking ** Replace
NotScriptLockedTxInsError
type withScriptLockedTxInsError
(PR 4484) -
Separate validation and creation of transaction bodies (PR 4468)
-
New
QueryPoolDistribution
query (PR 4250) -
More efficient
ToJSON
instances that make use oftoEncoding
for streaming. (PR 4205) -
Expose
AcquireFailure
andSystemStart
fromCardano.Api.Shelley
(PR 4199) -
Update
makeTransactionBodyAutoBalance
function to automatically calculate the total and return collateral values (PR 4198) -
New
QueryPoolState
query (PR 4170) -
Add
utxoCostPerByte
protocol parameter (PR 4141) -
Expose
Key
interface inCardano.Api.Shelley
(PR 4048) -
New
generateInsecureSigningKey
function (PR 4021) -
SPO on-chain poll commands adjustments (PR 5132)
-
UTC Time to slots conversion function (PR 5130)
-
Add new interim governance commands: {create, answer, verify}-poll (PR 5112)
-
CIP-1694 make space for DRep certificates (PR 5108)
-
File type to track the content and direction of files (PR 5105)
-
Expose UsingRawBytes et al types (PR 5086)
-
Expose SerialiseAsRawBytesError in Cardano.Api (PR 5085)
-
New genCardanoKeyWitness function (PR 5071)
-
Replace roundtripCBOR with trippingCbor (PR 5069)
-
Remove non-round-trippable value TxInsReferenceNone for babbage onwards in generator (PR 5064)
-
Improve roundtrip functions to report annotations on callsite (PR 5063)
-
Define Functor instance for FileError (PR 5057)
-
Script data serialisation (PR 5002)
-
Add LedgerStateBabbage and LedgerStateConway pattern synonyms (PR 5001)
-
Conway hard forks on prot-ver 9 (PR 4988)
-
Guard against overflows in Shelley TxIns (PR 4956)
-
Remove duplicate scripts when building transaction body for Mary, Alonzo and Babbage (PR 4953)
-
Combinators for TxBodyContent and related types (PR 4941)
-
Preserve ScriptData bytes fix (PR 4926)
-
Detect invalid counter and certificate (PR 4880)
-
Implement ADR-2: Restructure modules for generators (PR 4833)
-
New NodeToClientVersionOf typeclass (PR 4787)
-
Implement signArbitraryBytesKes for use in Mithril (PR 4779)
-
Export SubmitResult from Cardano.Api (PR 4753)
-
Add support for ghc-9.2 and partial support for CHaP (PR 4701)
-
Append tx output in cli transaction build command (PR 4696)
-
Add ToJSON/FromJSON instances for ChainPoint (PR 4686)
-
Add an Ord ChainPoint instance (PR 4685)
-
Derive Eq instance for AcquiringFailure (PR 4683)
-
Export
fromShelleyBasedScript
from Cardano.Api (PR 4682) -
Expose TextEnvelopeCddl from Cardano.Api (PR 4635)
-
Expose txScriptValidityToScriptValidity in Cardano.Api (PR 4628)
-
Cardano Node 1.35.6 aka Single Relay P2P release (PR 4612)
-
Update ouroboros-network and cardano-ledger dependencies (PR 4608)
-
export RawBytesHexError (PR 4599)
-
Module reshuffle (PR 4593)
-
Add Ord instance for AddressInEra (PR 4587)
-
Add ToJSON and FromJSON instances for Address (PR 4568)
-
Export TxIns type alias (PR 4565)
-
Export IsPlutusScriptLanguage (PR 4554)
-
Export more generators (PR 4534)
-
Condense Read and Validation modules in cardano-cli (PR 4516)
-
Export TxTotalAndReturnCollateralSupportedInEra from Cardano.Api (PR 4496)
-
Export
LocalTxSubmissionClient
data constructor (PR 5096)
-
Fix: Add
AStakeExtendedVerificationKey
back intodeserialiseAnyVerificationKeyTextEnvelope
(PR 4918) -
Fix: Re-add
AGenesisExtendedVerificationKey
back intodeserialiseAnyVerificationKeyTextEnvelope
(PR 4894) -
Allow reading text envelopes from pipes (PR 4384)
-
Fix 4493 bug - TxWitness text envelope format does not roundtrip in Shelley era (PR 4501)
-
Fix minUTxO calculation in
calculateMinimumUTxO
function incardano-api
(PR 5013)
- Fix leadership schedule for current on babbage (#4106)
- Update build to allow all invalid scripts (again) (#4088)
- Fix building of Alonzo transaction in Babbage era. (#4166)
- Add
utxoCostPerByte
protocol parameter (#4141)
None
None
- Add Vasil hardfork to cardano-api and cardano-cli (#3765)
- Reference script integration (#3953)
- Wire up remaining Plutusv2 reference script types (#4034)
- Add
IsString
(Hash BlockHeader) (#3619) - Make
LedgerStateEvents
a type alias (#3692) - Propagate protocol epoch state decode error (#3696)
- Expose the tx mempool monitoring mini protocol in cardano-api (#3706)
- Babbage functionality integration in cardano api Part 1 (#3803)
- Remove unused package (#3816)
- Add
IsCardanoEra
constraint to BlockInMode (#3665) - Update cardano-api's TxOut with inline datum (#3773)
- Update cardano-api txout with reference scripts (#3779)
- Implement return and total collateral in cardano-api (#3787)
- Add reference transaction inputs to cardano-api (#3804)
- Fix datum in tx and ref scripts (#3882)
- Support the babbage era in the API function
cddlTypeToEra
(#3916) - Fix typo for TxWitness BabbageEra (#3961)
- kes-period-info property test (#3718)
- Extend deserialiseFromRawBytesHex to produce error description (#3304)
- add genesis create-cardano command (#3832)
- Propagate protocol in block type (#3818)
- Create VRF signing key file with correct permissions (#1948)
- Update example-reference-script-usage.sh to also use inline datums (#4006)
- Restore deleted comment (#4044)
- Do not require decentralization parameter in protocol parameters (#4051)
- Expose
lovelaceToTxOutValue
. (#3381) - Implement two functions:
currentEpochEligibleLeadershipSlots
andnextEpochEligibleLeadershipSlots
to get the leadership slots for the current/next epoch respectively. (#3464, #3494) - Various small internal fixes. (#3466)
- Add a
capi
library to support using the cardano node as a C library in other software. (#3501) fromShelleyAddr
now takes an explicitShelleyBasedEra
parameter to determine the era. The previous behaviour (with an implicitIsShelleyBasedEra
constraint) can be obtained withfromShelleyAddrIsSbe
. (#2253, #3606)
- Asset names are now rendered in a more consistent fashion in JSON output. Previously names which happened to be valid ASCII were rendered as such, and ones which were not resulted in unprintable characters. Now all names are rendered as hex. Future clients may choose to additionally render ASCII names if plausible to do so. (#3211)
- Various testing improvements. (#3361)
- Expose ledger events via the ledger state API. (#3374)
- Various internal improvements and refactorings. (#3163, #3253, #3288)
- Improvements to the ledger state API. (#3143)
- Make it easier to use monadic queries. (#3151)
- Implement 'getBlockHeader' for Alonzo. This was a stray function that got missed when implementing Alonzo in the API. (#3158)
- A few additional exports for API consumers. (#3156)
- Expose ledger events through the API. Ledger events provide a way for consumers to receive details about things that are happening inside the ledger, and will be used by tools such as db-sync. (#3085)
- Improve the error message reported when you try to spend a non-Plutus locked input using a Plutus script. (#3187)
- Support for automated Tx building. (#2953)
- A few additional exports for API consumers. (#3001, #3055)
- Miscellaneous internal improvements. (#2948)
- Block folding interface now derives the network ID automatically from the ledger config. (#2955, #2975)
- Improve the error generated when a Tx output does not meet the minimum UTxO value. (#3027)
- Add support for querying the Alonzo ledger state. (#2974)
- Update the API documentation.
- Support for the upcoming Alonzo era, including protocol parameters, Plutus scripts and collateral inputs. (#2784, #2798, #2808, #2810, #2815, #2818, #2823, #2828)
- Add a function 'getTransactionBodyContent'. This extracts a general view of the TxBody from the era-specific bodies. (#2663)
- Add API support for new node queries:
QuerySystemStart
gets the system start time.QueryStakePools
andQueryStakePoolParameters
can be used to get details on the currently known stake pools.QueryUTxOFilter
provides various ways to query a filtered subset of the UTxO. (#2843)
- Added functions to the API to assist in automated transaction building:
evaluateTransactionBalance
computes the current balance of a (partial) transaction, which is helpful for determining what needs to be done to correctly balance it (such that value produced equals value consumed).evaluateTransactionExecutionUnits
computes how many ExUnits will be needed by all the scripts in a (partial) transaction.evaluateTransactionFee
computes the fee for a (partial) transaction, assuming a given number of VKey witnesses (corresponding to inputs).estimateTransactionKeyWitnessCount
attempts to estimate the number of VKey witnesses needed.makeTransactionBodyAutoBalance
attempts to create and automatically balance a transaction body, using the above tools. (#2906)
- Miscellaneous internal improvements. (#2836, #2840)
- Add initial support for the ledger state and folding over blocks to the API. (#2633)
- Scripts are now stored within the TxBody in the API, rather than in the witnesses. (#2547)
- The cardano-submit-api now takes transactions encoded as CBOR rather than JSON. This reverts a change to existing behaviour for backwards compatibility. (#2491, #2512)
- Remove a backwards-compatibility workaround related to the optional query point (#2241 below) when querying the NodeLocalState. This had resulted in spurious notifications of disconnection in the logs. Note that as a consequence of this, instances of the CLI and other tools using the 1.26.1 API will fail to query node state from older versions of the node. (#2540)
- Added a demo for the use of cardano-client. This is an API to allow writing programs to interact with the cardano node. (#2295, #2303)
- Removed code pertaining to the old IPC API (#2319)
- Add the ability to calculate the minimum deposit needed for a transaction to the API, given a value. (#2325)
- When querying the NodeLocalState, make the query point optional, and use the chain tip when not specified. (#2241)
- Various internal improvements and refactoring (#2349, #2458)
- New IPC modules for easier interaction with the node, including support for all existing local state queries (#2230, #2238, #2263, #2277, #2286)
- API support for Byron era update proposals and votes (#2209, #2271)
- Make Cardano.Api the primary public module for the API.
- API support for serialising multi-asset PolicyId and AssetName (#2270)
- API for pretty-printing JSON output (#2103)
- Improved tests for Byron era legacy key formats (#2259)
- More precise error cases for tx outputs that are out of range (#2217)
- Host up-to-date generated API documentation via github https://github.com/IntersectMBO/cardano-node (#2273, #2276, #2278)
None
- Fix the getTxId implementation for Byron-era transactions (#2169)
- Full API support for the Allegra and Mary eras, including creating transactions for the new eras, and support for the special new features in the new eras: script extensions, tx validity intervals, auxiliary scripts, multi-asset tx outputs and asset minting (#2092, #2110, #2111, #2121, #2127, #2128, #2141, #2149)
- Preliminary support for the Allegra script language extensions (#2069)
- Preliminary support for the Mary multi-asset extensions (#2083, #2085, #2093)
- Internal refactoring of the API code (#2040, #2055, #2094)
None
- Preliminary support for the upcoming Allegra and Mary eras (#1958, #2019)
- Additional test coverage (#1999)
- Add a Ed25519-BIP32 instance of the new crypto classes (#1933, #1952)
- Adjust what is exposed via Cardano.Api.{Byron,Shelley} (#1932)
None
- Support for multi-signature scripts (#1788)
- Support for Byron witnesses for addresses that use attributes, which includes all addresses in legacy Daedalus Byron wallets (#1851, #1871)
- Introduce a Cardano.Api top level module exporting only the public parts and modules Cardano.Api.{Byron,Shelley} that expose the underlying library types for applications that need it (#1881)
- Improved support for JSON to Tx metadata conversions, with two supported JSON schemas, suitable for different use cases (#1797)
- Adjust the tx metadata JSON schema to be fully recursive (#1735)
- Audit compliance with CIP5 for common bech32 prefixes (#1781)
- Add functionality for validating tx metadata (#1432, #1677)
- Support for scripts and specifically multi-sig scripts (#1623)
- Support for JSON syntax for multi-sig scripts (#1660)
- Support for converting tx metadata to/from JSON (#1606, #1682)
- Support for Bech32-encoded stake pool IDs (#1528, #1638)
- Code tidying using hlint and style tool (#1590, #1625, #1663, #1707, #1708)
None
- Allow genesis keys as tx witnesses (#1483)
- Allow extended genesis delegate keys to sign operational certs (#1497)
- Add support for extended keys for stake, genesis and delegate keys (#1487)
- Remove the old API (#1444, #1456)
- Added raw serialisation instances for all key types (#1455)
- Added bech32 serialisation following draft CIP 5 (#1455)
- Include tx metadata in transactions in the new api (#1406)
- Add support for extended ed25519 keys for payment keys (#1411)
- Improve tx submission API in the new API (#1430)
- Fix the ledger state dump query (#1333, #1334)
- Support for Byron witnesses in Shelley txs in the typed API (#1339)
- Support for Bech32 serialisation in the typed API (#1382)
- Support for other additional functionality in the typed API (#1337, #1375)
- More tests for the typed API (#1360, #1369, #1378)
- Moving code around to eliminate the cardano-config package (#1289, #1380)
- Fix the query that dumps the ledger state as JSON (#1333)
No changes in the cardano-api. There were changes in the cardano-node.
-
Improvements to the strongly-typed API (#1112, #1220, #1227, #1246)
The API is not yet stable in this release.
-
Initial version of an improved strongly-typed API. Initially focusing on creating and serialising keys.
The API is not yet stable in this release.
-
Initial version of the API package. The package provides client-side functionality for constructing and submitting transactions.
The API is not yet stable in this release.
-
Initial transaction API with Byron support and Shelley stubs (#787)
-
Shelley address key pair generation (#799)