Rulealize Registry Find a name /

Rule sets / Exchange

rule set · composite

Rulealize.RuleSet.Exchange

Two parties, each offering something, and neither committed until both are. A Rulealize rule set, shipped with the half it is built from.

What 1.0.0 is made of

this documentExchange1.0.0
uses
as ours · ^1.0SideRulealize.RuleSet.Exchange.Side
as theirs · ^1.0SideRulealize.RuleSet.Exchange.Side

Hold it

A document that holds this one writes, in its uses:

"uses": [
  { "ruleSet": "Rulealize.RuleSet.Exchange",
    "version": "^1.0", "as": "exchange" }
]

as is not optional here. The identifier is the package identifier, so nothing has to look it up; as is the short name the holding document calls it by, and it is what qualifies this rule set's inputs inside that one. An alias defaults to the identifier and may not contain a ., so leaving it out is refused with a message about a key you did not write.

Getting what a uses names is the feed's job rather than this index's. rulealize restore does it from 0.8.0 — the whole graph, into the folder the holding document resolves its components from — and takes the lowest version satisfying every constraint that named it, which is the rule a requires is resolved by.

Inputs a composite could constrain

InputComes from
ours.confirmRulealize.RuleSet.Exchange.Side · as ours
ours.offerRulealize.RuleSet.Exchange.Side · as ours
ours.withdrawRulealize.RuleSet.Exchange.Side · as ours
theirs.confirmRulealize.RuleSet.Exchange.Side · as theirs
theirs.offerRulealize.RuleSet.Exchange.Side · as theirs
theirs.withdrawRulealize.RuleSet.Exchange.Side · as theirs

Releases

  1. 1.0.0 latest

    holds

    • Rulealize.RuleSet.Exchange.Side ^1.0 as ours ships with it
    • Rulealize.RuleSet.Exchange.Side ^1.0 as theirs ships with it

    requires