Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Split out-of-the-box instructions into the following categories:

  • Domain related
    •  Register/Unregister<Id, Identifiable>
    •  Mint/Burn<Id, Value>
    •  Transfer<Id, Value, Id>
  • Math
    •  Add/Substract<Value, Value>
    •  Multiply/Divide<Value, Value>
    •  RaiseTo<Value, Value>
    •  Mod<Value, Value>
    •  Equate<Value, Value>
  • Compositions
    •  Sequence<Vec<Instruction>>
    •  Pair<Instruction, Instruction>
    •  If<Instruction, Instruction, Instruction>
    •  Not<Instruction>
  • Queries
    •  Execute<Query>

Provide a set of possible domain-related instructions:

  • Register/Unregister
    •  Register or unregister Domain in Peer
    •  Register or unregister Account in Domain
    •  Register or unregister Asset Definition in Domain
    •  Register or unregister Peer Id in Peer 
    •  Register or unregister Signatory in Account
  • Mint
    •  Mint or burn value to or from an Asset 

Alternatives 

  • Do not have categories and generic instructions using a plain set of instructions like "AddDomain, RegisterAccount" - as cons we can point out naming and extensibility problems
  • Do not have granularity and differences between register, mint, add - as cons we can point out different business-related meanings for similar actions and to a wide set of options in one bucket

...