Fix IA data models erros (doc)

This commit is contained in:
NicolasCantu 2024-03-07 16:15:09 +01:00
parent 9c6124c61b
commit 44ee03d1a2
2 changed files with 756 additions and 80 deletions

View File

@ -76,41 +76,44 @@ pseudo-code:
"faucet_sp_address": ""
},
"l1_node": {
"address_port": null,
"explorer_base_url": null,
"sp_address_anchorage": null,
"sp_address_reward": null
"address_port": "",
"explorer_base_url": "",
"sp_address_anchorage": "",
"sp_address_reward": ""
},
"l1_miner": {
"sp_address_minig_reward": null,
"block_mined_list": []
"sp_address_minig_reward": "",
"block_mined_list": [{
"block_hash_list": [""],
"certif_hash": [""],
"tx": ""
}]
},
"l2_node_list": [
{
"address_port": null,
"explorer_base_url": null,
"sp_address_anchorage": null,
"sp_address_reward": null,
"nbits": null,
"magic_number": null,
"challenge": null,
"address_port": 0,
"explorer_base_url": "",
"sp_address_anchorage": "",
"sp_address_reward": "",
"nbits": "",
"magic_number": "",
"challenge": "",
"l2_miner": {
"sp_address_minig_reward": null,
"sp_address_refunder": null,
"block_hash_mined_list": []
"sp_address_minig_reward": "",
"sp_address_refunder": "",
"block_hash_mined_list": [""]
},
"l2_certif": {
"sp_address_certif_l1": null,
"sp_address_refunded": null,
"block_certified_list": []
"sp_address_certif_l1": "",
"sp_address_refunded": "",
"block_certified_list": [{
"block_hash_list": [""],
"certif_hash": [""],
"tx": ""
}]
}
}
],
"block_certif": {
"block_hash_list": [],
"certif_hash": [],
"l1_tx": null
}
]
}
}
]
@ -118,8 +121,510 @@ pseudo-code:
### 4.3. <a name='Process'></a>Process
```json
[
{
"hash": "",
"item": {
"uuid": "",
"version": 0,
"item_type": "",
"pagination_number_per_request_pcd": 0,
"metadata_contract_public": {
"metadata": {
"tag_list": [
""
],
"zone_list": [
""
],
"label_list": [
""
],
"ref_list": [
""
],
"data_list": [
{}
],
"amount": {
"timestamp": 0,
"change_source_list": [
""
],
"amount_cent": 0,
"amount_unit": "",
"amount_unit_ref": ""
},
"number": {
"fixed_state": true,
"number": 0,
"number_unit": ""
},
"render_template_list": [
{}
],
"legal_text_list": [
""
],
"key_list": [
""
]
}
},
"metadata_role_confidential": {
"metadata": {
"tag_list": [
""
],
"zone_list": [
""
],
"label_list": [
""
],
"ref_list": [
""
],
"data_list": [
{}
],
"amount": {
"timestamp": 0,
"change_source_list": [
""
],
"amount_cent": 0,
"amount_unit": "",
"amount_unit_ref": ""
},
"number": {
"fixed_state": true,
"number": 0,
"number_unit": ""
},
"render_template_list": [
{}
],
"legal_text_list": [
""
],
"key_list": [
""
]
}
}
},
"item_process_public_attribute_group": {
"roles_group": {
"role_peer": {
"item_name": "",
"role": {
"item": {
"uuid": "",
"version": 0,
"item_type": "",
"pagination_number_per_request_pcd": 0,
"metadata_contract_public": {
"metadata": {
"tag_list": [
""
],
"zone_list": [
""
],
"label_list": [
""
],
"ref_list": [
""
],
"data_list": [
{}
],
"amount": {
"timestamp": 0,
"change_source_list": [
""
],
"amount_cent": 0,
"amount_unit": "",
"amount_unit_ref": ""
},
"number": {
"fixed_state": true,
"number": 0,
"number_unit": ""
},
"render_template_list": [
{}
],
"legal_text_list": [
""
],
"key_list": [
""
]
}
},
"metadata_role_confidential": {
"metadata": {
"tag_list": [
""
],
"zone_list": [
""
],
"label_list": [
""
],
"ref_list": [
""
],
"data_list": [
{}
],
"amount": {
"timestamp": 0,
"change_source_list": [
""
],
"amount_cent": 0,
"amount_unit": "",
"amount_unit_ref": ""
},
"number": {
"fixed_state": true,
"number": 0,
"number_unit": ""
},
"render_template_list": [
{}
],
"legal_text_list": [
""
],
"key_list": [
""
]
}
}
},
"sp_output_salt_enc": "",
"required_2fa": true,
"validation_timeout": 0,
"condition_prd_address_set_list": [
{
"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": true,
"request_prd_value_auto_ko": true,
"request_prd_value_auto_none": true,
"request_prd_sp_address_value_min": 0,
"request_prd_sp_address_value_min_ok": true,
"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": true,
"request_prd_sp_address_score_min_min_per": 0
}
],
"condition_publish": [
{
"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": {
"timestamp": 0,
"change_source_list": [
""
],
"amount_cent": 0,
"amount_unit": "",
"amount_unit_ref": ""
},
"request_prd_waiting_timeout": 0,
"request_pcd_waiting_timeout": 0
}
],
"condition_cap_list": [
{
"request_prd_type": "",
"transaction_mode": {
"value": {
"timestamp": 0,
"change_source_list": [
""
],
"amount_cent": 0,
"amount_unit": "",
"amount_unit_ref": ""
},
"hash_ok_list": [""],
"hash_ko_list": [""],
"hash_none_list": [""],
"from_list": [""],
"from_type": "",
"from_method": "",
"to_list": [""],
"to_type": "",
"to_method": ""
},
"payment_proof_validation": {
"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": true,
"request_prd_value_auto_ko": true,
"request_prd_value_auto_none": true,
"request_prd_sp_address_value_min": 0,
"request_prd_sp_address_value_min_ok": true,
"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": true,
"request_prd_sp_address_score_min_min_per": 0
}
}
],
"condition_payment_list": [
{
"request_prd_type": "",
"transaction_mode": {
"value": "",
"hash_ok_list": [""],
"hash_ko_list": [""],
"hash_none_list": [""],
"from_list": [""],
"from_type": "",
"from_method": "",
"to_list": [""],
"to_type": "",
"to_method": ""
},
"payment_proof_validation": {
"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": true,
"request_prd_value_auto_ko": true,
"request_prd_value_auto_none": true,
"request_prd_sp_address_value_min": 0,
"request_prd_sp_address_value_min_ok": true,
"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": true,
"request_prd_sp_address_score_min_min_per": 0
},
"condition_deposit_list": [{
"request_prd_type": "",
"transaction_mode": {
"value": "",
"hash_ok_list": [""],
"hash_ko_list": [""],
"hash_none_list": [""],
"from_list": [""],
"from_type": "",
"from_method": "",
"to_list": [""],
"to_type": "",
"to_method": ""
},
"payment_proof_validation": {
"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": true,
"request_prd_value_auto_ko": true,
"request_prd_value_auto_none": true,
"request_prd_sp_address_value_min": 0,
"request_prd_sp_address_value_min_ok": true,
"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": true,
"request_prd_sp_address_score_min_min_per": 0
}
}]
}
],
"condition_commitment_list": [
{
"request_prd_type": "",
"transaction_mode": {
"value": "",
"hash_ok_list": [""],
"hash_ko_list": [""],
"hash_none_list": [""],
"from_list": [""],
"from_type": "",
"from_method": "",
"to_list": [""],
"to_type": "",
"to_method": ""
},
"payment_proof_validation": {
"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": true,
"request_prd_value_auto_ko": true,
"request_prd_value_auto_none": true,
"request_prd_sp_address_value_min": 0,
"request_prd_sp_address_value_min_ok": true,
"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": true,
"request_prd_sp_address_score_min_min_per": 0
}
}
],
"condition_attribute_encryption_list": [
{
"payment_proof_validation": {
"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": true,
"request_prd_value_auto_ko": true,
"request_prd_value_auto_none": true,
"request_prd_sp_address_value_min": 0,
"request_prd_sp_address_value_min_ok": true,
"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": true,
"request_prd_sp_address_score_min_min_per": 0
}
}
],
"condition_orchestration": [
{
"request_prd_type": "",
"role_ok": "",
"role_ko": "",
"payment_proof_validation": {
"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": true,
"request_prd_value_auto_ko": true,
"request_prd_value_auto_none": true,
"request_prd_sp_address_value_min": 0,
"request_prd_sp_address_value_min_ok": true,
"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": true,
"request_prd_sp_address_score_min_min_per": 0
}
}
],
"role_succession": "",
"role_resolve": "",
"role_renew": ""
}
},
"role_member": {
"item_name": "",
"role": {}
},
"role_process": {
"item_name": "",
"role": {}
},
"role_artefact_list": [
{
"item_name": "",
"role": {}
}
]
}
}
}
]
```
### 4.4. <a name='Messages'></a>Messages
### 4.5. <a name='RequestPrd'></a>RequestPrd
### 4.6. <a name='RequestPcd'></a>RequestPcd
@ -154,8 +659,159 @@ pseudo-code:
### 5.2. <a name='Peers-1'></a>Peers
```json
[
{
"shared_peer": {
"domain": "",
"address_ip": "",
"relay": {
"faucet_tx_list": [""],
"spend_key": "",
"scan_key": ""
},
"l1_node": {
"reward_tx_list": [""],
"anchorage_tx_list": [""],
"spend_key": "",
"scan_key": ""
},
"l1_miner": {
"mining_reward_tx_list": [""],
"spend_key": "",
"scan_key": ""
},
"l2_node_list": [
{
"l2_miner": {
"mining_descriptor": "",
"minig_reward_tx_list": [""],
"refunder_tx_list": [""],
"spend_key": "",
"scan_key": ""
},
"l2_certif": {
"certif_l1_tx_list": [""],
"refunded_tx_list": [""],
"anchorage_tx_list": [""],
"spend_key": "",
"scan_key": "",
}
}
]
}
}
]
```
### 5.3. <a name='Process-1'></a>Process
```json
[
{
"hash": "",
"item": {
"metadata_private": {
"metadata": {
"tag_list": [
""
],
"zone_list": [
""
],
"label_list": [
""
],
"ref_list": [
""
],
"data_list": [
{}
],
"amount": {
"timestamp": 0,
"change_source_list": [
""
],
"amount_cent": 0,
"amount_unit": "",
"amount_unit_ref": ""
},
"number": {
"fixed_state": true,
"number": 0,
"number_unit": ""
},
"render_template_list": [
{}
],
"legal_text_list": [
""
],
"key_list": [
""
]
}
}
},
"item_process_public_attribute_group": {
"roles_group": {
"role_peer": {
"item_name": "",
"role": {
"item": {
"metadata_private": {
"metadata": {
"tag_list": [
""
],
"zone_list": [
""
],
"label_list": [
""
],
"ref_list": [
""
],
"data_list": [
{}
],
"amount": {
"timestamp": 0,
"change_source_list": [
""
],
"amount_cent": 0,
"amount_unit": "",
"amount_unit_ref": ""
},
"number": {
"fixed_state": true,
"number": 0,
"number_unit": ""
},
"render_template_list": [
{}
],
"legal_text_list": [
""
],
"key_list": [
""
]
}
}
}
}
}
}
}
}
]
```
### 5.4. <a name='Messages-1'></a>Messages
### 5.5. <a name='RequestPrd-1'></a>RequestPrd

