Build feature-rich applications that can orchestrate assets and services across the interchain.
Usage examples can be found under src/examples. They are exported for integration testing with other packages.
Flows to orchestrate are regular Javascript functions but have some constraints to fulfill the requirements of resumability after termination of the enclosing vat. Some requirements for each orchestration flow:
OrchestrationFlow
interfaceE()
(eventual send)The call to orchestrate
using a flow function in reincarnations of the vat must have the same durableName
as before. To help enforce these constraints, we recommend:
.flows.js
moduleimport * as flows
to get a single object keyed by the export nameorchestrateAll
to treat each export name as the durableName
of the flow@agoric/eslint-config
that has rules to help detect problems