Page Properties | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||
|
...
We should declare the initial set of OOB (Out-Of-the-Box) Iroha Special Instructions for Hyperledger Iroha 2.0.0 release.
Action items
- Nikita Puzankov define a list of initial ISIs
- 武宮誠 and Yuriy Vinogradov review it and add suggestions/comments
- Nikita Puzankov conduct the final meeting and write down agreement on the final set
Problem
Iroha whitepaper, current implementation and users' expectations are different in terms of out-of-the-box Iroha Special Instructions set.
...
- Domain related
- Register/Unregister<Identifiable>
- Mint/Burn<Id, Value>
- Transfer<Id, Value, Id>
- Math
- Integer
- Add/Substract<EvaluatesTo<u32>, EvaluatesTo<u32>>
- Multiply/Divide<EvaluatesTo<u32>, EvaluatesTo<u32>>
- RaiseTo<EvaluatesTo<u32>, EvaluatesTo<u32>>
- Mod<EvaluatesTo<u32>, EvaluatesTo<u32>>
- Comparison:
- Equate<Value, Value>
- Greater/Less<EvaluatesTo<u32>, EvaluatesTo<u32>>
- Bool
- Not<EvaluatesTo<bool>>
- And/Or<EvaluatesTo<bool>, EvaluatesTo<bool>>
- Integer
- Compositions
- Sequence<Vec<Instruction>>
- Pair<Instruction, Instruction>
- If<EvaluatesTo<bool>, Instruction, Option<Instruction>>
- Vectors
- Contains<EvaluatesTo<Vec<Value>>, EvaluatesTo<Value>>
- ContainsAny/ContainsAll<EvaluatesTo<Vec<Value>>, EvaluatesTo<Vec<Value>>>
- Variables
- Where<Value, BTreeMap<String, Value>>
- ContextValue<String>
- Queries
- Execute<Query>
- Misc
- Fail<String>
...
- 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
- Fees
- Register or unregister TransactionFee (e.g., fixed, percentage, DEX-swapped)
- Register or unregister TransactionFee (e.g., fixed, percentage, DEX-swapped)
Provide a set of tools for DeFi:
- Register DEX
- Register or unregister DEX (DEXManager) in Domain
- Register Liquidity Source
- Register or unregister XYK Pool in DEX
- Register or unregister Order Book in DEX
- Register or unregister XYK Pool in DEX
- Set liquidity fees
- Register or unregister LiquidityFee (e.g., buy back and burn, pool share, etc.)
- Register or unregister LiquidityFee (e.g., buy back and burn, pool share, etc.)
Provide a set of tools for Digital Identity (https://ieeexplore.ieee.org/abstract/document/8377927/):
- W3C-DIDs
- Register or unregister DID in Account
- Register or unregister VerifiableCredential in Account (https://www.w3.org/TR/vc-data-model/)
- Register or unregister DID in Account
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
...
- https://github.com/hyperledger/iroha/blob/iroha2-dev/docs/source/iroha_2_whitepaper.md
- Iroha Special Instructions DSL
- Re: Triggers