87 KiB
Data model
1. Autheurs, validations, dates, versions, changes and history
Cf. Git SDK COMMON
2. Table des matières
- 4.1. DepositMethod
- 4.2. CommitmentMethod
- 4.3. PaymentsMethod
- 5.1. Item
- 5.2. ItemArtefact
- 5.3. ItemMember
- 5.3.1. ItemMemberPublicAttributeGroup
- 5.3.2. ItemMemberRoleConfidentialAttributeGroup
- 5.3.3. ItemMemberRolePrivateAttributeGroup
- 5.4. ItemCommitment
- 5.4.1. ItemCommitmentRoleConfidentialAttributeGroup
- 5.4.2. ItemCommitmentPrivateAttributeGroup
- 5.5. ItemDeposit
- 5.5.1. ItemDepositPublicAttributeGroup
- 5.5.2. ItemDepositRoleConfidentialAttributeGroup
- 5.5.3. ItemDepositPrivateAttributeGroup
- 5.6. ItemEnum
- 5.7. ItemPayments
- 5.7.1. ItemPaymentsPublicAttributeGroup
- 5.7.2. ItemPaymentsRoleConfidentialAttributeGroup
- 5.7.3. ItemPaymentsPrivateAttributeGroup
- 5.8. ItemPeer
- 5.8.1. ItemPeerPublicAttributeGroup
- 5.8.2. ItemPeerPrivateAttributeGroup
- 5.9. ItemProcess
- 5.9.1. ItemProcessPublicAttributeGroup
- 6.1. KeyEncryption
- 6.2. Aes256GcmIv96Bit
- 7.1. Message
- 7.2. MessageConnect
- 7.3. MessageGeneric
- 7.4. Pow
- 7.5. SharedProcess
- 7.6. SharedPeer
- 9.1. L1NodeMining
- 9.2. L2Node
- 9.3. L2NodeMining
- 9.4. L2Certif
- 9.5. BlockCertif
- 10.1. MetadataProcessublic
- 10.2. MetadataPrivate
- 10.3. MetadataRoleConfidential
- 10.4. Amount
- 10.5. Number
- 12.1. Pagination
- 12.2. PcdItemGenericEnc
- 12.2.1. PcdItemEncAttributePublic
- 12.2.2. PcdItemEncAttributeRoleConfidential
- 12.2.3. PcdItemEncAttributePrivate
- 13.1. PrdList
- 13.2. PrdUpdate
- 13.3. PrdResponse
- 13.4. PrdConfirm
- 13.5. PrdMessage
- 13.6. PrdResponse
- 14.1. Role
- 14.2. Conditions
- 14.2.1. TransactionMode
- 14.2.2. ConditionPayments
- 14.2.3. ConditionCommitment
- 14.2.4. ConditionDeposit
- 14.2.5. ConditionOrchestration
- 14.2.6. ConditionCap
- 14.2.7. ConditionPrdAddressSet
- 14.2.8. ConditionPublish
- 14.3. RolesGroup
- 14.3.1. RoleArtefact
- 14.3.2. RoleDeposit
- 14.3.3. RoleCommitment
- 14.3.4. RoleMember
- 14.4. RolePeer
- 14.4.1. RolePayments
- 14.4.2. RoleProcess
- 15.1. Transaction
- 15.2. Bloc
- 16.1. StoragePublic
- 16.1.1. StorageKeysPublic
- 16.1.2. StorageItemPeerPublic
- 16.1.3. StorageItemProcessPublic
- 16.1.4. StorageMessagePublic
- 16.1.5. StoragePcdPublic
- 16.1.6. StoragePrdPublic
- 16.2. StoragePrivate
- 16.2.1. StorageKeysPrivate
- 16.2.2. StoragePeerPrivate
- 16.2.3. StorageProcessPrivate
- 16.2.4. StoragePcdPrivate
- 16.2.5. StoragePrdPrivate
- 16.2.6. StorageDecryptedSharedSecretKeyPrivate
- 16.2.7. StorageocketsPrivate
- 16.2.8. StorageSocketClientListPrivate
- 17.1. General Implications for Project Objects
- 17.2. Debug
- 17.3. Default
- 17.4. PartialEq, Eq
- 17.5. Hash
- 17.6. PartialOrd, Ord
3. Documents de référence
Voir Doc_references.md.
4. Methods
4.1. DepositMethod
Attribute Name | Type | Option |
---|---|---|
method |
String |
Pseudo-code:
{
"method": ""
}
4.2. CommitmentMethod
Attribute Name | Type | Option |
---|---|---|
method |
String |
Pseudo-code:
{
"method": ""
}
4.3. PaymentsMethod
Attribute Name | Type | Option |
---|---|---|
method |
String |
Pseudo-code:
{
"method": ""
}
5. Items
5.1. 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:
{
"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. ItemArtefact
Attribute Name | Type | Option |
---|---|---|
item |
Item |
|
public_attribute_group |
Vec<String> |
|
role_confidential_attribute_group |
Vec<String> |
|
private_attribute_group |
Vec<String> |
Pseudo-code:
{
"item": Item,
"public_attribute_group": [],
"role_confidential_attribute_group": [],
"private_attribute_group": []
}
5.3. ItemMember
Attribute Name | Type | Option |
---|---|---|
item |
Item |
|
public_attribute_group |
ItemMemberPublicAttributeGroup |
|
role_confidential_attribute_group |
ItemMemberRoleConfidentialAttributeGroup |
|
private_attribute_group |
ItemMemberPrivateAttributeGroup |
Pseudo-code:
{
"item": Item,
"public_attribute_group": ItemMemberPublicAttributeGroup,
"role_confidential_attribute_group": ItemMemberRoleConfidentialAttributeGroup,
"private_attribute_group": ItemMemberPrivateAttributeGroup
}
5.3.1. ItemMemberPublicAttributeGroup
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:
{
"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. ItemMemberRoleConfidentialAttributeGroup
Attribute Name | Type | Option |
---|---|---|
shard_confidential |
String |
yes |
pre_id_confidential |
String |
yes |
Pseudo-code:
{
"shard_confidential": "",
"pre_id_confidential": ""
}
5.3.3. ItemMemberRolePrivateAttributeGroup
Attribute Name | Type | Option |
---|---|---|
priv_key_mainnet_spend |
String |
yes |
priv_key_mainnet_scan |
String |
yes |
priv_key_signet_scan |
String |
yes |
Pseudo-code:
{
"priv_key_mainnet_spend": "",
"priv_key_mainnet_scan": "",
"priv_key_signet_scan": "",
}
5.4. ItemCommitment
Attribute Name | Type | Option |
---|---|---|
item |
Item |
|
public_attribute_group |
ItemCommitmentPublicAttributeGroup |
|
role_confidential_attribute_group |
ItemCommitmentRoleConfidentialAttributeGroup |
|
private_attribute_group |
ItemCommitmentPrivateAttributeGroup |
Pseudo-code:
{
"item": Item,
"public_attribute_group": ItemCommitmentPublicAttributeGroup,
"role_confidential_attribute_group": ItemCommitmentRoleConfidentialAttributeGroup,
"private_attribute_group": ItemCommitmentPrivateAttributeGroup
}
5.4.1. ItemCommitmentRoleConfidentialAttributeGroup
Attribute Name | Type | Option |
---|---|---|
payload_list_confidential |
Vec<String> |
Pseudo-code:
{
"payload_list_confidential": []
}
5.4.2. ItemCommitmentPrivateAttributeGroup
Attribute Name | Type | Option |
---|---|---|
payload_list_private |
Vec<String> |
Pseudo-code:
{
"payload_list_private": []
}
4.2.1. ItemCommitmentPublicAttributeGroup
Attribute Name | Type | Option |
---|---|---|
for_sp_address_list |
Vec<String> |
|
goal_list |
Vec<String> |
|
provider_type |
String |
|
commitment_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:
{
"for_sp_address_list": [],
"goal_list": [],
"provider_type": "",
"commitment_request_pcd_hash_list": [],
"ref_item_hash_list": [],
"ref_request_pcd_hash_list": [],
"payload_public_list": []
}
5.5. ItemDeposit
Attribute Name | Type | Option |
---|---|---|
item |
Item |
|
public_attribute_group |
ItemDepositPublicAttributeGroup |
|
role_confidential_attribute_group |
ItemDepositRoleConfidentialAttributeGroup |
|
private_attribute_group |
ItemDepositPrivateAttributeGroup |
Pseudo-code:
{
"item": Item,
"public_attribute_group": ItemDepositPublicAttributeGroup,
"role_confidential_attribute_group": ItemDepositRoleConfidentialAttributeGroup,
"private_attribute_group": ItemDepositPrivateAttributeGroup
}
5.5.1. ItemDepositPublicAttributeGroup
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:
{
"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. ItemDepositRoleConfidentialAttributeGroup
Attribute Name | Type | Option |
---|---|---|
payload_list_confidential |
Vec<String> |
|
audit_code_list_confidential |
Vec<String> |
Pseudo-code:
{
"payload_list_confidential": [],
"audit_code_list_confidential": []
}
5.5.3. ItemDepositPrivateAttributeGroup
Attribute Name | Type | Option |
---|---|---|
payload_list_private |
Vec<String> |
|
audit_code_private |
String |
|
Pseudo-code: |
{
"payload_list_private": [],
"audit_code_private": ""
}
5.6. ItemEnum
Process(ItemProcess)
: Contains an item of type ItemProcess, representing a process.Peer(ItemPeer)
: Contains an item of type ItemPeer, representing a peer.Member(ItemMember)
: Contains an item of type ItemMember, representing a member.Payments(ItemPayments)
: Contains an item of type ItemPayments, representing a Payments.Deposit(ItemDeposit)
: Contains an item of type ItemDeposit, representing a deposit.Artefact(ItemArtefact)
: Contains an item of type ItemArtefact, representing an artefact.Commitment(ItemCommitment)
: Contains an item of type ItemCommitment, representing a commitment.
5.7. ItemPayments
Attribute Name | Type | Option |
---|---|---|
item |
Item |
|
public_attribute_group |
ItemPaymentsPublicAttributeGroup |
|
role_confidential_attribute_group |
ItemPaymentsRoleConfidentialAttributeGroup |
|
private_attribute_group |
ItemPaymentsPrivateAttributeGroup |
Pseudo-code:
{
"item": Item,
"public_attribute_group": ItemPaymentsPublicAttributeGroup,
"role_confidential_attribute_group": ItemPaymentsRoleConfidentialAttributeGroup,
"private_attribute_group": ItemPaymentsPrivateAttributeGroup
}
5.7.1. ItemPaymentsPublicAttributeGroup
Attribute Name | Type | Option |
---|---|---|
for_sp_address_list |
Vec<String> |
|
goal_list |
Vec<String> |
|
provider_type |
String |
|
commitment_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:
5.7.2. ItemPaymentsRoleConfidentialAttributeGroup
Attribute Name | Type | Option |
---|---|---|
payload_list_confidential |
Vec<String> |
|
audit_code_list_confidential |
Vec<String> |
Pseudo-code:
{
"for_sp_address_list": [],
"goal_list": [],
"provider_type": "",
"commitment_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. ItemPaymentsPrivateAttributeGroup
Attribute Name | Type | Option |
---|---|---|
payload_list_private |
Vec<String> |
|
audit_code_private |
String |
Pseudo-code:
{
"payload_list_private": [],
"audit_code_private": ""
}
5.8. ItemPeer
Attribute Name | Type | Option |
---|---|---|
item |
Item |
|
layer_list |
Vec<String> |
|
public_attribute_group |
ItemPeerPublicAttributeGroup |
|
private_attribute_group |
ItemPeerPrivateAttributeGroup |
Pseudo-code:
{
"item": Item,
"layer_list": [],
"public_attribute_group": ItemPeerPublicAttributeGroup,
"private_attribute_group": ItemPeerPrivateAttributeGroup
}
5.8.1. ItemPeerPublicAttributeGroup
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:
{
"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. ItemPeerPrivateAttributeGroup
Attribute Name | Type | Option |
---|---|---|
config |
String |
Pseudo-code:
{
"config": ""
}
5.9. ItemProcess
Attribute Name | Type | Option |
---|---|---|
item |
Item |
|
item_process_public_attribute_group |
ItemProcessPublicAttributeGroup |
Pseudo-code:
{
"item": {},
"item_process_public_attribute_group": ItemProcessPublicAttributeGroup
}
5.9.1. ItemProcessPublicAttributeGroup
Attribute Name | Type | Option |
---|---|---|
roles_group |
RolesGroup |
Pseudo-code:
{
"roles_group": {}
}
6. Encryption
6.1. KeyEncryption
Attribute Name | Type | Option |
---|---|---|
attribute_name |
String |
Yes |
key |
String |
Yes |
algorithm |
String |
Yes |
Pseudo-code:
{
"attribute_name": "",
"key": "",
"algorithm": ""
}
6.2. Aes256GcmIv96Bit
Attribute Name | Type | Option |
---|---|---|
key |
GenericArray<u8, u32> |
Pseudo-code:
{
"key": []
}
7. Messages
7.1. Message
Attribute Name | Type | Option |
---|---|---|
message |
MessageGeneric |
|
request_enc |
String |
Pseudo-code:
{
"message": Message,
"request_enc": ""
}
7.2. MessageConnect
Attribute Name | Type | Option |
---|---|---|
message | MessageGeneric |
Pseudo-code:
{
"message": Message
}
7.3. MessageGeneric
Attribute Name | Type | Option |
---|---|---|
shared_peer_list |
Vec<SharedPeer> |
|
shared_process_list |
Vec<SharedProcess> |
|
faucet_sp_address |
String |
|
pow |
Pow |
|
raw_transaction_list |
Vec<String> |
Yes |
Pseudo-code:
{
"shared_peer_list": [],
"shared_process_list": [],
"faucet_sp_address": "",
"pow": {},
"raw_transaction_list": []
}
7.4. Pow
Attribute Name | Type | Option |
---|---|---|
data_hash |
String |
|
timestamp |
u64 |
Yes |
nonce |
u64 |
Yes |
pattern |
String |
|
difficulty |
usize |
Pseudo-code:
{
"data_hash": "",
"timestamp": 0,
"nonce": 0,
"pattern": "",
"difficulty": 0
}
7.5. SharedProcess
Attribute Name | Type | Option |
---|---|---|
process_list |
Vec<ItemProcess> |
Pseudo-code:
{
"process_list": []
}
7.6. SharedPeer
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:
{
"domain": "",
"address_ip": "",
"relay": Relay,
"l1_node": L1Node,
"l1_miner": L1Miner,
"l2_node_list": []
}
8. 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:
{
"address_port": 0,
"data_max_size": 0,
"pow_difficulty": 0,
"pow_pattern": "",
"pow_prefix": "",
"pow_timeout": 0,
}
9. 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:
{
"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. L1NodeMining
Attribute Name | Type | Option |
---|---|---|
block_mined_list |
Vec<String> |
|
spend_key |
String |
Yes |
scan_key |
String |
Yes |
Pseudo-code:
{
"block_mined_list": [],
"mining_reward_tx_list": [],
"spend_key": "",
"scan_key": ""
}
9.2. 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:
{
"address_port": 0,
"explorer_base_url": "",
"sp_address_anchorage": "",
"sp_address_reward": "",
"nbits": 0,
"magic_number": 0,
"challenge": "",
"spend_key": "",
"scan_key": ""
}
9.3. 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:
{
"sp_address_minig_reward": "",
"sp_address_refund": "",
"block_hash_mined_list": [],
"spend_key": "",
"scan_key": ""
}
9.4. L2Certif
Attribute Name | Type | Option |
---|---|---|
l2_block_hash_list |
Vec<String> |
|
l1_tx |
String |
Yes |
Pseudo-code:
{
"l2_block_hash_list": [],
"l1_tx": ""
}
9.5. BlockCertif
Attribute Name | Type | Option |
---|---|---|
block_hash_list |
Vec<String> |
|
certif_hash |
Vec<String> |
|
l1_tx |
String |
Pseudo-code:
{
"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. 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:
{
"tag_list": [],
"zone_list": [],
"label_list": [],
"ref_list": [],
"data_list": [],
"amount": Amount,
"number": Number,
"render_template_list": [],
"legal_text_list": [],
"key_list": []
}
10.1. MetadataProcessublic
Attribute Name | Type | Option |
---|---|---|
meta_data |
MetaData |
Pseudo-code:
{
"meta_data": MetaData
}
10.2. MetadataPrivate
Attribute Name | Type | Option |
---|---|---|
meta_data |
MetaData |
Pseudo-code:
{
"meta_data": MetaData
}
10.3. MetadataRoleConfidential
Attribute Name | Type | Option |
---|---|---|
meta_data |
MetaData |
Pseudo-code:
{
"meta_data": MetaData
}
10.4. Amount
Attribute Name | Type | Option |
---|---|---|
timestamp |
u64 |
|
change_source_list |
Vec<String> |
|
amount_cent |
i64 |
|
amount_unit |
String |
|
amount_unit_ref |
String |
Pseudo-code:
{
"timestamp": 0,
"change_source_list": [],
"amount_cent": 0,
"amount_unit": "",
"amount_unit_ref": ""
}
10.5. Number
Attribute Name | Type | Option |
---|---|---|
fixed_state |
boolean |
|
number |
i32 |
|
number_unit |
String |
Pseudo-code:
{
"fixed_state": false,
"number": 0,
"number_unit": ""
}
11. 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:
{
"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. Pcd
Attribute Name | Type | Option |
---|---|---|
request |
Request |
|
item_enc_list |
Vec< PcdItemGenericEnc> |
|
pagination |
Pagination |
Yes |
Pseudo-code:
{
"request": Request,
"item_enc_list": [],
"pagination": {Pagination
}
12.1. Pagination
Attribute Name | Type | Option |
---|---|---|
start |
usize |
|
number |
usize |
|
page_index |
usize |
|
page_total |
usize |
Pseudo-code:
{
"start": 0,
"number": 0,
"page_index": 0,
"page_total": 0
}
12.2. 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:
{
"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. PcdItemEncAttributePublic
Attribute Name | Type | Option |
---|---|---|
attribute_name |
String |
|
data_enc |
String |
Yes |
key |
String |
Yes |
data |
String |
Yes |
Pseudo-code:
{
"attribute_name": "",
"data_enc": ""
}
12.2.2. PcdItemEncAttributeRoleConfidential
Attribute Name | Type | Option |
---|---|---|
attribute_name |
String |
|
data_enc |
String |
Yes |
key |
String |
Yes |
data |
String |
Yes |
Pseudo-code:
{
"attribute_name": "",
"data_enc": ""
}
12.2.3. PcdItemEncAttributePrivate
Attribute Name | Type | Option |
---|---|---|
attribute_name |
String |
|
data_enc |
String |
Yes |
key |
String |
Yes |
data |
String |
Yes |
Pseudo-code:
{
"attribute_name": "",
"data_enc": ""
}
13. Prd
Attribute Name | Type | Option |
---|---|---|
request |
Request |
|
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 |
commitment_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 |
commitment_request_pcd_hash_list_confidential |
Vec<String> |
Yes |
ask_Payments_method_confidential |
String |
Yes |
ask_deposit_method_confidential |
String |
Yes |
ask_commitment_method_confidential |
String |
Yes |
certif_key_confidential |
String |
Yes |
device_footprint_enc_by_sp_shared_secret |
String |
Pseudo-code:
{
"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": "",
"commitment_method_confidential": "",
"Payments_request_pcd_hash_list_confidential": [],
"cap_request_pcd_hash_list_confidential": [],
"deposit_request_pcd_hash_list_confidential": [],
"commitment_request_pcd_hash_list_confidential": [],
"ask_Payments_method_confidential": "",
"ask_deposit_method_confidential": "",
"ask_commitment_method_confidential": "",
"certif_key_confidential": "",
"device_footprint_enc_by_sp_shared_secret": ""
}
13.1. PrdList
Attribute Name | Type | Option |
---|---|---|
request_prd |
Prd |
|
item_member_enc_by_sp_shared_secret |
String |
Yes |
pagination_start |
Number |
Yes |
pagination_stop |
Number |
Yes |
sub_pagination_start |
Number |
Yes |
sub_pagination_stop |
Number |
Yes |
Pseudo-code:
{
"request_prd": Prd,
"item_member_enc_by_sp_shared_secret": "",
"pagination_start": 0,
"pagination_stop": 0,
"sub_pagination_start": 0,
"sub_pagination_stop": 0
}
13.2. PrdUpdate
Attribute Name | Type | Option |
---|---|---|
request_prd |
Prd |
Pseudo-code:
{
"request_prd": Prd
}
13.3. PrdResponse
Attribute Name | Type | Option |
---|---|---|
request_prd |
Prd |
|
shared_secret_key_enc_by_sp_shared_secret |
String |
Yes |
shard_enc_by_sp_shared_secret |
String |
Yes |
Pseudo-code:
{
"request_prd": Prd,
"sig_value": "",
"shared_secret_key_enc_by_sp_shared_secret": "",
"shard_enc_by_sp_shared_secret": ""
}
13.4. PrdConfirm
Attribute Name | Type | Option |
---|---|---|
request_prd |
Prd |
|
code_confirm_confidential |
String |
Yes |
Pseudo-code:
{
"request_prd": Prd,
"code_confirm_confidential": ""
}
13.5. PrdMessage
Attribute Name | Type | Option |
---|---|---|
request_prd |
Prd |
|
raw_transaction_list |
Vec<String> |
Yes |
Pseudo-code:
{
"request_prd": Prd,
"raw_transaction_list": []
}
13.6. PrdResponse
Attribute Name | Type | Option |
---|---|---|
request_prd |
Prd |
|
sig_value |
String |
Pseudo-code:
{
"request_prd": Prd,
"sig_value": ""
}
14. Roles
14.1. 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_commitment_list |
Vec<ConditionCommitment> |
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:
{
"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_commitment_list": [],
"condition_attribute_encryption_list": [],
"condition_orchestration_list": [],
"role_succession": "",
"role_resolve": "",
"role_renew": ""
}
14.2. Conditions
14.2.1. 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:
{
"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. ConditionPayments
Attribute Name | Type | Option |
---|---|---|
request_prd_type |
String |
|
transaction_mode |
TransactionMode |
|
Payments_proof_validation |
ConditionPrdAddressSet |
|
condition_deposit_list |
Vec<ConditionDeposit> |
Yes |
Pseudo-code:
{
"request_prd_type": "",
"transaction_mode": TransactionMode,
"Payments_proof_validation": ConditionPrdAddressSet,
"condition_deposit_list": []
}
14.2.3. ConditionCommitment
Attribute Name | Type | Option |
---|---|---|
request_prd_type |
String |
|
transaction_mode |
TransactionMode |
|
Payments_proof_validation |
ConditionPrdAddressSet |
Pseudo-code:
{
"request_prd_type": "",
"transaction_mode": TransactionMode,
"Payments_proof_validation": ConditionPrdAddressSet
}
14.2.4. ConditionDeposit
Attribute Name | Type | Option |
---|---|---|
request_prd_type |
String |
|
transaction_mode |
TransactionMode |
|
Payments_proof_validation |
ConditionPrdAddressSet |
Pseudo-code:
{
"request_prd_type": "",
"transaction_mode": TransactionMode,
"Payments_proof_validation": ConditionPrdAddressSet
}
14.2.5. ConditionOrchestration
Attribute Name | Type | Option |
---|---|---|
request_prd_type |
String |
|
role_ok |
String |
|
role_ko |
String |
|
Payments_proof_validation |
ConditionPrdAddressSet |
Pseudo-code:
{
"request_prd_type": "",
"role_ok": "",
"role_ko": "",
"Payments_proof_validation": ConditionPrdAddressSet
}
14.2.6. ConditionCap
Attribute Name | Type | Option |
---|---|---|
request_prd_type |
String |
|
transaction_mode |
TransactionMode |
|
Payments_proof_validation |
ConditionPrdAddressSet |
Pseudo-code:
{
"request_prd_type": "",
"transaction_mode": "",
"Payments_proof_validation": ConditionPrdAddressSet
}
14.2.7. 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:
{
"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. 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:
{
"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. 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:
{
"role_peer": RolePeer,
"role_member": RoleMember,
"role_process": RoleProcess,
"role_artefact_list": []
}
14.3.1. RoleArtefact
Attribute Name | Type | Option |
---|---|---|
item_name |
String |
|
role |
Role |
Pseudo-code:
{
"item_name": "Nom de l'élément",
"role": Role
}
14.3.2. RoleDeposit
Attribute Name | Type | Option |
---|---|---|
item_name |
String |
|
role |
Role |
|
Pseudo-code: |
{
"item_name": "Nom de l'élément",
"role": Role
}
14.3.3. RoleCommitment
Attribute Name | Type | Option |
---|---|---|
item_name |
String |
|
role |
Role |
Pseudo-code:
{
"item_name": "Nom de l'élément",
"role": Role
}
14.3.4. RoleMember
Attribute Name | Type | Option |
---|---|---|
item_name |
String |
|
role |
Role |
Pseudo-code:
{
"item_name": "Nom de l'élément",
"role": Role
}
14.4. RolePeer
Attribute Name | Type | Option |
---|---|---|
item_name |
String |
|
role |
Role |
Pseudo-code:
{
"item_name": "Nom de l'élément",
"role": Role
}
14.4.1. RolePayments
Attribute Name | Type | Option |
---|---|---|
item_name |
String |
|
role |
Role |
Pseudo-code:
{
"item_name": "Nom de l'élément",
"role": Role
}
14.4.2. RoleProcess
Attribute Name | Type | Option |
---|---|---|
item_name |
String |
|
role |
Role |
Pseudo-code:
{
"item_name": "",
"role": Role
}
15. Relay side chain data streaming
15.1. Transaction
Attribute Name | Type | Option |
---|---|---|
raw_tx |
String |
|
role |
String |
Pseudo-code:
{
"raw_tx": "",
"pubkey": ""
}
15.2. Bloc
Attribute Name | Type | Option |
---|---|---|
raw_block |
String |
Pseudo-code:
{
"raw_block": ""
}
16. Storage
16.1. StoragePublic
16.1.1. 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:
[
{
"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:
{
"device_footprint": "",
"sp_address": ""
}
16.1.2. StorageItemPeerPublic
Pseudo-code:
[
{
"hash": "",
"peer: ItemPeer
}
]
16.1.3. StorageItemProcessPublic
Pseudo-code:
[
{
"hash": "",
"process: ItemProcess
}
]
16.1.4. StorageMessagePublic
Attribute Name | Type | Option |
---|---|---|
me_sender |
boolean |
|
process_hash |
String |
|
item_name |
String |
|
request_type |
String |
|
timestamp |
u64 |
|
message_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<StorageMessagesPeerPublic> |
Pseudo-code:
[
{
"hash": "",
"message": StorageMessagePublic,
"validation_status": "pending|ok|ko"
}
]
StorageMessagesPeerPublic
Attribute Name | Type | Option |
---|---|---|
domain |
String |
|
ip |
String |
|
port |
String |
|
timestamp |
u64 |
|
sender |
boolean |
|
validation_status |
String |
Pseudo-code:
{
"domain": "",
"ip": "",
"port": "",
"timestamp": 0,
"sender": false,
"validation_status": "pending|ok|ko"
}],
}
16.1.5. StoragePcdPublic
Pseudo-code:
[
{
"hash": "",
"validation_status": "pending|ok|ko"
}
]
16.1.6. StoragePrdPublic
4.6.1. StoragePrdListPublic
Pseudo-code:
[
{
"hash": "",
"request_prd": PrdList,
"validation_status": "pending|ok|ko"
}
]
4.6.2. StoragePrdUpdatePublic
Pseudo-code:
[
{
"hash": "",
"request_prd": PrdUpdate,
"validation_status": "pending|ok|ko"
}
]
4.6.3. StoragePrdResponsePublic
Pseudo-code:
[
{
"hash": "",
"request_prd": PrdResponse,
"validation_status": "pending|ok|ko"
}
]
4.6.4. StoragePrdConfirmPublic
Pseudo-code:
[
{
"hash": "",
"request_prd": PrdConfirm,
"validation_status": "pending|ok|ko"
]
4.6.5. StoragePrdMessagePublic
Pseudo-code:
[
{
"hash": "",
"request_prd": PrdMessage,
"validation_status": "pending|ok|ko"
}
]
16.2. StoragePrivate
16.2.1. StorageKeysPrivate
Attribute Name | Type | Option |
---|---|---|
hash_public |
String |
|
label |
String |
|
keyrecoverSpend |
StorageKeyRecoverSpendPrivate |
|
key_recover_scan |
String |
|
process_shards_backup_list |
Vec<StorageKeyRecoverSpendPrivate> |
Pseudo-code:
[
{
"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:
{
"seed_rand_1": "",
"seed_rand_2": "",
"part1_enc": ""
}
StorageProcessShardsBackupPrivate
Attribute Name | Type | Option |
---|---|---|
hash |
String |
|
members |
Vec<String> |
|
index |
usize |
Pseudo-code:
{
"hash": "",
"members": [],
"index": 0
}
16.2.2. StoragePeerPrivate
Attribute Name | Type | Option |
---|---|---|
hash_public |
String |
|
shared_peer |
StorageSharedPeerPrivate |
Pseudo-code:
[
{
"hash_public": "",
"shared_peer": StorageSharedPeerPrivate
}
]
StorageSharedPeerPrivate
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:
{
"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:
{
"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:
{
"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:
{
"mining_reward_tx_list": [],
"spend_key": "",
"scan_key": ""
}
StorageL2NodePrivate
Attribute Name | Type | Option |
---|---|---|
l2_miner |
StorageL2NodeMinerPrivate |
|
l2_certif |
StorageL2NodeCertifPrivate |
Pseudo-code:
{
"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:
{
"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:
{
"certif_l1_tx_list": [],
"refunded_tx_list": [],
"anchorage_tx_list": [],
"spend_key": "",
"scan_key": "",
}
16.2.3. StorageProcessPrivate
Public:
Attribute Name | Type | Option |
---|---|---|
hash |
String |
|
confidential_key |
String |
|
item |
ItemProcess |
Private:
Attribute Name | Type | Option |
---|---|---|
hash_public |
String |
|
confidential_key |
String |
|
metadata_role_confidentiel_keys |
MetadataRoleConfidentielKeys |
Pseudo-code:
{
"private": [
{
"hash": "",
"confidential_key": "",
"item": ItemProcess
}
],
"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:
{
"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. StoragePcdPrivate
Attribute Name | Type | Option |
---|---|---|
hash_public |
String |
|
pcd_aes_key_list_decrypted |
Vec<String> |
Pseudo-code:
[{
"hash_public": "",
"pcd_aes_key_list_decrypted": []
}]
16.2.5. StoragePrdPrivate
5.5.1. 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 |
|
commitment_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> |
|
commitment_request_pcd_hash_list_decrypted |
Vec<String> |
|
ask_Payments_method_[decrypted |
String |
|
ask_deposit_method_decrypted |
String |
|
ask_commitment_method_decrypted |
String |
|
certif_key_decrypted |
String |
|
device_footprint_decrypted |
String |
|
item_member_decrypted |
String |
|
pre_id_sp_decrypted |
String |
Pseudo-code:
[
{
"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": "",
"commitment_method_decrypted": "",
"Payments_request_pcd_hash_list_decrypted": [],
"cap_request_pcd_hash_list_decrypted": [],
"deposit_request_pcd_hash_list_decrypted": [],
"commitment_request_pcd_hash_list_decrypted": [],
"ask_Payments_method_[decrypted": "",
"ask_deposit_method_decrypted": "",
"ask_commitment_method_decrypted": "",
"certif_key_decrypted": "",
"device_footprint_decrypted": "",
"item_member_decrypted": "",
"pre_id_sp_decrypted": ""
}
]
5.5.2. 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 |
commitment_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 |
commitment_request_pcd_hash_list_decrypted |
Vec<String> |
Yes |
ask_Payments_method_[decrypted |
String |
Yes |
ask_deposit_method_decrypted |
String |
Yes |
ask_commitment_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:
[
{
"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": "",
"commitment_method_decrypted": "",
"Payments_request_pcd_hash_list_decrypted": [],
"cap_request_pcd_hash_list_decrypted": [],
"deposit_request_pcd_hash_list_decrypted": [],
"commitment_request_pcd_hash_list_decrypted": [],
"ask_Payments_method_[decrypted": "",
"ask_deposit_method_decrypted": "",
"ask_commitment_method_decrypted": "",
"certif_key_decrypted": "",
"device_footprint_decrypted": "",
"sig_value":"",
"shared_secret_key_decrypted": [],
"shard_decrypted":""
}
]
16.2.6. StorageDecryptedSharedSecretKeyPrivate
Attribute Name | Type | Option |
---|---|---|
attribute_name |
String |
Yes |
key |
String |
Yes |
algorithm |
String |
Yes |
Pseudo-code:
{
"attribute_name": "",
"key": "",
"algorithm": "",
}
5.5.3. 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 |
commitment_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 |
commitment_request_pcd_hash_list_decrypted |
Vec<String> |
Yes |
ask_Payments_method_[decrypted |
String |
Yes |
ask_deposit_method_decrypted |
String |
Yes |
ask_commitment_method_decrypted |
String |
Yes |
certif_key_decrypted |
String |
Yes |
device_footprint_decrypted |
String |
Yes |
code_confirm_decrypted |
String |
Yes |
Pseudo-code:
[
{
"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": "",
"commitment_method_decrypted": "",
"Payments_request_pcd_hash_list_decrypted": [],
"cap_request_pcd_hash_list_decrypted": [],
"deposit_request_pcd_hash_list_decrypted": [],
"commitment_request_pcd_hash_list_decrypted": [],
"ask_Payments_method_decrypted": "",
"ask_deposit_method_decrypted": "",
"ask_commitment_method_decrypted": "",
"certif_key_decrypted": "",
"device_footprint_decrypted": "",
"code_confirm_decrypted": ""
}
]
5.5.4. 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 |
commitment_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 |
commitment_request_pcd_hash_list_decrypted |
Vec<String> |
Yes |
ask_Payments_method_[decrypted |
String |
Yes |
ask_deposit_method_decrypted |
String |
Yes |
ask_commitment_method_decrypted |
String |
Yes |
certif_key_decrypted |
String |
Yes |
device_footprint_decrypted |
String |
Yes |
Pseudo-code:
[
{
"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": "",
"commitment_method_decrypted": "",
"Payments_request_pcd_hash_list_decrypted": [],
"cap_request_pcd_hash_list_decrypted": [],
"deposit_request_pcd_hash_list_decrypted": [],
"commitment_request_pcd_hash_list_decrypted": [],
"ask_Payments_method_[decrypted": "",
"ask_deposit_method_decrypted": "",
"ask_commitment_method_decrypted": "",
"certif_key_decrypted": "",
"device_footprint_decrypted": ""
}
]
16.2.7. StorageocketsPrivate
16.2.8. StorageSocketClientListPrivate
Attribute Name | Type | Option |
---|---|---|
address |
String |
|
port |
u64 |
|
protocol |
String |
|
status |
String |
|
type |
String |
Pseudo-code:
[
{
"hash": "",
"socket": {
"address": "",
"port": 0,
"protocol": "",
"status": "pending|ok|ko",
"type": "tx|request|client"
}
}
]
5.6.2. StorageSocketServerListPrivate
Attribute Name | Type | Option |
---|---|---|
address |
String |
|
port |
u64 |
|
protocol |
String |
|
status |
String |
|
type |
String |
Pseudo-code:
[
{
"hash": "",
"socket": {
"address": "",
"port": 0,
"protocol": "",
"status": "pending|ok|ko",
"type": "tx|request|client"
}
}
]
17. 12. Rust considerations
17.1. 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. 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. 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. 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. 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. 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)