Skip to content

Marlowe Runtime v0.0.5

Compare
Choose a tag to compare
@jhbertra jhbertra released this 27 Sep 13:18
· 602 commits to main since this release
432cef3

Summary

This release introduces new queries for Payouts, as well as a /payouts REST API. It also changes the way withdrawals are done, and adds contract query filtering by party address and role. It is also the first release to target cardano-node 8.1.2.

Changelog - Marlowe Runtime

Added

  • New payouts API that supports:

    • Querying payouts with filtering support for contract IDs, role tokens, and
      claim status.
    • Querying a single payout by its ID
  • New filters to GetHeaders query to allow filtering contract headers by party
    (addresses and role tokens). Specifying parties in the filter will limit
    results to contracts which (visibly) contain either the address or role token as a
    party.

    • Regarding "visibly contain": this applies to merkleized contract. A
      merkleized contract visibly contains a party if the party can be extracted
      from its on-chain history without having access to the continuations. This
      means any parties contained in unexecuted paths of the contract are not
      included, because they aren't visible.
  • New query parameters for /contracts endpoint partyAddress and partyRole.
    These give REST API access to the party filtering functionality mentioned
    above.

  • Added new validator scripts to script registry.

  • GHC 9.2 support

Changed

  • BREAKING: marlowe-tx: Create, ApplyInputs, and Withdraw now use the era reported by the node to build the TxBody.

    • Era is queried from the node at the time of job execution.
    • The era information is returned in the results of the jobs.
    • If the era does not support reference scripts (i.e. prior to Babbage) the
      command will fail wit an EraUnsupported error.
  • BREAKING: marlowe-tx: Submit now accepts transactions from any era that
    supports reference scripts, not exclusively babbage. This is a breaking
    change because the era information must now be included in the command.

  • BREAKING Withdraw now accepts a set of payout tx outs instead of a contract
    ID and a role token. The old behaviour can be emulated via a query to fetch
    unclaimed payouts for a contract.

  • Updated script hashes in script-registry test.

  • BREAKING: cardano-api, plutus, cardano-ledger dependencies track with cardano-api 8.2

  • BREAKING: marlowe-tx and marlowe-runtime now require a command line option for a program to generate the role token minting validator.

  • BREAKING: Requires cardano-node 8.1.2

Changelog - Marlowe Runtime Web

Added

  • Assets to several response schemas
    • In Payout - shows the assets in the tx output corresponding to the payout.
    • In ContractState - shows the assets in the current UTxO of the contract (the account balances). Empty if the contract has no UTxO (i.e. the contract is closed).
    • In Tx - shows the assets in the marlowe script output of that transaction (the account balances). Empty if the transaction does not produce an output.
  • Payouts produced by a transaction are added to Tx

Changed

  • Custom error formatter for request body parsing failures

  • More details displayed about internal server errors

  • Tokens json objects are deserialized now without the unTokens field.

  • Use of generics for REST error reporting

  • Improved quality of generated Open API documentation

Fixed

  • Serialization for Token Names containing "."