diff --git a/doc/Data-Specs.md b/doc/Data-Specs.md
index fbaf414..69e8195 100644
--- a/doc/Data-Specs.md
+++ b/doc/Data-Specs.md
@@ -26,7 +26,7 @@
## 2. Portée
-## 3. 3. Documents de référence
+## 3. Documents de référence
Voir [_Doc_references.md](_Doc_references.md).
@@ -34,15 +34,88 @@ Voir [_Doc_references.md](_Doc_references.md).
### 4.1. Clés
-1. ImageRecover
- 1.1 KeyRecoverSpend
- 1.2 KeyRecoverScan
-2. ImageRevoke
- 2.1 KeyRevokeSpend
- 2.2 KeyRevokeScan
+Base "key_recover_spend_list"
+
+pseudo-code:
+
+```json
+[
+ {
+ "label": "",
+ "device_footprint": "",
+ "third_party_list": [
+ {
+ "device_footprint": "",
+ "sp_address": ""
+ }
+ ],
+ "key_revoke_sp_address": ""
+ }
+]
+```
### 4.2. Peers
+shared_peer_list_merged
+
+pseudo-code:
+
+```json
+[
+ {
+ "shared_peer": {
+ "domain": "String",
+ "address_ip": "String",
+ "relay": {
+ "address_port": "",
+ "data_max_size": 0,
+ "pow_difficulty": 0,
+ "pow_pattern": "",
+ "pow_prefix": "",
+ "pow_timeout": 0,
+ "faucet_sp_address": ""
+ },
+ "l1_node": {
+ "address_port": null,
+ "explorer_base_url": null,
+ "sp_address_anchorage": null,
+ "sp_address_reward": null
+ },
+ "l1_miner": {
+ "sp_address_minig_reward": null,
+ "block_mined_list": []
+ },
+ "l2_node_list": [
+ {
+ "address_port": null,
+ "explorer_base_url": null,
+ "sp_address_anchorage": null,
+ "sp_address_reward": null,
+ "nbits": null,
+ "magic_number": null,
+ "challenge": null,
+ "l2_miner": {
+ "sp_address_minig_reward": null,
+ "sp_address_refunder": null,
+ "block_hash_mined_list": []
+ },
+ "l2_certif": {
+ "sp_address_certif_l1": null,
+ "sp_address_refunded": null,
+ "block_certified_list": []
+ }
+ }
+ ],
+ "block_certif": {
+ "block_hash_list": [],
+ "certif_hash": [],
+ "l1_tx": null
+ }
+ }
+ }
+]
+```
+
### 4.3. Process
### 4.4. Messages
@@ -55,6 +128,30 @@ Voir [_Doc_references.md](_Doc_references.md).
### 5.1. Clés
+Base "key_recover_spend_list"
+
+pseudo-code:
+
+```json
+[
+ {
+ "label": "",
+ "keyrecoverSpend": {
+ "seed_rand_1": "",
+ "seed_rand_2": "",
+ "part_enc": ""
+ },
+ "key_recover_scan": "",
+ "process_shards_backup_list": [
+ {
+ "hash": "",
+ "members": []
+ }
+ ]
+ }
+]
+```
+
### 5.2. Peers
### 5.3. Process
diff --git a/doc/Specs-Datamodel.md b/doc/Specs-Datamodel.md
index 9701ecf..ea84957 100644
--- a/doc/Specs-Datamodel.md
+++ b/doc/Specs-Datamodel.md
@@ -1,96 +1,97 @@
* 1. [Documents de référence](#Documentsderfrence)
* 2. [Methods](#Methods)
- * 2.1. [DepositMethod](#DepositMethod)
- * 2.2. [CommitmentMethod](#CommitmentMethod)
- * 2.3. [PaymentMethod](#PaymentMethod)
+* 2.1. [DepositMethod](#DepositMethod)
+* 2.2. [CommitmentMethod](#CommitmentMethod)
+* 2.3. [PaymentMethod](#PaymentMethod)
* 3. [Items](#Items)
- * 3.1. [Item](#Item)
- * 3.2. [ItemArtefact](#ItemArtefact)
- * 3.3. [ItemMember](#ItemMember)
- * 3.3.1. [ItemMemberPublicAttributeGroup](#ItemMemberPublicAttributeGroup)
- * 3.3.2. [ItemMemberRoleConfidentialAttributeGroup](#ItemMemberRoleConfidentialAttributeGroup)
- * 3.3.3. [ItemMemberRolePrivateAttributeGroup](#ItemMemberRolePrivateAttributeGroup)
-* 4. [ItemCommitment](#ItemCommitment)
- * 4.1. [ItemCommitmentRoleConfidentialAttributeGroup](#ItemCommitmentRoleConfidentialAttributeGroup)
- * 4.2. [ItemCommitmentPrivateAttributeGroup](#ItemCommitmentPrivateAttributeGroup)
- * 4.2.1. [ItemCommitmentPublicAttributeGroup](#ItemCommitmentPublicAttributeGroup)
- * 4.3. [ItemDeposit](#ItemDeposit)
- * 4.3.1. [ItemDepositPublicAttributeGroup](#ItemDepositPublicAttributeGroup)
- * 4.3.2. [ItemDepositRoleConfidentialAttributeGroup](#ItemDepositRoleConfidentialAttributeGroup)
- * 4.3.3. [ItemDepositPrivateAttributeGroup](#ItemDepositPrivateAttributeGroup)
- * 4.4. [ItemEnum](#ItemEnum)
- * 4.5. [ItemPayment](#ItemPayment)
- * 4.5.1. [ItemPaymentPublicAttributeGroup](#ItemPaymentPublicAttributeGroup)
- * 4.5.2. [ItemPaymentRoleConfidentialAttributeGroup](#ItemPaymentRoleConfidentialAttributeGroup)
- * 4.5.3. [ItemPaymentPrivateAttributeGroup](#ItemPaymentPrivateAttributeGroup)
- * 4.6. [ItemPeer](#ItemPeer)
- * 4.6.1. [ItemPeerPublicAttributeGroup](#ItemPeerPublicAttributeGroup)
- * 4.6.2. [ItemPeerPrivateAttributeGroup](#ItemPeerPrivateAttributeGroup)
- * 4.7. [ItemProcess](#ItemProcess)
- * 4.7.1. [ItemProcessPublicAttributeGroup](#ItemProcessPublicAttributeGroup)
-* 5. [Encryption](#Encryption)
- * 5.1. [KeyEncryption](#KeyEncryption)
- * 5.2. [Aes256GcmIv96Bit](#Aes256GcmIv96Bit)
-* 6. [Messages](#Messages)
- * 6.1. [Message](#Message)
- * 6.2. [MessageConnect](#MessageConnect)
- * 6.3. [MessageGeneric](#MessageGeneric)
- * 6.4. [Pow](#Pow)
- * 6.5. [SharedProcess](#SharedProcess)
- * 6.6. [SharedPeer](#SharedPeer)
-* 7. [Relay](#Relay)
- * 7.1. [L1Node](#L1Node)
- * 7.2. [L1Miner](#L1Miner)
- * 7.3. [L2Node](#L2Node)
- * 7.4. [L2Certif](#L2Certif)
+* 3.1. [Item](#Item)
+* 3.2. [ItemArtefact](#ItemArtefact)
+* 3.3. [ItemMember](#ItemMember)
+* 3.3.1. [ItemMemberPublicAttributeGroup](#ItemMemberPublicAttributeGroup)
+* 3.3.2. [ItemMemberRoleConfidentialAttributeGroup](#ItemMemberRoleConfidentialAttributeGroup)
+* 3.3.3. [ItemMemberRolePrivateAttributeGroup](#ItemMemberRolePrivateAttributeGroup)
+* 3.4. [ItemCommitment](#ItemCommitment)
+* 3.4.1. [ItemCommitmentRoleConfidentialAttributeGroup](#ItemCommitmentRoleConfidentialAttributeGroup)
+* 3.4.2. [ItemCommitmentPrivateAttributeGroup](#ItemCommitmentPrivateAttributeGroup)
+* 3.5. [ItemDeposit](#ItemDeposit)
+* 3.5.1. [ItemDepositPublicAttributeGroup](#ItemDepositPublicAttributeGroup)
+* 3.5.2. [ItemDepositRoleConfidentialAttributeGroup](#ItemDepositRoleConfidentialAttributeGroup)
+* 3.5.3. [ItemDepositPrivateAttributeGroup](#ItemDepositPrivateAttributeGroup)
+* 3.6. [ItemEnum](#ItemEnum)
+* 3.7. [ItemPayment](#ItemPayment)
+* 3.7.1. [ItemPaymentPublicAttributeGroup](#ItemPaymentPublicAttributeGroup)
+* 3.7.2. [ItemPaymentRoleConfidentialAttributeGroup](#ItemPaymentRoleConfidentialAttributeGroup)
+* 3.7.3. [ItemPaymentPrivateAttributeGroup](#ItemPaymentPrivateAttributeGroup)
+* 3.8. [ItemPeer](#ItemPeer)
+* 3.8.1. [ItemPeerPublicAttributeGroup](#ItemPeerPublicAttributeGroup)
+* 3.8.2. [ItemPeerPrivateAttributeGroup](#ItemPeerPrivateAttributeGroup)
+* 3.9. [ItemProcess](#ItemProcess)
+* 3.9.1. [ItemProcessPublicAttributeGroup](#ItemProcessPublicAttributeGroup)
+* 4. [Encryption](#Encryption)
+* 4.1. [KeyEncryption](#KeyEncryption)
+* 4.2. [Aes256GcmIv96Bit](#Aes256GcmIv96Bit)
+* 5. [Messages](#Messages)
+* 5.1. [Message](#Message)
+* 5.2. [MessageConnect](#MessageConnect)
+* 5.3. [MessageGeneric](#MessageGeneric)
+* 5.4. [Pow](#Pow)
+* 5.5. [SharedProcess](#SharedProcess)
+* 5.6. [SharedPeer](#SharedPeer)
+* 6. [Relay](#Relay)
+* 7. [L1Node](#L1Node)
+* 7.1. [L1NodeMining](#L1NodeMining)
+* 7.2. [L2Node](#L2Node)
+* 7.3. [L2NodeMining](#L2NodeMining)
+* 7.4. [L2Certif](#L2Certif)
+* 7.5. [BlockCertif](#BlockCertif)
* 8. [Metadata](#Metadata)
- * 8.1. [MetadataContractPublic](#MetadataContractPublic)
- * 8.2. [MetadataPrivate](#MetadataPrivate)
- * 8.3. [MetadataRoleConfidential](#MetadataRoleConfidential)
- * 8.4. [Amount](#Amount)
- * 8.5. [Number](#Number)
+* 8.1. [MetadataContractPublic](#MetadataContractPublic)
+* 8.2. [MetadataPrivate](#MetadataPrivate)
+* 8.3. [MetadataRoleConfidential](#MetadataRoleConfidential)
+* 8.4. [Amount](#Amount)
+* 8.5. [Number](#Number)
* 9. [Request](#Request)
* 10. [RequestPcd](#RequestPcd)
- * 10.1. [Pagination](#Pagination)
- * 10.2. [RequestPcdItemEncAttributePublic](#RequestPcdItemEncAttributePublic)
- * 10.3. [RequestPcdItemEncAttributeRoleConfidential](#RequestPcdItemEncAttributeRoleConfidential)
- * 10.4. [RequestPcdItemEncAttributePrivate](#RequestPcdItemEncAttributePrivate)
- * 10.5. [RequestPcdItemGenericEnc](#RequestPcdItemGenericEnc)
- * 10.6. [RequestPcdItemEnc](#RequestPcdItemEnc)
+* 10.1. [Pagination](#Pagination)
+* 10.2. [RequestPcdItemEncAttributePublic](#RequestPcdItemEncAttributePublic)
+* 10.3. [RequestPcdItemEncAttributeRoleConfidential](#RequestPcdItemEncAttributeRoleConfidential)
+* 10.4. [RequestPcdItemEncAttributePrivate](#RequestPcdItemEncAttributePrivate)
+* 10.5. [RequestPcdItemGenericEnc](#RequestPcdItemGenericEnc)
+* 10.6. [RequestPcdItemEnc](#RequestPcdItemEnc)
* 11. [RequestPrd](#RequestPrd)
- * 11.1. [RequestPrdResponse](#RequestPrdResponse)
- * 11.2. [RequestPrdConfirm](#RequestPrdConfirm)
- * 11.3. [RequestPrdList](#RequestPrdList)
- * 11.4. [RequestPrdMessage](#RequestPrdMessage)
- * 11.5. [RequestPrdResponse](#RequestPrdResponse-1)
- * 11.6. [RequestPrdUpdate](#RequestPrdUpdate)
+* 11.1. [RequestPrdResponse](#RequestPrdResponse)
+* 11.2. [RequestPrdConfirm](#RequestPrdConfirm)
+* 11.3. [RequestPrdList](#RequestPrdList)
+* 11.4. [RequestPrdMessage](#RequestPrdMessage)
+* 11.5. [RequestPrdResponse](#RequestPrdResponse-1)
+* 11.6. [RequestPrdUpdate](#RequestPrdUpdate)
* 12. [Roles](#Roles)
- * 12.1. [Role](#Role)
- * 12.2. [Conditions](#Conditions)
- * 12.2.1. [TransactionMode](#TransactionMode)
- * 12.2.2. [ConditionPayment](#ConditionPayment)
- * 12.2.3. [ConditionCommitment](#ConditionCommitment)
- * 12.2.4. [ConditionDeposit](#ConditionDeposit)
- * 12.2.5. [ConditionOrchestration](#ConditionOrchestration)
- * 12.2.6. [ConditionCap](#ConditionCap)
- * 12.2.7. [Condition RequestPrdAddressSet](#ConditionRequestPrdAddressSet)
- * 12.2.8. [ConditionPublish](#ConditionPublish)
- * 12.3. [RolesGroup](#RolesGroup)
- * 12.3.1. [RoleArtefact](#RoleArtefact)
- * 12.3.2. [RoleDeposit](#RoleDeposit)
- * 12.3.3. [RoleCommitment](#RoleCommitment)
- * 12.3.4. [RoleMember](#RoleMember)
- * 12.4. [RolePeer](#RolePeer)
- * 12.4.1. [RolePayment](#RolePayment)
- * 12.4.2. [RoleProcess](#RoleProcess)
+* 12.1. [Role](#Role)
+* 12.2. [Conditions](#Conditions)
+* 12.2.1. [TransactionMode](#TransactionMode)
+* 12.2.2. [ConditionPayment](#ConditionPayment)
+* 12.2.3. [ConditionCommitment](#ConditionCommitment)
+* 12.2.4. [ConditionDeposit](#ConditionDeposit)
+* 12.2.5. [ConditionOrchestration](#ConditionOrchestration)
+* 12.2.6. [ConditionCap](#ConditionCap)
+* 12.2.7. [Condition RequestPrdAddressSet](#ConditionRequestPrdAddressSet)
+* 12.2.8. [ConditionPublish](#ConditionPublish)
+* 12.3. [RolesGroup](#RolesGroup)
+* 12.3.1. [RoleArtefact](#RoleArtefact)
+* 12.3.2. [RoleDeposit](#RoleDeposit)
+* 12.3.3. [RoleCommitment](#RoleCommitment)
+* 12.3.4. [RoleMember](#RoleMember)
+* 12.4. [RolePeer](#RolePeer)
+* 12.4.1. [RolePayment](#RolePayment)
+* 12.4.2. [RoleProcess](#RoleProcess)
* 13. [12. Rust considerations](#Rustconsiderations)
- * 13.1. [General Implications for Project Objects](#GeneralImplicationsforProjectObjects)
- * 13.2. [Debug](#Debug)
- * 13.3. [Default](#Default)
- * 13.4. [PartialEq, Eq](#PartialEqEq)
- * 13.5. [Hash](#Hash)
- * 13.6. [PartialOrd, Ord](#PartialOrdOrd)
+* 13.1. [General Implications for Project Objects](#GeneralImplicationsforProjectObjects)
+* 13.2. [Debug](#Debug)
+* 13.3. [Default](#Default)
+* 13.4. [PartialEq, Eq](#PartialEqEq)
+* 13.5. [Hash](#Hash)
+* 13.6. [PartialOrd, Ord](#PartialOrdOrd)
* 14. [Todo](#Todo)