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)