Skip to content

Plutus Application Framework v1.2.0 Release

Latest
Compare
Choose a tag to compare
@ak3n ak3n released this 06 Mar 14:55
· 71 commits to main since this release
68efca7

What's Changed

The most important changes of this release are the removal of Tx type and related functions, switching to cardano-api library for transaction manipulation and new a nix flake-based infrastructure.

📦 cardano-node-emulator

Removed

  • Removed OpenApi.ToSchema instance for SlotConfig.
  • Remove estimateTransactionFee, signTx, fromPlutusTx, fromPlutusTxSigned, fromPlutusTxSigned' as the Tx was removed from plutus-ledger.

Changed

  • The default utxo provider for balancing now selects bigger inputs first when adding new inputs, to reduce the number of inputs.
    This was in particular a problem for collateral inputs, of which there can only be 3.

📦 cardano-streaming

Added

  • Fold blocks into ledger state at client side using local chainsync protocol, both pipelined and non-pipelined versions are provided.

📦 freer-extras

Removed

  • Removed OpenApi.ToSchema instance for PageQuery a, PageSize, and Page a.

📦 plutus-chain-index-core

Added

  • Added missing orphan OpenApi.ToSchema instances.

Changed

  • Moved to using the Value type from cardano-api instead of the one from plutus-core.

📦 plutus-contract

Removed

  • The Plutus.Contract.Wallet module has benn moved to the plutus-pab package
    under the Cardano.Wallet.LocalClient.ExportTx.
  • EmulatorAssertionContractError and TxConstraintResolutionContractError
    were removed from ContractError.
  • Removed OpenApi.ToSchema instance for PABReq, ChainIndexQuery, ActiveEndpoint, RequestID, IterationID, Request a, ThreadToken, Wallet, WalletId, TxKey, SequenceId, DereferencedInput, BeneficialOwner, AnnotatedTx, ContractInstanceId, ContractActivityStatus, EndpointDescription.

Added

  • A set of functions were added to submit a cardano Tx from a a set of
    constraints: subCardanoTx, subCardanoTxConstraints,
    subCardanoTxConstraintsPending, subCardanoTxConstraintsWith,
    and mkCardanoTxConstraints.
  • walletFundsChangePlutus: A version of walletFundsChange that works with plutus-core Values.
  • plutusValueAtAddress: A version of valueAtAddress that works with plutus-core Values.

Changed

  • The getUnspentOutput function that was in the Plutus.Contract.Wallet
    module is now in Plutus.Contract.Request.
  • Moved to using the Value type from cardano-api instead of the one from plutus-core.
  • plutus-ledger-constraints was replaced with plutus-tx-constraints.

📦 plutus-ledger

Removed

  • Removed OpenApi.ToSchema instance for a lot of ledger, plutus and cardano types.
  • Moved Ledger.Value to Plutus.Scripts.Utils.Value
  • Moved Ledger.Ada to Plutus.Scripts.Utils.Ada
  • Remove unspentOutputsTx and spentOutputs.
  • Remove cardanoApiTx, emulatorTx, onCardanoTx, cardanoTxMap, addSignature, addSignature', txOutRefs, unspentOutputsTx, txId.
  • Remove CardanoTx(EmulatorTx, CardanoApiTx).
  • Remove toCardanoTxBody, toCardanoTxBodyContent, toCardanoTxInWitness, toCardanoMintValue.
  • Remove Tx and TxStripped types and all related functions.

Added

  • Added Ledger.Value.CardanoAPI for working with the Value type from cardano-api.

Changed

  • Moved to using the Value type from cardano-api instead of the one from plutus-core.
  • Renamed SomeCardanoApiTx(SomeTx) to CardanoTx(CardanoTx).
  • Renamed CardanoApiEmulatorEraTx to CardanoEmulatorEraTx.

📦 plutus-pab-executables

Removed

  • Removed dependency on playground-common and everything that depended on it
  • Removed Plutus.PAB.Run.PSGenerator

Changed

  • plutus-ledger-constraints was replaced with plutus-tx-constraints.

📦 plutus-pab

Removed

  • Removed dependency on playground-common and everything that depended on it.
  • Plutus.PAB.Effects.Contract: removed exportSchema and endpointsToSchemas

Added

  • The Cardano.Wallet.LocalClient.ExportTx module (previously
    Plutus.Contract.Wallet in plutus-contract) was added.

  • Added a lot of missing OpenApi.ToSchema instances.

Changed

  • plutus-ledger-constraints was replaced with plutus-tx-constraints.

📦 plutus-script-utils

Added

  • Moved Ledger.Value to Plutus.Scripts.Utils.Value
  • Moved Ledger.Ada to Plutus.Scripts.Utils.Ada

📦 plutus-tx-constraints

Removed

  • Remove UnbalancedEmulatorTx and unBalancedTxTx as the Tx was removed from plutus-ledger.

Added

  • Added the lacking types and functions from plutus-ledger-constraints including following modules:
    • Ledger.Tx.Constraints.OnChain.V1
    • Ledger.Tx.Constraints.OnChain.V2
    • Ledger.Tx.Constraints.TxConstraints

New Contributors

  • @RubensGitHub made their first contribution in #912

Full Changelog: v1.1.0...v1.2.0