Marlowe Runtime v0.0.5
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
- Querying payouts with filtering support for contract IDs, role tokens, and
-
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.
- Regarding "visibly contain": this applies to merkleized contract. A
-
New query parameters for
/contracts
endpointpartyAddress
andpartyRole
.
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 anEraUnsupported
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
andmarlowe-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.
- In
- 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 "."