2690 lines
87 KiB
Markdown
2690 lines
87 KiB
Markdown
# Data model
|
||
|
||
## 1. <a name='Autheursvalidationsdatesversionschangementandhistorique'></a>Autheurs, validations, dates, versions, changement and historique
|
||
|
||
Cf. [Git SDK COMMON](https://git.4nk.com/4nk/sdk_common/doc)
|
||
|
||
## 2. <a name='Tabledesmatires'></a>Table des matières
|
||
|
||
<!-- vscode-markdown-toc -->
|
||
* 1. [Autheurs, validations, dates, versions, changement and historique](#Autheursvalidationsdatesversionschangementandhistorique)
|
||
* 2. [Table des matières](#Tabledesmatires)
|
||
* 3. [Documents de référence](#Documentsderfrence)
|
||
* 4. [Methods](#Methods)
|
||
* 4.1. [DepositMethod](#DepositMethod)
|
||
* 4.2. [commitMethod](#commitMethod)
|
||
* 4.3. [PaymentsMethod](#PaymentsMethod)
|
||
* 5. [Items](#Items)
|
||
* 5.1. [Item](#Item)
|
||
* 5.2. [Artefact](#Artefact)
|
||
* 5.3. [Member](#Member)
|
||
* 5.3.1. [MemberPublicAttributeGroup](#MemberPublicAttributeGroup)
|
||
* 5.3.2. [MemberRoleConfidentialAttributeGroup](#MemberRoleConfidentialAttributeGroup)
|
||
* 5.3.3. [MemberRolePrivateAttributeGroup](#MemberRolePrivateAttributeGroup)
|
||
* 5.4. [Commit](#Commit)
|
||
* 5.4.1. [CommitRoleConfidentialAttributeGroup](#CommitRoleConfidentialAttributeGroup)
|
||
* 5.4.2. [CommitPrivateAttributeGroup](#CommitPrivateAttributeGroup)
|
||
* 5.5. [Deposit](#Deposit)
|
||
* 5.5.1. [DepositPublicAttributeGroup](#DepositPublicAttributeGroup)
|
||
* 5.5.2. [DepositRoleConfidentialAttributeGroup](#DepositRoleConfidentialAttributeGroup)
|
||
* 5.5.3. [DepositPrivateAttributeGroup](#DepositPrivateAttributeGroup)
|
||
* 5.6. [ItemEnum](#ItemEnum)
|
||
* 5.7. [Payments](#Payments)
|
||
* 5.7.1. [PaymentsPublicAttributeGroup](#PaymentsPublicAttributeGroup)
|
||
* 5.7.2. [PaymentsRoleConfidentialAttributeGroup](#PaymentsRoleConfidentialAttributeGroup)
|
||
* 5.7.3. [PaymentsPrivateAttributeGroup](#PaymentsPrivateAttributeGroup)
|
||
* 5.8. [Peer](#Peer)
|
||
* 5.8.1. [PeerPublicAttributeGroup](#PeerPublicAttributeGroup)
|
||
* 5.8.2. [PeerPrivateAttributeGroup](#PeerPrivateAttributeGroup)
|
||
* 5.9. [Process](#Process)
|
||
* 5.9.1. [ProcessPublicAttributeGroup](#ProcessPublicAttributeGroup)
|
||
* 6. [Encryption](#Encryption)
|
||
* 6.1. [KeyEncryption](#KeyEncryption)
|
||
* 6.2. [Aes256GcmIv96Bit](#Aes256GcmIv96Bit)
|
||
* 7. [7. Enveloppes](#Enveloppes)
|
||
* 7.1. [7.1. Enveloppe](#Enveloppe)
|
||
* 7.2. [7.2. EnveloppesConnect](#EnveloppesConnect)
|
||
* 7.3. [EnvelopeGeneric](#EnvelopeGeneric)
|
||
* 7.4. [Pow](#Pow)
|
||
* 7.5. [Process](#Process-1)
|
||
* 7.6. [Peer](#Peer-1)
|
||
* 8. [Relay](#Relay)
|
||
* 9. [L1Node](#L1Node)
|
||
* 9.1. [L1NodeMining](#L1NodeMining)
|
||
* 9.2. [L2Node](#L2Node)
|
||
* 9.3. [L2NodeMining](#L2NodeMining)
|
||
* 9.4. [L2Certif](#L2Certif)
|
||
* 9.5. [BlockCertif](#BlockCertif)
|
||
* 10. [Metadata](#Metadata)
|
||
* 10.1. [MetadataProcessublic](#MetadataProcessublic)
|
||
* 10.2. [MetadataPrivate](#MetadataPrivate)
|
||
* 10.3. [MetadataRoleConfidential](#MetadataRoleConfidential)
|
||
* 10.4. [Amount](#Amount)
|
||
* 10.5. [Number](#Number)
|
||
* 11. [Request](#Request)
|
||
* 12. [Pcd](#Pcd)
|
||
* 12.1. [Pagination](#Pagination)
|
||
* 12.2. [PcdItemGenericEnc](#PcdItemGenericEnc)
|
||
* 12.2.1. [PcdItemEncAttributePublic](#PcdItemEncAttributePublic)
|
||
* 12.2.2. [PcdItemEncAttributeRoleConfidential](#PcdItemEncAttributeRoleConfidential)
|
||
* 12.2.3. [PcdItemEncAttributePrivate](#PcdItemEncAttributePrivate)
|
||
* 13. [Prd](#Prd)
|
||
* 13.1. [PrdList](#PrdList)
|
||
* 13.2. [PrdUpdate](#PrdUpdate)
|
||
* 13.3. [PrdResponse](#PrdResponse)
|
||
* 13.4. [PrdConfirm](#PrdConfirm)
|
||
* 13.5. [PrdMessage](#PrdMessage)
|
||
* 13.6. [PrdResponse](#PrdResponse-1)
|
||
* 14. [Roles](#Roles)
|
||
* 14.1. [Role](#Role)
|
||
* 14.2. [Conditions](#Conditions)
|
||
* 14.2.1. [TransactionMode](#TransactionMode)
|
||
* 14.2.2. [ConditionPayments](#ConditionPayments)
|
||
* 14.2.3. [Conditioncommit](#Conditioncommit)
|
||
* 14.2.4. [ConditionDeposit](#ConditionDeposit)
|
||
* 14.2.5. [ConditionOrchestration](#ConditionOrchestration)
|
||
* 14.2.6. [ConditionCap](#ConditionCap)
|
||
* 14.2.7. [ConditionPrdAddressSet](#ConditionPrdAddressSet)
|
||
* 14.2.8. [ConditionPublish](#ConditionPublish)
|
||
* 14.3. [RolesGroup](#RolesGroup)
|
||
* 14.3.1. [RoleArtefact](#RoleArtefact)
|
||
* 14.3.2. [RoleDeposit](#RoleDeposit)
|
||
* 14.3.3. [Rolecommit](#Rolecommit)
|
||
* 14.3.4. [RoleMember](#RoleMember)
|
||
* 14.4. [RolePeer](#RolePeer)
|
||
* 14.4.1. [RolePayments](#RolePayments)
|
||
* 14.4.2. [RoleProcess](#RoleProcess)
|
||
* 15. [Relay side chain data streaming](#Relaysidechaindatastreaming)
|
||
* 15.1. [Transaction](#Transaction)
|
||
* 15.2. [Bloc](#Bloc)
|
||
* 16. [Storage](#Storage)
|
||
* 16.1. [StoragePublic](#StoragePublic)
|
||
* 16.1.1. [StorageKeysPublic](#StorageKeysPublic)
|
||
* 16.1.2. [StoragePeerPublic](#StoragePeerPublic)
|
||
* 16.1.3. [StorageProcessPublic](#StorageProcessPublic)
|
||
* 16.1.4. [StorageEnvelopePublic](#StorageEnvelopePublic)
|
||
* 16.1.5. [StoragePcdPublic](#StoragePcdPublic)
|
||
* 16.1.6. [StoragePrdPublic](#StoragePrdPublic)
|
||
* 16.2. [StoragePrivate](#StoragePrivate)
|
||
* 16.2.1. [StorageKeysPrivate](#StorageKeysPrivate)
|
||
* 16.2.2. [StoragePeerPrivate](#StoragePeerPrivate)
|
||
* 16.2.3. [StorageProcessPrivate](#StorageProcessPrivate)
|
||
* 16.2.4. [StoragePcdPrivate](#StoragePcdPrivate)
|
||
* 16.2.5. [StoragePrdPrivate](#StoragePrdPrivate)
|
||
* 16.2.6. [StorageDecryptedSharedSecretKeyPrivate](#StorageDecryptedSharedSecretKeyPrivate)
|
||
* 16.2.7. [StorageocketsPrivate](#StorageocketsPrivate)
|
||
* 16.2.8. [StorageSocketClientListPrivate](#StorageSocketClientListPrivate)
|
||
* 17. [12. Rust considerations](#Rustconsiderations)
|
||
* 17.1. [General Implications for Project Objects](#GeneralImplicationsforProjectObjects)
|
||
* 17.2. [Debug](#Debug)
|
||
* 17.3. [Default](#Default)
|
||
* 17.4. [PartialEq, Eq](#PartialEqEq)
|
||
* 17.5. [Hash](#Hash)
|
||
* 17.6. [PartialOrd, Ord](#PartialOrdOrd)
|
||
* 18. [Todo](#Todo)
|
||
|
||
<!-- vscode-markdown-toc-config
|
||
numbering=true
|
||
autoSave=true
|
||
/vscode-markdown-toc-config -->
|
||
<!-- /vscode-markdown-toc -->
|
||
|
||
## 3. <a name='Documentsderfrence'></a>Documents de référence
|
||
|
||
Voir [Doc_references.md](Doc_references.md).
|
||
|
||
## 4. <a name='Methods'></a>Methods
|
||
|
||
### 4.1. <a name='DepositMethod'></a>DepositMethod
|
||
|
||
| Attribute Name | Type | Option |
|
||
| -------------- | ------------ | ------ |
|
||
| `method` | ```String``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"method": ""
|
||
}
|
||
```
|
||
|
||
### 4.2. <a name='commitMethod'></a>commitMethod
|
||
|
||
| Attribute Name | Type | Option |
|
||
| -------------- | ------------ | ------ |
|
||
| `method` | ```String``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"method": ""
|
||
}
|
||
```
|
||
|
||
### 4.3. <a name='PaymentsMethod'></a>PaymentsMethod
|
||
|
||
| Attribute Name | Type | Option |
|
||
| -------------- | ------------ | ------ |
|
||
| `method` | ```String``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"method": ""
|
||
}
|
||
```
|
||
|
||
## 5. <a name='Items'></a>Items
|
||
|
||
### 5.1. <a name='Item'></a>Item
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ----------------------------------- | ------------------------------ | ------ |
|
||
| `uuid` | ```String``` | |
|
||
| `version` | ```i64``` | |
|
||
| `item_type` | ```String``` | |
|
||
| `name` | ```String``` | |
|
||
| `pagination_number_per_request_pcd` | ```u32``` | |
|
||
| `metadata_Process_public` | ```MetadataProcessPublic``` | |
|
||
| `metadata_role_confidential` | ```MetadataRoleConfidential``` | |
|
||
| `metadata_private` | ```MetadataPrivate``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"uuid": "string",
|
||
"version": 0,
|
||
"item_type": "string",
|
||
"name": "string",
|
||
"pagination_number_per_request_pcd": 0,
|
||
"metadata_Process_public": MetadataProcessublic,
|
||
"metadata_role_confidential": MetadataRoleConfidential,
|
||
"metadata_private": MetadataPrivate
|
||
}
|
||
```
|
||
|
||
### 5.2. <a name='Artefact'></a>Artefact
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ----------------------------------- | ----------------- | ------ |
|
||
| `item` | ```Item``` | |
|
||
| `public_attribute_group` | ```Vec<String>``` | |
|
||
| `role_confidential_attribute_group` | ```Vec<String>``` | |
|
||
| `private_attribute_group` | ```Vec<String>``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"item": Item,
|
||
"public_attribute_group": [],
|
||
"role_confidential_attribute_group": [],
|
||
"private_attribute_group": []
|
||
}
|
||
```
|
||
|
||
### 5.3. <a name='Member'></a>Member
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ----------------------------------- | ---------------------------------------------- | ------ |
|
||
| `item` | ```Item``` | |
|
||
| `public_attribute_group` | ```MemberPublicAttributeGroup``` | |
|
||
| `role_confidential_attribute_group` | ```MemberRoleConfidentialAttributeGroup``` | |
|
||
| `private_attribute_group` | ```MemberPrivateAttributeGroup``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"item": Item,
|
||
"public_attribute_group": MemberPublicAttributeGroup,
|
||
"role_confidential_attribute_group": MemberRoleConfidentialAttributeGroup,
|
||
"private_attribute_group": MemberPrivateAttributeGroup
|
||
}
|
||
```
|
||
|
||
#### 5.3.1. <a name='MemberPublicAttributeGroup'></a>MemberPublicAttributeGroup
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ------------------------------ | ----------------- | ------ |
|
||
| `sp_address_public` | ```String``` | |
|
||
| `sp_address_public_sig` | ```String``` | |
|
||
| `sp_address_revoke_public` | ```String``` | |
|
||
| `sp_address_revoke_public_sig` | ```String``` | |
|
||
| `third_sp_address_list_public` | ```Vec<String>``` | |
|
||
| `data_size_max` | ```i64``` | |
|
||
| `Payments_method_list_public` | ```Vec<String>``` | |
|
||
| `succession_process_hash` | ```String``` | |
|
||
| `device_footprint` | String | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"sp_address_public": "",
|
||
"sp_address_public_sig": "",
|
||
"sp_address_revoke_public": "",
|
||
"sp_address_revoke_public_sig": "",
|
||
"third_sp_address_list_public": [],
|
||
"data_size_max": 0,
|
||
"Payments_method_list_public": [],
|
||
"succession_process_hash": "",
|
||
"device_footprint": ""
|
||
}
|
||
```
|
||
|
||
#### 5.3.2. <a name='MemberRoleConfidentialAttributeGroup'></a>MemberRoleConfidentialAttributeGroup
|
||
|
||
| Attribute Name | Type | Option |
|
||
| --------------------- | ------------ | ------ |
|
||
| `shard_confidential` | ```String``` | yes |
|
||
| `pre_id_confidential` | ```String``` | yes |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"shard_confidential": "",
|
||
"pre_id_confidential": ""
|
||
}
|
||
```
|
||
|
||
#### 5.3.3. <a name='MemberRolePrivateAttributeGroup'></a>MemberRolePrivateAttributeGroup
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ------------------------ | ------------ | ------ |
|
||
| `priv_key_mainnet_spend` | ```String``` | yes |
|
||
| `priv_key_mainnet_scan` | ```String``` | yes |
|
||
| `priv_key_signet_scan` | ```String``` | yes |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"priv_key_mainnet_spend": "",
|
||
"priv_key_mainnet_scan": "",
|
||
"priv_key_signet_scan": "",
|
||
}
|
||
```
|
||
|
||
### 5.4. <a name='Commit'></a>Commit
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ----------------------------------- | -------------------------------------------------- | ------ |
|
||
| `item` | ```Item``` | |
|
||
| `public_attribute_group` | ```CommitPublicAttributeGroup``` | |
|
||
| `role_confidential_attribute_group` | ```CommitRoleConfidentialAttributeGroup``` | |
|
||
| `private_attribute_group` | ```CommitPrivateAttributeGroup``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"item": Item,
|
||
"public_attribute_group": CommitPublicAttributeGroup,
|
||
"role_confidential_attribute_group": CommitRoleConfidentialAttributeGroup,
|
||
"private_attribute_group": CommitPrivateAttributeGroup
|
||
}
|
||
```
|
||
|
||
#### 5.4.1. <a name='CommitRoleConfidentialAttributeGroup'></a>CommitRoleConfidentialAttributeGroup
|
||
|
||
| Attribute Name | Type | Option |
|
||
| --------------------------- | ----------------- | ------ |
|
||
| `payload_list_confidential` | ```Vec<String>``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"payload_list_confidential": []
|
||
}
|
||
```
|
||
|
||
#### 5.4.2. <a name='CommitPrivateAttributeGroup'></a>CommitPrivateAttributeGroup
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ---------------------- | ----------------- | ------ |
|
||
| `payload_list_private` | ```Vec<String>``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"payload_list_private": []
|
||
}
|
||
```
|
||
|
||
##### 4.2.1. <a name='CommitPublicAttributeGroup'></a>CommitPublicAttributeGroup
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ---------------------------------- | ----------------- | ------ |
|
||
| `for_sp_address_list` | ```Vec<String>``` | |
|
||
| `goal_list` | ```Vec<String>``` | |
|
||
| `provider_type` | ```String``` | |
|
||
| `commit_request_pcd_hash_list` | ```Vec<String>``` | |
|
||
| `ref_item_hash_list` | ```Vec<String>``` | |
|
||
| `ref_request_pcd_hash_list` | ```Vec<String>``` | |
|
||
| `payload_public_list` | ```Vec<String>``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"for_sp_address_list": [],
|
||
"goal_list": [],
|
||
"provider_type": "",
|
||
"commit_request_pcd_hash_list": [],
|
||
"ref_item_hash_list": [],
|
||
"ref_request_pcd_hash_list": [],
|
||
"payload_public_list": []
|
||
}
|
||
```
|
||
|
||
### 5.5. <a name='Deposit'></a>Deposit
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ----------------------------------- | ----------------------------------------------- | ------ |
|
||
| `item` | ```Item``` | |
|
||
| `public_attribute_group` | ```DepositPublicAttributeGroup``` | |
|
||
| `role_confidential_attribute_group` | ```DepositRoleConfidentialAttributeGroup``` | |
|
||
| `private_attribute_group` | ```DepositPrivateAttributeGroup``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"item": Item,
|
||
"public_attribute_group": DepositPublicAttributeGroup,
|
||
"role_confidential_attribute_group": DepositRoleConfidentialAttributeGroup,
|
||
"private_attribute_group": DepositPrivateAttributeGroup
|
||
}
|
||
```
|
||
|
||
#### 5.5.1. <a name='DepositPublicAttributeGroup'></a>DepositPublicAttributeGroup
|
||
|
||
| Attribute Name | Type | Option |
|
||
| --------------------------- | ----------------- | ------ |
|
||
| `for_sp_address_list` | ```Vec<String>``` | |
|
||
| `for_address_list` | ```Vec<String>``` | |
|
||
| `goal_list` | ```Vec<String>``` | |
|
||
| `provider_type` | ```String``` | |
|
||
| `ref_item_hash_list` | ```Vec<String>``` | |
|
||
| `ref_request_pcd_hash_list` | ```Vec<String>``` | |
|
||
| `payload_list_public` | ```Vec<String>``` | |
|
||
| `audit_code_list_public` | ```Vec<String>``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"for_sp_address_list": [],
|
||
"for_address_list": [],
|
||
"goal_list": [],
|
||
"provider_type": "",
|
||
"ref_item_hash_list": [],
|
||
"ref_request_pcd_hash_list": [],
|
||
"payload_list_public": [],
|
||
"audit_code_list_public": []
|
||
}
|
||
```
|
||
|
||
#### 5.5.2. <a name='DepositRoleConfidentialAttributeGroup'></a>DepositRoleConfidentialAttributeGroup
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ------------------------------ | ----------------- | ------ |
|
||
| `payload_list_confidential` | ```Vec<String>``` | |
|
||
| `audit_code_list_confidential` | ```Vec<String>``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"payload_list_confidential": [],
|
||
"audit_code_list_confidential": []
|
||
}
|
||
```
|
||
|
||
#### 5.5.3. <a name='DepositPrivateAttributeGroup'></a>DepositPrivateAttributeGroup
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ---------------------- | ----------------- | ------ |
|
||
| `payload_list_private` | ```Vec<String>``` | |
|
||
| `audit_code_private` | ```String``` | |
|
||
| Pseudo-code: | | |
|
||
|
||
```json
|
||
{
|
||
"payload_list_private": [],
|
||
"audit_code_private": ""
|
||
}
|
||
```
|
||
|
||
### 5.6. <a name='ItemEnum'></a>ItemEnum
|
||
|
||
* **```Process(Process)```**: Contains an item of type `Process`, representing a process.
|
||
* **```Peer(Peer)```**: Contains an item of type Peer, representing a peer.
|
||
* **```Member(Member)```**: Contains an item of type `Member`, representing a `Member`.
|
||
* **```Payments(Payments)```**: Contains an item of type Payments, representing a Payments.
|
||
* **```Deposit(Deposit)```**: Contains an item of type Deposit, representing a deposit.
|
||
* **```Artefact(Artefact)```**: Contains an item of type Artefact, representing an artefact.
|
||
* **```commit(Commit)```**: Contains an item of type Commit, representing a commit.
|
||
|
||
### 5.7. <a name='Payments'></a>Payments
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ----------------------------------- | ----------------------------------------------- | ------ |
|
||
| `item` | ```Item``` | |
|
||
| `public_attribute_group` | ```PaymentsPublicAttributeGroup``` | |
|
||
| `role_confidential_attribute_group` | ```PaymentsRoleConfidentialAttributeGroup``` | |
|
||
| `private_attribute_group` | ```PaymentsPrivateAttributeGroup``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"item": Item,
|
||
"public_attribute_group": PaymentsPublicAttributeGroup,
|
||
"role_confidential_attribute_group": PaymentsRoleConfidentialAttributeGroup,
|
||
"private_attribute_group": PaymentsPrivateAttributeGroup
|
||
}
|
||
```
|
||
|
||
#### 5.7.1. <a name='PaymentsPublicAttributeGroup'></a>PaymentsPublicAttributeGroup
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ---------------------------------- | ----------------- | ------ |
|
||
| `for_sp_address_list` | ```Vec<String>``` | |
|
||
| `goal_list` | ```Vec<String>``` | |
|
||
| `provider_type` | ```String``` | |
|
||
| `commit_request_pcd_hash_list` | ```Vec<String>``` | |
|
||
| `order_request_pcd_hash_list` | ```Vec<String>``` | |
|
||
| `invoice_request_pcd_hash_list` | ```Vec<String>``` | |
|
||
| `pay_request_pcd_hash_list` | ```Vec<String>``` | |
|
||
| `ref_item_hash_list` | ```Vec<String>``` | |
|
||
| `ref_request_pcd_hash_list` | ```Vec<String>``` | |
|
||
| `payload_list_public` | ```Vec<String>``` | |
|
||
| `audit_code_list_public` | ```Vec<String>``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
|
||
```
|
||
|
||
#### 5.7.2. <a name='PaymentsRoleConfidentialAttributeGroup'></a>PaymentsRoleConfidentialAttributeGroup
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ------------------------------ | ----------------- | ------ |
|
||
| `payload_list_confidential` | ```Vec<String>``` | |
|
||
| `audit_code_list_confidential` | ```Vec<String>``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"for_sp_address_list": [],
|
||
"goal_list": [],
|
||
"provider_type": "",
|
||
"commit_request_pcd_hash_list": [],
|
||
"order_request_pcd_hash_list": [],
|
||
"invoice_request_pcd_hash_list": [],
|
||
"pay_request_pcd_hash_list": [],
|
||
"ref_item_hash_list": [],
|
||
"ref_request_pcd_hash_list": [],
|
||
"payload_list_public": [],
|
||
"audit_code_list_public": []
|
||
}
|
||
```
|
||
|
||
#### 5.7.3. <a name='PaymentsPrivateAttributeGroup'></a>PaymentsPrivateAttributeGroup
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ---------------------- | ----------------- | ------ |
|
||
| `payload_list_private` | ```Vec<String>``` | |
|
||
| `audit_code_private` | ```String``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"payload_list_private": [],
|
||
"audit_code_private": ""
|
||
}
|
||
```
|
||
|
||
### 5.8. <a name='Peer'></a>Peer
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ------------------------- | ----------------------------------- | ------ |
|
||
| `item` | ```Item``` | |
|
||
| `layer_list` | ```Vec<String>``` | |
|
||
| `public_attribute_group` | ```PeerPublicAttributeGroup``` | |
|
||
| `private_attribute_group` | ```PeerPrivateAttributeGroup``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"item": Item,
|
||
"layer_list": [],
|
||
"public_attribute_group": PeerPublicAttributeGroup,
|
||
"private_attribute_group": PeerPrivateAttributeGroup
|
||
}
|
||
```
|
||
|
||
#### 5.8.1. <a name='PeerPublicAttributeGroup'></a>PeerPublicAttributeGroup
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ------------------------------ | ----------------- | ------ |
|
||
| `sp_address` | ```String``` | |
|
||
| `domain` | ```String``` | |
|
||
| `ip_address` | ```String``` | |
|
||
| `pow_difficulty` | ```u32``` | |
|
||
| `pow_pattern` | ```String``` | |
|
||
| `pow_prefix` | ```String``` | |
|
||
| `data_size_max` | ```i64``` | |
|
||
| `timestamp_delay_max` | ```u64``` | |
|
||
| `daily_hash_list` | ```Vec<String>``` | |
|
||
| `daily_sp_tx_mine_list` | ```Vec<String>``` | |
|
||
| `daily_sp_tx_mine_reward_list` | ```Vec<String>``` | |
|
||
| `tx_by_blocs_list` | ```Vec<Bloc>``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"sp_address": "",
|
||
"domain": "",
|
||
"ip_address": "",
|
||
"pow_difficulty": 0,
|
||
"pow_pattern": "",
|
||
"pow_prefix": "",
|
||
"data_size_max": 0,
|
||
"timestamp_delay_max": 0,
|
||
"daily_hash_list": [],
|
||
"daily_sp_tx_mine_list": [],
|
||
"daily_sp_tx_mine_reward_list": [],
|
||
"tx_by_blocs_list": []
|
||
}
|
||
```
|
||
|
||
#### 5.8.2. <a name='PeerPrivateAttributeGroup'></a>PeerPrivateAttributeGroup
|
||
|
||
| Attribute Name | Type | Option |
|
||
| -------------- | ------------ | ------ |
|
||
| `config` | ```String``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"config": ""
|
||
}
|
||
```
|
||
|
||
### 5.9. <a name='Process'></a>Process
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ------------------------------------- | ------------------------------------- | ------ |
|
||
| `item` | ```Item``` | |
|
||
| `item_process_public_attribute_group` | ```ProcessPublicAttributeGroup``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"item": {},
|
||
"item_process_public_attribute_group": ProcessPublicAttributeGroup
|
||
}
|
||
```
|
||
|
||
#### 5.9.1. <a name='ProcessPublicAttributeGroup'></a>ProcessPublicAttributeGroup
|
||
|
||
| Attribute Name | Type | Option |
|
||
| -------------- | ---------- | ------ |
|
||
| `roles_group` | RolesGroup | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"roles_group": {}
|
||
}
|
||
```
|
||
|
||
## 6. <a name='Encryption'></a>Encryption
|
||
|
||
### 6.1. <a name='KeyEncryption'></a>KeyEncryption
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ---------------- | ------------ | ------ |
|
||
| `attribute_name` | ```String``` | Yes |
|
||
| `key` | ```String``` | Yes |
|
||
| `algorithm` | ```String``` | Yes |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"attribute_name": "",
|
||
"key": "",
|
||
"algorithm": ""
|
||
}
|
||
```
|
||
|
||
### 6.2. <a name='Aes256GcmIv96Bit'></a>Aes256GcmIv96Bit
|
||
|
||
| Attribute Name | Type | Option |
|
||
| -------------- | --------------------------- | ------ |
|
||
| `key` | ```GenericArray<u8, u32>``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"key": []
|
||
}
|
||
```
|
||
|
||
## 7. <a name='Enveloppes'></a>7. Enveloppes
|
||
|
||
### 7.1. <a name='Enveloppe'></a>7.1. Enveloppe
|
||
|
||
| Attribute Name | Type | Option |
|
||
| -------------- | -------------------- | ------ |
|
||
| `envelope` | ```EnvelopeGeneric``` | |
|
||
| `request_enc` | ```String``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"envelope": `Envelope` ,
|
||
"request_enc": ""
|
||
}
|
||
```
|
||
|
||
### 7.2. <a name='EnveloppesConnect'></a>7.2. EnveloppesConnect
|
||
|
||
| Attribute Name | Type | Option |
|
||
| -------------- | -------------------- | ------ |
|
||
| `envelope` | ```EnvelopeGeneric``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"envelope": `Envelope`
|
||
}
|
||
```
|
||
|
||
### 7.3. <a name='EnvelopeGeneric'></a>EnvelopeGeneric
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ---------------------- | ------------------------ | ------ |
|
||
| `shared_peer_list` | ```Vec<Peer>``` | |
|
||
| `shared_process_list` | ```Vec<Process>``` | |
|
||
| `faucet_sp_address` | ```String``` | |
|
||
| `pow` | ```Pow``` | |
|
||
| `raw_transaction_list` | ```Vec<String>``` | Yes |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"shared_peer_list": [],
|
||
"shared_process_list": [],
|
||
"faucet_sp_address": "",
|
||
"pow": {},
|
||
"raw_transaction_list": []
|
||
}
|
||
```
|
||
|
||
### 7.4. <a name='Pow'></a>Pow
|
||
|
||
| Attribute Name | Type | Option |
|
||
| -------------- | ------------ | ------ |
|
||
| `data_hash` | ```String``` | |
|
||
| `timestamp` | ```u64``` | Yes |
|
||
| `nonce` | ```u64``` | Yes |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"data_hash": "",
|
||
"timestamp": 0,
|
||
"nonce": 0
|
||
}
|
||
```
|
||
|
||
### 7.5. <a name='Process-1'></a>Process
|
||
|
||
| Attribute Name | Type | Option |
|
||
| -------------- | ------------------ | ------ |
|
||
| `process_list` | `Vec<Process>` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"process_list": []
|
||
}
|
||
```
|
||
|
||
### 7.6. <a name='Peer-1'></a>Peer
|
||
|
||
| Attribute Name | Type | Option |
|
||
| -------------- | -------------- | ------ |
|
||
| `domain` | ```String``` | Yes |
|
||
| `address_ip` | ```String``` | |
|
||
| `relay` | ```Relay``` | |
|
||
| `l1_node` | ```L1Node``` | Yes |
|
||
| `l1_miner` | ```L1Miner``` | Yes |
|
||
| `l2_node_list` | ```[L2Node]``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"domain": "",
|
||
"address_ip": "",
|
||
"relay": Relay,
|
||
"l1_node": L1Node,
|
||
"l1_miner": L1Miner,
|
||
"l2_node_list": []
|
||
}
|
||
```
|
||
|
||
## 8. <a name='Relay'></a>Relay
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ---------------- | ------------ | ------ |
|
||
| `address_port` | ```u16``` | |
|
||
| `data_max_size` | ```usize``` | |
|
||
| `pow_difficulty` | ```u32``` | |
|
||
| `pow_pattern` | ```String``` | |
|
||
| `pow_prefix` | ```String``` | |
|
||
| `pow_timeout` | ```u32``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"address_port": 0,
|
||
"data_max_size": 0,
|
||
"pow_difficulty": 0,
|
||
"pow_pattern": "",
|
||
"pow_prefix": "",
|
||
"pow_timeout": 0,
|
||
}
|
||
```
|
||
|
||
## 9. <a name='L1Node'></a>L1Node
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ------------------------- | ----------------- | ------ |
|
||
| `address_port` | ```u16``` | |
|
||
| `explorer_base_url` | ```String``` | |
|
||
| `l2_mining` | ```L2Mining``` | Yes |
|
||
| `l2_certif` | ```L2Certif``` | Yes |
|
||
| `reward_received_tx_list` | ```Vec<String>``` | Yes |
|
||
| `reward_send_tx_list` | ```Vec<String>``` | Yes |
|
||
| `anchorage_tx_list` | ```Vec<String>``` | Yes |
|
||
| `spend_key` | ```String``` | Yes |
|
||
| `scan_key` | ```String``` | Yes |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"address_port": 0,
|
||
"explorer_base_url": "",
|
||
"l2_mining": L2Mining,
|
||
"l2_certif": L2Certif,
|
||
"reward_received_tx_list": [],
|
||
"reward_send_tx_list": [],
|
||
"anchorage_tx_list": [],
|
||
"anchorage_tx_list": [],
|
||
"spend_key": "",
|
||
"scan_key": ""
|
||
}
|
||
```
|
||
|
||
### 9.1. <a name='L1NodeMining'></a>L1NodeMining
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ------------------ | ----------------- | ------ |
|
||
| `block_mined_list` | ```Vec<String>``` | |
|
||
| `spend_key` | ```String``` | Yes |
|
||
| `scan_key` | ```String``` | Yes |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"block_mined_list": [],
|
||
"mining_reward_tx_list": [],
|
||
"spend_key": "",
|
||
"scan_key": ""
|
||
}
|
||
```
|
||
|
||
### 9.2. <a name='L2Node'></a>L2Node
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ---------------------- | ------------ | ------ |
|
||
| `address_port` | ```u16``` | |
|
||
| `explorer_base_url` | ```String``` | |
|
||
| `sp_address_anchorage` | ```String``` | |
|
||
| `sp_address_reward` | ```String``` | |
|
||
| `nbits` | ```u32``` | |
|
||
| `magic_number` | ```u32``` | |
|
||
| `challenge` | ```String``` | |
|
||
| `spend_key` | ```String``` | Yes |
|
||
| `scan_key` | ```String``` | Yes |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"address_port": 0,
|
||
"explorer_base_url": "",
|
||
"sp_address_anchorage": "",
|
||
"sp_address_reward": "",
|
||
"nbits": 0,
|
||
"magic_number": 0,
|
||
"challenge": "",
|
||
"spend_key": "",
|
||
"scan_key": ""
|
||
}
|
||
```
|
||
|
||
### 9.3. <a name='L2NodeMining'></a>L2NodeMining
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ------------------------- | ----------------- | ------ |
|
||
| `sp_address_minig_reward` | ```string``` | |
|
||
| `sp_address_refund` | ```string``` | |
|
||
| `block_hash_mined_list` | ```Vec<String>``` | |
|
||
| `spend_key` | ```String``` | Yes |
|
||
| `scan_key` | ```String``` | Yes |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"sp_address_minig_reward": "",
|
||
"sp_address_refund": "",
|
||
"block_hash_mined_list": [],
|
||
"spend_key": "",
|
||
"scan_key": ""
|
||
}
|
||
```
|
||
|
||
### 9.4. <a name='L2Certif'></a>L2Certif
|
||
|
||
| Attribute Name | Type | Option |
|
||
| -------------------- | ----------------- | ------ |
|
||
| `l2_block_hash_list` | ```Vec<String>``` | |
|
||
| `l1_tx` | ```String``` | Yes |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"l2_block_hash_list": [],
|
||
"l1_tx": ""
|
||
}
|
||
```
|
||
|
||
### 9.5. <a name='BlockCertif'></a>BlockCertif
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ----------------- | ----------------- | ------ |
|
||
| `block_hash_list` | ```Vec<String>``` | |
|
||
| `certif_hash` | ```Vec<String>``` | |
|
||
| `l1_tx` | ```String``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"sp_address_certif_l1": "",
|
||
"sp_address_refunded": "",
|
||
"block_certified_list": [],
|
||
"certif_l1_tx_list": [],
|
||
"refunded_tx_list": [],
|
||
"anchorage_tx_list": [],
|
||
"spend_key": "",
|
||
"scan_key": ""
|
||
}
|
||
```
|
||
|
||
## 10. <a name='Metadata'></a>Metadata
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ---------------------- | ------------------------ | ------ |
|
||
| `tag_list` | ```Vec<String>``` | |
|
||
| `zone_list` | ```Vec<String>``` | |
|
||
| `label_list` | ```Vec<String>``` | |
|
||
| `ref_list` | ```Vec<String>``` | |
|
||
| `data_list` | ```Vec<String>``` | |
|
||
| `amount` | ```Amount``` | |
|
||
| `number` | ```Number``` | |
|
||
| `render_template_list` | ```Vec<String>``` | |
|
||
| `legal_text_list` | ```Vec<String>``` | |
|
||
| `key_list` | ```Vec<KeyEncryption>``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"tag_list": [],
|
||
"zone_list": [],
|
||
"label_list": [],
|
||
"ref_list": [],
|
||
"data_list": [],
|
||
"amount": Amount,
|
||
"number": Number,
|
||
"render_template_list": [],
|
||
"legal_text_list": [],
|
||
"key_list": []
|
||
}
|
||
```
|
||
|
||
### 10.1. <a name='MetadataProcessublic'></a>MetadataProcessublic
|
||
|
||
| Attribute Name | Type | Option |
|
||
| -------------- | -------------- | ------ |
|
||
| `meta_data` | ```MetaData``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"meta_data": MetaData
|
||
}
|
||
```
|
||
|
||
### 10.2. <a name='MetadataPrivate'></a>MetadataPrivate
|
||
|
||
| Attribute Name | Type | Option |
|
||
| -------------- | -------------- | ------ |
|
||
| `meta_data` | ```MetaData``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"meta_data": MetaData
|
||
}
|
||
```
|
||
|
||
### 10.3. <a name='MetadataRoleConfidential'></a>MetadataRoleConfidential
|
||
|
||
| Attribute Name | Type | Option |
|
||
| -------------- | -------------- | ------ |
|
||
| `meta_data` | ```MetaData``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"meta_data": MetaData
|
||
}
|
||
```
|
||
|
||
### 10.4. <a name='Amount'></a>Amount
|
||
|
||
| Attribute Name | Type | Option |
|
||
| -------------------- | ----------------- | ------ |
|
||
| `timestamp` | ```u64``` | |
|
||
| `change_source_list` | ```Vec<String>``` | |
|
||
| `amount_cent` | ```i64``` | |
|
||
| `amount_unit` | ```String``` | |
|
||
| `amount_unit_ref` | ```String``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"timestamp": 0,
|
||
"change_source_list": [],
|
||
"amount_cent": 0,
|
||
"amount_unit": "",
|
||
"amount_unit_ref": ""
|
||
}
|
||
```
|
||
|
||
### 10.5. <a name='Number'></a>Number
|
||
|
||
| Attribute Name | Type | Option |
|
||
| -------------- | ------------- | ------ |
|
||
| `fixed_state` | ```boolean``` | |
|
||
| `number` | ```i32``` | |
|
||
| `number_unit` | ```String``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"fixed_state": false,
|
||
"number": 0,
|
||
"number_unit": ""
|
||
}
|
||
```
|
||
|
||
## 11. <a name='Request'></a>Request
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ---------------------------- | ------------ | ------ |
|
||
| `item_name` | ```String``` | Yes |
|
||
| `request_type` | ```String``` | |
|
||
| `version` | ```i64``` | |
|
||
| `process_hash` | ```String``` | |
|
||
| `request_pcd_reference_hash` | ```String``` | Yes |
|
||
| `request_pcd_origin_hash` | ```String``` | Yes |
|
||
| `request_prd_reference_hash` | ```String``` | Yes |
|
||
| `request_prd_origin_hash` | ```String``` | Yes |
|
||
| `item_reference_hash` | ```String``` | Yes |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"item_name": "",
|
||
"request_type": "",
|
||
"version": 0,
|
||
"process_hash": "",
|
||
"request_pcd_reference_hash": "",
|
||
"request_pcd_origin_hash": "",
|
||
"request_prd_reference_hash": "",
|
||
"request_prd_origin_hash": "",
|
||
"item_reference_hash": ""
|
||
}
|
||
```
|
||
|
||
## 12. <a name='Pcd'></a> Pcd
|
||
|
||
| Attribute Name | Type | Option |
|
||
| --------------- | ------------------------------------ | ------ |
|
||
| `request` | ```Request``` | |
|
||
| `item_enc_list` | ```Vec< PcdItemGenericEnc>``` | |
|
||
| `pagination` | ```Pagination``` | Yes |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"request": Request,
|
||
"item_enc_list": [],
|
||
"pagination": {Pagination
|
||
}
|
||
```
|
||
|
||
### 12.1. <a name='Pagination'></a>Pagination
|
||
|
||
| Attribute Name | Type | Option |
|
||
| -------------- | ----------- | ------ |
|
||
| `start` | ```usize``` | |
|
||
| `number` | ```usize``` | |
|
||
| `page_index` | ```usize``` | |
|
||
| `page_total` | ```usize``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"start": 0,
|
||
"number": 0,
|
||
"page_index": 0,
|
||
"page_total": 0
|
||
}
|
||
```
|
||
|
||
### 12.2. <a name='PcdItemGenericEnc'></a> PcdItemGenericEnc
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ------------------------------------------------------- | ------------------------------------------------------ | ------ |
|
||
| `version` | ```i64``` | |
|
||
| `item_type` | ```String``` | |
|
||
| `item_name` | `String` | |
|
||
| `name` | ```String``` | |
|
||
| `request_pcd_item_enc_attribute_public_list` | ```Vec< PcdItemEncAttributePublic>``` | Yes |
|
||
| `request_pcd_item_enc_attribute_role_confidential_list` | ```Vec< PcdItemEncAttributeRoleConfidential>``` | Yes |
|
||
| `request_pcd_item_enc_attribute_private_list` | ```Vec< PcdItemEncAttributePrivate>``` | Yes |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"version": 0,
|
||
"item_type": "",
|
||
"name": "",
|
||
"request_pcd_item_enc_attribute_public_list": [],
|
||
"request_pcd_item_enc_attribute_role_confidential_list": [],
|
||
"request_pcd_item_enc_attribute_private_list": []
|
||
}
|
||
```
|
||
|
||
#### 12.2.1. <a name='PcdItemEncAttributePublic'></a> PcdItemEncAttributePublic
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ---------------- | ------------ | ------ |
|
||
| `attribute_name` | ```String``` | |
|
||
| `data_enc` | ```String``` | Yes |
|
||
| `key` | ```String``` | Yes |
|
||
| `data` | ```String``` | Yes |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"attribute_name": "",
|
||
"data_enc": ""
|
||
}
|
||
```
|
||
|
||
#### 12.2.2. <a name='PcdItemEncAttributeRoleConfidential'></a> PcdItemEncAttributeRoleConfidential
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ---------------- | ------------ | ------ |
|
||
| `attribute_name` | ```String``` | |
|
||
| `data_enc` | ```String``` | Yes |
|
||
| `key` | ```String``` | Yes |
|
||
| `data` | ```String``` | Yes |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"attribute_name": "",
|
||
"data_enc": ""
|
||
}
|
||
```
|
||
|
||
#### 12.2.3. <a name='PcdItemEncAttributePrivate'></a> PcdItemEncAttributePrivate
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ---------------- | ------------ | ------ |
|
||
| `attribute_name` | ```String``` | |
|
||
| `data_enc` | ```String``` | Yes |
|
||
| `key` | ```String``` | Yes |
|
||
| `data` | ```String``` | Yes |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"attribute_name": "",
|
||
"data_enc": ""
|
||
}
|
||
```
|
||
|
||
## 13. <a name='Prd'></a>Prd
|
||
|
||
| Attribute Name | Type | Option |
|
||
| -------------------------------------------------------------------------- | ----------------- | ------ |
|
||
| `request` | ```Request``` | |
|
||
| `shared_secret_key_enc_by_sp_shared_secret` | ```String``` | Yes |
|
||
| `sig_value` | ```String``` | |
|
||
| `request_pcd_reference_keys_role_confidential_list_confidential` | ```Vec<String>``` | |
|
||
| `request_pcd_origin_hash_keys_role_confidential_list_confidential` | ```Vec<String>``` | |
|
||
| `message_public` | ```String``` | Yes |
|
||
| `message_confidential` | ```String``` | Yes |
|
||
| `message_private` | ```String``` | Yes |
|
||
| `sp_address_to` | ```String``` | |
|
||
| `sp_address_from` | ```String``` | |
|
||
| `sp_address_reply` | ```String``` | |
|
||
| `timestamp_declared` | ```u64``` | |
|
||
| `role_name_from` | ```String``` | |
|
||
| `role_name_to` | ```String``` | |
|
||
| `Payments_method_confidential` | ```String``` | Yes |
|
||
| `deposit_method_confidential` | ```String``` | Yes |
|
||
| `commit_method_confidential` | ```String``` | Yes |
|
||
| `Payments_request_pcd_hash_list_confidential` | ```Vec<String>``` | Yes |
|
||
| `cap_request_pcd_hash_list_confidential` | ```Vec<String>``` | Yes |
|
||
| `deposit_request_pcd_hash_list_confidential` | ```Vec<String>``` | Yes |
|
||
| `commit_request_pcd_hash_list_confidential` | ```Vec<String>``` | Yes |
|
||
| `ask_Payments_method_confidential` | ```String``` | Yes |
|
||
| `ask_deposit_method_confidential` | ```String``` | Yes |
|
||
| `ask_commit_method_confidential` | ```String``` | Yes |
|
||
| `certif_key_confidential` | ```String``` | Yes |
|
||
| `device_footprint_enc_by_sp_shared_secret` | ```String``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"request": {},
|
||
"sig_value": "",
|
||
"request_pcd_reference_keys_role_confidential_list_confidential": [],
|
||
"request_pcd_origin_hash_keys_role_confidential_list_confidential": [],
|
||
"message_public": "",
|
||
"message_confidential": "",
|
||
"message_private": "",
|
||
"sp_address_to": "",
|
||
"sp_address_from": "",
|
||
"sp_address_reply": "",
|
||
"timestamp_declared": 0,
|
||
"role_name_from": "",
|
||
"role_name_to": "",
|
||
"Payments_method_confidential": "",
|
||
"deposit_method_confidential": "",
|
||
"commit_method_confidential": "",
|
||
"Payments_request_pcd_hash_list_confidential": [],
|
||
"cap_request_pcd_hash_list_confidential": [],
|
||
"deposit_request_pcd_hash_list_confidential": [],
|
||
"commit_request_pcd_hash_list_confidential": [],
|
||
"ask_Payments_method_confidential": "",
|
||
"ask_deposit_method_confidential": "",
|
||
"ask_commit_method_confidential": "",
|
||
"certif_key_confidential": "",
|
||
"device_footprint_enc_by_sp_shared_secret": ""
|
||
}
|
||
```
|
||
|
||
### 13.1. <a name='PrdList'></a>PrdList
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ------------------------------------- | ---------------- | ------ |
|
||
| `request_prd` | ```Prd``` | |
|
||
| `pagination_start` | ```Number``` | Yes |
|
||
| `pagination_stop` | ```Number``` | Yes |
|
||
| `sub_pagination_start` | ```Number``` | Yes |
|
||
| `sub_pagination_stop` | ```Number``` | Yes |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"request_prd": Prd,
|
||
"pagination_start": 0,
|
||
"pagination_stop": 0,
|
||
"sub_pagination_start": 0,
|
||
"sub_pagination_stop": 0
|
||
}
|
||
```
|
||
|
||
### 13.2. <a name='PrdUpdate'></a>PrdUpdate
|
||
|
||
| Attribute Name | Type | Option |
|
||
| -------------- | ---------------- | ------ |
|
||
| `request_prd` | ```Prd``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"request_prd": Prd
|
||
}
|
||
```
|
||
|
||
### 13.3. <a name='PrdResponse'></a>PrdResponse
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ------------------------------------------- | ---------------- | ------ |
|
||
| `request_prd` | ```Prd``` | |
|
||
| `shard_enc_by_sp_shared_secret` | ```String``` | Yes |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"request_prd": Prd,
|
||
"shard_enc_by_sp_shared_secret": ""
|
||
}
|
||
```
|
||
|
||
### 13.4. <a name='PrdConfirm'></a>PrdConfirm
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ----------------------------------- | ---------------- | ------ |
|
||
| `request_prd` | ```Prd``` | |
|
||
| `code_confirm_confidential` | ```String``` | Yes |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"request_prd": Prd,
|
||
"code_confirm_confidential": ""
|
||
}
|
||
```
|
||
|
||
### 13.5. <a name='PrdMessage'></a>PrdMessage
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ---------------------- | ----------------- | ------ |
|
||
| `request_prd` | ```Prd``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"request_prd": Prd,
|
||
}
|
||
```
|
||
|
||
### 13.6. <a name='PrdResponse-1'></a>PrdUserCreate
|
||
|
||
|
||
| Attribute Name | Type | Option |
|
||
| -------------- | ---------------- | ------ |
|
||
| `request_prd` | ```Prd``` | |
|
||
| `shard_confidential` | ```String``` | |
|
||
| `pre_id_confidential` | ```String``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"request_prd": Prd,
|
||
"shard_confidential": "",
|
||
"pre_id_confidential": ""
|
||
}
|
||
```
|
||
|
||
|
||
### 13.6. <a name='PrdResponse-1'></a>PrdUserRecover
|
||
|
||
| Attribute Name | Type | Option |
|
||
| -------------- | ---------------- | ------ |
|
||
| `request_prd` | ```Prd``` | |
|
||
| `pre_id_confidential` | ```String``` | |
|
||
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"request_prd": Prd,
|
||
"pre_id_confidential": ""
|
||
}
|
||
```
|
||
|
||
## 14. <a name='Roles'></a>Roles
|
||
|
||
### 14.1. <a name='Role'></a>Role
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ------------------------------------- | --------------------------------- | ------ |
|
||
| `item` | ```Item``` | |
|
||
| `sp_output_salt_enc` | ```string``` | Yes |
|
||
| `required_2fa` | ```bool``` | |
|
||
| `validation_timeout` | ```u64``` | Yes |
|
||
| `condition_prd_address_set_list` | ```Vec<ConditionPrdAddressSet>``` | |
|
||
| `condition_publish_list` | ```Vec<ConditionPublish>``` | Yes |
|
||
| `condition_cap_list` | ```Vec<ConditionCap>``` | Yes |
|
||
| `condition_Payments_list` | ```Vec<ConditionPayments>``` | Yes |
|
||
| `condition_commit_list` | ```Vec<Conditioncommit>``` | Yes |
|
||
| `condition_attribute_encryption_list` | ```Vec<String>``` | |
|
||
| `condition_orchestration_list` | ```Vec<ConditionOrchestration>``` | Yes |
|
||
| `role_succession` | ```String``` | Yes |
|
||
| `role_resolve` | ```String``` | Yes |
|
||
| `role_renew` | ```String``` | Yes |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"item": Item,
|
||
"sp_output_salt_enc": "",
|
||
"required_2fa": false,
|
||
"validation_timeout": 0,
|
||
"condition_prd_address_set_list": [],
|
||
"condition_publish_list": [],
|
||
"condition_cap_list": [],
|
||
"condition_Payments_list": [],
|
||
"condition_commit_list": [],
|
||
"condition_attribute_encryption_list": [],
|
||
"condition_orchestration_list": [],
|
||
"role_succession": "",
|
||
"role_resolve": "",
|
||
"role_renew": ""
|
||
}
|
||
```
|
||
|
||
### 14.2. <a name='Conditions'></a>Conditions
|
||
|
||
#### 14.2.1. <a name='TransactionMode'></a>TransactionMode
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ---------------- | ----------------- | ------ |
|
||
| `amount` | ```Amount``` | Yes |
|
||
| `number` | ```Number``` | Yes |
|
||
| `hash_ok_list` | ```Vec<String>``` | Yes |
|
||
| `hash_ko_list` | ```Vec<String>``` | Yes |
|
||
| `hash_none_list` | ```Vec<String>``` | Yes |
|
||
| `from_list` | ```Vec<String>``` | |
|
||
| `from_type` | ```String``` | |
|
||
| `from_method` | ```String``` | |
|
||
| `to_list` | ```Vec<String>``` | |
|
||
| `to_type` | ```String``` | |
|
||
| `to_method` | ```String``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"amount": Amount,
|
||
"number": Number,
|
||
"hash_ok_list": [],
|
||
"hash_ko_list": [],
|
||
"hash_none_list": [],
|
||
"from_list": [],
|
||
"from_type": "",
|
||
"from_method": "",
|
||
"to_list": [],
|
||
"to_type": "",
|
||
"to_method": ""
|
||
}
|
||
```
|
||
|
||
#### 14.2.2. <a name='ConditionPayments'></a>ConditionPayments
|
||
|
||
| Attribute Name | Type | Option |
|
||
| -------------------------- | ----------------------------------- | ------ |
|
||
| `request_prd_type` | ```String``` | |
|
||
| `transaction_mode` | ```TransactionMode``` | |
|
||
| `Payments_proof_validation` | ```ConditionPrdAddressSet``` | |
|
||
| `condition_deposit_list` | ```Vec<ConditionDeposit>``` | Yes |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"request_prd_type": "",
|
||
"transaction_mode": TransactionMode,
|
||
"Payments_proof_validation": ConditionPrdAddressSet,
|
||
"condition_deposit_list": []
|
||
}
|
||
```
|
||
|
||
#### 14.2.3. <a name='Conditioncommit'></a>Conditioncommit
|
||
|
||
| Attribute Name | Type | Option |
|
||
| -------------------------- | ----------------------------------- | ------ |
|
||
| `request_prd_type` | ```String``` | |
|
||
| `transaction_mode` | ```TransactionMode``` | |
|
||
| `Payments_proof_validation` | ```ConditionPrdAddressSet``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"request_prd_type": "",
|
||
"transaction_mode": TransactionMode,
|
||
"Payments_proof_validation": ConditionPrdAddressSet
|
||
}
|
||
```
|
||
|
||
#### 14.2.4. <a name='ConditionDeposit'></a>ConditionDeposit
|
||
|
||
| Attribute Name | Type | Option |
|
||
| -------------------------- | ----------------------------------- | ------ |
|
||
| `request_prd_type` | ```String``` | |
|
||
| `transaction_mode` | ```TransactionMode``` | |
|
||
| `Payments_proof_validation` | ```ConditionPrdAddressSet``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"request_prd_type": "",
|
||
"transaction_mode": TransactionMode,
|
||
"Payments_proof_validation": ConditionPrdAddressSet
|
||
}
|
||
```
|
||
|
||
#### 14.2.5. <a name='ConditionOrchestration'></a>ConditionOrchestration
|
||
|
||
| Attribute Name | Type | Option |
|
||
| -------------------------- | ----------------------------------- | ------ |
|
||
| `request_prd_type` | ```String``` | |
|
||
| `role_ok` | ```String``` | |
|
||
| `role_ko` | ```String``` | |
|
||
| `Payments_proof_validation` | ```ConditionPrdAddressSet``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"request_prd_type": "",
|
||
"role_ok": "",
|
||
"role_ko": "",
|
||
"Payments_proof_validation": ConditionPrdAddressSet
|
||
}
|
||
```
|
||
|
||
#### 14.2.6. <a name='ConditionCap'></a>ConditionCap
|
||
|
||
| Attribute Name | Type | Option |
|
||
| -------------------------- | ----------------------------------- | ------ |
|
||
| `request_prd_type` | ```String``` | |
|
||
| `transaction_mode` | ```TransactionMode``` | |
|
||
| `Payments_proof_validation` | ```ConditionPrdAddressSet``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"request_prd_type": "",
|
||
"transaction_mode": "",
|
||
"Payments_proof_validation": ConditionPrdAddressSet
|
||
}
|
||
```
|
||
|
||
#### 14.2.7. <a name='ConditionPrdAddressSet'></a>ConditionPrdAddressSet
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ----------------------------------------------- | ----------------- | ------ |
|
||
| `request_prd_type` | ```String``` | |
|
||
| `from_role` | ```String``` | Yes |
|
||
| `request_prd_sp_address_list` | ```Vec<String>``` | |
|
||
| `request_prd_sp_address_required_list` | ```Vec<String>``` | |
|
||
| `request_prd_sp_address_quota` | ```i32``` | |
|
||
| `request_prd_value_ok_list` | ```Vec<String>``` | |
|
||
| `request_prd_value_ko_list` | ```Vec<String>``` | |
|
||
| `request_prd_value_none_list` | ```Vec<String>``` | |
|
||
| `request_prd_value_auto_ok` | ```boolean``` | |
|
||
| `request_prd_value_auto_ko` | ```boolean``` | |
|
||
| `request_prd_value_auto_none` | ```boolean``` | |
|
||
| `request_prd_sp_address_value_min` | ```i64``` | Yes |
|
||
| `request_prd_sp_address_value_min_ok` | ```boolean``` | Yes |
|
||
| `request_prd_sp_adddress_value_ok_min_per` | ```i64``` | Yes |
|
||
| `request_prd_sp_address_value_ok_max` | ```i64``` | Yes |
|
||
| `request_prd_sp_adderss_value_ko_max_per` | ```i64``` | Yes |
|
||
| `request_prd_sp_address_value_ko_max` | ```i64``` | Yes |
|
||
| `request_prd_sp_address_value_none_max` | ```i64``` | Yes |
|
||
| `request_prd_sp_adderss_value_none_max_per` | ```i64``` | Yes |
|
||
| `request_prd_sp_address_score_min` | ```i32``` | Yes |
|
||
| `request_prd_sp_address_score_min_min_required` | ```i32``` | Yes |
|
||
| `request_prd_sp_address_score_min_min_ok` | ```boolean``` | Yes |
|
||
| `request_prd_sp_address_score_min_min_per` | ```i64``` | Yes |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"request_prd_type": "",
|
||
"from_role": "",
|
||
"request_prd_sp_address_list": [],
|
||
"request_prd_sp_address_required_list": [],
|
||
"request_prd_sp_address_quota": 0,
|
||
"request_prd_value_ok_list": [],
|
||
"request_prd_value_ko_list": [],
|
||
"request_prd_value_none_list": [],
|
||
"request_prd_value_auto_ok": false,
|
||
"request_prd_value_auto_ko": false,
|
||
"request_prd_value_auto_none": false,
|
||
"request_prd_sp_address_value_min": 0,
|
||
"request_prd_sp_address_value_min_ok": false,
|
||
"request_prd_sp_adddress_value_ok_min_per": 0,
|
||
"request_prd_sp_address_value_ok_max": 0,
|
||
"request_prd_sp_adderss_value_ko_max_per": 0,
|
||
"request_prd_sp_address_value_ko_max": 0,
|
||
"request_prd_sp_address_value_none_max": 0,
|
||
"request_prd_sp_adderss_value_none_max_per": 0,
|
||
"request_prd_sp_address_score_min": 0,
|
||
"request_prd_sp_address_score_min_min_required": 0,
|
||
"request_prd_sp_address_score_min_min_ok": false,
|
||
"request_prd_sp_address_score_min_min_per": 0
|
||
}
|
||
```
|
||
|
||
#### 14.2.8. <a name='ConditionPublish'></a>ConditionPublish
|
||
|
||
| Attribute Name | Type | Option |
|
||
| --------------------------------- | ------------ | ------ |
|
||
| `request_prd_type` | ```String``` | |
|
||
| `request_pcd_data_size_max_unit` | ```String``` | |
|
||
| `request_pcd_data_size_max_total` | ```i64``` | |
|
||
| `request_pcd_number_min` | ```i32``` | |
|
||
| `request_pcd_number_max` | ```i32``` | |
|
||
| `request_pcd_amount_max_total` | ```Amount``` | |
|
||
| `request_prd_waiting_timeout` | ```u64``` | |
|
||
| `request_pcd_waiting_timeout` | ```u64``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"request_prd_type": "",
|
||
"request_pcd_data_size_max_unit": "",
|
||
"request_pcd_data_size_max_total": 0,
|
||
"request_pcd_number_min": 0,
|
||
"request_pcd_number_max": 0,
|
||
"request_pcd_amount_max_total": Amount,
|
||
"request_prd_waiting_timeout": 0,
|
||
"request_pcd_waiting_timeout": 0
|
||
}
|
||
```
|
||
|
||
### 14.3. <a name='RolesGroup'></a>RolesGroup
|
||
|
||
RolesGroup outlines a collection of roles.
|
||
|
||
| Attribute Name | Type | Option |
|
||
| -------------------- | ----------------------- | ------ |
|
||
| `role_peer` | ```RolePeer``` | |
|
||
| `role_Member` | ```RoleMember``` | |
|
||
| `role_process` | ```RoleProcess``` | |
|
||
| `role_artefact_list` | ```Vec<RoleArtefact>``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"role_peer": RolePeer,
|
||
"role_Member": Role`Member`,
|
||
"role_process": Role`Process`,
|
||
"role_artefact_list": []
|
||
}
|
||
```
|
||
|
||
#### 14.3.1. <a name='RoleArtefact'></a>RoleArtefact
|
||
|
||
| Attribute Name | Type | Option |
|
||
| -------------- | ------------ | ------ |
|
||
| `item_name` | ```String``` | |
|
||
| `role` | ```Role``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"item_name": "Nom de l'élément",
|
||
"role": Role
|
||
}
|
||
```
|
||
|
||
#### 14.3.2. <a name='RoleDeposit'></a>RoleDeposit
|
||
|
||
| Attribute Name | Type | Option |
|
||
| -------------- | ------------ | ------ |
|
||
| `item_name` | ```String``` | |
|
||
| `role` | ```Role``` | |
|
||
| Pseudo-code: | | |
|
||
|
||
```json
|
||
{
|
||
"item_name": "Nom de l'élément",
|
||
"role": Role
|
||
}
|
||
```
|
||
|
||
#### 14.3.3. <a name='Rolecommit'></a>Rolecommit
|
||
|
||
| Attribute Name | Type | Option |
|
||
| -------------- | ------------ | ------ |
|
||
| `item_name` | ```String``` | |
|
||
| `role` | ```Role``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"item_name": "Nom de l'élément",
|
||
"role": Role
|
||
}
|
||
```
|
||
|
||
#### 14.3.4. <a name='RoleMember'></a>RoleMember
|
||
|
||
| Attribute Name | Type | Option |
|
||
| -------------- | ------------ | ------ |
|
||
| `item_name` | ```String``` | |
|
||
| `role` | ```Role``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"item_name": "Nom de l'élément",
|
||
"role": Role
|
||
}
|
||
```
|
||
|
||
### 14.4. <a name='RolePeer'></a>RolePeer
|
||
|
||
| Attribute Name | Type | Option |
|
||
| -------------- | ------------ | ------ |
|
||
| `item_name` | ```String``` | |
|
||
| `role` | ```Role``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"item_name": "Nom de l'élément",
|
||
"role": Role
|
||
}
|
||
```
|
||
|
||
#### 14.4.1. <a name='RolePayments'></a>RolePayments
|
||
|
||
| Attribute Name | Type | Option |
|
||
| -------------- | ------------ | ------ |
|
||
| `item_name` | ```String``` | |
|
||
| `role` | ```Role``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"item_name": "Nom de l'élément",
|
||
"role": Role
|
||
}
|
||
```
|
||
|
||
#### 14.4.2. <a name='RoleProcess'></a>RoleProcess
|
||
|
||
| Attribute Name | Type | Option |
|
||
| -------------- | ------------ | ------ |
|
||
| `item_name` | ```String``` | |
|
||
| `role` | ```Role``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"item_name": "",
|
||
"role": Role
|
||
}
|
||
```
|
||
|
||
## 15. <a name='Relaysidechaindatastreaming'></a>Relay side chain data streaming
|
||
|
||
### 15.1. <a name='Transaction'></a>Transaction
|
||
|
||
| Attribute Name | Type | Option |
|
||
| -------------- | ------------ | ------ |
|
||
| `raw_tx` | ```String``` | |
|
||
| `role` | ```String``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"raw_tx": "",
|
||
"pubkey": ""
|
||
}
|
||
```
|
||
|
||
### 15.2. <a name='Bloc'></a>Bloc
|
||
|
||
| Attribute Name | Type | Option |
|
||
| -------------- | ------------ | ------ |
|
||
| `raw_block` | ```String``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"raw_block": ""
|
||
}
|
||
```
|
||
|
||
## 16. <a name='Storage'></a>Storage
|
||
|
||
### 16.1. <a name='StoragePublic'></a>StoragePublic
|
||
|
||
#### 16.1.1. <a name='StorageKeysPublic'></a>StorageKeysPublic
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ----------------------- | ---------------------------------- | ------ |
|
||
| `hash` | ```String``` | |
|
||
| `label` | ```String``` | Yes |
|
||
| `device_footprint` | ```String``` | Yes |
|
||
| `third_party_list` | ```Vec<StoragethirdPartyPublic>``` | |
|
||
| `key_revoke_sp_address` | ```String``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
[
|
||
{
|
||
"hash": "",
|
||
"label": "",
|
||
"device_footprint": "",
|
||
"third_party_list": [],
|
||
"key_revoke_sp_address": ""
|
||
}
|
||
]
|
||
```
|
||
|
||
##### StoragethirdPartyPublic
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ------------------ | ------------ | ------ |
|
||
| `device_footprint` | ```String``` | Yes |
|
||
| `sp_address` | ```String``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"device_footprint": "",
|
||
"sp_address": ""
|
||
}
|
||
```
|
||
|
||
#### 16.1.2. <a name='StoragePeerPublic'></a>StoragePeerPublic
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
[
|
||
{
|
||
"hash": "",
|
||
"peer: Peer
|
||
}
|
||
]
|
||
```
|
||
|
||
#### 16.1.3. <a name='StorageProcessPublic'></a>StorageProcessPublic
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
[
|
||
{
|
||
"hash": "",
|
||
"process: Process
|
||
}
|
||
]
|
||
```
|
||
|
||
#### 16.1.4. <a name='StorageEnvelopePublic'></a>StorageEnvelopePublic
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ---------------------------- | ------------------------------------ | ------ |
|
||
| `me_sender` | ```boolean``` | |
|
||
| `process_hash` | ```String``` | |
|
||
| `item_name` | ```String``` | |
|
||
| `request_type` | ```String``` | |
|
||
| `timestamp` | ```u64``` | |
|
||
| `envelope_hash` | ```String``` | |
|
||
| `pcd_hash` | ```String``` | Yes |
|
||
| `prd_hash` | ```String``` | Yes |
|
||
| `request_pcd_reference_hash` | ```String``` | Yes |
|
||
| `request_pcd_origin_hash` | ```String``` | Yes |
|
||
| `request_prd_reference_hash` | ```String``` | Yes |
|
||
| `request_prd_origin_hash` | ```String``` | Yes |
|
||
| `item_reference_hash` | ```String``` | Yes |
|
||
| `prd_sig_value` | ```String``` | Yes |
|
||
| `prd_sp_address_from` | ```String``` | Yes |
|
||
| `prd_role_from` | ```String``` | Yes |
|
||
| `prd_sp_address_to` | ```String``` | Yes |
|
||
| `prd_role_to` | ```String``` | Yes |
|
||
| `prd_tx_sp` | ```String``` | Yes |
|
||
| `peer_list` | ```Vec<StorageEnvelopesPeerPublic>``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
[
|
||
{
|
||
"hash": "",
|
||
"envelope": StorageEnvelopePublic,
|
||
"validation_status": "pending|ok|ko"
|
||
}
|
||
]
|
||
```
|
||
|
||
##### StorageEnvelopesPeerPublic
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ------------------- | ------------- | ------ |
|
||
| `domain` | ```String``` | |
|
||
| `ip` | ```String``` | |
|
||
| `port` | ```String``` | |
|
||
| `timestamp` | ```u64``` | |
|
||
| `sender` | ```boolean``` | |
|
||
| `validation_status` | ```String``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"domain": "",
|
||
"ip": "",
|
||
"port": "",
|
||
"timestamp": 0,
|
||
"sender": false,
|
||
"validation_status": "pending|ok|ko"
|
||
}],
|
||
}
|
||
```
|
||
|
||
#### 16.1.5. <a name='StoragePcdPublic'></a>StoragePcdPublic
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
[
|
||
{
|
||
"hash": "",
|
||
"validation_status": "pending|ok|ko"
|
||
}
|
||
]
|
||
```
|
||
|
||
#### 16.1.6. <a name='StoragePrdPublic'></a>StoragePrdPublic
|
||
|
||
##### 4.6.1. <a name='PrdList'></a>StoragePrdListPublic
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
[
|
||
{
|
||
"hash": "",
|
||
"request_prd": PrdList,
|
||
"validation_status": "pending|ok|ko"
|
||
}
|
||
]
|
||
```
|
||
|
||
##### 4.6.2. <a name='PrdUpdate'></a>StoragePrdUpdatePublic
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
[
|
||
{
|
||
"hash": "",
|
||
"request_prd": PrdUpdate,
|
||
"validation_status": "pending|ok|ko"
|
||
}
|
||
]
|
||
```
|
||
|
||
##### 4.6.3. <a name='PrdResponse'></a>StoragePrdResponsePublic
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
[
|
||
{
|
||
"hash": "",
|
||
"request_prd": PrdResponse,
|
||
"validation_status": "pending|ok|ko"
|
||
}
|
||
]
|
||
```
|
||
|
||
##### 4.6.4. <a name='PrdConfirm'></a>StoragePrdConfirmPublic
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
[
|
||
{
|
||
"hash": "",
|
||
"request_prd": PrdConfirm,
|
||
"validation_status": "pending|ok|ko"
|
||
]
|
||
```
|
||
|
||
##### 4.6.5. <a name='PrdMessage'></a>StoragePrdMessagePublic
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
[
|
||
{
|
||
"hash": "",
|
||
"request_prd": PrdMessage,
|
||
"validation_status": "pending|ok|ko"
|
||
}
|
||
]
|
||
```
|
||
|
||
### 16.2. <a name='StoragePrivate'></a>StoragePrivate
|
||
|
||
#### 16.2.1. <a name='StorageKeysPrivate'></a>StorageKeysPrivate
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ---------------------------- | ---------------------------------------- | ------ |
|
||
| `hash_public` | ```String``` | |
|
||
| `label` | ```String``` | |
|
||
| `keyrecoverSpend` | ```StorageKeyRecoverSpendPrivate``` | |
|
||
| `key_recover_scan` | ```String``` | |
|
||
| `process_shards_backup_list` | ```Vec<StorageKeyRecoverSpendPrivate>``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
[
|
||
{
|
||
"hash_public": "",
|
||
"label": "",
|
||
"keyrecoverSpend": StorageKeyRecoverSpendPrivate,
|
||
"key_recover_scan": "",
|
||
"process_shards_backup_list": []
|
||
}
|
||
]
|
||
```
|
||
|
||
##### StorageKeyRecoverSpendPrivate
|
||
|
||
| Attribute Name | Type | Option |
|
||
| -------------- | ------------ | ------ |
|
||
| `seed_rand_1` | ```String``` | |
|
||
| `seed_rand_2` | ```String``` | |
|
||
| `part1_enc` | ```String``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"seed_rand_1": "",
|
||
"seed_rand_2": "",
|
||
"part1_enc": ""
|
||
}
|
||
```
|
||
|
||
##### StorageProcessShardsBackupPrivate
|
||
|
||
| Attribute Name | Type | Option |
|
||
| -------------- | ----------------- | ------ |
|
||
| `hash` | ```String``` | |
|
||
| `Members` | ```Vec<String>``` | |
|
||
| `index` | ```usize``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"hash": "",
|
||
"Members": [],
|
||
"index": 0
|
||
}
|
||
```
|
||
|
||
#### 16.2.2. <a name='StoragePeerPrivate'></a>StoragePeerPrivate
|
||
|
||
| Attribute Name | Type | Option |
|
||
| -------------- | ------------------------------ | ------ |
|
||
| `hash_public` | ```String``` | |
|
||
| `shared_peer` | ```StoragePeerPrivate``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
[
|
||
{
|
||
"hash_public": "",
|
||
"shared_peer": StoragePeerPrivate
|
||
}
|
||
]
|
||
```
|
||
|
||
##### StoragePeerPrivate
|
||
|
||
| Attribute Name | Type | Option |
|
||
| -------------- | ------------------------------- | ------ |
|
||
| `domain` | ```String``` | |
|
||
| `address_ip` | ```String``` | |
|
||
| `relay` | ```StorageRelayPrivate``` | Yes |
|
||
| `l1_node` | ```StorageL1NodePrivate``` | Yes |
|
||
| `l1_miner` | ```StorageL1MinerPrivate``` | Yes |
|
||
| `l2_node_list` | ```Vec<StorageL2NodePrivate>``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"domain": "",
|
||
"address_ip": "",
|
||
"relay": StorageRelayPrivate,
|
||
"l1_node": StorageL1NodePrivate,
|
||
"l1_miner": StorageL1MinerPrivate,
|
||
"l2_node_list": []
|
||
}
|
||
```
|
||
|
||
###### StorageRelayPrivate
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ---------------- | ----------------- | ------ |
|
||
| `faucet_tx_list` | ```Vec<String>``` | Yes |
|
||
| `spend_key` | ```String``` | |
|
||
| `scan_key` | ```String``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"faucet_tx_list": [],
|
||
"spend_key": "",
|
||
"scan_key": ""
|
||
}
|
||
```
|
||
|
||
###### StorageL1NodePrivate
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ------------------- | ----------------- | ------ |
|
||
| `reward_tx_list` | ```Vec<String>``` | |
|
||
| `anchorage_tx_list` | ```Vec<String>``` | |
|
||
| `spend_key` | ```String``` | |
|
||
| `scan_key` | ```String``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"reward_tx_list": [],
|
||
"anchorage_tx_list": [],
|
||
"spend_key": "",
|
||
"scan_key": ""
|
||
}
|
||
```
|
||
|
||
###### StorageL1MinerPrivate
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ----------------------- | ----------------- | ------ |
|
||
| `mining_reward_tx_list` | ```Vec<String>``` | |
|
||
| `spend_key` | ```String``` | |
|
||
| `scan_key` | ```String``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"mining_reward_tx_list": [],
|
||
"spend_key": "",
|
||
"scan_key": ""
|
||
}
|
||
```
|
||
|
||
###### StorageL2NodePrivate
|
||
|
||
| Attribute Name | Type | Option |
|
||
| -------------- | -------------------------------- | ------ |
|
||
| `l2_miner` | ```StorageL2NodeMinerPrivate``` | |
|
||
| `l2_certif` | ```StorageL2NodeCertifPrivate``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"l2_miner": StorageL2NodeMinerPrivate,
|
||
"l2_certif": StorageL2NodeCertifPrivate
|
||
}
|
||
```
|
||
|
||
####### StorageL2NodeMinerPrivate
|
||
|
||
| Attribute Name | Type | Option |
|
||
|-------------------------|-------------------|--------|-
|
||
| `mining_descriptor` | ```String``` | |
|
||
| `mining_reward_tx_list` | ```Vec<String>``` | |
|
||
| `refunder_tx_list` | ```Vec<String>``` | |
|
||
| `spend_key` | ```String``` | |
|
||
| `scan_key` | ```String``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"mining_descriptor": "",
|
||
"minig_reward_tx_list": [],
|
||
"refunder_tx_list": [],
|
||
"spend_key": "",
|
||
"scan_key": ""
|
||
}
|
||
```
|
||
|
||
####### StorageL2NodeCertifPrivate
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ------------------- | ----------------- | ------ |
|
||
| `certif_l1_tx_list` | ```Vec<String>``` | |
|
||
| `refunded_tx_list` | ```Vec<String>``` | |
|
||
| `anchorage_tx_list` | ```Vec<String>``` | |
|
||
| `spend_key` | ```String``` | |
|
||
| `scan_key` | ```String``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"certif_l1_tx_list": [],
|
||
"refunded_tx_list": [],
|
||
"anchorage_tx_list": [],
|
||
"spend_key": "",
|
||
"scan_key": "",
|
||
}
|
||
```
|
||
|
||
#### 16.2.3. <a name='StorageProcessPrivate'></a>StorageProcessPrivate
|
||
|
||
Public:
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ------------------ | ----------------- | ------ |
|
||
| `hash` | ```String``` | |
|
||
| `confidential_key` | ```String``` | |
|
||
| `item` | ```Process``` | |
|
||
|
||
Private:
|
||
|
||
| Attribute Name | Type | Option |
|
||
| --------------------------------- | ---------------------------------- | ------ |
|
||
| `hash_public` | ```String``` | |
|
||
| `confidential_key` | ```String``` | |
|
||
| `metadata_role_confidentiel_keys` | ```MetadataRoleConfidentielKeys``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"private": [
|
||
{
|
||
"hash": "",
|
||
"confidential_key": "",
|
||
"item": Process
|
||
}
|
||
],
|
||
"public": [{
|
||
"hash_public": "",
|
||
"confidential_key": "",
|
||
"metadata_role_confidentiel_keys": MetadataRoleConfidentielKeys
|
||
}]
|
||
}
|
||
```
|
||
|
||
###### MetadataRoleConfidentielKeys
|
||
|
||
| Attribute Name | Type | Option |
|
||
| --------------------------- | ------------ | ------ |
|
||
| `tag_list_keys` | ```String``` | |
|
||
| `zone_list_keys` | ```String``` | |
|
||
| `label_lis_keys` | ```String``` | |
|
||
| `ref_list_keys` | ```String``` | |
|
||
| `data_list_keys` | ```String``` | |
|
||
| `amount_keys` | ```String``` | |
|
||
| `number_keys` | ```String``` | |
|
||
| `render_template_list_keys` | ```String``` | |
|
||
| `legal_text_list_keys` | ```String``` | |
|
||
| `key_list_keys` | ```String``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"tag_list_keys": "",
|
||
"zone_list_keys": "",
|
||
"label_lis_keys": "",
|
||
"ref_list_keys": "",
|
||
"data_list_keys": "",
|
||
"amount_keys": "",
|
||
"number_keys": "",
|
||
"render_template_list_keys": "",
|
||
"legal_text_list_keys": "",
|
||
"key_list_keys": ""
|
||
}
|
||
```
|
||
|
||
#### 16.2.4. <a name='StoragePcdPrivate'></a>StoragePcdPrivate
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ---------------------------- | ----------------- | ------ |
|
||
| `hash_public` | ```String``` | |
|
||
| `pcd_aes_key_list_decrypted` | ```Vec<String>``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
[{
|
||
"hash_public": "",
|
||
"pcd_aes_key_list_decrypted": []
|
||
}]
|
||
```
|
||
|
||
#### 16.2.5. <a name='StoragePrdPrivate'></a>StoragePrdPrivate
|
||
|
||
##### 5.5.1. <a name='PrdUpdate-1'></a>StoragePrdUpdatePrivate
|
||
|
||
| Attribute Name | Type | Option |
|
||
| -------------------------------------------------------------- | ----------------- | ------ |
|
||
| `hash_public` | ```String``` | |
|
||
| `sig_value` | ```String``` | |
|
||
| `request_pcd_reference_keys_role_confidential_list_decrypted` | ```String``` | |
|
||
| `request_pcd_origin_hash_keys_role_confidential_listdecrypted` | ```String``` | |
|
||
| `message_public_decrypted` | ```String``` | |
|
||
| `message_confidential_decrypted` | ```String``` | |
|
||
| `message_private_decrypted` | ```String``` | |
|
||
| `Payments_method_decrypted` | ```String``` | |
|
||
| `deposit_method_decrypted` | ```String``` | |
|
||
| `commit_method_decrypted` | ```String``` | |
|
||
| `Payments_request_pcd_hash_list_decrypted` | ```Vec<String>``` | |
|
||
| `cap_request_pcd_hash_list_decrypted` | ```Vec<String>``` | |
|
||
| `deposit_request_pcd_hash_list_decrypted` | ```Vec<String>``` | |
|
||
| `commit_request_pcd_hash_list_decrypted` | ```Vec<String>``` | |
|
||
| `ask_Payments_method_[decrypted` | ```String``` | |
|
||
| `ask_deposit_method_decrypted` | ```String``` | |
|
||
| `ask_commit_method_decrypted` | ```String``` | |
|
||
| `certif_key_decrypted` | ```String``` | |
|
||
| `device_footprint_decrypted` | ```String``` | |
|
||
| `item_Member_decrypted` | ```String``` | |
|
||
| `pre_id_sp_decrypted` | ```String``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
[
|
||
{
|
||
"hash_public": "",
|
||
"sig_value": "",
|
||
"request_pcd_reference_keys_role_confidential_list_decrypted": "",
|
||
"request_pcd_origin_hash_keys_role_confidential_listdecrypted": "",
|
||
"message_public_decrypted": "",
|
||
"message_confidential_decrypted": "",
|
||
"message_private_decrypted": "",
|
||
"Payments_method_decrypted": "",
|
||
"deposit_method_decrypted": "",
|
||
"commit_method_decrypted": "",
|
||
"Payments_request_pcd_hash_list_decrypted": [],
|
||
"cap_request_pcd_hash_list_decrypted": [],
|
||
"deposit_request_pcd_hash_list_decrypted": [],
|
||
"commit_request_pcd_hash_list_decrypted": [],
|
||
"ask_Payments_method_[decrypted": "",
|
||
"ask_deposit_method_decrypted": "",
|
||
"ask_commit_method_decrypted": "",
|
||
"certif_key_decrypted": "",
|
||
"device_footprint_decrypted": "",
|
||
"item_Member_decrypted": "",
|
||
"pre_id_sp_decrypted": ""
|
||
}
|
||
]
|
||
```
|
||
|
||
##### 5.5.2. <a name='PrdResponse-1'></a>StoragePrdResponsePrivate
|
||
|
||
| Attribute Name | Type | Option |
|
||
| -------------------------------------------------------------- | ------------------------------------------------- | ------ |
|
||
| `hash_public` | ```String``` | |
|
||
| `sig_value` | ```String``` | Yes |
|
||
| `request_pcd_reference_keys_role_confidential_list_decrypted` | ```String``` | Yes |
|
||
| `request_pcd_origin_hash_keys_role_confidential_listdecrypted` | ```String``` | Yes |
|
||
| `message_public_decrypted` | ```String``` | Yes |
|
||
| `message_confidential_decrypted` | ```String``` | Yes |
|
||
| `message_private_decrypted` | ```String``` | Yes |
|
||
| `Payments_method_decrypted` | ```String``` | Yes |
|
||
| `deposit_method_decrypted` | ```String``` | Yes |
|
||
| `commit_method_decrypted` | ```String``` | Yes |
|
||
| `Payments_request_pcd_hash_list_decrypted` | ```Vec<String>``` | Yes |
|
||
| `cap_request_pcd_hash_list_decrypted` | ```Vec<String>``` | Yes |
|
||
| `deposit_request_pcd_hash_list_decrypted` | ```Vec<String>``` | Yes |
|
||
| `commit_request_pcd_hash_list_decrypted` | ```Vec<String>``` | Yes |
|
||
| `ask_Payments_method_[decrypted` | ```String``` | Yes |
|
||
| `ask_deposit_method_decrypted` | ```String``` | Yes |
|
||
| `ask_commit_method_decrypted` | ```String``` | Yes |
|
||
| `certif_key_decrypted` | ```String``` | Yes |
|
||
| `device_footprint_decrypted` | ```String``` | Yes |
|
||
| `shared_secret_key_decrypted` | ```Vec<StorageDecryptedSharedSecretKeyPrivate>``` | |
|
||
| `shard_decrypted` | ```String``` | Yes |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
[
|
||
{
|
||
"hash_public": "",
|
||
"sig_value": "",
|
||
"request_pcd_reference_keys_role_confidential_list_decrypted": "",
|
||
"request_pcd_origin_hash_keys_role_confidential_listdecrypted": "",
|
||
"message_public_decrypted": "",
|
||
"message_confidential_decrypted": "",
|
||
"message_private_decrypted": "",
|
||
"Payments_method_decrypted": "",
|
||
"deposit_method_decrypted": "",
|
||
"commit_method_decrypted": "",
|
||
"Payments_request_pcd_hash_list_decrypted": [],
|
||
"cap_request_pcd_hash_list_decrypted": [],
|
||
"deposit_request_pcd_hash_list_decrypted": [],
|
||
"commit_request_pcd_hash_list_decrypted": [],
|
||
"ask_Payments_method_[decrypted": "",
|
||
"ask_deposit_method_decrypted": "",
|
||
"ask_commit_method_decrypted": "",
|
||
"certif_key_decrypted": "",
|
||
"device_footprint_decrypted": "",
|
||
"sig_value":"",
|
||
"shared_secret_key_decrypted": [],
|
||
"shard_decrypted":""
|
||
}
|
||
]
|
||
```
|
||
|
||
#### 16.2.6. <a name='StorageDecryptedSharedSecretKeyPrivate'></a>StorageDecryptedSharedSecretKeyPrivate
|
||
|
||
| Attribute Name | Type | Option |
|
||
| ---------------- | ------------ | ------ |
|
||
| `attribute_name` | ```String``` | Yes |
|
||
| `key` | ```String``` | Yes |
|
||
| `algorithm` | ```String``` | Yes |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
{
|
||
"attribute_name": "",
|
||
"key": "",
|
||
"algorithm": "",
|
||
}
|
||
```
|
||
|
||
##### 5.5.3. <a name='PrdConfirm-1'></a>StoragePrdConfirmPrivate
|
||
|
||
| Attribute Name | Type | Option |
|
||
| -------------------------------------------------------------- | ----------------- | ------ |
|
||
| `hash_public` | ```String``` | |
|
||
| `sig_value` | ```String``` | Yes |
|
||
| `request_pcd_reference_keys_role_confidential_list_decrypted` | ```String``` | Yes |
|
||
| `request_pcd_origin_hash_keys_role_confidential_listdecrypted` | ```String``` | Yes |
|
||
| `message_public_decrypted` | ```String``` | Yes |
|
||
| `message_confidential_decrypted` | ```String``` | Yes |
|
||
| `message_private_decrypted` | ```String``` | Yes |
|
||
| `Payments_method_decrypted` | ```String``` | Yes |
|
||
| `deposit_method_decrypted` | ```String``` | Yes |
|
||
| `commit_method_decrypted` | ```String``` | Yes |
|
||
| `Payments_request_pcd_hash_list_decrypted` | ```Vec<String>``` | Yes |
|
||
| `cap_request_pcd_hash_list_decrypted` | ```Vec<String>``` | Yes |
|
||
| `deposit_request_pcd_hash_list_decrypted` | ```Vec<String>``` | Yes |
|
||
| `commit_request_pcd_hash_list_decrypted` | ```Vec<String>``` | Yes |
|
||
| `ask_Payments_method_[decrypted` | ```String``` | Yes |
|
||
| `ask_deposit_method_decrypted` | ```String``` | Yes |
|
||
| `ask_commit_method_decrypted` | ```String``` | Yes |
|
||
| `certif_key_decrypted` | ```String``` | Yes |
|
||
| `device_footprint_decrypted` | ```String``` | Yes |
|
||
| `code_confirm_decrypted` | ```String``` | Yes |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
[
|
||
{
|
||
"hash_public": "",
|
||
"sig_value": "",
|
||
"request_pcd_reference_keys_role_confidential_list_decrypted": "",
|
||
"request_pcd_origin_hash_keys_role_confidential_listdecrypted": "",
|
||
"message_public_decrypted": "",
|
||
"message_confidential_decrypted": "",
|
||
"message_private_decrypted": "",
|
||
"Payments_method_decrypted": "",
|
||
"deposit_method_decrypted": "",
|
||
"commit_method_decrypted": "",
|
||
"Payments_request_pcd_hash_list_decrypted": [],
|
||
"cap_request_pcd_hash_list_decrypted": [],
|
||
"deposit_request_pcd_hash_list_decrypted": [],
|
||
"commit_request_pcd_hash_list_decrypted": [],
|
||
"ask_Payments_method_decrypted": "",
|
||
"ask_deposit_method_decrypted": "",
|
||
"ask_commit_method_decrypted": "",
|
||
"certif_key_decrypted": "",
|
||
"device_footprint_decrypted": "",
|
||
"code_confirm_decrypted": ""
|
||
}
|
||
]
|
||
```
|
||
|
||
##### 5.5.4. <a name='PrdMessage-1'></a>StoragePrdMessagePrivate
|
||
|
||
| Attribute Name | Type | Option |
|
||
| -------------------------------------------------------------- | ----------------- | ------ |
|
||
| `hash_public` | ```String``` | |
|
||
| `sig_value` | ```String``` | Yes |
|
||
| `request_pcd_reference_keys_role_confidential_list_decrypted` | ```String``` | Yes |
|
||
| `request_pcd_origin_hash_keys_role_confidential_listdecrypted` | ```String``` | Yes |
|
||
| `message_public_decrypted` | ```String``` | Yes |
|
||
| `message_confidential_decrypted` | ```String``` | Yes |
|
||
| `message_private_decrypted` | ```String``` | Yes |
|
||
| `Payments_method_decrypted` | ```String``` | Yes |
|
||
| `deposit_method_decrypted` | ```String``` | Yes |
|
||
| `commit_method_decrypted` | ```String``` | Yes |
|
||
| `Payments_request_pcd_hash_list_decrypted` | ```Vec<String>``` | Yes |
|
||
| `cap_request_pcd_hash_list_decrypted` | ```Vec<String>``` | Yes |
|
||
| `deposit_request_pcd_hash_list_decrypted` | ```Vec<String>``` | Yes |
|
||
| `commit_request_pcd_hash_list_decrypted` | ```Vec<String>``` | Yes |
|
||
| `ask_Payments_method_[decrypted` | ```String``` | Yes |
|
||
| `ask_deposit_method_decrypted` | ```String``` | Yes |
|
||
| `ask_commit_method_decrypted` | ```String``` | Yes |
|
||
| `certif_key_decrypted` | ```String``` | Yes |
|
||
| `device_footprint_decrypted` | ```String``` | Yes |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
[
|
||
{
|
||
"hash_public": "",
|
||
"sig_value": "",
|
||
"request_pcd_reference_keys_role_confidential_list_decrypted": "",
|
||
"request_pcd_origin_hash_keys_role_confidential_listdecrypted": "",
|
||
"message_public_decrypted": "",
|
||
"message_confidential_decrypted": "",
|
||
"message_private_decrypted": "",
|
||
"Payments_method_decrypted": "",
|
||
"deposit_method_decrypted": "",
|
||
"commit_method_decrypted": "",
|
||
"Payments_request_pcd_hash_list_decrypted": [],
|
||
"cap_request_pcd_hash_list_decrypted": [],
|
||
"deposit_request_pcd_hash_list_decrypted": [],
|
||
"commit_request_pcd_hash_list_decrypted": [],
|
||
"ask_Payments_method_[decrypted": "",
|
||
"ask_deposit_method_decrypted": "",
|
||
"ask_commit_method_decrypted": "",
|
||
"certif_key_decrypted": "",
|
||
"device_footprint_decrypted": ""
|
||
}
|
||
]
|
||
```
|
||
|
||
#### 16.2.7. <a name='StorageocketsPrivate'></a>StorageocketsPrivate
|
||
|
||
#### 16.2.8. <a name='StorageSocketClientListPrivate'></a>StorageSocketClientListPrivate
|
||
|
||
| Attribute Name | Type | Option |
|
||
| -------------- | ------------ | ------ |
|
||
| `address` | ```String``` | |
|
||
| `port` | ```u64``` | |
|
||
| `protocol` | ```String``` | |
|
||
| `status` | ```String``` | |
|
||
| `type` | ```String``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
[
|
||
{
|
||
"hash": "",
|
||
"socket": {
|
||
"address": "",
|
||
"port": 0,
|
||
"protocol": "",
|
||
"status": "pending|ok|ko",
|
||
"type": "tx|request|client"
|
||
}
|
||
}
|
||
]
|
||
```
|
||
|
||
##### 5.6.2. <a name='SocketServerList'></a>StorageSocketServerListPrivate
|
||
|
||
| Attribute Name | Type | Option |
|
||
| -------------- | ------------ | ------ |
|
||
| `address` | ```String``` | |
|
||
| `port` | ```u64``` | |
|
||
| `protocol` | ```String``` | |
|
||
| `status` | ```String``` | |
|
||
| `type` | ```String``` | |
|
||
|
||
Pseudo-code:
|
||
|
||
```json
|
||
[
|
||
{
|
||
"hash": "",
|
||
"socket": {
|
||
"address": "",
|
||
"port": 0,
|
||
"protocol": "",
|
||
"status": "pending|ok|ko",
|
||
"type": "tx|request|client"
|
||
}
|
||
}
|
||
]
|
||
```
|
||
|
||
## 17. <a name='Rustconsiderations'></a>12. Rust considerations
|
||
|
||
### 17.1. <a name='GeneralImplicationsforProjectObjects'></a> General Implications for Project Objects
|
||
|
||
Incorporating these traits into a struct's definition enhances its utility across various aspects of a project. For instance:
|
||
|
||
* **Serialization traits (Serialize, Deserialize)**: facilitate the easy exchange of data with external services or storage systems.
|
||
* **Traits like Clone, Debug, and Default**: improve the development experience by providing essential functionalities for debugging, testing, and initializing objects.
|
||
* **Comparison and ordering traits (PartialEq, Eq, PartialOrd, Ord)**: are crucial for logic checks, sorting, and storing objects in data structures that require ordering or uniqueness.
|
||
* **The Hash trait**: expands the struct's utility in hash-based collections, enabling efficient data retrieval and storage.
|
||
|
||
### 17.2. <a name='Debug'></a> Debug
|
||
|
||
The Debug trait allows instances of the struct to be formatted using the {:?} formatter. This is essential for debugging purposes, as it provides a way to output the contents of the struct to the console or logs, aiding in the development and troubleshooting process.
|
||
Serialize, Deserialize (serde crate)
|
||
|
||
Serialize and Deserialize traits from the serde crate enable the struct to be easily converted to and from data formats such as JSON, YAML, or TOML. This is particularly useful for web applications or services that need to send or receive data in a structured format over the network.
|
||
|
||
### 17.3. <a name='Default'></a> Default
|
||
|
||
Implementing the Default trait allows for the creation of a struct with default values. This is useful for initializing structs with a set of predetermined values or when a struct needs to be created without specifying every field explicitly.
|
||
Clone
|
||
|
||
The Clone trait allows for the creation of an exact copy of a struct instance. This is crucial for cases where a mutable copy of a struct is needed, while keeping the original instance unchanged.
|
||
|
||
### 17.4. <a name='PartialEqEq'></a> PartialEq, Eq
|
||
|
||
PartialEq and Eq traits enable comparison operations for instances of the struct. While PartialEq allows for partial equality checks (where some of the comparisons might be indeterminate), Eq denotes that every comparison will either be true or false, ensuring a stricter equality condition that is necessary for certain collections or logic checks.
|
||
|
||
### 17.5. <a name='Hash'></a> Hash
|
||
|
||
The Hash trait is used to compute a hash value for instances of the struct. This is essential for structs that need to be stored in collections such as HashMap or HashSet, where a unique identifier is required to efficiently retrieve or store items.
|
||
|
||
### 17.6. <a name='PartialOrdOrd'></a> PartialOrd, Ord
|
||
|
||
PartialOrd and Ord traits allow for ordering comparisons between instances of the struct. PartialOrd provides functionality for partial ordering, where some comparisons might not produce a clear order, whereas Ord requires a total ordering, ensuring that any two instances can be reliably ordered. This is critical for sorting operations or when structs are stored in ordered collections.
|
||
FromForm (rocket crate)
|
||
|
||
## 18. <a name='Todo'></a>Todo
|