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 | | `RequestPrdResponse` | Info | Yes | No | No | No | No |
| `RequestPrdConfirm` | Info | No | No | No | No | No | | `RequestPrdConfirm` | Info | No | No | No | No | No |
## 6. <a name='Encryption'></a>Encryption ## 6. <a name='Encryption'></a>Encryption
Schema : 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 : Principaux champs des `Request` contenus dans les `RequestPcd` et `RequestPrd` chiffrés :
* **`request_type`** : * **`request_type`** : Type de requête : `RequestPcd`, `RequestPrdList`, `RequestPrdMessage`, `RequestPrdUpdate`, `RequestPrdConfirm`, `RequestPrdResponse`.
* **`version`** : * **`item_name`** : Noms des items : `peer`, `member`, `process`, `payment`, `deposit`, `commitment`, et les `artefact` personnalisés.
* **`process_hash`** : * **`version`** : Version de la requête.
* **`request_pcd_reference_hash`** : * **`process_hash`** : Hash de l'`ItemProcess` concerné.
* **`request_pcd_origin_hash`** : * **`request_pcd_reference_hash`** : Hash du `RequestPcd` auquel le `RequestPrd` fait référence.
* **`request_prd_reference_hash`** : * **`request_pcd_origin_hash`** : Hash du `RequestPcd` à l'origine du `RequestPrd`.
* **`request_prd_origin_hash`** : * **`request_prd_reference_hash`** : Hash du `RequestPrd` auquel le `RequestPrd` fait référence.
* **`item_reference_hash`** : * **`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 ### 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` : Principaux champs des `RequestPcd` :
* **`request`** : * **`request`** : cf la descripton de la structure `Request`.
* **`item_enc_list`** : * **`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`** : * **`pagination`** : La pagination de la liste des `Item`.
Principaux champs de la structure `Pagination` : Principaux champs de la structure `Pagination` :
* **`start`** : * **`start`** : Index du premier `Item` de la liste.
* **`number`** : * **`number`** : Nombre d'`Item` à afficher.
* **`page_index`** : * **`page_index`** : Index de la page.
* **`page_total`** : * **`page_total`** : Nombre total de pages.
Principaux champs de la structure `RequestPcdItemGenericEnc` : Principaux champs de la structure `RequestPcdItemGenericEnc` :
* **`version`** : * **`version`** : Version de l'`Item`.
* **`item_type`** : * **`item_type`** : Type de l'`Item`.
* **`name`** : * **`name`** : Nom de l'`Item`.
* **`request_pcd_item_enc_attribute_public_list`** : * **`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`** : * **`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`** : * **`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` : Principaux champs de la structure `RequestPcdItemEncAttributePublic` :
* **`attribute_name`** : * **`attribute_name`** : Nom de l'attribut.
* **`data_enc`** : * **`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` : Principaux champs de la structure `RequestPcdItemEncAttributeRoleConfidential` :
* **`attribute_name`** : * **`attribute_name`** : Nom de l'attribut.
* **`data_enc`** : * **`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` : Principaux champs de la structure `RequestPcdItemEncAttributePrivate` :
* **`attribute_name`** : * **`attribute_name`** : Nom de l'attribut.
* **`data_enc`** : * **`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 ### 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` : Principaux champs des `RequestPcd` :
* **`request`** : * **`request`** : cf la descripton de la structure `Request`.
* **`sig_value`** : * **`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`** : * **`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`** : * **`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`** : Message public, chiffré par la clé `ProcessKey` du `ItemProcess` concerné.
* **`message_confidential`** : * **`message_confidential`** : Message confidentiel, chiffré par la clé `ProcessKey` du `ItemProcess` concerné.
* **`message_private`** : * **`message_private`** : Message privé, chiffré par la clé privée `KeyRecover`.
* **`sp_address_to`** : * **`sp_address_to`** : Adresse du destinataire.
* **`sp_address_from`** : * **`sp_address_from`** : Adresse de l'émetteur.
* **`sp_address_reply`** : * **`sp_address_reply`** : Adresse de réponse à l'émetteur.
* **`timestamp_declared`** : * **`timestamp_declared`** : Horodatage déclaré.
* **`role_name_from`** : * **`role_name_from`** : Nom du rôle de l'émetteur.
* **`role_name_to`** : * **`role_name_to`** : Nom du rôle du destinataire.
* **`payment_method_enc_by_shared_secret`** : * **`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`.
* **`deposit_method_enc_by_shared_secret`** : * **`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.
* **`commitment_method_enc_by_shared_secret`** : * **`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`.
* **`payment_request_pcd_hash_list_enc_by_shared_secret`** : * **`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`.
* **`cap_request_pcd_hash_list_enc_by_shared_secret`** : * **`ask_payment_method_enc_by_shared_secret`** : Demande de méthode de paiement chiffrée par la clé `KeyConfidential` d'une `transaction SP`.
* **`deposit_request_pcd_hash_list_enc_by_shared_secret`** : * **`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`.
* **`commitment_request_pcd_hash_list_enc_by_shared_secret`** : * **`ask_commitment_method_enc_by_shared_secret`** : Demande de méthode d'engagement chiffrée par la clé `KeyConfidential` d'une `transaction SP`.
* **`ask_payment_method_enc_by_shared_secret`** : * **`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.
* **`ask_deposit_method_enc_by_shared_secret`** : * **`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.
* **`ask_commitment_method_enc_by_shared_secret`** : * **`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`** : * **`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`** : * **`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 ### 8.1. <a name='Schmadesflux-1'></a>Schéma des flux
@ -377,9 +383,36 @@ Workflow:
Principaux champs des `RequestPrdList` : Principaux champs des `RequestPrdList` :
* **`request_prd`** : * **`request_prd`** : cf la descripton de la structure `RequestPrd`.
* **`item_member_enc_by_sp_shared_secret`** :
* **`pre_id_sp_enc_by_shared_secret`** : 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 ### 9.1. <a name='Schmadesflux-1'></a>Schéma des flux
@ -418,8 +451,8 @@ Workflow :
Principaux champs des `RequestPrdMessage` : Principaux champs des `RequestPrdMessage` :
* **`request_prd`** : * **`request_prd`** : cf la descripton de la structure `RequestPrd`.
* **`raw_transaction_list`** : * **`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 ### 10.1. <a name='Schmadesflux-1'></a>Schéma des flux
@ -454,7 +487,7 @@ Workflow:
Principaux champs des `RequestPrdUpdate` : 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 ### 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` : Principaux champs des `RequestPrdConfirm` :
* **`request_prd`** : * **`request_prd`** : cf la descripton de la structure `RequestPrd`.
* **`code_confirm_enc_by_shared_secret`** : * **`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 ### 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` : Principaux champs des `RequestPrdResponse` :
* **`request_prd`** : * **`request_prd`** : cf la descripton de la structure `RequestPrd`.
* **`sig_value`** : * **`shared_secret_key_enc_by_sp_shared_secret`** : Clé de chiffrement partagée chiffrée par la clé `KeyConfidential` d'une `transaction SP`.
* **`shared_secret_key_enc_by_sp_shared_secret`** : * **`shard_enc_by_sp_shared_secret`** : Shard chiffré par la clé `KeyConfidential` d'une `transaction SP`.
* **`shard_enc_by_sp_shared_secret`** :
### 13.1. <a name='Schmadesflux-1'></a>Schéma des flux ### 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 ## 15. <a name='Todo'></a>Todo
[ ] Description détaillée de tous les éléments (attributs) qui composent le request-type: [ ] Description détaillée de tous les éléments (attributs) qui composent le request-type:
[ ] Quy a-t-il dans le request-type? [x] Quy a-t-il dans le request-type?
[ ] A quoi sert lattribut X du request-type? [x] A quoi sert lattribut X du request-type?
[ ] Description un par un des contextes où le request-type est utilisé. [x] Description un par un des contextes où le request-type est utilisé.
[ ] Description pas à pas de lenvoi du request-type. [x] Description pas à pas de lenvoi du request-type.
[ ] Que se passe-t-il dans le système lorsque le request-type est envoyé? [ ] 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. [x] 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? [x] Que se passe-t-il dans le système lorsque le request-type est reçu?
[ ] Exemple dutilisation. [x] Exemple dutilisation.

View File

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