Closed hrajchert closed 7 months ago
The recent updates bring significant enhancements across various components focused on Marlowe contracts. These changes streamline interaction through improved annotations, health checks for actions, and refined contract management. Updates in bundle conversion and testing configurations enhance the development environment for Marlowe contracts.
Files | Summary |
---|---|
.../annotations.ts , .../actions.ts , .../value-and-observation.ts , .../payee.ts , .../participants.ts , .../guards.ts |
Introduced and enhanced functionalities for annotations, actions, values, payees, participants, and type guards. |
.../applicable-inputs.ts , packages/adapter/src/time.ts , .../contract/endpoints/sources.ts , .../lifecycle/src/generic/contracts.ts |
Modified to include health checks, time adjustments, and updates in contract source management. |
.../contract-closure.ts , .../marlowe-object-flow.ts , .../bundle-conversion.ts , .../bundle-list.ts , .../bundle-map.ts , .../contract.ts |
Added and updated functionalities related to contract closures, object flow, bundle conversions, and contract definitions. |
jest.unit.config.js , jest.unit.config.mjs |
Added new Jest configuration for unit testing. |
jsdelivr-npm-importmap.js |
Updated import maps for package management. |
packages/language/core/v1/src/contract.ts , .../semantics.ts |
Significantly altered contract matching and semantics functionalities. |
.../test/bundleListToMap.spec.ts , .../test/bundleMapToList.spec.ts |
Introduced tests for bundle conversion functions. |
"In the realm of code, where contracts intertwine,
A rabbit hopped forth, with changes so fine.
🐰 With a leap and a bound, it refined the flow,
Enhancing the Marlowe, with a soft, gentle glow."
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
This PR adds annotations to the marlowe-object package, which simplifies deriving a logical state from the contract. See how the
getState
function was simplified in themarlowe-object-flow
example.It also adds a new experimental feature called sourceMap that partially solves the issue of knowing if a Contract matches a certain structure.
Summary by CodeRabbit
Summary by CodeRabbit
ContractClosure
interface for retrieving contract closures.Action
,Party
,Payee
,Value
, andObservation
types.ContractBundleMap
andContractBundleList
.bundleListToMap
andbundleMapToList
functions.