feat(runtime): add runtime 1.0 model - #198
Conversation
Signed-off-by: Niall Roche <niall.roche@gmail.com>
| */ | ||
| asset State identified by stateId { | ||
| o String stateId | ||
| --> Contract contract |
There was a problem hiding this comment.
I noticed recently that Devanshi was forced to convert all of our sample templates to Contract templates (from Clause templates) because of a similar change in Obligations.
This change mirrors the Obligation design, although collectively it effectively makes Clauses unable to have state and emit Obligations. That could be a sensible design (and today there isn't a technical difference between the two), however we should make this decision consciously.
| --> Contract contract | ||
| o Long revision default=0 range=[0,] | ||
| o DateTime effectiveAt | ||
| o ContentHash stateHash |
There was a problem hiding this comment.
Noting that this makes the Crypto namespace a runtime dependency for all templates.
No immediate concern, but it could force us to rev versions here if we bump minor versions of the crypto model.
| * predecessor when one exists. A concrete base state is retained so templates | ||
| * which need no additional properties can use it directly. | ||
| * | ||
| * Obligations are intentionally not defined in this namespace. New |
There was a problem hiding this comment.
Did you consider adding the base Obligation type here (perhaps as abstract), but putting the concrete subclasses in a separate space? I'm trying to judge how much of the obligations namespace is needed for everyday use cases.
Closes #N/A
Introduces
org.accordproject.runtime@1.0.0after publication ofcontract@1.0.0. The model keeps generic request and response semantics, gives runtime state stable identity and revision history, and moves reusable obligation vocabulary out of the runtime namespace.Changes
RequestandResponsebase transactions.Stateasset.contract@1.0.0.Contract.Obligationfrom the new runtime namespace; new implementations useorg.accordproject.obligation@1.0.0.runtime@0.2.0models unchanged for compatibility.Flags
contract@1.0.0is merged and published because the models build resolves imports throughmodels.accordproject.org.stateHashis calculated over the canonical state representation excluding thestateHashproperty itself.Screenshots or Video
Not applicable. This PR contains a Concerto model change only.
Related Issues
Author Checklist
--signoffoption of git commit.mainfromniallroche:codex/runtime-1.0-model