87 KiB
-
- 2.1. DepositMethod
- 2.2. CommitmentMethod
- 2.3. PaymentMethod
-
- 3.1. Item
- 3.2. ItemArtefact
- 3.3. ItemMember
- 3.4. ItemCommitment
- 3.5. ItemDeposit
- 3.6. ItemEnum
- 3.7. ItemPayment
- 3.8. ItemPeer
- 3.8.1. ItemPeerPublicAttributeGroup
- 3.8.2. ItemPeerPrivateAttributeGroup
- 3.9. ItemProcess
-
- 4.1. KeyEncryption
- 4.2. Aes256GcmIv96Bit
-
- 5.1. Message
- 5.2. MessageConnect
- 5.3. MessageGeneric
- 5.4. Pow
- 5.5. SharedProcess
- 5.6. SharedPeer
-
- 7.1. L1NodeMining
- 7.2. L2Node
- 7.3. L2NodeMining
- 7.4. L2Certif
- 7.5. BlockCertif
-
- 8.1. MetadataContractPublic
- 8.2. MetadataPrivate
- 8.3. MetadataRoleConfidential
- 8.4. Amount
- 8.5. Number
-
- 10.1. Pagination
- 10.2. RequestPcdItemGenericEnc
-
- 11.1. RequestPrdList
- 11.2. RequestPrdUpdate
- 11.3. RequestPrdResponse
- 11.4. RequestPrdConfirm
- 11.5. RequestPrdMessage
- 11.6. RequestPrdResponse
-
- 12.1. Role
- 12.2. Conditions
- 12.2.1. TransactionMode
- 12.2.2. ConditionPayment
- 12.2.3. ConditionCommitment
- 12.2.4. ConditionDeposit
- 12.2.5. ConditionOrchestration
- 12.2.6. ConditionCap
- 12.2.7. ConditionRequestPrdAddressSet
- 12.2.8. ConditionPublish
- 12.3. RolesGroup
- 12.3.1. RoleArtefact
- 12.3.2. RoleDeposit
- 12.3.3. RoleCommitment
- 12.3.4. RoleMember
- 12.4. RolePeer
- 12.4.1. RolePayment
- 12.4.2. RoleProcess
-
- 13.1. StoragePublic
- 13.1.1. StorageKeysPublic
- 13.1.2. StorageItemPeerPublic
- 13.1.3. StorageItemProcessPublic
- 13.1.4. StorageMessagePublic
- 13.1.5. StorageRequestPcdPublic
- 13.1.6. StorageRequestPrdPublic
- 13.2. StoragePrivate
- 13.2.1. StorageKeysPrivate
- 13.2.2. StoragePeerPrivate
- 13.2.3. StorageProcessPrivate
- 13.2.4. StorageRequestPcdPrivate
- 13.2.5. StorageRequestPrdPrivate
- 13.2.6. StorageDecryptedSharedSecretKeyPrivate
- 13.2.7. StorageocketsPrivate
- 13.2.8. StorageSocketClientListPrivate
- 13.1. StoragePublic
-
- 14.1. General Implications for Project Objects
- 14.2. Debug
- 14.3. Default
- 14.4. PartialEq, Eq
- 14.5. Hash
- 14.6. PartialOrd, Ord
Specs - Datas
1. Documents de référence
Voir Doc_references.md.
2. Methods
2.1. DepositMethod
Attribute Name | Type | Option |
---|---|---|
method |
String |
Pseudo-code:
{
"method": ""
}
2.2. CommitmentMethod
Attribute Name | Type | Option |
---|---|---|
method |
String |
Pseudo-code:
{
"method": ""
}
2.3. PaymentMethod
Attribute Name | Type | Option |
---|---|---|
method |
String |
Pseudo-code:
{
"method": ""
}
3. Items
3.1. Item
Attribute Name | Type | Option |
---|---|---|
uuid |
String |
|
version |
i64 |
|
item_type |
String |
|
name |
String |
|
pagination_number_per_request_pcd |
u32 |
|
metadata_contract_public |
MetadataContractPublic |
|
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_contract_public": MetadataContractPublic,
"metadata_role_confidential": MetadataRoleConfidential,
"metadata_private": MetadataPrivate
}
3.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": []
}
3.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
}
3.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 |
|
payment_method_list_public |
Vec<String> |
|
succession_process_hash |
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,
"payment_method_list_public": [],
"succession_process_hash": ""
}
3.3.2. ItemMemberRoleConfidentialAttributeGroup
Attribute Name | Type | Option |
---|---|---|
shard_confidential |
String |
yes |
pre_id_confidential |
String |
yes |
device_footprint_enc_by_sp_shared_secret |
String |
yes |
Pseudo-code:
{
"shard_confidential": "",
"pre_id_confidential": "",
"device_footprint_enc_by_sp_shared_secret": ""
}
3.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 |
randSeedPart2 |
String |
yes |
Pseudo-code:
{
"priv_key_mainnet_spend": "",
"priv_key_mainnet_scan": "",
"priv_key_signet_scan": "",
"randSeedPart2": ""
}
3.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
}
3.4.1. ItemCommitmentRoleConfidentialAttributeGroup
Attribute Name | Type | Option |
---|---|---|
payload_list_confidential |
Vec<String> |
Pseudo-code:
{
"payload_list_confidential": []
}
3.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": []
}
3.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
}
3.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": []
}
3.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": []
}
3.5.3. ItemDepositPrivateAttributeGroup
Attribute Name | Type | Option |
---|---|---|
payload_list_private |
Vec<String> |
|
audit_code_private |
String |
|
Pseudo-code: |
{
"payload_list_private": [],
"audit_code_private": ""
}
3.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.Payment(ItemPayment)
: Contains an item of type ItemPayment, representing a payment.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.
3.7. ItemPayment
Attribute Name | Type | Option |
---|---|---|
item |
Item |
|
public_attribute_group |
ItemPaymentPublicAttributeGroup |
|
role_confidential_attribute_group |
ItemPaymentRoleConfidentialAttributeGroup |
|
private_attribute_group |
ItemPaymentPrivateAttributeGroup |
Pseudo-code:
{
"item": Item,
"public_attribute_group": ItemPaymentPublicAttributeGroup,
"role_confidential_attribute_group": ItemPaymentRoleConfidentialAttributeGroup,
"private_attribute_group": ItemPaymentPrivateAttributeGroup
}
3.7.1. ItemPaymentPublicAttributeGroup
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:
3.7.2. ItemPaymentRoleConfidentialAttributeGroup
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": []
}
3.7.3. ItemPaymentPrivateAttributeGroup
Attribute Name | Type | Option |
---|---|---|
payload_list_private |
Vec<String> |
|
audit_code_private |
String |
Pseudo-code:
{
"payload_list_private": [],
"audit_code_private": ""
}
3.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
}
3.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> |
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": []
}
3.8.2. ItemPeerPrivateAttributeGroup
Attribute Name | Type | Option |
---|---|---|
config |
String |
Pseudo-code:
{
"config": ""
}
3.9. ItemProcess
Attribute Name | Type | Option |
---|---|---|
item |
Item |
|
item_process_public_attribute_group |
ItemProcessPublicAttributeGroup |
Pseudo-code:
{
"item": {},
"item_process_public_attribute_group": ItemProcessPublicAttributeGroup
}
3.9.1. ItemProcessPublicAttributeGroup
Attribute Name | Type | Option |
---|---|---|
roles_group |
RolesGroup |
Pseudo-code:
{
"roles_group": {}
}
4. Encryption
4.1. KeyEncryption
Attribute Name | Type | Option |
---|---|---|
attribute_name |
String |
Yes |
key |
String |
Yes |
algorithm |
String |
Yes |
Pseudo-code:
{
"attribute_name": "",
"key": "",
"algorithm": ""
}
4.2. Aes256GcmIv96Bit
Attribute Name | Type | Option |
---|---|---|
key |
GenericArray<u8, u32> |
Pseudo-code:
{
"key": []
}
5. Messages
5.1. Message
Attribute Name | Type | Option |
---|---|---|
message |
MessageGeneric |
|
request_enc |
String |
Pseudo-code:
{
"message": Message,
"request_enc": ""
}
5.2. MessageConnect
Attribute Name | Type | Option |
---|---|---|
message | MessageGeneric |
Pseudo-code:
{
"message": Message
}
5.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": []
}
5.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
}
5.5. SharedProcess
Attribute Name | Type | Option |
---|---|---|
process_list |
Vec<ItemProcess> |
Pseudo-code:
{
"process_list": []
}
5.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": []
}
6. 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,
}
7. 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": ""
}
7.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": ""
}
7.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": ""
}
7.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": ""
}
7.4. L2Certif
Attribute Name | Type | Option |
---|---|---|
l2_block_hash_list |
Vec<String> |
|
l1_tx |
String |
Yes |
Pseudo-code:
{
"l2_block_hash_list": [],
"l1_tx": ""
}
7.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": ""
}
8. 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": []
}
8.1. MetadataContractPublic
Attribute Name | Type | Option |
---|---|---|
meta_data |
MetaData |
Pseudo-code:
{
"meta_data": MetaData
}
8.2. MetadataPrivate
Attribute Name | Type | Option |
---|---|---|
meta_data |
MetaData |
Pseudo-code:
{
"meta_data": MetaData
}
8.3. MetadataRoleConfidential
Attribute Name | Type | Option |
---|---|---|
meta_data |
MetaData |
Pseudo-code:
{
"meta_data": MetaData
}
8.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": ""
}
8.5. Number
Attribute Name | Type | Option |
---|---|---|
fixed_state |
boolean |
|
number |
i32 |
|
number_unit |
String |
Pseudo-code:
{
"fixed_state": false,
"number": 0,
"number_unit": ""
}
9. 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": ""
}
10. RequestPcd
Attribute Name | Type | Option |
---|---|---|
request |
Request |
|
item_enc_list |
Vec< RequestPcdItemGenericEnc> |
|
pagination |
Pagination |
Yes |
Pseudo-code:
{
"request": Request,
"item_enc_list": [],
"pagination": {Pagination
}
10.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
}
10.2. RequestPcdItemGenericEnc
Attribute Name | Type | Option |
---|---|---|
version |
i64 |
|
item_type |
String |
|
name |
String |
|
request_pcd_item_enc_attribute_public_list |
Vec< RequestPcdItemEncAttributePublic> |
Yes |
request_pcd_item_enc_attribute_role_confidential_list |
Vec< RequestPcdItemEncAttributeRoleConfidential> |
Yes |
request_pcd_item_enc_attribute_private_list |
Vec< RequestPcdItemEncAttributePrivate> |
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": []
}
10.2.1. RequestPcdItemEncAttributePublic
Attribute Name | Type | Option |
---|---|---|
attribute_name |
String |
|
data_enc |
String |
Pseudo-code:
{
"attribute_name": "",
"data_enc": ""
}
10.2.2. RequestPcdItemEncAttributeRoleConfidential
Attribute Name | Type | Option |
---|---|---|
attribute_name |
String |
|
data_enc |
String |
Yes |
Pseudo-code:
{
"attribute_name": "",
"data_enc": ""
}
10.2.3. RequestPcdItemEncAttributePrivate
Attribute Name | Type | Option |
---|---|---|
attribute_name |
String |
|
data_enc |
String |
Yes |
Pseudo-code:
{
"attribute_name": "",
"data_enc": ""
}
11. RequestPrd
Attribute Name | Type | Option |
---|---|---|
request |
Request |
|
sig_value |
String |
|
request_pcd_reference_keys_role_confidential_list_enc_by_shared_secret |
Vec<String> |
|
request_pcd_origin_hash_keys_role_confidential_list_enc_by_shared_secret |
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 |
|
payment_method_enc_by_shared_secret |
String |
Yes |
deposit_method_enc_by_shared_secret |
String |
Yes |
commitment_method_enc_by_shared_secret |
String |
Yes |
payment_request_pcd_hash_list_enc_by_shared_secret |
Vec<String> |
Yes |
cap_request_pcd_hash_list_enc_by_shared_secret |
Vec<String> |
Yes |
deposit_request_pcd_hash_list_enc_by_shared_secret |
Vec<String> |
Yes |
commitment_request_pcd_hash_list_enc_by_shared_secret |
Vec<String> |
Yes |
ask_payment_method_enc_by_shared_secret |
String |
Yes |
ask_deposit_method_enc_by_shared_secret |
String |
Yes |
ask_commitment_method_enc_by_shared_secret |
String |
Yes |
certif_key_enc_by_shared_secret |
String |
Yes |
device_footprint_enc_by_sp_shared_secret |
String |
Pseudo-code:
{
"request": {},
"sig_value": "",
"request_pcd_reference_keys_role_confidential_list_enc_by_shared_secret": [],
"request_pcd_origin_hash_keys_role_confidential_list_enc_by_shared_secret": [],
"message_public": "",
"message_confidential": "",
"message_private": "",
"sp_address_to": "",
"sp_address_from": "",
"sp_address_reply": "",
"timestamp_declared": 0,
"role_name_from": "",
"role_name_to": "",
"payment_method_enc_by_shared_secret": "",
"deposit_method_enc_by_shared_secret": "",
"commitment_method_enc_by_shared_secret": "",
"payment_request_pcd_hash_list_enc_by_shared_secret": [],
"cap_request_pcd_hash_list_enc_by_shared_secret": [],
"deposit_request_pcd_hash_list_enc_by_shared_secret": [],
"commitment_request_pcd_hash_list_enc_by_shared_secret": [],
"ask_payment_method_enc_by_shared_secret": "",
"ask_deposit_method_enc_by_shared_secret": "",
"ask_commitment_method_enc_by_shared_secret": "",
"certif_key_enc_by_shared_secret": "",
"device_footprint_enc_by_sp_shared_secret": ""
}
11.1. RequestPrdList
Attribute Name | Type | Option |
---|---|---|
request_prd |
RequestPrd |
|
item_member_enc_by_sp_shared_secret |
String |
Yes |
pre_id_sp_enc_by_shared_secret |
string |
Yes |
Pseudo-code:
{
"request_prd": RequestPrd,
"item_member_enc_by_sp_shared_secret": "",
"pre_id_sp_enc_by_shared_secret": ""
}
11.2. RequestPrdUpdate
Attribute Name | Type | Option |
---|---|---|
request_prd |
RequestPrd |
Pseudo-code:
{
"request_prd": RequestPrd
}
11.3. RequestPrdResponse
Attribute Name | Type | Option |
---|---|---|
request_prd |
RequestPrd |
|
sig_value |
String |
|
shared_secret_key_enc_by_sp_shared_secret |
String |
Yes |
shard_enc_by_sp_shared_secret |
String |
Yes |
Pseudo-code:
{
"request_prd": RequestPrd,
"sig_value": "",
"shared_secret_key_enc_by_sp_shared_secret": "",
"shard_enc_by_sp_shared_secret": ""
}
11.4. RequestPrdConfirm
Attribute Name | Type | Option |
---|---|---|
request_prd |
RequestPrd |
|
code_confirm_enc_by_shared_secret |
String |
Yes |
Pseudo-code:
{
"request_prd": RequestPrd,
"code_confirm_enc_by_shared_secret": ""
}
11.5. RequestPrdMessage
Attribute Name | Type | Option |
---|---|---|
request_prd |
RequestPrd |
|
raw_transaction_list |
Vec<String> |
Yes |
Pseudo-code:
{
"request_prd": RequestPrd,
"raw_transaction_list": []
}
11.6. RequestPrdResponse
Attribute Name | Type | Option |
---|---|---|
request_prd |
RequestPrd |
|
sig_value |
String |
Pseudo-code:
{
"request_prd": RequestPrd,
"sig_value": ""
}
12. Roles
12.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_payment_list |
Vec<ConditionPayment> |
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_payment_list": [],
"condition_commitment_list": [],
"condition_attribute_encryption_list": [],
"condition_orchestration_list": [],
"role_succession": "",
"role_resolve": "",
"role_renew": ""
}
12.2. Conditions
12.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": ""
}
12.2.2. ConditionPayment
Attribute Name | Type | Option |
---|---|---|
request_prd_type |
String |
|
transaction_mode |
TransactionMode |
|
payment_proof_validation |
ConditionRequestPrdAddressSet |
|
condition_deposit_list |
Vec<ConditionDeposit> |
Yes |
Pseudo-code:
{
"request_prd_type": "",
"transaction_mode": TransactionMode,
"payment_proof_validation": ConditionRequestPrdAddressSet,
"condition_deposit_list": []
}
12.2.3. ConditionCommitment
Attribute Name | Type | Option |
---|---|---|
request_prd_type |
String |
|
transaction_mode |
TransactionMode |
|
payment_proof_validation |
ConditionRequestPrdAddressSet |
Pseudo-code:
{
"request_prd_type": "",
"transaction_mode": TransactionMode,
"payment_proof_validation": ConditionRequestPrdAddressSet
}
12.2.4. ConditionDeposit
Attribute Name | Type | Option |
---|---|---|
request_prd_type |
String |
|
transaction_mode |
TransactionMode |
|
payment_proof_validation |
ConditionRequestPrdAddressSet |
Pseudo-code:
{
"request_prd_type": "",
"transaction_mode": TransactionMode,
"payment_proof_validation": ConditionRequestPrdAddressSet
}
12.2.5. ConditionOrchestration
Attribute Name | Type | Option |
---|---|---|
request_prd_type |
String |
|
role_ok |
String |
|
role_ko |
String |
|
payment_proof_validation |
ConditionRequestPrdAddressSet |
Pseudo-code:
{
"request_prd_type": "",
"role_ok": "",
"role_ko": "",
"payment_proof_validation": ConditionRequestPrdAddressSet
}
12.2.6. ConditionCap
Attribute Name | Type | Option |
---|---|---|
request_prd_type |
String |
|
transaction_mode |
TransactionMode |
|
payment_proof_validation |
ConditionRequestPrdAddressSet |
Pseudo-code:
{
"request_prd_type": "",
"transaction_mode": "",
"payment_proof_validation": ConditionRequestPrdAddressSet
}
12.2.7. ConditionRequestPrdAddressSet
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
}
12.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
}
12.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": []
}
12.3.1. RoleArtefact
Attribute Name | Type | Option |
---|---|---|
item_name |
String |
|
role |
Role |
Pseudo-code:
{
"item_name": "Nom de l'élément",
"role": Role
}
12.3.2. RoleDeposit
Attribute Name | Type | Option |
---|---|---|
item_name |
String |
|
role |
Role |
|
Pseudo-code: |
{
"item_name": "Nom de l'élément",
"role": Role
}
12.3.3. RoleCommitment
Attribute Name | Type | Option |
---|---|---|
item_name |
String |
|
role |
Role |
Pseudo-code:
{
"item_name": "Nom de l'élément",
"role": Role
}
12.3.4. RoleMember
Attribute Name | Type | Option |
---|---|---|
item_name |
String |
|
role |
Role |
Pseudo-code:
{
"item_name": "Nom de l'élément",
"role": Role
}
12.4. RolePeer
Attribute Name | Type | Option |
---|---|---|
item_name |
String |
|
role |
Role |
Pseudo-code:
{
"item_name": "Nom de l'élément",
"role": Role
}
12.4.1. RolePayment
Attribute Name | Type | Option |
---|---|---|
item_name |
String |
|
role |
Role |
Pseudo-code:
{
"item_name": "Nom de l'élément",
"role": Role
}
12.4.2. RoleProcess
Attribute Name | Type | Option |
---|---|---|
item_name |
String |
|
role |
Role |
Pseudo-code:
{
"item_name": "Nom de l'élément",
"role": Role
}
13. Storage
13.1. StoragePublic
13.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": ""
}
13.1.2. StorageItemPeerPublic
Pseudo-code:
[
{
"hash": "",
"peer: ItemPeer
}
]
13.1.3. StorageItemProcessPublic
Pseudo-code:
[
{
"hash": "",
"process: ItemProcess
}
]
13.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"
}],
}
13.1.5. StorageRequestPcdPublic
Pseudo-code:
[
{
"hash": "",
"validation_status": "pending|ok|ko"
}
]
13.1.6. StorageRequestPrdPublic
4.6.1. StorageRequestPrdListPublic
Pseudo-code:
[
{
"hash": "",
"request_prd": RequestPrdList,
"validation_status": "pending|ok|ko"
}
]
4.6.2. StorageRequestPrdUpdatePublic
Pseudo-code:
[
{
"hash": "",
"request_prd": RequestPrdUpdate,
"validation_status": "pending|ok|ko"
}
]
4.6.3. StorageRequestPrdResponsePublic
Pseudo-code:
[
{
"hash": "",
"request_prd": RequestPrdResponse,
"validation_status": "pending|ok|ko"
}
]
4.6.4. StorageRequestPrdConfirmPublic
Pseudo-code:
[
{
"hash": "",
"request_prd": RequestPrdConfirm,
"validation_status": "pending|ok|ko"
]
4.6.5. StorageRequestPrdMessagePublic
Pseudo-code:
[
{
"hash": "",
"request_prd": RequestPrdMessage,
"validation_status": "pending|ok|ko"
}
]
13.2. StoragePrivate
13.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
}
13.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": "",
}
13.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": ""
}
13.2.4. StorageRequestPcdPrivate
Attribute Name | Type | Option |
---|---|---|
hash_public |
String |
|
pcd_aes_key_list_decrypted |
Vec<String> |
Pseudo-code:
[{
"hash_public": "",
"pcd_aes_key_list_decrypted": []
}]
13.2.5. StorageRequestPrdPrivate
5.5.1. StorageRequestPrdUpdatePrivate
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 |
|
payment_method_decrypted |
String |
|
deposit_method_decrypted |
String |
|
commitment_method_decrypted |
String |
|
payment_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_payment_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": "",
"payment_method_decrypted": "",
"deposit_method_decrypted": "",
"commitment_method_decrypted": "",
"payment_request_pcd_hash_list_decrypted": [],
"cap_request_pcd_hash_list_decrypted": [],
"deposit_request_pcd_hash_list_decrypted": [],
"commitment_request_pcd_hash_list_decrypted": [],
"ask_payment_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. StorageRequestPrdResponsePrivate
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 |
payment_method_decrypted |
String |
Yes |
deposit_method_decrypted |
String |
Yes |
commitment_method_decrypted |
String |
Yes |
payment_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_payment_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": "",
"payment_method_decrypted": "",
"deposit_method_decrypted": "",
"commitment_method_decrypted": "",
"payment_request_pcd_hash_list_decrypted": [],
"cap_request_pcd_hash_list_decrypted": [],
"deposit_request_pcd_hash_list_decrypted": [],
"commitment_request_pcd_hash_list_decrypted": [],
"ask_payment_method_[decrypted": "",
"ask_deposit_method_decrypted": "",
"ask_commitment_method_decrypted": "",
"certif_key_decrypted": "",
"device_footprint_decrypted": "",
"sig_value":"",
"shared_secret_key_decrypted": [],
"shard_decrypted":""
}
]
13.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. StorageRequestPrdConfirmPrivate
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 |
payment_method_decrypted |
String |
Yes |
deposit_method_decrypted |
String |
Yes |
commitment_method_decrypted |
String |
Yes |
payment_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_payment_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": "",
"payment_method_decrypted": "",
"deposit_method_decrypted": "",
"commitment_method_decrypted": "",
"payment_request_pcd_hash_list_decrypted": [],
"cap_request_pcd_hash_list_decrypted": [],
"deposit_request_pcd_hash_list_decrypted": [],
"commitment_request_pcd_hash_list_decrypted": [],
"ask_payment_method_decrypted": "",
"ask_deposit_method_decrypted": "",
"ask_commitment_method_decrypted": "",
"certif_key_decrypted": "",
"device_footprint_decrypted": "",
"code_confirm_decrypted": ""
}
]
5.5.4. StorageRequestPrdMessagePrivate
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 |
payment_method_decrypted |
String |
Yes |
deposit_method_decrypted |
String |
Yes |
commitment_method_decrypted |
String |
Yes |
payment_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_payment_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": "",
"payment_method_decrypted": "",
"deposit_method_decrypted": "",
"commitment_method_decrypted": "",
"payment_request_pcd_hash_list_decrypted": [],
"cap_request_pcd_hash_list_decrypted": [],
"deposit_request_pcd_hash_list_decrypted": [],
"commitment_request_pcd_hash_list_decrypted": [],
"ask_payment_method_[decrypted": "",
"ask_deposit_method_decrypted": "",
"ask_commitment_method_decrypted": "",
"certif_key_decrypted": "",
"device_footprint_decrypted": ""
}
]
13.2.7. StorageocketsPrivate
13.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"
}
}
]
14. 12. Rust considerations
14.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.
14.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.
14.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.
14.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.
14.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.
14.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)