0.3.0-beta
The Marlowe team is happy to announce the 0.3.0 release with the following Milestones completed:
- Add Node.js/Deno support
- Completed 1-1 feature parity between the TS-SDK and Runtime 0.0.6
- Added an open role example
- Added a marlowe-object (merkleized contracts) example
A more detailed description of the changes can be found next
General
-
Feat (PLT-8693): Added Node.js support (PR-114)
-
Feat (PLT-8836): Changed documentation theme. (PR-122)
-
Feat: Added debugging configuration for VSCode. Now if you are developing with VSCode you can open the folder as a workspace and the Javascript Debug Terminal will have the appropiate source maps. (PR-136).
-
Feat: Started an experimental getApplicableActions that should replace the current getApplicableInputs. (PR-136)
-
Fix (PLT-8889): Solved issues with the github actions that run the tests (PR-121)
-
CI (PLT-8890): Stop automatic docs deployment from main and update release instructions (#2f266ff)
-
Fix (PLT-9008): Fix documentation warnings and add a CI check to avoid them in the future. (PR-139)
Examples
- Feat: Added a new interactive NodeJs example to make delayed payments with staking and merkleization. (PR-136)
@marlowe.io/wallet
- Feat (PLT-8693): Added a Lucid implementation that works on the Browser/NodeJs/Deno (PR-114)
@marlowe.io/adapter
- Feat: Added a bigint utilities adapter. (PR-136)
- Feat: Added iso8601ToPosixTime to the time adapter. (PR-136)
@marlowe.io/language-core-v1
- Feat: Added SingleInputTx to capture a single step transaction (either a single input or an empty tx). (PR-136).
- Feat: Added getNextTimeout to see what is the next timeout of a contract. (PR-136).
- Fix: Fix how merkleized inputs are serialized (PR-136).
- Fix: Solved a semantic issue with assoc list where delete was duplicating entries. (PR-159)
@marlowe.io/language-examples
- Feat: New swap contract version added, A simple Swap was initially implemented to test the runtime-lifecycle APIs. We have replaced this version with a more elaborated one that will be used in the Order Book Swap Prototype. For more details see @marlowe.io/language-examples (PR)
@marlowe.io/runtime-rest-client
-
BREAKING CHANGE Refactor:
createContract
Endpoint has been renamed tobuildCreateContractTx
(PR-54) -
BREAKING CHANGE Refactor: Extracted Pagination logic for the 4 collection queries (added total count of the query and current Page information ) (PR-142)
- The 4 queries response structure have changed :
- from :
json {headers : {..}, previousRange : ".." , next:".." }
- to :
json {contracts: {..}, page : {..} }
- or
json {transactions: {..}, page : {..} }
- or
json {payouts: {..}, page : {..} }
- or
json {withdrawals: {..}, page : {..} }
- from :
- The 4 queries response structure have changed :
-
BREAKING CHANGE Refactor: Create contract sources now uses a single parameter ContractBundle, instead of two separate bundle and main entrypoint parameters. (PR-136)
-
BREAKING CHANGE Feat: Modified the endpoint
healthcheck
to returnRuntimeStatus
(version deployed, Network Id of the Node and tips) instead of aboolean
. (PR-158) -
BREAKING CHANGE Fix: Pagination responses not always return a current header. (PR-136)
-
Feat (PLT-7704): Extend the rest client with procedure
getPayouts
. (PR-124) -
Feat (PLT-7705): Extend the rest client with procedure
getPayoutById
. (PR-124) -
Feat (PLT-7701): Extend the rest client with procedure
getContractSourceById
. (PR-128) -
Feat (PLT-7702): Extend the rest client with procedure
getContractSourceAdjacency
. (PR-128) -
Feat (PLT-7703): Extend the rest client with procedure
getContractSourceClosure
. (PR-128) -
Feat (PLT-8427): Extend the rest client with procedure
getNextStepsForContract
. (PR-128) -
Feat: Added
@marlowe.io/runtime-rest-client/guards
in a similar way as@marlowe.io/labguage-core-v1/guards
(PR-142) -
Fix: Revived integration tests (PR-142)
@marlowe.io/runtime-core
-
BREAKING CHANGE Refactor:
AddressBech32
is a branded type instead of newtype (unAddressBech32
has been removed and is not necessary anymore) : PR-127 -
BREAKING CHANGE Refactor:
PolicyId
is a Branded Type instead of a Newtype (PR-142) -
BREAKING CHANGE Refactor:
ContractId
is a Branded Type instead of a Newtype (PR-142) -
Feat: added
TokensMap
andAssetsMap
(PR-142)
@marlowe.io/runtime-lifecycle
-
Feat (PLT-8693): Added a top-level
mkRuntimeLifecycle
that receives a wallet implementation instead of automatically creating one (PR-114) -
Feat:
createContract
is complete request-wise for creating non-merkleized contracts (PR-54) -
Feat: Added restClient to the lifecycle object for easier querying. (PR-136)
-
Feat: Added getInputHistory to get a list of SingleInputTx applied to a contract. (PR-136)
@marlowe.io/marlowe-object
- Feat: Added ContractBundle to represent a bundle with a main entrypoint. (PR-136)