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": "" "faucet_sp_address": ""
}, },
"l1_node": { "l1_node": {
"address_port": null, "address_port": "",
"explorer_base_url": null, "explorer_base_url": "",
"sp_address_anchorage": null, "sp_address_anchorage": "",
"sp_address_reward": null "sp_address_reward": ""
}, },
"l1_miner": { "l1_miner": {
"sp_address_minig_reward": null, "sp_address_minig_reward": "",
"block_mined_list": [] "block_mined_list": [{
"block_hash_list": [""],
"certif_hash": [""],
"tx": ""
}]
}, },
"l2_node_list": [ "l2_node_list": [
{ {
"address_port": null, "address_port": 0,
"explorer_base_url": null, "explorer_base_url": "",
"sp_address_anchorage": null, "sp_address_anchorage": "",
"sp_address_reward": null, "sp_address_reward": "",
"nbits": null, "nbits": "",
"magic_number": null, "magic_number": "",
"challenge": null, "challenge": "",
"l2_miner": { "l2_miner": {
"sp_address_minig_reward": null, "sp_address_minig_reward": "",
"sp_address_refunder": null, "sp_address_refunder": "",
"block_hash_mined_list": [] "block_hash_mined_list": [""]
}, },
"l2_certif": { "l2_certif": {
"sp_address_certif_l1": null, "sp_address_certif_l1": "",
"sp_address_refunded": null, "sp_address_refunded": "",
"block_certified_list": [] "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 ### 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.4. <a name='Messages'></a>Messages
### 4.5. <a name='RequestPrd'></a>RequestPrd ### 4.5. <a name='RequestPrd'></a>RequestPrd
### 4.6. <a name='RequestPcd'></a>RequestPcd ### 4.6. <a name='RequestPcd'></a>RequestPcd
@ -154,8 +659,159 @@ pseudo-code:
### 5.2. <a name='Peers-1'></a>Peers ### 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 ### 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.4. <a name='Messages-1'></a>Messages
### 5.5. <a name='RequestPrd-1'></a>RequestPrd ### 5.5. <a name='RequestPrd-1'></a>RequestPrd

View File

@ -75,7 +75,7 @@
* 12.2.4. [ConditionDeposit](#ConditionDeposit) * 12.2.4. [ConditionDeposit](#ConditionDeposit)
* 12.2.5. [ConditionOrchestration](#ConditionOrchestration) * 12.2.5. [ConditionOrchestration](#ConditionOrchestration)
* 12.2.6. [ConditionCap](#ConditionCap) * 12.2.6. [ConditionCap](#ConditionCap)
* 12.2.7. [Condition RequestPrdAddressSet](#ConditionRequestPrdAddressSet) * 12.2.7. [ConditionRequestPrdAddressSet](#ConditionRequestPrdAddressSet)
* 12.2.8. [ConditionPublish](#ConditionPublish) * 12.2.8. [ConditionPublish](#ConditionPublish)
* 12.3. [RolesGroup](#RolesGroup) * 12.3. [RolesGroup](#RolesGroup)
* 12.3.1. [RoleArtefact](#RoleArtefact) * 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. 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 | | Attribute Name | Type | Option | Description |
|---------------------|--------------|--------|-------------------------------------------------------------------| |---------------------|-------------------|--------|-------------------------------------------------------------------|
| `address_port` | ```u16``` | | The port address of the relay. | | `address_port` | ```u16``` | | The port address of the relay. |
| `data_max_size` | ```usize``` | | Maximum size of data the relay can handle. | | `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_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_pattern` | ```String``` | | The pattern used for the Proof of Work. |
| `pow_prefix` | ```String``` | | The prefix used for the Proof of Work. | | `pow_prefix` | ```String``` | | The prefix used for the Proof of Work. |
| `pow_timeout` | ```u32``` | | Timeout for pow | | `pow_timeout` | ```u32``` | | Timeout for pow |
| `faucet_sp_address` | ```u32``` | | Faucet address | | `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 ## 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. 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 | | Attribute Name | Type | Option | Description |
|------------------------|----------------|--------|-------------------------------| |------------------------|-------------------|--------|-------------------------------|
| `address_port` | ```u16``` | | The port address of the node. | | `address_port` | ```u16``` | | The port address of the node. |
| `explorer_base_url` | ```String``` | | The base URL of the explorer. | | `explorer_base_url` | ```String``` | | The base URL of the explorer. |
| `sp_address_anchorage` | ```String``` | | The SP anchorage address. | | `sp_address_anchorage` | ```String``` | | The SP anchorage address. |
| `sp_address_reward` | ```String``` | | The SP reward address. | | `sp_address_reward` | ```String``` | | The SP reward address. |
| `l2_mining` | ```L2Mining``` | Yes | | | `l2_mining` | ```L2Mining``` | Yes | |
| `l2_certif` | ```L2Certif``` | 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 ### 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. | | `sp_address_minig_reward` | ```string``` | | SP mining reward address. |
| `block_mined_list` | ```Vec<String>``` | | List of mined blocks. | | `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 ### 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_minig_reward` | ```string``` | | SP mining reward address. |
| `sp_address_refunder` | ```string``` | | SP refunder address. | | `sp_address_refunder` | ```string``` | | SP refunder address. |
| `block_hash_mined_list` | ```Vec<String>``` | | List of mined block hashes. | | `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 ### 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_certif_l1` | ```String``` | | Level 1 certification address. |
| `sp_address_refunded` | ```string``` | | Refunded address. | | `sp_address_refunded` | ```string``` | | Refunded address. |
| `block_certified_list` | ```Vec<BlockCertif>``` | | List of certified blocks. | | `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 ### 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. | | `timestamp` | ```u64``` | | A timestamp associated with the amount. |
| `change_source_list` | ```Vec<String>``` | | A list of sources for changes to 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` | ```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`. | | `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 | | Attribute Name | Type | Option | Description |
|---------------------------------------|-----------------------------------|--------|--------------------------------------------------------| |---------------------------------------|-----------------------------------|--------|--------------------------------------------------------|
| `item` | ```Item``` | | The item associated with the role. | | `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. | | `required_2fa` | ```bool``` | | Indicates if two-factor authentication is required. |
| `validation_timeout` | ```u64``` | Yes | The timeout for validation in seconds. | | `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_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_cap_list` | ```Vec<ConditionCap>``` | Yes | A list of capability conditions. |
| `condition_payment_list` | ```Vec<ConditionPayment>``` | Yes | A list of payment conditions. | | `condition_payment_list` | ```Vec<ConditionPayment>``` | Yes | A list of payment conditions. |
| `condition_commitment_list` | ```Vec<ConditionCommitment>``` | Yes | A list of commitment 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_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_succession` | ```String``` | Yes | Optional role for succession. |
| `role_resolve` | ```String``` | Yes | Optional role for resolving conflicts. | | `role_resolve` | ```String``` | Yes | Optional role for resolving conflicts. |
| `role_renew` | ```String``` | Yes | Optional role for renewing conditions or capabilities. | | `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. 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 | | Attribute Name | Type | Option | Description |
|----------------------------|----------------------------|--------|--------------------------------------------------------------------------------------------------| |----------------------------|-------------------------------------|--------|--------------------------------------------------------------------------------------------------|
| `request_prd_type` | ```String``` | | Type of prd request concerned by this conditions | | `request_prd_type` | ```String``` | | Type of prd request concerned by this conditions |
| `transaction_mode` | ```TransactionMode``` | | Specifies the transaction mode associated with this role. | | `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 | | `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 #### 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. 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 | | Attribute Name | Type | Option | Description |
|----------------------------|----------------------------|--------|--------------------------------------------------------------------------------------------------| |----------------------------|-------------------------------------|--------|--------------------------------------------------------------------------------------------------|
| `request_prd_type` | ```String``` | | Type of prd request concerned by this conditions | | `request_prd_type` | ```String``` | | Type of prd request concerned by this conditions |
| `transaction_mode` | ```TransactionMode``` | | Specifies the transaction mode associated with this role. | | `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 | | `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 #### 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. `ConditionDeposit` is similar to ConditionCap but specifically focuses on deposit-related transactions, establishing the criteria for deposit actions.
| Attribute Name | Type | Option | Description | | Attribute Name | Type | Option | Description |
|----------------------------|----------------------------|--------|--------------------------------------------------------------------------------------------------| |----------------------------|-------------------------------------|--------|--------------------------------------------------------------------------------------------------|
| `request_prd_type` | ```String``` | | Type of prd request concerned by this conditions | | `request_prd_type` | ```String``` | | Type of prd request concerned by this conditions |
| `transaction_mode` | ```TransactionMode``` | | Specifies the transaction mode associated with this role. | | `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 | | `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 #### 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. `ConditionOrchestration` defines success and failure roles for orchestration conditions, guiding the flow of processes based on outcomes.
| Attribute Name | Type | Option | Description | | Attribute Name | Type | Option | Description |
|----------------------------|----------------------------|--------|--------------------------------------------------------------------------------------------------| |----------------------------|-------------------------------------|--------|--------------------------------------------------------------------------------------------------|
| `request_prd_type` | ```String``` | | Type of prd request concerned by this conditions | | `request_prd_type` | ```String``` | | Type of prd request concerned by this conditions |
| `role_ok` | ```String``` | | Represents the successful outcome role in the condition. | | `role_ok` | ```String``` | | Represents the successful outcome role in the condition. |
| `role_ko` | ```String``` | | Represents the failed 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 | | `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 #### 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. 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 | | Attribute Name | Type | Option | Description |
|----------------------------|----------------------------|--------|--------------------------------------------------------------------------------------------------| |----------------------------|-------------------------------------|--------|--------------------------------------------------------------------------------------------------|
| `request_prd_type` | ```String``` | | Type of prd request concerned by this conditions | | `request_prd_type` | ```String``` | | Type of prd request concerned by this conditions |
| `transaction_mode` | ```TransactionMode``` | | Specifies the transaction mode associated with this role. | | `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 | | `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. 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. RolesGroup outlines a collection of roles.
| Attribute Name | Type | Option | Description | | Attribute Name | Type | Option | Description |
|----------------------|-------------------|--------|---------------------------------------------------------------------------------------------------------------------------| |----------------------|-------------------------|--------|---------------------------------------------------------------------------------------------------------------------------|
| `role_peer` | ```String``` | | Defines the role of peers in the network, responsible for facilitating communications and transactions. | | `role_peer` | ```RolePeer``` | | 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_member` | ```RoleMember``` | | 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_process` | ```RoleProcess``` | | 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. | | `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 #### 12.3.1. <a name='RoleArtefact'></a>RoleArtefact