conditions added WIP (doc)

This commit is contained in:
NicolasCantu 2024-02-18 17:32:10 +01:00
parent 82f2a07437
commit 203c8c8dd5
3 changed files with 145 additions and 76 deletions

View File

@ -3,36 +3,36 @@
* 2. [Portée](#Porte)
* 3. [3. Documents de référence](#Documentsderfrence)
* 4. [Commun aux `RequestPcd` et RequestPrd](#CommunauxRequestPcdetRequestPrd)
* 4.1. [Création et envoi](#Crationetenvoi)
* 4.2. [Réception](#Rception)
* 4.1. [Création et envoi](#Crationetenvoi)
* 4.2. [Réception](#Rception)
* 5. [Fonction des RequestPcd](#FonctiondesRequestPcd)
* 5.1. [Création et envoi](#Crationetenvoi-1)
* 5.2. [Réception](#Rception-1)
* 5.1. [Création et envoi](#Crationetenvoi-1)
* 5.2. [Réception](#Rception-1)
* 6. [Fonction des RequestPrd](#FonctiondesRequestPrd)
* 6.1. [Fonctionnalités optionnelles](#Fonctionnalitsoptionnelles)
* 6.2. [Création et envoi](#Crationetenvoi-1)
* 6.3. [Réception](#Rception-1)
* 6.1. [Fonctionnalités optionnelles](#Fonctionnalitsoptionnelles)
* 6.2. [Création et envoi](#Crationetenvoi-1)
* 6.3. [Réception](#Rception-1)
* 7. [RequestPrdList - Demande de Listes ( RequestPcd)](#RequestPrdList-DemandedeListesRequestPcd)
* 7.1. [Création : Datas spécifiques](#Cration:Datasspcifiques)
* 7.2. [Réception : Datas spécifiques](#Rception:Datasspcifiques)
* 7.1. [Création : Datas spécifiques](#Cration:Datasspcifiques)
* 7.2. [Réception : Datas spécifiques](#Rception:Datasspcifiques)
* 8. [RequestPrdMessage - Envoi de Messages](#RequestPrdMessage-EnvoideMessages)
* 8.1. [Création : Datas spécifiques](#Cration:Datasspcifiques-1)
* 8.2. [Réception : Datas spécifiques](#Rception:Datasspcifiques-1)
* 8.1. [Création : Datas spécifiques](#Cration:Datasspcifiques-1)
* 8.2. [Réception : Datas spécifiques](#Rception:Datasspcifiques-1)
* 9. [RequestPrdUpdate - Mises à Jour de RequestPcd](#RequestPrdUpdate-MisesJourdeRequestPcd)
* 9.1. [Création : Datas spécifiques](#Cration:Datasspcifiques-1)
* 9.2. [Réception : Datas spécifiques](#Rception:Datasspcifiques-1)
* 9.1. [Création : Datas spécifiques](#Cration:Datasspcifiques-1)
* 9.2. [Réception : Datas spécifiques](#Rception:Datasspcifiques-1)
* 10. [RequestPrdConfirm - Confirmation de Réception](#RequestPrdConfirm-ConfirmationdeRception)
* 10.1. [Création : Datas spécifiques](#Cration:Datasspcifiques-1)
* 10.2. [Réception : Datas spécifiques](#Rception:Datasspcifiques-1)
* 10.1. [Création : Datas spécifiques](#Cration:Datasspcifiques-1)
* 10.2. [Réception : Datas spécifiques](#Rception:Datasspcifiques-1)
* 11. [RequestPrdResponse - Répondre à une Demande](#RequestPrdResponse-RpondreuneDemande)
* 11.1. [Création : Datas spécifiques](#Cration:Datasspcifiques-1)
* 11.2. [Réception : Datas spécifiques](#Rception:Datasspcifiques-1)
* 11.1. [Création : Datas spécifiques](#Cration:Datasspcifiques-1)
* 11.2. [Réception : Datas spécifiques](#Rception:Datasspcifiques-1)
* 12. [RequestPrdKeyBakcup](#RequestPrdKeyBakcup)
* 12.1. [Création : Datas spécifiques](#Cration:Datasspcifiques-1)
* 12.2. [Réception : Datas spécifiques](#Rception:Datasspcifiques-1)
* 12.1. [Création : Datas spécifiques](#Cration:Datasspcifiques-1)
* 12.2. [Réception : Datas spécifiques](#Rception:Datasspcifiques-1)
* 13. [RequestPrdKeyHello - Échange de Clés et d'Identités](#RequestPrdKeyHello-changedeClsetdIdentits)
* 13.1. [Création : Datas spécifiques](#Cration:Datasspcifiques-1)
* 13.2. [Réception : Datas spécifiques](#Rception:Datasspcifiques-1)
* 13.1. [Création : Datas spécifiques](#Cration:Datasspcifiques-1)
* 13.2. [Réception : Datas spécifiques](#Rception:Datasspcifiques-1)
* 14. [Exemples de Code](#ExemplesdeCode)
* 15. [Todo](#Todo)
@ -220,7 +220,7 @@ Permet la communication :
* directe et sécurisée au sein du réseau, supportant des échanges d'informations critiques ou des notifications entre parties.
* des`transaction SP` au format `raw` dans l'attribut `raw_transaction_list` pour la publication de la transaction dans la side chain.
Les `RequestPrdMessage` répondent aux `RequestPrdMessage` sauf en cas d'envoi de `raw_transaction_list ` (cas d'utilisation du afin de transaférer la `transaction SP` d'un autre `RequestPrd`).
Les `RequestPrdMessage` répondent aux `RequestPrdMessage` sauf en cas d'envoi de `raw_transaction_list` (cas d'utilisation du afin de transaférer la `transaction SP` d'un autre `RequestPrd`).
### 8.1. <a name='Cration:Datasspcifiques-1'></a>Création : Datas spécifiques

View File

@ -141,6 +141,75 @@ La structure MetaData et ses sous-structures comme MetadataContractPublic, Metad
L'ItemProcess et ItemProcessPublicAttributeGroup offrent un cadre pour l'intégration et l'orchestration des processus dans le système 4NK, permettant la définition, la gestion et l'exécution de workflows complexes de manière sécurisée et efficace.
## Condition RequestPrdAddressSet
`request_prd_type`
`from_role`
`request_prd_sp_address_list`
`request_prd_sp_address_required_list`
`request_prd_sp_address_quota`
`request_prd_request_prd_value_ok_list`
`request_prd_value_ko_list`
`request_prd_value_none_list`
`request_prd_sp_address_value_min`
`request_prd_sp_address_value_min_per`
`request_prd_sp_address_value_min_ok`
`request_prd_sp_adddress_value_ok_min_per`
`request_prd_sp_address_value_ok_max`
`request_prd_sp_adderss_value_ko_max_per`
`request_prd_sp_address_value_none_max`
`request_prd_sp_adderss_value_none_max_per`
`request_prd_sp_address_score_min`
`request_prd_sp_address_score_min_min_required`
`request_prd_sp_address_score_min_min_ok`
`request_prd_sp_address_score_min_min_per`
`request_prd_value_auto_ok`
`request_prd_value_auto_ko`
`request_prd_value_auto_none`
## ConditionPublish : conditions de publication
`request_prd_type`
`request_pcd_data_size_max_unit`
`request_pcd_data_size_max_total`
`request_pcd_number_min`
`request_pcd_number_max`
`request_pcd_amount_max_total`
`Amount`
`request_prd_waiting_timeout`
`request_pcd_waiting_timeout`
## ConditionPayment : conditions de paiement
`request_prd_type`
`payment_amount`
`payment_method`
`role_transaction`
## ConditionCommitment : conditions d'engagement
`request_prd_type`
`role_artefact`
`role_transaction`
## ConditionDeposit : conditions de dépôt de garantie
`request_prd_type`
`role_deposit`
`role_transaction`
## ConditionOrchestration : conditions d'orchestration des processus
`request_prd_type`
`role_ok`
`role_ko`
## ConditionCap : Conditions de passage d'un seuil minimum de paiements ou de déposits ou de d'engagement
`request_prd_type`
`role_deposit`
`role_transaction`
## 9. <a name='ExemplesdeCode'></a>Exemples de Code
## 10. <a name='Todo'></a>Todo

View File

@ -74,15 +74,15 @@
* 11.2.5. [ConditionPayment](#ConditionPayment)
* 11.2.6. [Condition RequestPrdAddressSet](#ConditionRequestPrdAddressSet)
* 11.2.7. [ConditionPublish](#ConditionPublish)
* 11.2.8. [RolesGroup](#RolesGroup)
* 11.2.9. [RoleArtefact](#RoleArtefact)
* 11.2.10. [RoleDeposit](#RoleDeposit)
* 11.2.11. [RoleCommitment](#RoleCommitment)
* 11.2.12. [RoleMember](#RoleMember)
* 11.3. [RolePeer](#RolePeer)
* 11.3.1. [RolePayment](#RolePayment)
* 11.3.2. [RoleProcess](#RoleProcess)
* 11.4. [TransactionMode](#TransactionMode)
* 11.3. [RolesGroup](#RolesGroup)
* 11.3.1. [RoleArtefact](#RoleArtefact)
* 11.3.2. [RoleDeposit](#RoleDeposit)
* 11.3.3. [RoleCommitment](#RoleCommitment)
* 11.3.4. [RoleMember](#RoleMember)
* 11.4. [RolePeer](#RolePeer)
* 11.4.1. [RolePayment](#RolePayment)
* 11.4.2. [RoleProcess](#RoleProcess)
* 11.5. [TransactionMode](#TransactionMode)
* 12. [12. Rust considerations](#Rustconsiderations)
* 12.1. [General Implications for Project Objects](#GeneralImplicationsforProjectObjects)
* 12.2. [Debug](#Debug)
@ -899,7 +899,7 @@ Condition `request_prdAddressSet` involves complex conditions based on RequestPr
| `request_prd_waiting_timeout` | ```u64``` | | The waiting timeout for a publication to be considered valid. |
| `request_pcd_waiting_timeout` | ```u64``` | | The waiting timeout for the condition to be considered met. |
#### 11.2.8. <a name='RolesGroup'></a>RolesGroup
### 11.3. <a name='RolesGroup'></a>RolesGroup
RolesGroup outlines a collection of roles.
@ -910,7 +910,7 @@ RolesGroup outlines a collection of roles.
| `role_process` | ```String``` | | Represents the entities charged with defining and managing processes within the system. |
| `role_artefact_list` | ```Vec<String>``` | | A list of artefact roles, allowing customization and extension of functionalities and interactions beyond standard roles. |
#### 11.2.9. <a name='RoleArtefact'></a>RoleArtefact
#### 11.3.1. <a name='RoleArtefact'></a>RoleArtefact
The `RoleArtefact` struct is utilized to define the role associated with artefacts within the system. It specifies the responsibilities and permissions tied to the handling, management, or interaction with artefacts, ensuring clarity in role-based actions and access controls related to artefact-related operations.
@ -919,7 +919,7 @@ The `RoleArtefact` struct is utilized to define the role associated with artefac
| `item_name` | ```String``` | | The name of the item associated with the deposit. |
| `role` | ```Role``` | | The role associated with this deposit. |
#### 11.2.10. <a name='RoleDeposit'></a>RoleDeposit
#### 11.3.2. <a name='RoleDeposit'></a>RoleDeposit
`RoleDeposit` outlines the role and responsibilities concerning deposits in the system. It identifies the specific obligations and permissions granted to entities managing or engaging with deposit transactions, providing a structured approach to deposit management and execution.
@ -928,7 +928,7 @@ The `RoleArtefact` struct is utilized to define the role associated with artefac
| `item_name` | ```String``` | | The name of the item associated with the artefact. |
| `role` | ```Role``` | | The role associated with this artefact. |
#### 11.2.11. <a name='RoleCommitment'></a>RoleCommitment
#### 11.3.3. <a name='RoleCommitment'></a>RoleCommitment
The `RoleCommitment` struct details the role associated with commitments, delineating the duties and authorities of entities tasked with creating, managing, or fulfilling commitments. This struct ensures that commitment-related activities are clearly defined and regulated within the system.
@ -937,7 +937,7 @@ The `RoleCommitment` struct details the role associated with commitments, deline
| `item_name` | ```String``` | | The name of the item associated with the commitment. |
| `role` | ```Role``` | | The role associated with this commitment. |
#### 11.2.12. <a name='RoleMember'></a>RoleMember
#### 11.3.4. <a name='RoleMember'></a>RoleMember
`RoleMember` defines the role of members within the system, specifying the rights and responsibilities of membership. This includes access to resources, participation in processes, and contributions to decision-making, highlighting the importance of members in the system's ecosystem.
@ -946,7 +946,7 @@ The `RoleCommitment` struct details the role associated with commitments, deline
| `item_name` | ```String``` | | The name of the item associated with the member. |
| `role` | ```Role``` | | The role associated with this member. |
### 11.3. <a name='RolePeer'></a>RolePeer
### 11.4. <a name='RolePeer'></a>RolePeer
The `RolePeer` struct identifies peers associated with specific roles, detailing their identifiers, associated peers, and metadata, essential for defining peer responsibilities and permissions within the networked environment.
@ -955,7 +955,7 @@ The `RolePeer` struct identifies peers associated with specific roles, detailing
| `item_name` | ```String``` | | The name of the item associated with the peer. |
| `role` | ```Role``` | | The role associated with this peer. |
#### 11.3.1. <a name='RolePayment'></a>RolePayment
#### 11.4.1. <a name='RolePayment'></a>RolePayment
The `RolePayment` struct is dedicated to defining the role related to payments, outlining the specific tasks, permissions, and responsibilities assigned to entities handling or involved in payment transactions, ensuring secure and orderly payment processes.
@ -964,7 +964,7 @@ The `RolePayment` struct is dedicated to defining the role related to payments,
| `item_name` | ```String``` | | The name of the item associated with the payment. |
| `role` | ```Role``` | | The role associated with this payment. |
#### 11.3.2. <a name='RoleProcess'></a>RoleProcess
#### 11.4.2. <a name='RoleProcess'></a>RoleProcess
`RoleProcess` describes the role associated with processes within the system. It specifies the expectations, duties, and permissions of entities that initiate, manage, or participate in various system processes, facilitating smooth and regulated process flow.
@ -973,7 +973,7 @@ The `RolePayment` struct is dedicated to defining the role related to payments,
| `item_name` | ```String``` | | The name of the item associated with the process. |
| `role` | ```Role``` | | The role associated with this process. |
### 11.4. <a name='TransactionMode'></a>TransactionMode
### 11.5. <a name='TransactionMode'></a>TransactionMode
`TransactionMode` and its specific types (Distribution, Direct) describe how transactions are handled within the system, whether through direct communication or distributed across multiple entities, influencing the flow and security of transactions.