PRD & PCD fields & ItemMember shared by PRDList for Id create (doc)

This commit is contained in:
NicolasCantu 2024-03-20 12:37:58 +01:00
parent 83f8c51648
commit c00390822f
2 changed files with 267 additions and 235 deletions

View File

@ -143,7 +143,6 @@ Ce qui est résumé Pour la réception :
| `RequestPrdResponse` | Info | Yes | No | No | No | No |
| `RequestPrdConfirm` | Info | No | No | No | No | No |
## 6. <a name='Encryption'></a>Encryption
Schema :
@ -162,14 +161,15 @@ Les `Metadata` des `Item` des `RequestPcd` et les attributs des `RequestPcd` et
Principaux champs des `Request` contenus dans les `RequestPcd` et `RequestPrd` chiffrés :
* **`request_type`** :
* **`version`** :
* **`process_hash`** :
* **`request_pcd_reference_hash`** :
* **`request_pcd_origin_hash`** :
* **`request_prd_reference_hash`** :
* **`request_prd_origin_hash`** :
* **`item_reference_hash`** :
* **`request_type`** : Type de requête : `RequestPcd`, `RequestPrdList`, `RequestPrdMessage`, `RequestPrdUpdate`, `RequestPrdConfirm`, `RequestPrdResponse`.
* **`item_name`** : Noms des items : `peer`, `member`, `process`, `payment`, `deposit`, `commitment`, et les `artefact` personnalisés.
* **`version`** : Version de la requête.
* **`process_hash`** : Hash de l'`ItemProcess` concerné.
* **`request_pcd_reference_hash`** : Hash du `RequestPcd` auquel le `RequestPrd` fait référence.
* **`request_pcd_origin_hash`** : Hash du `RequestPcd` à l'origine du `RequestPrd`.
* **`request_prd_reference_hash`** : Hash du `RequestPrd` auquel le `RequestPrd` fait référence.
* **`request_prd_origin_hash`** : Hash du `RequestPrd` à l'origine du `RequestPrd`.
* **`item_reference_hash`** : Hash de l'`Item` auquel le `RequestPcd` fait référence.
### 6.1. <a name='Crationetenvoi'></a>Création et envoi
@ -207,40 +207,46 @@ Les `Item` échangés via les `RequestPcd` sont soumis à une vérification par
Principaux champs des `RequestPcd` :
* **`request`** :
* **`item_enc_list`** :
* **`pagination`** :
* **`request`** : cf la descripton de la structure `Request`.
* **`item_enc_list`** : Les `Item` chiffrés par une clé symétrique générée à la volée pour chaque champ et pour chaque item d'une liste.
* **`pagination`** : La pagination de la liste des `Item`.
Principaux champs de la structure `Pagination` :
* **`start`** :
* **`number`** :
* **`page_index`** :
* **`page_total`** :
* **`start`** : Index du premier `Item` de la liste.
* **`number`** : Nombre d'`Item` à afficher.
* **`page_index`** : Index de la page.
* **`page_total`** : Nombre total de pages.
Principaux champs de la structure `RequestPcdItemGenericEnc` :
* **`version`** :
* **`item_type`** :
* **`name`** :
* **`request_pcd_item_enc_attribute_public_list`** :
* **`request_pcd_item_enc_attribute_role_confidential_list`** :
* **`request_pcd_item_enc_attribute_private_list`** :
* **`version`** : Version de l'`Item`.
* **`item_type`** : Type de l'`Item`.
* **`name`** : Nom de l'`Item`.
* **`request_pcd_item_enc_attribute_public_list`** : Liste d'objets `RequestPcdItemEncAttributePublic` des attributs publics de l'`Item` chiffré.
* **`request_pcd_item_enc_attribute_role_confidential_list`** : Liste d'objets `RequestPcdItemEncAttributeRoleConfidential` des attributs confidentiels de l'`Item` chiffré.
* **`request_pcd_item_enc_attribute_private_list`** : Liste d'objets `RequestPcdItemEncAttributePrivate` des attributs privés de l'`Item` chiffré.
Principaux champs de la structure `RequestPcdItemEncAttributePublic` :
* **`attribute_name`** :
* **`data_enc`** :
* **`attribute_name`** : Nom de l'attribut.
* **`data_enc`** : Données chiffrées par la clé `ProcessKey` de l'`ItemProcess` concerné.
* **`key`** : [PRIVE] Clé de chiffrement, non partagée dans les messages. Données en clair.
* **`data`** : [PRIVE] Non partagé dans les messages. Données en clair.
Principaux champs de la structure `RequestPcdItemEncAttributeRoleConfidential` :
* **`attribute_name`** :
* **`data_enc`** :
* **`attribute_name`** : Nom de l'attribut.
* **`data_enc`** : Données chiffrées par une clé symétrique générée à la volée pour chaque champ et pour chaque item d'une liste.
* **`key`** : [PRIVE] Clé de chiffrement, non partagée dans les messages. Données en clair.
* **`data`** : [PRIVE] Non partagé dans les messages. Données en clair.
Principaux champs de la structure `RequestPcdItemEncAttributePrivate` :
* **`attribute_name`** :
* **`data_enc`** :
* **`attribute_name`** : Nom de l'attribut.
* **`data_enc`** : Données chiffrées par la clé privée `KeyRecover`.
* **`key`** : [PRIVE] Clé de chiffrement, non partagée dans les messages. Données en clair.
* **`data`** : [PRIVE] Non partagé dans les messages. Données en clair.
### 7.1. <a name='Schmadesflux'></a>Schéma des flux
@ -277,31 +283,31 @@ Les `RequestPrd` se déclinent en plusieurs types, tels que `RequestPrdList`, `R
Principaux champs des `RequestPcd` :
* **`request`** :
* **`sig_value`** :
* **`request_pcd_reference_keys_role_confidential_list_enc_by_shared_secret`** :
* **`request_pcd_origin_hash_keys_role_confidential_list_enc_by_shared_secret`** :
* **`message_public`** :
* **`message_confidential`** :
* **`message_private`** :
* **`sp_address_to`** :
* **`sp_address_from`** :
* **`sp_address_reply`** :
* **`timestamp_declared`** :
* **`role_name_from`** :
* **`role_name_to`** :
* **`payment_method_enc_by_shared_secret`** :
* **`deposit_method_enc_by_shared_secret`** :
* **`commitment_method_enc_by_shared_secret`** :
* **`payment_request_pcd_hash_list_enc_by_shared_secret`** :
* **`cap_request_pcd_hash_list_enc_by_shared_secret`** :
* **`deposit_request_pcd_hash_list_enc_by_shared_secret`** :
* **`commitment_request_pcd_hash_list_enc_by_shared_secret`** :
* **`ask_payment_method_enc_by_shared_secret`** :
* **`ask_deposit_method_enc_by_shared_secret`** :
* **`ask_commitment_method_enc_by_shared_secret`** :
* **`certif_key_enc_by_shared_secret`** :
* **`device_footprint_enc_by_sp_shared_secret`** :
* **`request`** : cf la descripton de la structure `Request`.
* **`sig_value`** : Valeur de la signature (parmi les valeurs valant pour `OK`, `KO` ou `none` telles que définies dans l'`ItemProcess`).
* **`request_pcd_reference_keys_role_confidential_list_enc_by_shared_secret`** : Clés de déchiffrement des attributs confidentiels des `Item` des `RequestPcd` chiffrées par la clé `KeyConfidential` d'une `transaction SP`.
* **`request_pcd_origin_hash_keys_role_confidential_list_enc_by_shared_secret`** : Clés de déchiffrement des attributs confidentiels des `Item` des `RequestPcd` du `RequestPCD` de référence, chiffrées par la clé `KeyConfidential` d'une `transaction SP`.
* **`message_public`** : Message public, chiffré par la clé `ProcessKey` du `ItemProcess` concerné.
* **`message_confidential`** : Message confidentiel, chiffré par la clé `ProcessKey` du `ItemProcess` concerné.
* **`message_private`** : Message privé, chiffré par la clé privée `KeyRecover`.
* **`sp_address_to`** : Adresse du destinataire.
* **`sp_address_from`** : Adresse de l'émetteur.
* **`sp_address_reply`** : Adresse de réponse à l'émetteur.
* **`timestamp_declared`** : Horodatage déclaré.
* **`role_name_from`** : Nom du rôle de l'émetteur.
* **`role_name_to`** : Nom du rôle du destinataire.
* **`payment_request_pcd_hash_list_enc_by_shared_secret`** : Liste des `RequestPcd` d'`Item` de nom `paiement` chiffrée par la clé `KeyConfidential` d'une `transaction SP`.
* **`cap_request_pcd_hash_list_enc_by_shared_secret`** : Liste des `RequestPcd` d'`Item` de nom `deposit` chiffrée par la clé `KeyConfidential` d'une `transaction SP` servant à la validation des paiements temporaires en attente du passage d'un cap.
* **`deposit_request_pcd_hash_list_enc_by_shared_secret`** : Liste des `RequestPcd` d'`Item` de nom `deposit` chiffrée par la clé `KeyConfidential` d'une `transaction SP`.
* **`commitment_request_pcd_hash_list_enc_by_shared_secret`** : Liste des `RequestPcd` d'`Item` de nom `commitment` chiffrée par la clé `KeyConfidential` d'une `transaction SP`.
* **`ask_payment_method_enc_by_shared_secret`** : Demande de méthode de paiement chiffrée par la clé `KeyConfidential` d'une `transaction SP`.
* **`ask_deposit_method_enc_by_shared_secret`** : Demande de méthode de dépôt chiffrée par la clé `KeyConfidential` d'une `transaction SP`.
* **`ask_commitment_method_enc_by_shared_secret`** : Demande de méthode d'engagement chiffrée par la clé `KeyConfidential` d'une `transaction SP`.
* **`payment_method_enc_by_shared_secret`** : Méthode de paiement chiffrée par la clé `KeyConfidential` d'une `transaction SP`, en réponse à une demande.
* **`deposit_method_enc_by_shared_secret`** : Méthode de dépôt chiffrée par la clé `KeyConfidential` d'une `transaction SP`, en réponse à une demande.
* **`commitment_method_enc_by_shared_secret`** : Méthode d'engagement chiffrée par la clé `KeyConfidential` d'une `transaction SP`, en réponse à une demande.
* **`certif_key_enc_by_shared_secret`** : Clé de certification chiffrée par la clé `KeyConfidential` d'une `transaction SP`.
* **`device_footprint_enc_by_sp_shared_secret`** : Empreinte du dispositif de l'émetteur, chiffrée par la clé `KeyConfidential` d'une `transaction SP`.
### 8.1. <a name='Schmadesflux-1'></a>Schéma des flux
@ -377,9 +383,36 @@ Workflow:
Principaux champs des `RequestPrdList` :
* **`request_prd`** :
* **`item_member_enc_by_sp_shared_secret`** :
* **`pre_id_sp_enc_by_shared_secret`** :
* **`request_prd`** : cf la descripton de la structure `RequestPrd`.
Dans le cas d'une création de compte :
* **`item_member_enc_by_sp_shared_secret`** : Nouvel `ItemMember` temporaire,chiffrée par la clé `KeyConfidential` d'une `transaction SP`.
L'`ItemMember` temporaire contient les métadonnées de type `Metadata` suivantes :
* **`MetadataProcessPublic` de type `ItemMemberPublicAttributeGroup`** :
* **`sp_address_public`** : Adresse publique de l'utilisateur, chiffré par la `ProcessKey` de l'`ItemProcess`.
* **`sp_address_public_sig`** : Signature de l'adresse publique de l'utilisateur par la clé `recover`, chiffré par la `ProcessKey` de l'`ItemProcess`.
* **`sp_address_revoke_public`** : Adresse publique de révocation de l'utilisateur, chiffré par la `ProcessKey` de l'`ItemProcess`.
* **`sp_address_revoke_public_sig`** : Signature de l'adresse publique de révocation de l'utilisateur par la clé de spend de `revoke`, chiffré par la `ProcessKey` de l'`ItemProcess`.
* **`third_sp_address_list_public`** : Liste des adresses publiques de devices tiers, chiffré par la `ProcessKey` de l'`ItemProcess`.
* **`data_size_max`** : Taille maximale des données acceptée par l'utilisateur (par flux), chiffré par la `ProcessKey` de l'`ItemProcess`.
* **`payment_method_list_public`** : Liste des méthodes de paiement acceptées par l'utilisateur, chiffré par la `ProcessKey` de l'`ItemProcess`.
* **`succession_process_hash`** : Hash du processus de succession de l'utilisateur (transmission de l'identité numérique et donc de tous les flux associés), chiffré par la `ProcessKey` de l'`ItemProcess`.
* **`device_footprint`** : Empreinte du dispositif de l'utilisateur, chiffré par la `ProcessKey` de l'`ItemProcess`.
* **`MetadataRoleConfidential` de type `ItemMemberRoleConfidentialAttributeGroup`** :
* **`shard_confidential`** : Shard de l'utilisateur, chiffré par la clé `KeyConfidential` d'une `transaction SP`.
* **`pre_id_confidential`** : Pré empreinte de l'identité numérique de l'utilisateur, chiffrée par la clé `KeyConfidential` d'une `transaction SP`.
* **`MetadataPrivate` de type `ItemMemberRolePrivateAttributeGroup`** :
* **`priv_key_mainnet_spend`** : Clé de dépense de l'utilisateur, chiffrée par la clé privée du mainnet, chiffrée par `KeyRecover`.
* **`priv_key_mainnet_scan`** : Clé de scan de l'utilisateur, chiffrée par la clé privée du mainnet, chiffrée par `KeyRecover`.
* **`priv_key_signet_scan`** : Clé de scan du signet de `recover`de l'utilisateur, chiffrée `KeyRecover`.
### 9.1. <a name='Schmadesflux-1'></a>Schéma des flux
@ -418,8 +451,8 @@ Workflow :
Principaux champs des `RequestPrdMessage` :
* **`request_prd`** :
* **`raw_transaction_list`** :
* **`request_prd`** : cf la descripton de la structure `RequestPrd`.
* **`raw_transaction_list`** : Liste des `transaction SP` au format `raw` pour la publication de la transaction dans la side chain.
### 10.1. <a name='Schmadesflux-1'></a>Schéma des flux
@ -454,7 +487,7 @@ Workflow:
Principaux champs des `RequestPrdUpdate` :
* **`request_prd`** :
* **`request_prd`** : cf la descripton de la structure `RequestPrd`.
### 11.1. <a name='Schmadesflux-1'></a>Schéma des flux
@ -488,8 +521,8 @@ Voir les diagrammes `PRDUpdateFlows`, `PRDUpdateFlows` et `PRDMessageFlows`.
Principaux champs des `RequestPrdConfirm` :
* **`request_prd`** :
* **`code_confirm_enc_by_shared_secret`** :
* **`request_prd`** : cf la descripton de la structure `RequestPrd`.
* **`code_confirm_enc_by_shared_secret`** : Code de confirmation chiffré par la clé `KeyConfidential` d'une `transaction SP` dans le cas d'un 2FA.
### 12.1. <a name='Schmadesflux-1'></a>Schéma des flux
@ -519,10 +552,9 @@ Voir les diagrammes `PRDUpdateFlows` et `PRDUpdateFlows`.
Principaux champs des `RequestPrdResponse` :
* **`request_prd`** :
* **`sig_value`** :
* **`shared_secret_key_enc_by_sp_shared_secret`** :
* **`shard_enc_by_sp_shared_secret`** :
* **`request_prd`** : cf la descripton de la structure `RequestPrd`.
* **`shared_secret_key_enc_by_sp_shared_secret`** : Clé de chiffrement partagée chiffrée par la clé `KeyConfidential` d'une `transaction SP`.
* **`shard_enc_by_sp_shared_secret`** : Shard chiffré par la clé `KeyConfidential` d'une `transaction SP`.
### 13.1. <a name='Schmadesflux-1'></a>Schéma des flux
@ -548,11 +580,11 @@ Pour simplifier, les `RequestPrdConfirm` n'ont pas été représentés dans le s
## 15. <a name='Todo'></a>Todo
[ ] Description détaillée de tous les éléments (attributs) qui composent le request-type:
[ ] Quy a-t-il dans le request-type?
[ ] A quoi sert lattribut X du request-type?
[ ] Description un par un des contextes où le request-type est utilisé.
[ ] Description pas à pas de lenvoi du request-type.
[x] Quy a-t-il dans le request-type?
[x] A quoi sert lattribut X du request-type?
[x] Description un par un des contextes où le request-type est utilisé.
[x] Description pas à pas de lenvoi du request-type.
[ ] Que se passe-t-il dans le système lorsque le request-type est envoyé?
[ ] Description pas à pas de la réception du request-type.
[ ] Que se passe-t-il dans le système lorsque le request-type est reçu?
[ ] Exemple dutilisation.
[x] Description pas à pas de la réception du request-type.
[x] Que se passe-t-il dans le système lorsque le request-type est reçu?
[x] Exemple dutilisation.

View File

@ -1,4 +1,5 @@
<!-- vscode-markdown-toc -->
* 1. [Documents de référence](#Documentsderfrence)
* 2. [Methods](#Methods)
* 2.1. [DepositMethod](#DepositMethod)
@ -46,7 +47,7 @@
* 7.4. [L2Certif](#L2Certif)
* 7.5. [BlockCertif](#BlockCertif)
* 8. [Metadata](#Metadata)
* 8.1. [MetadataContractPublic](#MetadataContractPublic)
* 8.1. [MetadataProcessPublic](#MetadataProcessublic)
* 8.2. [MetadataPrivate](#MetadataPrivate)
* 8.3. [MetadataRoleConfidential](#MetadataRoleConfidential)
* 8.4. [Amount](#Amount)
@ -121,7 +122,7 @@ Voir [Doc_references.md](Doc_references.md).
### 2.1. <a name='DepositMethod'></a>DepositMethod
| Attribute Name | Type | Option |
|----------------|--------------|--------|
| -------------- | ------------ | ------ |
| `method` | ```String``` | |
Pseudo-code:
@ -135,7 +136,7 @@ Pseudo-code:
### 2.2. <a name='CommitmentMethod'></a>CommitmentMethod
| Attribute Name | Type | Option |
|----------------|--------------|--------|
| -------------- | ------------ | ------ |
| `method` | ```String``` | |
Pseudo-code:
@ -149,7 +150,7 @@ Pseudo-code:
### 2.3. <a name='PaymentMethod'></a>PaymentMethod
| Attribute Name | Type | Option |
|----------------|--------------|--------|
| -------------- | ------------ | ------ |
| `method` | ```String``` | |
Pseudo-code:
@ -165,13 +166,13 @@ Pseudo-code:
### 3.1. <a name='Item'></a>Item
| Attribute Name | Type | Option |
|-------------------------------------|--------------------------------|--------|
| ----------------------------------- | ------------------------------ | ------ |
| `uuid` | ```String``` | |
| `version` | ```i64``` | |
| `item_type` | ```String``` | |
| `name` | ```String``` | |
| `pagination_number_per_request_pcd` | ```u32``` | |
| `metadata_contract_public` | ```MetadataContractPublic``` | |
| `metadata_Process_public` | ```MetadataProcessPublic``` | |
| `metadata_role_confidential` | ```MetadataRoleConfidential``` | |
| `metadata_private` | ```MetadataPrivate``` | |
@ -184,7 +185,7 @@ Pseudo-code:
"item_type": "string",
"name": "string",
"pagination_number_per_request_pcd": 0,
"metadata_contract_public": MetadataContractPublic,
"metadata_Process_public": MetadataProcessublic,
"metadata_role_confidential": MetadataRoleConfidential,
"metadata_private": MetadataPrivate
}
@ -193,7 +194,7 @@ Pseudo-code:
### 3.2. <a name='ItemArtefact'></a>ItemArtefact
| Attribute Name | Type | Option |
|-------------------------------------|-------------------|--------|
| ----------------------------------- | ----------------- | ------ |
| `item` | ```Item``` | |
| `public_attribute_group` | ```Vec<String>``` | |
| `role_confidential_attribute_group` | ```Vec<String>``` | |
@ -213,7 +214,7 @@ Pseudo-code:
### 3.3. <a name='ItemMember'></a>ItemMember
| Attribute Name | Type | Option |
|-------------------------------------|------------------------------------------------|--------|
| ----------------------------------- | ---------------------------------------------- | ------ |
| `item` | ```Item``` | |
| `public_attribute_group` | ```ItemMemberPublicAttributeGroup``` | |
| `role_confidential_attribute_group` | ```ItemMemberRoleConfidentialAttributeGroup``` | |
@ -233,7 +234,7 @@ Pseudo-code:
#### 3.3.1. <a name='ItemMemberPublicAttributeGroup'></a>ItemMemberPublicAttributeGroup
| Attribute Name | Type | Option |
|--------------------------------|-------------------|--------|
| ------------------------------ | ----------------- | ------ |
| `sp_address_public` | ```String``` | |
| `sp_address_public_sig` | ```String``` | |
| `sp_address_revoke_public` | ```String``` | |
@ -242,6 +243,7 @@ Pseudo-code:
| `data_size_max` | ```i64``` | |
| `payment_method_list_public` | ```Vec<String>``` | |
| `succession_process_hash` | ```String``` | |
| `device_footprint` | String | |
Pseudo-code:
@ -254,36 +256,34 @@ Pseudo-code:
"third_sp_address_list_public": [],
"data_size_max": 0,
"payment_method_list_public": [],
"succession_process_hash": ""
"succession_process_hash": "",
"device_footprint": ""
}
```
#### 3.3.2. <a name='ItemMemberRoleConfidentialAttributeGroup'></a>ItemMemberRoleConfidentialAttributeGroup
| Attribute Name | Type | Option |
|--------------------------------------------|--------------|--------|
| --------------------- | ------------ | ------ |
| `shard_confidential` | ```String``` | yes |
| `pre_id_confidential` | ```String``` | yes |
| `device_footprint_enc_by_sp_shared_secret` | ```String``` | yes |
Pseudo-code:
```json
{
"shard_confidential": "",
"pre_id_confidential": "",
"device_footprint_enc_by_sp_shared_secret": ""
"pre_id_confidential": ""
}
```
#### 3.3.3. <a name='ItemMemberRolePrivateAttributeGroup'></a>ItemMemberRolePrivateAttributeGroup
| Attribute Name | Type | Option |
|--------------------------|--------------|--------|
| ------------------------ | ------------ | ------ |
| `priv_key_mainnet_spend` | ```String``` | yes |
| `priv_key_mainnet_scan` | ```String``` | yes |
| `priv_key_signet_scan` | ```String``` | yes |
| `randSeedPart2` | ```String``` | yes |
Pseudo-code:
@ -292,14 +292,13 @@ Pseudo-code:
"priv_key_mainnet_spend": "",
"priv_key_mainnet_scan": "",
"priv_key_signet_scan": "",
"randSeedPart2": ""
}
```
### 3.4. <a name='ItemCommitment'></a>ItemCommitment
| Attribute Name | Type | Option |
|-------------------------------------|----------------------------------------------------|--------|
| ----------------------------------- | -------------------------------------------------- | ------ |
| `item` | ```Item``` | |
| `public_attribute_group` | ```ItemCommitmentPublicAttributeGroup``` | |
| `role_confidential_attribute_group` | ```ItemCommitmentRoleConfidentialAttributeGroup``` | |
@ -319,7 +318,7 @@ Pseudo-code:
#### 3.4.1. <a name='ItemCommitmentRoleConfidentialAttributeGroup'></a>ItemCommitmentRoleConfidentialAttributeGroup
| Attribute Name | Type | Option |
|-----------------------------|-------------------|--------|
| --------------------------- | ----------------- | ------ |
| `payload_list_confidential` | ```Vec<String>``` | |
Pseudo-code:
@ -333,7 +332,7 @@ Pseudo-code:
#### 3.4.2. <a name='ItemCommitmentPrivateAttributeGroup'></a>ItemCommitmentPrivateAttributeGroup
| Attribute Name | Type | Option |
|------------------------|-------------------|--------|
| ---------------------- | ----------------- | ------ |
| `payload_list_private` | ```Vec<String>``` | |
Pseudo-code:
@ -347,7 +346,7 @@ Pseudo-code:
##### 4.2.1. <a name='ItemCommitmentPublicAttributeGroup'></a>ItemCommitmentPublicAttributeGroup
| Attribute Name | Type | Option |
|------------------------------------|-------------------|--------|
| ---------------------------------- | ----------------- | ------ |
| `for_sp_address_list` | ```Vec<String>``` | |
| `goal_list` | ```Vec<String>``` | |
| `provider_type` | ```String``` | |
@ -373,7 +372,7 @@ Pseudo-code:
### 3.5. <a name='ItemDeposit'></a>ItemDeposit
| Attribute Name | Type | Option |
|-------------------------------------|-------------------------------------------------|--------|
| ----------------------------------- | ----------------------------------------------- | ------ |
| `item` | ```Item``` | |
| `public_attribute_group` | ```ItemDepositPublicAttributeGroup``` | |
| `role_confidential_attribute_group` | ```ItemDepositRoleConfidentialAttributeGroup``` | |
@ -393,7 +392,7 @@ Pseudo-code:
#### 3.5.1. <a name='ItemDepositPublicAttributeGroup'></a>ItemDepositPublicAttributeGroup
| Attribute Name | Type | Option |
|-----------------------------|-------------------|--------|
| --------------------------- | ----------------- | ------ |
| `for_sp_address_list` | ```Vec<String>``` | |
| `for_address_list` | ```Vec<String>``` | |
| `goal_list` | ```Vec<String>``` | |
@ -421,7 +420,7 @@ Pseudo-code:
#### 3.5.2. <a name='ItemDepositRoleConfidentialAttributeGroup'></a>ItemDepositRoleConfidentialAttributeGroup
| Attribute Name | Type | Option |
|--------------------------------|-------------------|--------|
| ------------------------------ | ----------------- | ------ |
| `payload_list_confidential` | ```Vec<String>``` | |
| `audit_code_list_confidential` | ```Vec<String>``` | |
@ -437,10 +436,10 @@ Pseudo-code:
#### 3.5.3. <a name='ItemDepositPrivateAttributeGroup'></a>ItemDepositPrivateAttributeGroup
| Attribute Name | Type | Option |
|------------------------|-------------------|--------|
| ---------------------- | ----------------- | ------ |
| `payload_list_private` | ```Vec<String>``` | |
| `audit_code_private` | ```String``` | |
Pseudo-code:
| Pseudo-code: | | |
```json
{
@ -462,7 +461,7 @@ Pseudo-code:
### 3.7. <a name='ItemPayment'></a>ItemPayment
| Attribute Name | Type | Option |
|-------------------------------------|-------------------------------------------------|--------|
| ----------------------------------- | ----------------------------------------------- | ------ |
| `item` | ```Item``` | |
| `public_attribute_group` | ```ItemPaymentPublicAttributeGroup``` | |
| `role_confidential_attribute_group` | ```ItemPaymentRoleConfidentialAttributeGroup``` | |
@ -482,7 +481,7 @@ Pseudo-code:
#### 3.7.1. <a name='ItemPaymentPublicAttributeGroup'></a>ItemPaymentPublicAttributeGroup
| Attribute Name | Type | Option |
|------------------------------------|-------------------|--------|
| ---------------------------------- | ----------------- | ------ |
| `for_sp_address_list` | ```Vec<String>``` | |
| `goal_list` | ```Vec<String>``` | |
| `provider_type` | ```String``` | |
@ -504,7 +503,7 @@ Pseudo-code:
#### 3.7.2. <a name='ItemPaymentRoleConfidentialAttributeGroup'></a>ItemPaymentRoleConfidentialAttributeGroup
| Attribute Name | Type | Option |
|--------------------------------|-------------------|--------|
| ------------------------------ | ----------------- | ------ |
| `payload_list_confidential` | ```Vec<String>``` | |
| `audit_code_list_confidential` | ```Vec<String>``` | |
@ -529,7 +528,7 @@ Pseudo-code:
#### 3.7.3. <a name='ItemPaymentPrivateAttributeGroup'></a>ItemPaymentPrivateAttributeGroup
| Attribute Name | Type | Option |
|------------------------|-------------------|--------|
| ---------------------- | ----------------- | ------ |
| `payload_list_private` | ```Vec<String>``` | |
| `audit_code_private` | ```String``` | |
@ -545,7 +544,7 @@ Pseudo-code:
### 3.8. <a name='ItemPeer'></a>ItemPeer
| Attribute Name | Type | Option |
|---------------------------|-------------------------------------|--------|
| ------------------------- | ----------------------------------- | ------ |
| `item` | ```Item``` | |
| `layer_list` | ```Vec<String>``` | |
| `public_attribute_group` | ```ItemPeerPublicAttributeGroup``` | |
@ -565,7 +564,7 @@ Pseudo-code:
#### 3.8.1. <a name='ItemPeerPublicAttributeGroup'></a>ItemPeerPublicAttributeGroup
| Attribute Name | Type | Option |
|--------------------------------|-------------------|--------|
| ------------------------------ | ----------------- | ------ |
| `sp_address` | ```String``` | |
| `domain` | ```String``` | |
| `ip_address` | ```String``` | |
@ -599,7 +598,7 @@ Pseudo-code:
#### 3.8.2. <a name='ItemPeerPrivateAttributeGroup'></a>ItemPeerPrivateAttributeGroup
| Attribute Name | Type | Option |
|----------------|--------------|--------|
| -------------- | ------------ | ------ |
| `config` | ```String``` | |
Pseudo-code:
@ -613,7 +612,7 @@ Pseudo-code:
### 3.9. <a name='ItemProcess'></a>ItemProcess
| Attribute Name | Type | Option |
|---------------------------------------|---------------------------------------|--------|
| ------------------------------------- | ------------------------------------- | ------ |
| `item` | ```Item``` | |
| `item_process_public_attribute_group` | ```ItemProcessPublicAttributeGroup``` | |
@ -629,7 +628,7 @@ Pseudo-code:
#### 3.9.1. <a name='ItemProcessPublicAttributeGroup'></a>ItemProcessPublicAttributeGroup
| Attribute Name | Type | Option |
|----------------|------------|--------|
| -------------- | ---------- | ------ |
| `roles_group` | RolesGroup | |
Pseudo-code:
@ -645,7 +644,7 @@ Pseudo-code:
### 4.1. <a name='KeyEncryption'></a>KeyEncryption
| Attribute Name | Type | Option |
|------------------|--------------|--------|
| ---------------- | ------------ | ------ |
| `attribute_name` | ```String``` | Yes |
| `key` | ```String``` | Yes |
| `algorithm` | ```String``` | Yes |
@ -663,7 +662,7 @@ Pseudo-code:
### 4.2. <a name='Aes256GcmIv96Bit'></a>Aes256GcmIv96Bit
| Attribute Name | Type | Option |
|----------------|-----------------------------|--------|
| -------------- | --------------------------- | ------ |
| `key` | ```GenericArray<u8, u32>``` | |
Pseudo-code:
@ -679,7 +678,7 @@ Pseudo-code:
### 5.1. <a name='Message'></a>Message
| Attribute Name | Type | Option |
|----------------|---------------|--------|
| -------------- | -------------------- | ------ |
| `message` | ```MessageGeneric``` | |
| `request_enc` | ```String``` | |
@ -695,7 +694,7 @@ Pseudo-code:
### 5.2. <a name='MessageConnect'></a>MessageConnect
| Attribute Name | Type | Option |
|----------------|---------------|--------|
| -------------- | -------------------- | ------ |
| message | ```MessageGeneric``` | |
Pseudo-code:
@ -709,7 +708,7 @@ Pseudo-code:
### 5.3. <a name='MessageGeneric'></a>MessageGeneric
| Attribute Name | Type | Option |
|------------------------|--------------------------|--------|
| ---------------------- | ------------------------ | ------ |
| `shared_peer_list` | ```Vec<SharedPeer>``` | |
| `shared_process_list` | ```Vec<SharedProcess>``` | |
| `faucet_sp_address` | ```String``` | |
@ -731,7 +730,7 @@ Pseudo-code:
### 5.4. <a name='Pow'></a>Pow
| Attribute Name | Type | Option |
|----------------|--------------|--------|
| -------------- | ------------ | ------ |
| `data_hash` | ```String``` | |
| `timestamp` | ```u64``` | Yes |
| `nonce` | ```u64``` | Yes |
@ -753,7 +752,7 @@ Pseudo-code:
### 5.5. <a name='SharedProcess'></a>SharedProcess
| Attribute Name | Type | Option |
|----------------|--------------------|--------|
| -------------- | ------------------ | ------ |
| `process_list` | `Vec<ItemProcess>` | |
Pseudo-code:
@ -767,7 +766,7 @@ Pseudo-code:
### 5.6. <a name='SharedPeer'></a>SharedPeer
| Attribute Name | Type | Option |
|----------------|----------------|--------|
| -------------- | -------------- | ------ |
| `domain` | ```String``` | Yes |
| `address_ip` | ```String``` | |
| `relay` | ```Relay``` | |
@ -791,7 +790,7 @@ Pseudo-code:
## 6. <a name='Relay'></a>Relay
| Attribute Name | Type | Option |
|---------------------|-------------------|--------|
| ---------------- | ------------ | ------ |
| `address_port` | ```u16``` | |
| `data_max_size` | ```usize``` | |
| `pow_difficulty` | ```u32``` | |
@ -815,7 +814,7 @@ Pseudo-code:
## 7. <a name='L1Node'></a>L1Node
| Attribute Name | Type | Option |
|------------------------|-------------------|--------|
| ------------------------- | ----------------- | ------ |
| `address_port` | ```u16``` | |
| `explorer_base_url` | ```String``` | |
| `l2_mining` | ```L2Mining``` | Yes |
@ -846,7 +845,7 @@ Pseudo-code:
### 7.1. <a name='L1NodeMining'></a>L1NodeMining
| Attribute Name | Type | Option |
|---------------------------|-------------------|--------|
| ------------------ | ----------------- | ------ |
| `block_mined_list` | ```Vec<String>``` | |
| `spend_key` | ```String``` | Yes |
| `scan_key` | ```String``` | Yes |
@ -865,7 +864,7 @@ Pseudo-code:
### 7.2. <a name='L2Node'></a>L2Node
| Attribute Name | Type | Option |
|------------------------|--------------|--------|
| ---------------------- | ------------ | ------ |
| `address_port` | ```u16``` | |
| `explorer_base_url` | ```String``` | |
| `sp_address_anchorage` | ```String``` | |
@ -895,7 +894,7 @@ Pseudo-code:
### 7.3. <a name='L2NodeMining'></a>L2NodeMining
| Attribute Name | Type | Option |
|---------------------------|-------------------|--------|
| ------------------------- | ----------------- | ------ |
| `sp_address_minig_reward` | ```string``` | |
| `sp_address_refund` | ```string``` | |
| `block_hash_mined_list` | ```Vec<String>``` | |
@ -917,7 +916,7 @@ Pseudo-code:
### 7.4. <a name='L2Certif'></a>L2Certif
| Attribute Name | Type | Option |
|------------------------|------------------------|--------|
| -------------------- | ----------------- | ------ |
| `l2_block_hash_list` | ```Vec<String>``` | |
| `l1_tx` | ```String``` | Yes |
@ -928,13 +927,12 @@ Pseudo-code:
"l2_block_hash_list": [],
"l1_tx": ""
}
```
### 7.5. <a name='BlockCertif'></a>BlockCertif
| Attribute Name | Type | Option |
|-------------------|-------------------|--------|
| ----------------- | ----------------- | ------ |
| `block_hash_list` | ```Vec<String>``` | |
| `certif_hash` | ```Vec<String>``` | |
| `l1_tx` | ```String``` | |
@ -957,7 +955,7 @@ Pseudo-code:
## 8. <a name='Metadata'></a>Metadata
| Attribute Name | Type | Option |
|------------------------|--------------------------|--------|
| ---------------------- | ------------------------ | ------ |
| `tag_list` | ```Vec<String>``` | |
| `zone_list` | ```Vec<String>``` | |
| `label_list` | ```Vec<String>``` | |
@ -986,10 +984,10 @@ Pseudo-code:
}
```
### 8.1. <a name='MetadataContractPublic'></a>MetadataContractPublic
### 8.1. <a name='MetadataProcessPublic'></a>MetadataProcessublic
| Attribute Name | Type | Option |
|----------------|----------------|--------|
| -------------- | -------------- | ------ |
| `meta_data` | ```MetaData``` | |
Pseudo-code:
@ -1003,7 +1001,7 @@ Pseudo-code:
### 8.2. <a name='MetadataPrivate'></a>MetadataPrivate
| Attribute Name | Type | Option |
|----------------|----------------|--------|
| -------------- | -------------- | ------ |
| `meta_data` | ```MetaData``` | |
Pseudo-code:
@ -1017,7 +1015,7 @@ Pseudo-code:
### 8.3. <a name='MetadataRoleConfidential'></a>MetadataRoleConfidential
| Attribute Name | Type | Option |
|----------------|----------------|--------|
| -------------- | -------------- | ------ |
| `meta_data` | ```MetaData``` | |
Pseudo-code:
@ -1031,7 +1029,7 @@ Pseudo-code:
### 8.4. <a name='Amount'></a>Amount
| Attribute Name | Type | Option |
|----------------------|-------------------|--------|
| -------------------- | ----------------- | ------ |
| `timestamp` | ```u64``` | |
| `change_source_list` | ```Vec<String>``` | |
| `amount_cent` | ```i64``` | |
@ -1053,7 +1051,7 @@ Pseudo-code:
### 8.5. <a name='Number'></a>Number
| Attribute Name | Type | Option |
|----------------|---------------|--------|
| -------------- | ------------- | ------ |
| `fixed_state` | ```boolean``` | |
| `number` | ```i32``` | |
| `number_unit` | ```String``` | |
@ -1071,7 +1069,7 @@ Pseudo-code:
## 9. <a name='Request'></a>Request
| Attribute Name | Type | Option |
|------------------------------|--------------|--------|
| ---------------------------- | ------------ | ------ |
| `item_name` | ```String``` | Yes |
| `request_type` | ```String``` | |
| `version` | ```i64``` | |
@ -1096,13 +1094,12 @@ Pseudo-code:
"request_prd_origin_hash": "",
"item_reference_hash": ""
}
```
## 10. <a name='RequestPcd'></a> RequestPcd
| Attribute Name | Type | Option |
|-----------------|--------------------------------------|--------|
| --------------- | ------------------------------------ | ------ |
| `request` | ```Request``` | |
| `item_enc_list` | ```Vec< RequestPcdItemGenericEnc>``` | |
| `pagination` | ```Pagination``` | Yes |
@ -1120,7 +1117,7 @@ Pseudo-code:
### 10.1. <a name='Pagination'></a>Pagination
| Attribute Name | Type | Option |
|----------------|-------------|--------|
| -------------- | ----------- | ------ |
| `start` | ```usize``` | |
| `number` | ```usize``` | |
| `page_index` | ```usize``` | |
@ -1140,9 +1137,10 @@ Pseudo-code:
### 10.2. <a name='RequestPcdItemGenericEnc'></a> RequestPcdItemGenericEnc
| Attribute Name | Type | Option |
|---------------------------------------------------------|--------------------------------------------------------|--------|
| ------------------------------------------------------- | ------------------------------------------------------ | ------ |
| `version` | ```i64``` | |
| `item_type` | ```String``` | |
| `item_name` | `String` | |
| `name` | ```String``` | |
| `request_pcd_item_enc_attribute_public_list` | ```Vec< RequestPcdItemEncAttributePublic>``` | Yes |
| `request_pcd_item_enc_attribute_role_confidential_list` | ```Vec< RequestPcdItemEncAttributeRoleConfidential>``` | Yes |
@ -1164,9 +1162,11 @@ Pseudo-code:
#### 10.2.1. <a name='RequestPcdItemEncAttributePublic'></a> RequestPcdItemEncAttributePublic
| Attribute Name | Type | Option |
|------------------|--------------|--------|
| ---------------- | ------------ | ------ |
| `attribute_name` | ```String``` | |
| `data_enc` | ```String``` | |
| `data_enc` | ```String``` | Yes |
| `key` | ```String``` | Yes |
| `data` | ```String``` | Yes |
Pseudo-code:
@ -1180,9 +1180,11 @@ Pseudo-code:
#### 10.2.2. <a name='RequestPcdItemEncAttributeRoleConfidential'></a> RequestPcdItemEncAttributeRoleConfidential
| Attribute Name | Type | Option |
|------------------|--------------|--------|
| ---------------- | ------------ | ------ |
| `attribute_name` | ```String``` | |
| `data_enc` | ```String``` | Yes |
| `key` | ```String``` | Yes |
| `data` | ```String``` | Yes |
Pseudo-code:
@ -1196,9 +1198,11 @@ Pseudo-code:
#### 10.2.3. <a name='RequestPcdItemEncAttributePrivate'></a> RequestPcdItemEncAttributePrivate
| Attribute Name | Type | Option |
|------------------|--------------|--------|
| ---------------- | ------------ | ------ |
| `attribute_name` | ```String``` | |
| `data_enc` | ```String``` | Yes |
| `key` | ```String``` | Yes |
| `data` | ```String``` | Yes |
Pseudo-code:
@ -1212,7 +1216,7 @@ Pseudo-code:
## 11. <a name='RequestPrd'></a>RequestPrd
| Attribute Name | Type | Option |
|-----------------------------|--------|--------
| -------------------------------------------------------------------------- | ----------------- | ------ |
| `request` | ```Request``` | |
| `sig_value` | ```String``` | |
| `request_pcd_reference_keys_role_confidential_list_enc_by_shared_secret` | ```Vec<String>``` | |
@ -1274,25 +1278,23 @@ Pseudo-code:
### 11.1. <a name='RequestPrdList'></a>RequestPrdList
| Attribute Name | Type | Option |
|---------------------------------------|------------------|--------|
| ------------------------------------- | ---------------- | ------ |
| `request_prd` | ```RequestPrd``` | |
| `item_member_enc_by_sp_shared_secret` | ```String``` | Yes |
| `pre_id_sp_enc_by_shared_secret` | ```string``` | Yes |
Pseudo-code:
```json
{
"request_prd": RequestPrd,
"item_member_enc_by_sp_shared_secret": "",
"pre_id_sp_enc_by_shared_secret": ""
"item_member_enc_by_sp_shared_secret": ""
}
```
### 11.2. <a name='RequestPrdUpdate'></a>RequestPrdUpdate
| Attribute Name | Type | Option |
|----------------|------------------|--------|
| -------------- | ---------------- | ------ |
| `request_prd` | ```RequestPrd``` | |
Pseudo-code:
@ -1306,9 +1308,8 @@ Pseudo-code:
### 11.3. <a name='RequestPrdResponse'></a>RequestPrdResponse
| Attribute Name | Type | Option |
|---------------------------------------------|------------------|--------|
| ------------------------------------------- | ---------------- | ------ |
| `request_prd` | ```RequestPrd``` | |
| `sig_value` | ```String``` | |
| `shared_secret_key_enc_by_sp_shared_secret` | ```String``` | Yes |
| `shard_enc_by_sp_shared_secret` | ```String``` | Yes |
@ -1326,7 +1327,7 @@ Pseudo-code:
### 11.4. <a name='RequestPrdConfirm'></a>RequestPrdConfirm
| Attribute Name | Type | Option |
|-------------------------------------|------------------|--------|
| ----------------------------------- | ---------------- | ------ |
| `request_prd` | ```RequestPrd``` | |
| `code_confirm_enc_by_shared_secret` | ```String``` | Yes |
@ -1342,7 +1343,7 @@ Pseudo-code:
### 11.5. <a name='RequestPrdMessage'></a>RequestPrdMessage
| Attribute Name | Type | Option |
|------------------------|-------------------|--------|
| ---------------------- | ----------------- | ------ |
| `request_prd` | ```RequestPrd``` | |
| `raw_transaction_list` | ```Vec<String>``` | Yes |
@ -1358,7 +1359,7 @@ Pseudo-code:
### 11.6. <a name='RequestPrdResponse-1'></a>RequestPrdResponse
| Attribute Name | Type | Option |
|----------------|------------------|--------|
| -------------- | ---------------- | ------ |
| `request_prd` | ```RequestPrd``` | |
| `sig_value` | ```String``` | |
@ -1376,7 +1377,7 @@ Pseudo-code:
### 12.1. <a name='Role'></a>Role
| Attribute Name | Type | Option |
|---------------------------------------|-----------------------------------|--------|
| ------------------------------------- | --------------------------------- | ------ |
| `item` | ```Item``` | |
| `sp_output_salt_enc` | ```string``` | Yes |
| `required_2fa` | ```bool``` | |
@ -1418,7 +1419,7 @@ Pseudo-code:
#### 12.2.1. <a name='TransactionMode'></a>TransactionMode
| Attribute Name | Type | Option |
|------------------|-------------------|--------|
| ---------------- | ----------------- | ------ |
| `amount` | ```Amount``` | Yes |
| `number` | ```Number``` | Yes |
| `hash_ok_list` | ```Vec<String>``` | Yes |
@ -1452,7 +1453,7 @@ Pseudo-code:
#### 12.2.2. <a name='ConditionPayment'></a>ConditionPayment
| Attribute Name | Type | Option |
|----------------------------|-------------------------------------|--------|
| -------------------------- | ----------------------------------- | ------ |
| `request_prd_type` | ```String``` | |
| `transaction_mode` | ```TransactionMode``` | |
| `payment_proof_validation` | ```ConditionRequestPrdAddressSet``` | |
@ -1472,7 +1473,7 @@ Pseudo-code:
#### 12.2.3. <a name='ConditionCommitment'></a>ConditionCommitment
| Attribute Name | Type | Option |
|----------------------------|-------------------------------------|--------|
| -------------------------- | ----------------------------------- | ------ |
| `request_prd_type` | ```String``` | |
| `transaction_mode` | ```TransactionMode``` | |
| `payment_proof_validation` | ```ConditionRequestPrdAddressSet``` | |
@ -1490,7 +1491,7 @@ Pseudo-code:
#### 12.2.4. <a name='ConditionDeposit'></a>ConditionDeposit
| Attribute Name | Type | Option |
|----------------------------|-------------------------------------|--------|
| -------------------------- | ----------------------------------- | ------ |
| `request_prd_type` | ```String``` | |
| `transaction_mode` | ```TransactionMode``` | |
| `payment_proof_validation` | ```ConditionRequestPrdAddressSet``` | |
@ -1508,7 +1509,7 @@ Pseudo-code:
#### 12.2.5. <a name='ConditionOrchestration'></a>ConditionOrchestration
| Attribute Name | Type | Option |
|----------------------------|-------------------------------------|--------|
| -------------------------- | ----------------------------------- | ------ |
| `request_prd_type` | ```String``` | |
| `role_ok` | ```String``` | |
| `role_ko` | ```String``` | |
@ -1528,7 +1529,7 @@ Pseudo-code:
#### 12.2.6. <a name='ConditionCap'></a>ConditionCap
| Attribute Name | Type | Option |
|----------------------------|-------------------------------------|--------|
| -------------------------- | ----------------------------------- | ------ |
| `request_prd_type` | ```String``` | |
| `transaction_mode` | ```TransactionMode``` | |
| `payment_proof_validation` | ```ConditionRequestPrdAddressSet``` | |
@ -1546,7 +1547,7 @@ Pseudo-code:
#### 12.2.7. <a name='ConditionRequestPrdAddressSet'></a>ConditionRequestPrdAddressSet
| Attribute Name | Type | Option |
|-------------------------------------------------|-------------------|--------|
| ----------------------------------------------- | ----------------- | ------ |
| `request_prd_type` | ```String``` | |
| `from_role` | ```String``` | Yes |
| `request_prd_sp_address_list` | ```Vec<String>``` | |
@ -1604,7 +1605,7 @@ Pseudo-code:
#### 12.2.8. <a name='ConditionPublish'></a>ConditionPublish
| Attribute Name | Type | Option |
|-----------------------------------|--------------|--------|
| --------------------------------- | ------------ | ------ |
| `request_prd_type` | ```String``` | |
| `request_pcd_data_size_max_unit` | ```String``` | |
| `request_pcd_data_size_max_total` | ```i64``` | |
@ -1634,7 +1635,7 @@ Pseudo-code:
RolesGroup outlines a collection of roles.
| Attribute Name | Type | Option |
|----------------------|-------------------------|--------|
| -------------------- | ----------------------- | ------ |
| `role_peer` | ```RolePeer``` | |
| `role_member` | ```RoleMember``` | |
| `role_process` | ```RoleProcess``` | |
@ -1654,7 +1655,7 @@ Pseudo-code:
#### 12.3.1. <a name='RoleArtefact'></a>RoleArtefact
| Attribute Name | Type | Option |
|----------------|--------------|--------|
| -------------- | ------------ | ------ |
| `item_name` | ```String``` | |
| `role` | ```Role``` | |
@ -1670,10 +1671,10 @@ Pseudo-code:
#### 12.3.2. <a name='RoleDeposit'></a>RoleDeposit
| Attribute Name | Type | Option |
|----------------|--------------|--------|
| -------------- | ------------ | ------ |
| `item_name` | ```String``` | |
| `role` | ```Role``` | |
Pseudo-code:
| Pseudo-code: | | |
```json
{
@ -1685,7 +1686,7 @@ Pseudo-code:
#### 12.3.3. <a name='RoleCommitment'></a>RoleCommitment
| Attribute Name | Type | Option |
|----------------|--------------|--------|
| -------------- | ------------ | ------ |
| `item_name` | ```String``` | |
| `role` | ```Role``` | |
@ -1701,7 +1702,7 @@ Pseudo-code:
#### 12.3.4. <a name='RoleMember'></a>RoleMember
| Attribute Name | Type | Option |
|----------------|--------------|--------|
| -------------- | ------------ | ------ |
| `item_name` | ```String``` | |
| `role` | ```Role``` | |
@ -1717,7 +1718,7 @@ Pseudo-code:
### 12.4. <a name='RolePeer'></a>RolePeer
| Attribute Name | Type | Option |
|----------------|--------------|--------|
| -------------- | ------------ | ------ |
| `item_name` | ```String``` | |
| `role` | ```Role``` | |
@ -1733,7 +1734,7 @@ Pseudo-code:
#### 12.4.1. <a name='RolePayment'></a>RolePayment
| Attribute Name | Type | Option |
|----------------|--------------|--------|
| -------------- | ------------ | ------ |
| `item_name` | ```String``` | |
| `role` | ```Role``` | |
@ -1749,7 +1750,7 @@ Pseudo-code:
#### 12.4.2. <a name='RoleProcess'></a>RoleProcess
| Attribute Name | Type | Option |
|----------------|--------------|--------|
| -------------- | ------------ | ------ |
| `item_name` | ```String``` | |
| `role` | ```Role``` | |
@ -1769,7 +1770,7 @@ Pseudo-code:
#### 13.1.1. <a name='StorageKeysPublic'></a>StorageKeysPublic
| Attribute Name | Type | Option |
|-------------------------|------------------------------------|--------|
| ----------------------- | ---------------------------------- | ------ |
| `hash` | ```String``` | |
| `label` | ```String``` | Yes |
| `device_footprint` | ```String``` | Yes |
@ -1793,7 +1794,7 @@ Pseudo-code:
##### StoragethirdPartyPublic
| Attribute Name | Type | Option |
|--------------------|--------------|--------|
| ------------------ | ------------ | ------ |
| `device_footprint` | ```String``` | Yes |
| `sp_address` | ```String``` | |
@ -1835,7 +1836,7 @@ Pseudo-code:
#### 13.1.4. <a name='StorageMessagePublic'></a>StorageMessagePublic
| Attribute Name | Type | Option |
|------------------------------|--------------------------------------|--------|
| ---------------------------- | ------------------------------------ | ------ |
| `me_sender` | ```boolean``` | |
| `process_hash` | ```String``` | |
| `item_name` | ```String``` | |
@ -1872,13 +1873,13 @@ Pseudo-code:
##### StorageMessagesPeerPublic
| Attribute Name | Type | Option |
|---------------------|---------------|--------|
| ------------------- | ------------- | ------ |
| `domain` | ```String``` | |
| `ip` | ```String``` | |
| `port` | ```String``` | |
| `timestamp` | ```u64``` | |
| `sender` | ```boolean``` | |
| `validation_status` | ```String``` | | T
| `validation_status` | ```String``` | |
Pseudo-code:
@ -1921,7 +1922,6 @@ Pseudo-code:
"validation_status": "pending|ok|ko"
}
]
```
##### 4.6.2. <a name='RequestPrdUpdate'></a>StorageRequestPrdUpdatePublic
@ -1984,7 +1984,7 @@ Pseudo-code:
#### 13.2.1. <a name='StorageKeysPrivate'></a>StorageKeysPrivate
| Attribute Name | Type | Option |
|------------------------------|------------------------------------------|--------|
| ---------------------------- | ---------------------------------------- | ------ |
| `hash_public` | ```String``` | |
| `label` | ```String``` | |
| `keyrecoverSpend` | ```StorageKeyRecoverSpendPrivate``` | |
@ -2005,10 +2005,10 @@ Pseudo-code:
]
```
#####  StorageKeyRecoverSpendPrivate
##### StorageKeyRecoverSpendPrivate
| Attribute Name | Type | Option |
|----------------|--------------|--------|
| -------------- | ------------ | ------ |
| `seed_rand_1` | ```String``` | |
| `seed_rand_2` | ```String``` | |
| `part1_enc` | ```String``` | |
@ -2026,7 +2026,7 @@ Pseudo-code:
##### StorageProcessShardsBackupPrivate
| Attribute Name | Type | Option |
|----------------|-------------------|--------|
| -------------- | ----------------- | ------ |
| `hash` | ```String``` | |
| `members` | ```Vec<String>``` | |
| `index` | ```usize``` | |
@ -2044,7 +2044,7 @@ Pseudo-code:
#### 13.2.2. <a name='StoragePeerPrivate'></a>StoragePeerPrivate
| Attribute Name | Type | Option |
|----------------|--------------------------------|--------|
| -------------- | ------------------------------ | ------ |
| `hash_public` | ```String``` | |
| `shared_peer` | ```StorageSharedPeerPrivate``` | |
@ -2059,10 +2059,10 @@ Pseudo-code:
]
```
#####  StorageSharedPeerPrivate
##### StorageSharedPeerPrivate
| Attribute Name | Type | Option |
|----------------|---------------------------------|--------|
| -------------- | ------------------------------- | ------ |
| `domain` | ```String``` | |
| `address_ip` | ```String``` | |
| `relay` | ```StorageRelayPrivate``` | Yes |
@ -2083,10 +2083,10 @@ Pseudo-code:
}
```
######  StorageRelayPrivate
###### StorageRelayPrivate
| Attribute Name | Type | Option |
|------------------|-------------------|--------|
| ---------------- | ----------------- | ------ |
| `faucet_tx_list` | ```Vec<String>``` | Yes |
| `spend_key` | ```String``` | |
| `scan_key` | ```String``` | |
@ -2104,7 +2104,7 @@ Pseudo-code:
###### StorageL1NodePrivate
| Attribute Name | Type | Option |
|---------------------|-------------------|--------|
| ------------------- | ----------------- | ------ |
| `reward_tx_list` | ```Vec<String>``` | |
| `anchorage_tx_list` | ```Vec<String>``` | |
| `spend_key` | ```String``` | |
@ -2124,7 +2124,7 @@ Pseudo-code:
###### StorageL1MinerPrivate
| Attribute Name | Type | Option |
|-------------------------|-------------------|--------|
| ----------------------- | ----------------- | ------ |
| `mining_reward_tx_list` | ```Vec<String>``` | |
| `spend_key` | ```String``` | |
| `scan_key` | ```String``` | |
@ -2142,7 +2142,7 @@ Pseudo-code:
###### StorageL2NodePrivate
| Attribute Name | Type | Option |
|----------------|----------------------------------|--------|
| -------------- | -------------------------------- | ------ |
| `l2_miner` | ```StorageL2NodeMinerPrivate``` | |
| `l2_certif` | ```StorageL2NodeCertifPrivate``` | |
@ -2180,7 +2180,7 @@ Pseudo-code:
####### StorageL2NodeCertifPrivate
| Attribute Name | Type | Option |
|---------------------|-------------------|--------|
| ------------------- | ----------------- | ------ |
| `certif_l1_tx_list` | ```Vec<String>``` | |
| `refunded_tx_list` | ```Vec<String>``` | |
| `anchorage_tx_list` | ```Vec<String>``` | |
@ -2204,7 +2204,7 @@ Pseudo-code:
Public:
| Attribute Name | Type | Option |
|--------------------|-------------------|--------|
| ------------------ | ----------------- | ------ |
| `hash` | ```String``` | |
| `confidential_key` | ```String``` | |
| `item` | ```ItemProcess``` | |
@ -2212,7 +2212,7 @@ Public:
Private:
| Attribute Name | Type | Option |
|-----------------------------------|------------------------------------|--------|
| --------------------------------- | ---------------------------------- | ------ |
| `hash_public` | ```String``` | |
| `confidential_key` | ```String``` | |
| `metadata_role_confidentiel_keys` | ```MetadataRoleConfidentielKeys``` | |
@ -2236,10 +2236,10 @@ Pseudo-code:
}
```
######  MetadataRoleConfidentielKeys
###### MetadataRoleConfidentielKeys
| Attribute Name | Type | Option |
|-----------------------------|--------------|--------|
| --------------------------- | ------------ | ------ |
| `tag_list_keys` | ```String``` | |
| `zone_list_keys` | ```String``` | |
| `label_lis_keys` | ```String``` | |
@ -2271,7 +2271,7 @@ Pseudo-code:
#### 13.2.4. <a name='StorageRequestPcdPrivate'></a>StorageRequestPcdPrivate
| Attribute Name | Type | Option |
|------------------------------|-------------------|--------|
| ---------------------------- | ----------------- | ------ |
| `hash_public` | ```String``` | |
| `pcd_aes_key_list_decrypted` | ```Vec<String>``` | |
@ -2289,7 +2289,7 @@ Pseudo-code:
##### 5.5.1. <a name='RequestPrdUpdate-1'></a>StorageRequestPrdUpdatePrivate
| Attribute Name | Type | Option |
|----------------------------------------------------------------|-------------------|--------|
| -------------------------------------------------------------- | ----------------- | ------ |
| `hash_public` | ```String``` | |
| `sig_value` | ```String``` | |
| `request_pcd_reference_keys_role_confidential_list_decrypted` | ```String``` | |
@ -2345,7 +2345,7 @@ Pseudo-code:
##### 5.5.2. <a name='RequestPrdResponse-1'></a>StorageRequestPrdResponsePrivate
| Attribute Name | Type | Option |
|----------------------------------------------------------------|---------------------------------------------------|--------|
| -------------------------------------------------------------- | ------------------------------------------------- | ------ |
| `hash_public` | ```String``` | |
| `sig_value` | ```String``` | Yes |
| `request_pcd_reference_keys_role_confidential_list_decrypted` | ```String``` | Yes |
@ -2402,7 +2402,7 @@ Pseudo-code:
#### 13.2.6. <a name='StorageDecryptedSharedSecretKeyPrivate'></a>StorageDecryptedSharedSecretKeyPrivate
| Attribute Name | Type | Option |
|------------------|--------------|--------|
| ---------------- | ------------ | ------ |
| `attribute_name` | ```String``` | Yes |
| `key` | ```String``` | Yes |
| `algorithm` | ```String``` | Yes |
@ -2420,7 +2420,7 @@ Pseudo-code:
##### 5.5.3. <a name='RequestPrdConfirm-1'></a>StorageRequestPrdConfirmPrivate
| Attribute Name | Type | Option |
|----------------------------------------------------------------|-------------------|--------|
| -------------------------------------------------------------- | ----------------- | ------ |
| `hash_public` | ```String``` | |
| `sig_value` | ```String``` | Yes |
| `request_pcd_reference_keys_role_confidential_list_decrypted` | ```String``` | Yes |
@ -2474,7 +2474,7 @@ Pseudo-code:
##### 5.5.4. <a name='RequestPrdMessage-1'></a>StorageRequestPrdMessagePrivate
| Attribute Name | Type | Option |
|----------------------------------------------------------------|-------------------|--------|
| -------------------------------------------------------------- | ----------------- | ------ |
| `hash_public` | ```String``` | |
| `sig_value` | ```String``` | Yes |
| `request_pcd_reference_keys_role_confidential_list_decrypted` | ```String``` | Yes |
@ -2528,7 +2528,7 @@ Pseudo-code:
#### 13.2.8. <a name='StorageSocketClientListPrivate'></a>StorageSocketClientListPrivate
| Attribute Name | Type | Option |
|----------------|--------------|--------|
| -------------- | ------------ | ------ |
| `address` | ```String``` | |
| `port` | ```u64``` | |
| `protocol` | ```String``` | |
@ -2555,7 +2555,7 @@ Pseudo-code:
##### 5.6.2. <a name='SocketServerList'></a>StorageSocketServerListPrivate
| Attribute Name | Type | Option |
|----------------|--------------|--------|
| -------------- | ------------ | ------ |
| `address` | ```String``` | |
| `port` | ```u64``` | |
| `protocol` | ```String``` | |