diff --git a/doc/Data-Specs.md b/doc/Data-Specs.md index 69e8195..3338472 100644 --- a/doc/Data-Specs.md +++ b/doc/Data-Specs.md @@ -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. 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. Messages + + ### 4.5. RequestPrd ### 4.6. RequestPcd @@ -154,8 +659,159 @@ pseudo-code: ### 5.2. 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. 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. Messages ### 5.5. RequestPrd diff --git a/doc/Specs-Datamodel.md b/doc/Specs-Datamodel.md index ea84957..68b1c4d 100644 --- a/doc/Specs-Datamodel.md +++ b/doc/Specs-Datamodel.md @@ -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``` | Yes | | +| `spend_key` | ```String``` | Yes | | +| `scan_key` | ```String``` | Yes | | ## 7. 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``` | Yes | | +| `anchorage_tx_list` | ```Vec``` | Yes | | +| `spend_key` | ```String``` | Yes | | +| `scan_key` | ```String``` | Yes | | ### 7.1. 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``` | | List of mined blocks. | +| `mining_reward_tx_list` | ```Vec``` | Yes | | +| `spend_key` | ```String``` | Yes | | +| `scan_key` | ```String``` | Yes | | ### 7.2. 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``` | | List of mined block hashes. | +| `minig_reward_tx_list` | ```Vec``` | Yes | | +| `refunder_tx_list` | ```Vec``` | Yes | | +| `spend_key` | ```String``` | Yes | | +| `scan_key` | ```String``` | Yes | | ### 7.4. 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``` | | List of certified blocks. | +| `certif_l1_tx_list` | ```Vec``` | Yes | | +| `refunded_tx_list` | ```Vec``` | Yes | | +| `anchorage_tx_list` | ```Vec``` | Yes | | +| `spend_key` | ```String``` | Yes | | +| `scan_key` | ```String``` | Yes | | ### 7.5. 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``` | | 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``` | | A list of product address set conditions. | -| `condition_publish` | ```Vec``` | Yes | The condition for publishing. | +| `condition_publish_list` | ```Vec``` | Yes | The condition for publishing. | | `condition_cap_list` | ```Vec``` | Yes | A list of capability conditions. | | `condition_payment_list` | ```Vec``` | Yes | A list of payment conditions. | | `condition_commitment_list` | ```Vec``` | Yes | A list of commitment conditions. | | `condition_attribute_encryption_list` | ```Vec``` | | A list of attribute encryption conditions. | -| `condition_orchestration` | ```Vec``` | Yes | The condition for orchestration. | +| `condition_orchestration_list` | ```Vec``` | 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``` | Yes | A list of deposit conditions. | #### 12.2.3. 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. 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. 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. 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. Condition RequestPrdAddressSet +#### 12.2.7. 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``` | | 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``` | | A list of artefact roles, allowing customization and extension of functionalities and interactions beyond standard roles. | #### 12.3.1. RoleArtefact