View File

@ -75,7 +75,7 @@
* 12.2.4. [ConditionDeposit](#ConditionDeposit)
* 12.2.5. [ConditionOrchestration](#ConditionOrchestration)
* 12.2.6. [ConditionCap](#ConditionCap)
* 12.2.7. [Condition RequestPrdAddressSet](#ConditionRequestPrdAddressSet)
* 12.2.7. [ConditionRequestPrdAddressSet](#ConditionRequestPrdAddressSet)
* 12.2.8. [ConditionPublish](#ConditionPublish)
* 12.3. [RolesGroup](#RolesGroup)
* 12.3.1. [RoleArtefact](#RoleArtefact)
@ -489,28 +489,35 @@ The `Pow` struct outlines a Proof of Work challenge, including data hash, timest
Represents a `Relay` in the network, specifying its address and port, data handling capacity, and Proof of Work (PoW) requirements.
| Attribute Name | Type | Option | Description |
|---------------------|--------------|--------|-------------------------------------------------------------------|
| `address_port` | ```u16``` | | The port address of the relay. |
| `data_max_size` | ```usize``` | | Maximum size of data the relay can handle. |
| `pow_difficulty` | ```u32``` | | The difficulty level for the Proof of Work required by the relay. |
| `pow_pattern` | ```String``` | | The pattern used for the Proof of Work. |
| `pow_prefix` | ```String``` | | The prefix used for the Proof of Work. |
| `pow_timeout` | ```u32``` | | Timeout for pow |
| `faucet_sp_address` | ```u32``` | | Faucet address |
| Attribute Name | Type | Option | Description |
|---------------------|-------------------|--------|-------------------------------------------------------------------|
| `address_port` | ```u16``` | | The port address of the relay. |
| `data_max_size` | ```usize``` | | Maximum size of data the relay can handle. |
| `pow_difficulty` | ```u32``` | | The difficulty level for the Proof of Work required by the relay. |
| `pow_pattern` | ```String``` | | The pattern used for the Proof of Work. |
| `pow_prefix` | ```String``` | | The prefix used for the Proof of Work. |
| `pow_timeout` | ```u32``` | | Timeout for pow |
| `faucet_sp_address` | ```u32``` | | Faucet address |
| `faucet_tx_list` | ```Vec<String>``` | Yes | |
| `spend_key` | ```String``` | Yes | |
| `scan_key` | ```String``` | Yes | |
## 7. <a name='L1Node'></a>L1Node
The `L1Node` struct details a Level 1 blockchain node, including its network, IP address, and status, integral to blockchain operations and interactions.
| Attribute Name | Type | Option | Description |
|------------------------|----------------|--------|-------------------------------|
| `address_port` | ```u16``` | | The port address of the node. |
| `explorer_base_url` | ```String``` | | The base URL of the explorer. |
| `sp_address_anchorage` | ```String``` | | The SP anchorage address. |
| `sp_address_reward` | ```String``` | | The SP reward address. |
| `l2_mining` | ```L2Mining``` | Yes | |
| `l2_certif` | ```L2Certif``` | Yes | |
| Attribute Name | Type | Option | Description |
|------------------------|-------------------|--------|-------------------------------|
| `address_port` | ```u16``` | | The port address of the node. |
| `explorer_base_url` | ```String``` | | The base URL of the explorer. |
| `sp_address_anchorage` | ```String``` | | The SP anchorage address. |
| `sp_address_reward` | ```String``` | | The SP reward address. |
| `l2_mining` | ```L2Mining``` | Yes | |
| `l2_certif` | ```L2Certif``` | Yes | |
| `reward_tx_list` | ```Vec<String>``` | Yes | |
| `anchorage_tx_list` | ```Vec<String>``` | Yes | |
| `spend_key` | ```String``` | Yes | |
| `scan_key` | ```String``` | Yes | |
### 7.1. <a name='L1NodeMining'></a>L1NodeMining
@ -518,6 +525,9 @@ The `L1Node` struct details a Level 1 blockchain node, including its network, IP
|---------------------------|-------------------|--------|---------------------------|
| `sp_address_minig_reward` | ```string``` | | SP mining reward address. |
| `block_mined_list` | ```Vec<String>``` | | List of mined blocks. |
| `mining_reward_tx_list` | ```Vec<String>``` | Yes | |
| `spend_key` | ```String``` | Yes | |
| `scan_key` | ```String``` | Yes | |
### 7.2. <a name='L2Node'></a>L2Node
@ -540,6 +550,10 @@ This struct represents a Level 2 (Layer 2) blockchain node, focusing on scalabil
| `sp_address_minig_reward` | ```string``` | | SP mining reward address. |
| `sp_address_refunder` | ```string``` | | SP refunder address. |
| `block_hash_mined_list` | ```Vec<String>``` | | List of mined block hashes. |
| `minig_reward_tx_list` | ```Vec<String>``` | Yes | |
| `refunder_tx_list` | ```Vec<String>``` | Yes | |
| `spend_key` | ```String``` | Yes | |
| `scan_key` | ```String``` | Yes | |
### 7.4. <a name='L2Certif'></a>L2Certif
@ -550,6 +564,11 @@ This struct represents a Level 2 (Layer 2) blockchain node, focusing on scalabil
| `sp_address_certif_l1` | ```String``` | | Level 1 certification address. |
| `sp_address_refunded` | ```string``` | | Refunded address. |
| `block_certified_list` | ```Vec<BlockCertif>``` | | List of certified blocks. |
| `certif_l1_tx_list` | ```Vec<String>``` | Yes | |
| `refunded_tx_list` | ```Vec<String>``` | Yes | |
| `anchorage_tx_list` | ```Vec<String>``` | Yes | |
| `spend_key` | ```String``` | Yes | |
| `scan_key` | ```String``` | Yes | |
### 7.5. <a name='BlockCertif'></a>BlockCertif
@ -608,7 +627,7 @@ The `Amount` struct details financial amounts, including its timestamp, unit, an
|----------------------|-------------------|--------|----------------------------------------------------------------------------------|
| `timestamp` | ```u64``` | | A timestamp associated with the amount. |
| `change_source_list` | ```Vec<String>``` | | A list of sources for changes to the amount. |
| `amount_cent` | ```i64``` | | The amount in cents, allowing for precise financial transactions. |
| `amount_cent` | ```i64``` | | The amount, allowing for precise financial transactions. |
| `amount_unit` | ```String``` | | The unit of the amount, such as "USD", "EUR", etc. |
| `amount_unit_ref` | ```String``` | | A reference to an external unit system, providing context for the `amount_unit`. |
@ -809,16 +828,16 @@ The `Role` struct broadly defines a role within the system, encapsulating the ge
| Attribute Name | Type | Option | Description |
|---------------------------------------|-----------------------------------|--------|--------------------------------------------------------|
| `item` | ```Item``` | | The item associated with the role. |
| `sp_output_salt_enc` | ```string``` | | he salt encrypted for the hash in the sp outputs. |
| `sp_output_salt_enc` | ```string``` | Yes | he salt encrypted for the hash in the sp outputs. |
| `required_2fa` | ```bool``` | | Indicates if two-factor authentication is required. |
| `validation_timeout` | ```u64``` | Yes | The timeout for validation in seconds. |
| `condition_prd_address_set_list` | ```Vec<ConditionPrdAddressSet>``` | | A list of product address set conditions. |
| `condition_publish` | ```Vec<ConditionPublish>``` | Yes | The condition for publishing. |
| `condition_publish_list` | ```Vec<ConditionPublish>``` | Yes | The condition for publishing. |
| `condition_cap_list` | ```Vec<ConditionCap>``` | Yes | A list of capability conditions. |
| `condition_payment_list` | ```Vec<ConditionPayment>``` | Yes | A list of payment conditions. |
| `condition_commitment_list` | ```Vec<ConditionCommitment>``` | Yes | A list of commitment conditions. |
| `condition_attribute_encryption_list` | ```Vec<String>``` | | A list of attribute encryption conditions. |
| `condition_orchestration` | ```Vec<ConditionOrchestration>``` | Yes | The condition for orchestration. |
| `condition_orchestration_list` | ```Vec<ConditionOrchestration>``` | Yes | The condition for orchestration. |
| `role_succession` | ```String``` | Yes | Optional role for succession. |
| `role_resolve` | ```String``` | Yes | Optional role for resolving conflicts. |
| `role_renew` | ```String``` | Yes | Optional role for renewing conditions or capabilities. |
@ -846,54 +865,55 @@ The `Role` struct broadly defines a role within the system, encapsulating the ge
This struct outlines the conditions for payments, including the amount, payment method, and transaction mode, setting the parameters for financial transactions.
| Attribute Name | Type | Option | Description |
|----------------------------|----------------------------|--------|--------------------------------------------------------------------------------------------------|
| `request_prd_type` | ```String``` | | Type of prd request concerned by this conditions |
| `transaction_mode` | ```TransactionMode``` | | Specifies the transaction mode associated with this role. |
| `payment_proof_validation` | ```RequestPrdAddressSet``` | | Validation conditions + {sp_address_sender} and {sp_address_receiver} placehoders for Address SP |
| Attribute Name | Type | Option | Description |
|----------------------------|-------------------------------------|--------|--------------------------------------------------------------------------------------------------|
| `request_prd_type` | ```String``` | | Type of prd request concerned by this conditions |
| `transaction_mode` | ```TransactionMode``` | | Specifies the transaction mode associated with this role. |
| `payment_proof_validation` | ```ConditionRequestPrdAddressSet``` | | Validation conditions + {sp_address_sender} and {sp_address_receiver} placehoders for Address SP |
| `condition_deposit_list` | ```Vec<ConditionDeposit>``` | Yes | A list of deposit conditions. |
#### 12.2.3. <a name='ConditionCommitment'></a>ConditionCommitment
The `ConditionCommitment` struct specifies a condition involving an artefact role and transaction mode, defining how commitments are handled and verified.
| Attribute Name | Type | Option | Description |
|----------------------------|----------------------------|--------|--------------------------------------------------------------------------------------------------|
| `request_prd_type` | ```String``` | | Type of prd request concerned by this conditions |
| `transaction_mode` | ```TransactionMode``` | | Specifies the transaction mode associated with this role. |
| `payment_proof_validation` | ```RequestPrdAddressSet``` | | Validation conditions + {sp_address_sender} and {sp_address_receiver} placehoders for Address SP |
| Attribute Name | Type | Option | Description |
|----------------------------|-------------------------------------|--------|--------------------------------------------------------------------------------------------------|
| `request_prd_type` | ```String``` | | Type of prd request concerned by this conditions |
| `transaction_mode` | ```TransactionMode``` | | Specifies the transaction mode associated with this role. |
| `payment_proof_validation` | ```ConditionRequestPrdAddressSet``` | | Validation conditions + {sp_address_sender} and {sp_address_receiver} placehoders for Address SP |
#### 12.2.4. <a name='ConditionDeposit'></a>ConditionDeposit
`ConditionDeposit` is similar to ConditionCap but specifically focuses on deposit-related transactions, establishing the criteria for deposit actions.
| Attribute Name | Type | Option | Description |
|----------------------------|----------------------------|--------|--------------------------------------------------------------------------------------------------|
| `request_prd_type` | ```String``` | | Type of prd request concerned by this conditions |
| `transaction_mode` | ```TransactionMode``` | | Specifies the transaction mode associated with this role. |
| `payment_proof_validation` | ```RequestPrdAddressSet``` | | Validation conditions + {sp_address_sender} and {sp_address_receiver} placehoders for Address SP |
| Attribute Name | Type | Option | Description |
|----------------------------|-------------------------------------|--------|--------------------------------------------------------------------------------------------------|
| `request_prd_type` | ```String``` | | Type of prd request concerned by this conditions |
| `transaction_mode` | ```TransactionMode``` | | Specifies the transaction mode associated with this role. |
| `payment_proof_validation` | ```ConditionRequestPrdAddressSet``` | | Validation conditions + {sp_address_sender} and {sp_address_receiver} placehoders for Address SP |
#### 12.2.5. <a name='ConditionOrchestration'></a>ConditionOrchestration
`ConditionOrchestration` defines success and failure roles for orchestration conditions, guiding the flow of processes based on outcomes.
| Attribute Name | Type | Option | Description |
|----------------------------|----------------------------|--------|--------------------------------------------------------------------------------------------------|
| `request_prd_type` | ```String``` | | Type of prd request concerned by this conditions |
| `role_ok` | ```String``` | | Represents the successful outcome role in the condition. |
| `role_ko` | ```String``` | | Represents the failed outcome role in the condition. |
| `payment_proof_validation` | ```RequestPrdAddressSet``` | | Validation conditions + {sp_address_sender} and {sp_address_receiver} placehoders for Address SP |
| Attribute Name | Type | Option | Description |
|----------------------------|-------------------------------------|--------|--------------------------------------------------------------------------------------------------|
| `request_prd_type` | ```String``` | | Type of prd request concerned by this conditions |
| `role_ok` | ```String``` | | Represents the successful outcome role in the condition. |
| `role_ko` | ```String``` | | Represents the failed outcome role in the condition. |
| `payment_proof_validation` | ```ConditionRequestPrdAddressSet``` | | Validation conditions + {sp_address_sender} and {sp_address_receiver} placehoders for Address SP |
#### 12.2.6. <a name='ConditionCap'></a>ConditionCap
The `ConditionCap` struct represents a condition related to a deposit role and its associated transaction mode, indicating the requirements for transactions within this context.
| Attribute Name | Type | Option | Description |
|----------------------------|----------------------------|--------|--------------------------------------------------------------------------------------------------|
| `request_prd_type` | ```String``` | | Type of prd request concerned by this conditions |
| `transaction_mode` | ```TransactionMode``` | | Specifies the transaction mode associated with this role. |
| `payment_proof_validation` | ```RequestPrdAddressSet``` | | Validation conditions + {sp_address_sender} and {sp_address_receiver} placehoders for Address SP |
| Attribute Name | Type | Option | Description |
|----------------------------|-------------------------------------|--------|--------------------------------------------------------------------------------------------------|
| `request_prd_type` | ```String``` | | Type of prd request concerned by this conditions |
| `transaction_mode` | ```TransactionMode``` | | Specifies the transaction mode associated with this role. |
| `payment_proof_validation` | ```ConditionRequestPrdAddressSet``` | | Validation conditions + {sp_address_sender} and {sp_address_receiver} placehoders for Address SP |
#### 12.2.7. <a name='ConditionRequestPrdAddressSet'></a>Condition RequestPrdAddressSet
#### 12.2.7. <a name='ConditionRequestPrdAddressSet'></a>ConditionRequestPrdAddressSet
Condition `request_prdAddressSet` involves complex conditions based on RequestPrd addresses, including quotas, values, and scores, to determine condition fulfillment.
@ -942,12 +962,12 @@ Condition `request_prdAddressSet` involves complex conditions based on RequestPr
RolesGroup outlines a collection of roles.
| Attribute Name | Type | Option | Description |
|----------------------|-------------------|--------|---------------------------------------------------------------------------------------------------------------------------|
| `role_peer` | ```String``` | | Defines the role of peers in the network, responsible for facilitating communications and transactions. |
| `role_member` | ```String``` | | Specifies the role of members, or users, who actively participate in processes and interactions. |
| `role_process` | ```String``` | | Represents the entities charged with defining and managing processes within the system. |
| `role_artefact_list` | ```Vec<String>``` | | A list of artefact roles, allowing customization and extension of functionalities and interactions beyond standard roles. |
| Attribute Name | Type | Option | Description |
|----------------------|-------------------------|--------|---------------------------------------------------------------------------------------------------------------------------|
| `role_peer` | ```RolePeer``` | | Defines the role of peers in the network, responsible for facilitating communications and transactions. |
| `role_member` | ```RoleMember``` | | Specifies the role of members, or users, who actively participate in processes and interactions. |
| `role_process` | ```RoleProcess``` | | Represents the entities charged with defining and managing processes within the system. |
| `role_artefact_list` | ```Vec<RoleArtefact>``` | | A list of artefact roles, allowing customization and extension of functionalities and interactions beyond standard roles. |
#### 12.3.1. <a name='RoleArtefact'></a>RoleArtefact