86 KiB
Data model
1. Autheurs, validations, dates, versions, changement and historique
Cf. Git SDK COMMON
2. Table des matières
- 4.1. DepositMethod
- 4.2. commitMethod
- 4.3. PaymentsMethod
- 5.1. Item
- 5.2. Artefact
- 5.3. Member
- 5.3.1. MemberPublicAttributeGroup
- 5.3.2. MemberRoleConfidentialAttributeGroup
- 5.3.3. MemberRolePrivateAttributeGroup
- 5.4. Commit
- 5.4.1. CommitRoleConfidentialAttributeGroup
- 5.4.2. CommitPrivateAttributeGroup
- 5.5. Deposit
- 5.5.1. DepositPublicAttributeGroup
- 5.5.2. DepositRoleConfidentialAttributeGroup
- 5.5.3. DepositPrivateAttributeGroup
- 5.6. ItemEnum
- 5.7. Payments
- 5.7.1. PaymentsPublicAttributeGroup
- 5.7.2. PaymentsRoleConfidentialAttributeGroup
- 5.7.3. PaymentsPrivateAttributeGroup
- 5.8. Peer
- 5.8.1. PeerPublicAttributeGroup
- 5.8.2. PeerPrivateAttributeGroup
- 5.9. Process
- 5.9.1. ProcessPublicAttributeGroup
- 6.1. KeyEncryption
- 6.2. Aes256GcmIv96Bit
- 7.1. Message
- 7.2. MessageConnect
- 7.3. MessageGeneric
- 7.4. Pow
- 7.5. Process
- 7.6. Peer
- 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. Conditioncommit
- 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. Rolecommit
- 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. StoragePeerPublic
- 16.1.3. StorageProcessPublic
- 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. commitMethod
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. Artefact
Attribute Name | Type | Option |
---|---|---|
item |
Item |
|
public_attribute_group |
Vec<String> |
|
role_confidential_attribute_group |
Vec<String> |
|
private_attribute_group |
Vec<String> |
Pseudo-code:
{
"item": Item,
"public_attribute_group": [],
"role_confidential_attribute_group": [],
"private_attribute_group": []
}
5.3. Member
Attribute Name | Type | Option |
---|---|---|
item |
Item |
|
public_attribute_group |
MemberPublicAttributeGroup |
|
role_confidential_attribute_group |
MemberRoleConfidentialAttributeGroup |
|
private_attribute_group |
MemberPrivateAttributeGroup |
Pseudo-code:
{
"item": Item,
"public_attribute_group": MemberPublicAttributeGroup,
"role_confidential_attribute_group": MemberRoleConfidentialAttributeGroup,
"private_attribute_group": MemberPrivateAttributeGroup
}
5.3.1. MemberPublicAttributeGroup
Attribute Name | Type | Option |
---|---|---|
sp_address_public |
String |
|
sp_address_public_sig |
String |
|
sp_address_revoke_public |
String |
|
sp_address_revoke_public_sig |
String |
|
third_sp_address_list_public |
Vec<String> |
|
data_size_max |
i64 |
|
Payments_method_list_public |
Vec<String> |
|
succession_process_hash |
String |
|
device_footprint |
String |
Pseudo-code:
{
"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. MemberRoleConfidentialAttributeGroup
Attribute Name | Type | Option |
---|---|---|
shard_confidential |
String |
yes |
pre_id_confidential |
String |
yes |
Pseudo-code:
{
"shard_confidential": "",
"pre_id_confidential": ""
}
5.3.3. MemberRolePrivateAttributeGroup
Attribute Name | Type | Option |
---|---|---|
priv_key_mainnet_spend |
String |
yes |
priv_key_mainnet_scan |
String |
yes |
priv_key_signet_scan |
String |
yes |
Pseudo-code:
{
"priv_key_mainnet_spend": "",
"priv_key_mainnet_scan": "",
"priv_key_signet_scan": "",
}
5.4. Commit
Attribute Name | Type | Option |
---|---|---|
item |
Item |
|
public_attribute_group |
CommitPublicAttributeGroup |
|
role_confidential_attribute_group |
CommitRoleConfidentialAttributeGroup |
|
private_attribute_group |
CommitPrivateAttributeGroup |
Pseudo-code:
{
"item": Item,
"public_attribute_group": CommitPublicAttributeGroup,
"role_confidential_attribute_group": CommitRoleConfidentialAttributeGroup,
"private_attribute_group": CommitPrivateAttributeGroup
}
5.4.1. CommitRoleConfidentialAttributeGroup
Attribute Name | Type | Option |
---|---|---|
payload_list_confidential |
Vec<String> |
Pseudo-code:
{
"payload_list_confidential": []
}
5.4.2. CommitPrivateAttributeGroup
Attribute Name | Type | Option |
---|---|---|
payload_list_private |
Vec<String> |
Pseudo-code:
{
"payload_list_private": []
}
4.2.1. CommitPublicAttributeGroup
Attribute Name | Type | Option |
---|---|---|
for_sp_address_list |
Vec<String> |
|
goal_list |
Vec<String> |
|
provider_type |
String |
|
commit_request_pcd_hash_list |
Vec<String> |
|
ref_item_hash_list |
Vec<String> |
|
ref_request_pcd_hash_list |
Vec<String> |
|
payload_public_list |
Vec<String> |
Pseudo-code:
{
"for_sp_address_list": [],
"goal_list": [],
"provider_type": "",
"commit_request_pcd_hash_list": [],
"ref_item_hash_list": [],
"ref_request_pcd_hash_list": [],
"payload_public_list": []
}
5.5. Deposit
Attribute Name | Type | Option |
---|---|---|
item |
Item |
|
public_attribute_group |
DepositPublicAttributeGroup |
|
role_confidential_attribute_group |
DepositRoleConfidentialAttributeGroup |
|
private_attribute_group |
DepositPrivateAttributeGroup |
Pseudo-code:
{
"item": Item,
"public_attribute_group": DepositPublicAttributeGroup,
"role_confidential_attribute_group": DepositRoleConfidentialAttributeGroup,
"private_attribute_group": DepositPrivateAttributeGroup
}
5.5.1. DepositPublicAttributeGroup
Attribute Name | Type | Option |
---|---|---|
for_sp_address_list |
Vec<String> |
|
for_address_list |
Vec<String> |
|
goal_list |
Vec<String> |
|
provider_type |
String |
|
ref_item_hash_list |
Vec<String> |
|
ref_request_pcd_hash_list |
Vec<String> |
|
payload_list_public |
Vec<String> |
|
audit_code_list_public |
Vec<String> |
Pseudo-code:
{
"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. DepositRoleConfidentialAttributeGroup
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. DepositPrivateAttributeGroup
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(Process)
: Contains an item of type Process, representing a process.Peer(Peer)
: Contains an item of type Peer, representing a peer.Member(Member)
: Contains an item of type Member, representing a member.Payments(Payments)
: Contains an item of type Payments, representing a Payments.Deposit(Deposit)
: Contains an item of type Deposit, representing a deposit.Artefact(Artefact)
: Contains an item of type Artefact, representing an artefact.commit(Commit)
: Contains an item of type Commit, representing a commit.
5.7. Payments
Attribute Name | Type | Option |
---|---|---|
item |
Item |
|
public_attribute_group |
PaymentsPublicAttributeGroup |
|
role_confidential_attribute_group |
PaymentsRoleConfidentialAttributeGroup |
|
private_attribute_group |
PaymentsPrivateAttributeGroup |
Pseudo-code:
{
"item": Item,
"public_attribute_group": PaymentsPublicAttributeGroup,
"role_confidential_attribute_group": PaymentsRoleConfidentialAttributeGroup,
"private_attribute_group": PaymentsPrivateAttributeGroup
}
5.7.1. PaymentsPublicAttributeGroup
Attribute Name | Type | Option |
---|---|---|
for_sp_address_list |
Vec<String> |
|
goal_list |
Vec<String> |
|
provider_type |
String |
|
commit_request_pcd_hash_list |
Vec<String> |
|
order_request_pcd_hash_list |
Vec<String> |
|
invoice_request_pcd_hash_list |
Vec<String> |
|
pay_request_pcd_hash_list |
Vec<String> |
|
ref_item_hash_list |
Vec<String> |
|
ref_request_pcd_hash_list |
Vec<String> |
|
payload_list_public |
Vec<String> |
|
audit_code_list_public |
Vec<String> |
Pseudo-code:
5.7.2. PaymentsRoleConfidentialAttributeGroup
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": "",
"commit_request_pcd_hash_list": [],
"order_request_pcd_hash_list": [],
"invoice_request_pcd_hash_list": [],
"pay_request_pcd_hash_list": [],
"ref_item_hash_list": [],
"ref_request_pcd_hash_list": [],
"payload_list_public": [],
"audit_code_list_public": []
}
5.7.3. PaymentsPrivateAttributeGroup
Attribute Name | Type | Option |
---|---|---|
payload_list_private |
Vec<String> |
|
audit_code_private |
String |
Pseudo-code:
{
"payload_list_private": [],
"audit_code_private": ""
}
5.8. Peer
Attribute Name | Type | Option |
---|---|---|
item |
Item |
|
layer_list |
Vec<String> |
|
public_attribute_group |
PeerPublicAttributeGroup |
|
private_attribute_group |
PeerPrivateAttributeGroup |
Pseudo-code:
{
"item": Item,
"layer_list": [],
"public_attribute_group": PeerPublicAttributeGroup,
"private_attribute_group": PeerPrivateAttributeGroup
}
5.8.1. PeerPublicAttributeGroup
Attribute Name | Type | Option |
---|---|---|
sp_address |
String |
|
domain |
String |
|
ip_address |
String |
|
pow_difficulty |
u32 |
|
pow_pattern |
String |
|
pow_prefix |
String |
|
data_size_max |
i64 |
|
timestamp_delay_max |
u64 |
|
daily_hash_list |
Vec<String> |
|
daily_sp_tx_mine_list |
Vec<String> |
|
daily_sp_tx_mine_reward_list |
Vec<String> |
|
tx_by_blocs_list |
Vec<Bloc> |
Pseudo-code:
{
"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. PeerPrivateAttributeGroup
Attribute Name | Type | Option |
---|---|---|
config |
String |
Pseudo-code:
{
"config": ""
}
5.9. Process
Attribute Name | Type | Option |
---|---|---|
item |
Item |
|
item_process_public_attribute_group |
ProcessPublicAttributeGroup |
Pseudo-code:
{
"item": {},
"item_process_public_attribute_group": ProcessPublicAttributeGroup
}
5.9.1. ProcessPublicAttributeGroup
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<Peer> |
|
shared_process_list |
Vec<Process> |
|
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. Process
Attribute Name | Type | Option |
---|---|---|
process_list |
Vec<Process> |
Pseudo-code:
{
"process_list": []
}
7.6. Peer
Attribute Name | Type | Option |
---|---|---|
domain |
String |
Yes |
address_ip |
String |
|
relay |
Relay |
|
l1_node |
L1Node |
Yes |
l1_miner |
L1Miner |
Yes |
l2_node_list |
[L2Node] |
Pseudo-code:
{
"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 |
commit_method_confidential |
String |
Yes |
Payments_request_pcd_hash_list_confidential |
Vec<String> |
Yes |
cap_request_pcd_hash_list_confidential |
Vec<String> |
Yes |
deposit_request_pcd_hash_list_confidential |
Vec<String> |
Yes |
commit_request_pcd_hash_list_confidential |
Vec<String> |
Yes |
ask_Payments_method_confidential |
String |
Yes |
ask_deposit_method_confidential |
String |
Yes |
ask_commit_method_confidential |
String |
Yes |
certif_key_confidential |
String |
Yes |
device_footprint_enc_by_sp_shared_secret |
String |
Pseudo-code:
{
"request": {},
"sig_value": "",
"request_pcd_reference_keys_role_confidential_list_confidential": [],
"request_pcd_origin_hash_keys_role_confidential_list_confidential": [],
"message_public": "",
"message_confidential": "",
"message_private": "",
"sp_address_to": "",
"sp_address_from": "",
"sp_address_reply": "",
"timestamp_declared": 0,
"role_name_from": "",
"role_name_to": "",
"Payments_method_confidential": "",
"deposit_method_confidential": "",
"commit_method_confidential": "",
"Payments_request_pcd_hash_list_confidential": [],
"cap_request_pcd_hash_list_confidential": [],
"deposit_request_pcd_hash_list_confidential": [],
"commit_request_pcd_hash_list_confidential": [],
"ask_Payments_method_confidential": "",
"ask_deposit_method_confidential": "",
"ask_commit_method_confidential": "",
"certif_key_confidential": "",
"device_footprint_enc_by_sp_shared_secret": ""
}
13.1. 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_commit_list |
Vec<Conditioncommit> |
Yes |
condition_attribute_encryption_list |
Vec<String> |
|
condition_orchestration_list |
Vec<ConditionOrchestration> |
Yes |
role_succession |
String |
Yes |
role_resolve |
String |
Yes |
role_renew |
String |
Yes |
Pseudo-code:
{
"item": Item,
"sp_output_salt_enc": "",
"required_2fa": false,
"validation_timeout": 0,
"condition_prd_address_set_list": [],
"condition_publish_list": [],
"condition_cap_list": [],
"condition_Payments_list": [],
"condition_commit_list": [],
"condition_attribute_encryption_list": [],
"condition_orchestration_list": [],
"role_succession": "",
"role_resolve": "",
"role_renew": ""
}
14.2. 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. Conditioncommit
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. Rolecommit
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. StoragePeerPublic
Pseudo-code:
[
{
"hash": "",
"peer: Peer
}
]
16.1.3. StorageProcessPublic
Pseudo-code:
[
{
"hash": "",
"process: Process
}
]
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 |
StoragePeerPrivate |
Pseudo-code:
[
{
"hash_public": "",
"shared_peer": StoragePeerPrivate
}
]
StoragePeerPrivate
Attribute Name | Type | Option |
---|---|---|
domain |
String |
|
address_ip |
String |
|
relay |
StorageRelayPrivate |
Yes |
l1_node |
StorageL1NodePrivate |
Yes |
l1_miner |
StorageL1MinerPrivate |
Yes |
l2_node_list |
Vec<StorageL2NodePrivate> |
Pseudo-code:
{
"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 |
Process |
Private:
Attribute Name | Type | Option |
---|---|---|
hash_public |
String |
|
confidential_key |
String |
|
metadata_role_confidentiel_keys |
MetadataRoleConfidentielKeys |
Pseudo-code:
{
"private": [
{
"hash": "",
"confidential_key": "",
"item": Process
}
],
"public": [{
"hash_public": "",
"confidential_key": "",
"metadata_role_confidentiel_keys": MetadataRoleConfidentielKeys
}]
}
MetadataRoleConfidentielKeys
Attribute Name | Type | Option |
---|---|---|
tag_list_keys |
String |
|
zone_list_keys |
String |
|
label_lis_keys |
String |
|
ref_list_keys |
String |
|
data_list_keys |
String |
|
amount_keys |
String |
|
number_keys |
String |
|
render_template_list_keys |
String |
|
legal_text_list_keys |
String |
|
key_list_keys |
String |
Pseudo-code:
{
"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 |
|
commit_method_decrypted |
String |
|
Payments_request_pcd_hash_list_decrypted |
Vec<String> |
|
cap_request_pcd_hash_list_decrypted |
Vec<String> |
|
deposit_request_pcd_hash_list_decrypted |
Vec<String> |
|
commit_request_pcd_hash_list_decrypted |
Vec<String> |
|
ask_Payments_method_[decrypted |
String |
|
ask_deposit_method_decrypted |
String |
|
ask_commit_method_decrypted |
String |
|
certif_key_decrypted |
String |
|
device_footprint_decrypted |
String |
|
item_member_decrypted |
String |
|
pre_id_sp_decrypted |
String |
Pseudo-code:
[
{
"hash_public": "",
"sig_value": "",
"request_pcd_reference_keys_role_confidential_list_decrypted": "",
"request_pcd_origin_hash_keys_role_confidential_listdecrypted": "",
"message_public_decrypted": "",
"message_confidential_decrypted": "",
"message_private_decrypted": "",
"Payments_method_decrypted": "",
"deposit_method_decrypted": "",
"commit_method_decrypted": "",
"Payments_request_pcd_hash_list_decrypted": [],
"cap_request_pcd_hash_list_decrypted": [],
"deposit_request_pcd_hash_list_decrypted": [],
"commit_request_pcd_hash_list_decrypted": [],
"ask_Payments_method_[decrypted": "",
"ask_deposit_method_decrypted": "",
"ask_commit_method_decrypted": "",
"certif_key_decrypted": "",
"device_footprint_decrypted": "",
"item_member_decrypted": "",
"pre_id_sp_decrypted": ""
}
]
5.5.2. StoragePrdResponsePrivate
Attribute Name | Type | Option |
---|---|---|
hash_public |
String |
|
sig_value |
String |
Yes |
request_pcd_reference_keys_role_confidential_list_decrypted |
String |
Yes |
request_pcd_origin_hash_keys_role_confidential_listdecrypted |
String |
Yes |
message_public_decrypted |
String |
Yes |
message_confidential_decrypted |
String |
Yes |
message_private_decrypted |
String |
Yes |
Payments_method_decrypted |
String |
Yes |
deposit_method_decrypted |
String |
Yes |
commit_method_decrypted |
String |
Yes |
Payments_request_pcd_hash_list_decrypted |
Vec<String> |
Yes |
cap_request_pcd_hash_list_decrypted |
Vec<String> |
Yes |
deposit_request_pcd_hash_list_decrypted |
Vec<String> |
Yes |
commit_request_pcd_hash_list_decrypted |
Vec<String> |
Yes |
ask_Payments_method_[decrypted |
String |
Yes |
ask_deposit_method_decrypted |
String |
Yes |
ask_commit_method_decrypted |
String |
Yes |
certif_key_decrypted |
String |
Yes |
device_footprint_decrypted |
String |
Yes |
shared_secret_key_decrypted |
Vec<StorageDecryptedSharedSecretKeyPrivate> |
|
shard_decrypted |
String |
Yes |
Pseudo-code:
[
{
"hash_public": "",
"sig_value": "",
"request_pcd_reference_keys_role_confidential_list_decrypted": "",
"request_pcd_origin_hash_keys_role_confidential_listdecrypted": "",
"message_public_decrypted": "",
"message_confidential_decrypted": "",
"message_private_decrypted": "",
"Payments_method_decrypted": "",
"deposit_method_decrypted": "",
"commit_method_decrypted": "",
"Payments_request_pcd_hash_list_decrypted": [],
"cap_request_pcd_hash_list_decrypted": [],
"deposit_request_pcd_hash_list_decrypted": [],
"commit_request_pcd_hash_list_decrypted": [],
"ask_Payments_method_[decrypted": "",
"ask_deposit_method_decrypted": "",
"ask_commit_method_decrypted": "",
"certif_key_decrypted": "",
"device_footprint_decrypted": "",
"sig_value":"",
"shared_secret_key_decrypted": [],
"shard_decrypted":""
}
]
16.2.6. 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 |
commit_method_decrypted |
String |
Yes |
Payments_request_pcd_hash_list_decrypted |
Vec<String> |
Yes |
cap_request_pcd_hash_list_decrypted |
Vec<String> |
Yes |
deposit_request_pcd_hash_list_decrypted |
Vec<String> |
Yes |
commit_request_pcd_hash_list_decrypted |
Vec<String> |
Yes |
ask_Payments_method_[decrypted |
String |
Yes |
ask_deposit_method_decrypted |
String |
Yes |
ask_commit_method_decrypted |
String |
Yes |
certif_key_decrypted |
String |
Yes |
device_footprint_decrypted |
String |
Yes |
code_confirm_decrypted |
String |
Yes |
Pseudo-code:
[
{
"hash_public": "",
"sig_value": "",
"request_pcd_reference_keys_role_confidential_list_decrypted": "",
"request_pcd_origin_hash_keys_role_confidential_listdecrypted": "",
"message_public_decrypted": "",
"message_confidential_decrypted": "",
"message_private_decrypted": "",
"Payments_method_decrypted": "",
"deposit_method_decrypted": "",
"commit_method_decrypted": "",
"Payments_request_pcd_hash_list_decrypted": [],
"cap_request_pcd_hash_list_decrypted": [],
"deposit_request_pcd_hash_list_decrypted": [],
"commit_request_pcd_hash_list_decrypted": [],
"ask_Payments_method_decrypted": "",
"ask_deposit_method_decrypted": "",
"ask_commit_method_decrypted": "",
"certif_key_decrypted": "",
"device_footprint_decrypted": "",
"code_confirm_decrypted": ""
}
]
5.5.4. StoragePrdMessagePrivate
Attribute Name | Type | Option |
---|---|---|
hash_public |
String |
|
sig_value |
String |
Yes |
request_pcd_reference_keys_role_confidential_list_decrypted |
String |
Yes |
request_pcd_origin_hash_keys_role_confidential_listdecrypted |
String |
Yes |
message_public_decrypted |
String |
Yes |
message_confidential_decrypted |
String |
Yes |
message_private_decrypted |
String |
Yes |
Payments_method_decrypted |
String |
Yes |
deposit_method_decrypted |
String |
Yes |
commit_method_decrypted |
String |
Yes |
Payments_request_pcd_hash_list_decrypted |
Vec<String> |
Yes |
cap_request_pcd_hash_list_decrypted |
Vec<String> |
Yes |
deposit_request_pcd_hash_list_decrypted |
Vec<String> |
Yes |
commit_request_pcd_hash_list_decrypted |
Vec<String> |
Yes |
ask_Payments_method_[decrypted |
String |
Yes |
ask_deposit_method_decrypted |
String |
Yes |
ask_commit_method_decrypted |
String |
Yes |
certif_key_decrypted |
String |
Yes |
device_footprint_decrypted |
String |
Yes |
Pseudo-code:
[
{
"hash_public": "",
"sig_value": "",
"request_pcd_reference_keys_role_confidential_list_decrypted": "",
"request_pcd_origin_hash_keys_role_confidential_listdecrypted": "",
"message_public_decrypted": "",
"message_confidential_decrypted": "",
"message_private_decrypted": "",
"Payments_method_decrypted": "",
"deposit_method_decrypted": "",
"commit_method_decrypted": "",
"Payments_request_pcd_hash_list_decrypted": [],
"cap_request_pcd_hash_list_decrypted": [],
"deposit_request_pcd_hash_list_decrypted": [],
"commit_request_pcd_hash_list_decrypted": [],
"ask_Payments_method_[decrypted": "",
"ask_deposit_method_decrypted": "",
"ask_commit_method_decrypted": "",
"certif_key_decrypted": "",
"device_footprint_decrypted": ""
}
]
16.2.7. 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)