From 38c50c5f9a312b2f64e8b9a2f47bddcb6ba03ca3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marin=20Ver=C5=A1i=C4=87?= Date: Tue, 18 Jun 2024 11:54:08 +0200 Subject: [PATCH] refactor!: fix naming convention for assets and permissions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Marin Veršić --- cli/src/samples.rs | 2 +- client/examples/million_accounts_genesis.rs | 2 +- client/tests/integration/asset.rs | 8 +- client/tests/integration/events/data.rs | 8 +- client/tests/integration/queries/account.rs | 8 +- client/tests/integration/queries/asset.rs | 8 +- .../executor_custom_data_model/src/complex.rs | 4 +- .../src/lib.rs | 4 +- .../src/lib.rs | 4 +- client/tests/integration/upgrade.rs | 18 ++-- client_cli/README.md | 8 +- client_cli/pytests/common/consts.py | 2 +- client_cli/pytests/models/asset.py | 6 +- .../pytests/src/client_cli/client_cli.py | 18 ++-- client_cli/pytests/src/client_cli/iroha.py | 6 +- client_cli/pytests/test/__init__.py | 8 +- .../test/accounts/test_set_key_value_pair.py | 4 +- client_cli/pytests/test/assets/conftest.py | 8 +- .../pytests/test/assets/test_burn_assets.py | 2 +- .../pytests/test/assets/test_mint_assets.py | 16 +-- .../assets/test_register_asset_definitions.py | 54 +++++----- client_cli/pytests/test/conftest.py | 54 +++++----- .../pytests/test/roles/test_register_roles.py | 4 +- client_cli/src/main.rs | 6 +- config/iroha_test_config.toml | 2 +- config/src/parameters/user.rs | 8 +- config/tests/fixtures/absolute_paths.toml | 2 +- config/tests/fixtures/full.env | 4 +- config/tests/fixtures/full.toml | 2 +- .../fixtures/minimal_alone_with_genesis.toml | 2 +- configs/peer.template.toml | 2 +- configs/swarm/docker-compose.local.yml | 12 +-- configs/swarm/docker-compose.single.yml | 4 +- configs/swarm/docker-compose.yml | 12 +-- configs/swarm/executor.wasm | Bin 511077 -> 512255 bytes configs/swarm/genesis.json | 10 +- core/src/block.rs | 4 +- core/src/query/store.rs | 10 +- core/src/smartcontracts/isi/account.rs | 54 +++++----- core/src/smartcontracts/isi/asset.rs | 64 ++++++------ core/src/smartcontracts/isi/domain.rs | 4 +- core/src/smartcontracts/isi/triggers/mod.rs | 10 +- core/src/smartcontracts/isi/tx.rs | 2 +- core/src/smartcontracts/isi/world.rs | 19 ++-- core/src/smartcontracts/wasm.rs | 6 +- core/src/state.rs | 6 +- data_model/src/account.rs | 2 +- data_model/src/asset.rs | 46 ++++----- data_model/src/block.rs | 10 +- data_model/src/events/data/events.rs | 10 +- data_model/src/events/pipeline.rs | 2 +- data_model/src/executor.rs | 10 +- data_model/src/isi.rs | 18 ++-- data_model/src/lib.rs | 4 +- data_model/src/permission.rs | 50 ++------- data_model/src/query/cursor.rs | 24 +++-- data_model/src/query/mod.rs | 65 +++++------- data_model/src/query/pagination.rs | 22 ---- data_model/src/query/predicate.rs | 4 +- data_model/src/query/sorting.rs | 13 --- docs/source/references/schema.json | 97 ++++++++---------- genesis/src/lib.rs | 6 +- schema/gen/src/lib.rs | 7 +- schema/src/lib.rs | 3 +- .../executor/derive/src/permission.rs | 14 +-- .../executor/src/default/permissions.rs | 4 +- smart_contract/executor/src/lib.rs | 15 +-- smart_contract/executor/src/permission.rs | 10 +- tools/kagami/src/genesis/generate.rs | 9 +- tools/swarm/src/lib.rs | 24 ++--- tools/swarm/src/schema.rs | 12 +-- 71 files changed, 433 insertions(+), 549 deletions(-) diff --git a/cli/src/samples.rs b/cli/src/samples.rs index 5aaa54701a5..7fba6ec3c6f 100644 --- a/cli/src/samples.rs +++ b/cli/src/samples.rs @@ -72,7 +72,7 @@ pub fn get_config_toml( .write(["chain_wide", "max_transactions_in_block"], 2) .write(["genesis", "public_key"], genesis_public_key) .write( - ["genesis", "signed_file"], + ["genesis", "file"], "NEVER READ ME; YOU FOUND A BUG!", ) // There is no need in persistence in tests. diff --git a/client/examples/million_accounts_genesis.rs b/client/examples/million_accounts_genesis.rs index d547aff6781..d8033ec6392 100644 --- a/client/examples/million_accounts_genesis.rs +++ b/client/examples/million_accounts_genesis.rs @@ -29,7 +29,7 @@ fn generate_genesis( .account(signatory_alice.clone()) .asset( format!("xor-{i}").parse().expect("Valid"), - AssetValueType::Numeric(NumericSpec::default()), + AssetType::Numeric(NumericSpec::default()), ) .finish_domain(); } diff --git a/client/tests/integration/asset.rs b/client/tests/integration/asset.rs index f0fe33e8fd9..85aecc3e6df 100644 --- a/client/tests/integration/asset.rs +++ b/client/tests/integration/asset.rs @@ -5,7 +5,7 @@ use iroha::{ client::{self, QueryResult}, crypto::KeyPair, data_model::{ - asset::{AssetId, AssetValue, AssetValueType}, + asset::{AssetId, AssetType, AssetValue}, isi::error::{InstructionEvaluationError, InstructionExecutionError, Mismatch, TypeError}, prelude::*, transaction::error::TransactionRejectionReason, @@ -402,7 +402,7 @@ fn fail_if_dont_satisfy_spec() { // Create asset definition which accepts only integers let asset_definition = AssetDefinition::new( asset_definition_id.clone(), - AssetValueType::Numeric(NumericSpec::integer()), + AssetType::Numeric(NumericSpec::integer()), ); test_client @@ -435,8 +435,8 @@ fn fail_if_dont_satisfy_spec() { &TransactionRejectionReason::Validation(ValidationFail::InstructionFailed( InstructionExecutionError::Evaluate(InstructionEvaluationError::Type( TypeError::from(Mismatch { - expected: AssetValueType::Numeric(NumericSpec::integer()), - actual: AssetValueType::Numeric(NumericSpec::fractional(2)) + expected: AssetType::Numeric(NumericSpec::integer()), + actual: AssetType::Numeric(NumericSpec::fractional(2)) }) )) )) diff --git a/client/tests/integration/events/data.rs b/client/tests/integration/events/data.rs index 1e35a9819ed..8fea7736954 100644 --- a/client/tests/integration/events/data.rs +++ b/client/tests/integration/events/data.rs @@ -240,13 +240,13 @@ fn produce_multiple_events() -> Result<()> { DataEvent::Domain(DomainEvent::Account(AccountEvent::PermissionAdded( AccountPermissionChanged { account: bob_id.clone(), - permission: token_1.id.clone(), + permission: token_1.clone(), }, ))), DataEvent::Domain(DomainEvent::Account(AccountEvent::PermissionAdded( AccountPermissionChanged { account: bob_id.clone(), - permission: token_2.id.clone(), + permission: token_2.clone(), }, ))), DataEvent::Domain(DomainEvent::Account(AccountEvent::RoleGranted( @@ -258,13 +258,13 @@ fn produce_multiple_events() -> Result<()> { DataEvent::Domain(DomainEvent::Account(AccountEvent::PermissionRemoved( AccountPermissionChanged { account: bob_id.clone(), - permission: token_1.id, + permission: token_1, }, ))), DataEvent::Domain(DomainEvent::Account(AccountEvent::PermissionRemoved( AccountPermissionChanged { account: bob_id.clone(), - permission: token_2.id, + permission: token_2, }, ))), DataEvent::Domain(DomainEvent::Account(AccountEvent::RoleRevoked( diff --git a/client/tests/integration/queries/account.rs b/client/tests/integration/queries/account.rs index d89d74b8ac0..1f6addaf7f9 100644 --- a/client/tests/integration/queries/account.rs +++ b/client/tests/integration/queries/account.rs @@ -24,8 +24,8 @@ fn find_accounts_with_asset() -> Result<()> { assert_eq!(received_asset_definition.id(), asset_definition.id()); assert!(matches!( - received_asset_definition.value_type(), - AssetValueType::Numeric(_) + received_asset_definition.type_(), + AssetType::Numeric(_) )); let accounts: [AccountId; 5] = [ @@ -61,8 +61,8 @@ fn find_accounts_with_asset() -> Result<()> { assert_eq!(received_asset_definition.id(), asset_definition.id()); assert_eq!( - received_asset_definition.value_type(), - AssetValueType::Numeric(NumericSpec::default()), + received_asset_definition.type_(), + AssetType::Numeric(NumericSpec::default()), ); let found_accounts = test_client diff --git a/client/tests/integration/queries/asset.rs b/client/tests/integration/queries/asset.rs index d306f5b9540..c7591c9c290 100644 --- a/client/tests/integration/queries/asset.rs +++ b/client/tests/integration/queries/asset.rs @@ -44,7 +44,7 @@ fn find_asset_total_quantity() -> Result<()> { &test_client, &accounts, "quantity#wonderland", - AssetValueType::Numeric(NumericSpec::default()), + AssetType::Numeric(NumericSpec::default()), numeric!(1), numeric!(10), numeric!(5), @@ -56,7 +56,7 @@ fn find_asset_total_quantity() -> Result<()> { &test_client, &accounts, "fixed#wonderland", - AssetValueType::Numeric(NumericSpec::default()), + AssetType::Numeric(NumericSpec::default()), numeric!(1.0), numeric!(10.0), numeric!(5.0), @@ -131,7 +131,7 @@ fn test_total_quantity( test_client: &Client, accounts: &[AccountId; 5], definition: &str, - asset_value_type: AssetValueType, + asset_type: AssetType, initial_value: T, to_mint: T, to_burn: T, @@ -147,7 +147,7 @@ where // Registering new asset definition let definition_id: AssetDefinitionId = definition.parse().expect("Failed to parse `definition_id`"); - let asset_definition = AssetDefinition::new(definition_id.clone(), asset_value_type); + let asset_definition = AssetDefinition::new(definition_id.clone(), asset_type); test_client.submit_blocking(Register::asset_definition(asset_definition))?; let asset_ids = accounts diff --git a/client/tests/integration/smartcontracts/executor_custom_data_model/src/complex.rs b/client/tests/integration/smartcontracts/executor_custom_data_model/src/complex.rs index 66fe1c54c71..f44d48d8928 100644 --- a/client/tests/integration/smartcontracts/executor_custom_data_model/src/complex.rs +++ b/client/tests/integration/smartcontracts/executor_custom_data_model/src/complex.rs @@ -107,14 +107,14 @@ mod expression { pub struct EvaluatesTo { #[serde(flatten)] pub(crate) expression: Box, - _value_type: PhantomData, + type_: PhantomData, } impl EvaluatesTo { pub fn new_unchecked(expression: impl Into) -> Self { Self { expression: Box::new(expression.into()), - _value_type: PhantomData, + type_: PhantomData, } } } diff --git a/client/tests/integration/smartcontracts/executor_with_custom_permission/src/lib.rs b/client/tests/integration/smartcontracts/executor_with_custom_permission/src/lib.rs index c59333e5e8d..b04daa68ba1 100644 --- a/client/tests/integration/smartcontracts/executor_with_custom_permission/src/lib.rs +++ b/client/tests/integration/smartcontracts/executor_with_custom_permission/src/lib.rs @@ -110,9 +110,9 @@ impl Executor { fn replace_token(accounts: &[Account]) -> MigrationResult { let can_unregister_domain_definition_id = - iroha_executor::default::permissions::domain::CanUnregisterDomain::id(); + iroha_executor::default::permissions::domain::CanUnregisterDomain::name(); - let can_control_domain_lives_definition_id = token::CanControlDomainLives::id(); + let can_control_domain_lives_definition_id = token::CanControlDomainLives::name(); accounts .iter() diff --git a/client/tests/integration/smartcontracts/smart_contract_can_filter_queries/src/lib.rs b/client/tests/integration/smartcontracts/smart_contract_can_filter_queries/src/lib.rs index 420ff477e67..0e45690ca93 100644 --- a/client/tests/integration/smartcontracts/smart_contract_can_filter_queries/src/lib.rs +++ b/client/tests/integration/smartcontracts/smart_contract_can_filter_queries/src/lib.rs @@ -35,14 +35,14 @@ fn main(_owner: AccountId) { Register::asset_definition(AssetDefinition::new( time_id.clone(), - AssetValueType::Numeric(NumericSpec::default()), + AssetType::Numeric(NumericSpec::default()), )) .execute() .dbg_unwrap(); Register::asset_definition(AssetDefinition::new( space_id.clone(), - AssetValueType::Numeric(NumericSpec::default()), + AssetType::Numeric(NumericSpec::default()), )) .execute() .dbg_unwrap(); diff --git a/client/tests/integration/upgrade.rs b/client/tests/integration/upgrade.rs index 2d06f4a8a75..2d7f03422db 100644 --- a/client/tests/integration/upgrade.rs +++ b/client/tests/integration/upgrade.rs @@ -73,14 +73,14 @@ fn executor_upgrade_should_run_migration() -> Result<()> { let (_rt, _peer, client) = ::new().with_port(10_990).start_with_runtime(); wait_for_genesis_committed(&vec![client.clone()], 0); - let can_unregister_domain_token_id = "CanUnregisterDomain".parse().unwrap(); + let can_unregister_domain_token_id = "CanUnregisterDomain"; // Check that `CanUnregisterDomain` exists assert!(client .request(FindExecutorDataModel)? .permissions() .iter() - .any(|id| id == &can_unregister_domain_token_id)); + .any(|id| id == can_unregister_domain_token_id)); // Check that Alice has permission to unregister Wonderland let alice_id = ALICE_ID.clone(); @@ -89,7 +89,7 @@ fn executor_upgrade_should_run_migration() -> Result<()> { .collect::>>() .expect("Valid"); assert!(alice_tokens.contains(&Permission::new( - can_unregister_domain_token_id.clone(), + can_unregister_domain_token_id.parse().unwrap(), json!({ "domain": DomainId::from_str("wonderland").unwrap() }), ))); @@ -103,14 +103,14 @@ fn executor_upgrade_should_run_migration() -> Result<()> { assert!(!data_model .permissions() .iter() - .any(|id| id == &can_unregister_domain_token_id)); + .any(|id| id == can_unregister_domain_token_id)); - let can_control_domain_lives_token_id = "CanControlDomainLives".parse().unwrap(); + let can_control_domain_lives_token_id = "CanControlDomainLives"; assert!(data_model .permissions() .iter() - .any(|id| id == &can_control_domain_lives_token_id)); + .any(|id| id == can_control_domain_lives_token_id)); // Check that Alice has `can_control_domain_lives` permission let alice_tokens = client @@ -118,7 +118,7 @@ fn executor_upgrade_should_run_migration() -> Result<()> { .collect::>>() .expect("Valid"); assert!(alice_tokens.contains(&Permission::new( - can_control_domain_lives_token_id, + can_control_domain_lives_token_id.parse().unwrap(), json!(null), ))); @@ -146,7 +146,7 @@ fn executor_upgrade_should_revoke_removed_permissions() -> Result<()> { assert!(client .request(FindExecutorDataModel)? .permissions() - .contains(&can_unregister_domain_token.id)); + .contains(can_unregister_domain_token.name())); // Check that `TEST_ROLE` has permission assert!(client @@ -174,7 +174,7 @@ fn executor_upgrade_should_revoke_removed_permissions() -> Result<()> { assert!(!client .request(FindExecutorDataModel)? .permissions() - .contains(&can_unregister_domain_token.id)); + .contains(can_unregister_domain_token.name())); // Check that `TEST_ROLE` doesn't have permission assert!(!client diff --git a/client_cli/README.md b/client_cli/README.md index 869fe9b3763..08c4494f3d2 100644 --- a/client_cli/README.md +++ b/client_cli/README.md @@ -61,7 +61,7 @@ Check the [Bash guide in Iroha Tutorial](https://hyperledger.github.io/iroha-2-d ```bash ./iroha domain register --id="Soramitsu" ./iroha account register --id="ed01204A3C5A6B77BBE439969F95F0AA4E01AE31EC45A0D68C131B2C622751FCC5E3B6@Soramitsu" -./iroha asset register --id="XOR#Soramitsu" --value-type=Numeric +./iroha asset register --id="XOR#Soramitsu" --type=Numeric ./iroha asset mint --account="ed01204A3C5A6B77BBE439969F95F0AA4E01AE31EC45A0D68C131B2C622751FCC5E3B6@Soramitsu" --asset="XOR#Soramitsu" --quantity=1010 ./iroha asset get --account="ed01204A3C5A6B77BBE439969F95F0AA4E01AE31EC45A0D68C131B2C622751FCC5E3B6@Soramitsu" --asset="XOR#Soramitsu" ``` @@ -111,7 +111,7 @@ To do so, you must first register an Asset Definition and only then add some Ass Every asset has its own value spec. In this example, it is defined as `Numeric`, a 96-bit unsigned decimal. We also support `Store` for key-value structured data. ```bash -./iroha asset register --id="XOR#Soramitsu" --value-type=Numeric +./iroha asset register --id="XOR#Soramitsu" --type=Numeric ./iroha asset mint --account="ed01204A3C5A6B77BBE439969F95F0AA4E01AE31EC45A0D68C131B2C622751FCC5E3B6@Soramitsu" --asset="XOR#Soramitsu" --quantity=1010 ``` @@ -186,8 +186,8 @@ To test transactions in the JSON format (used in the genesis block and by other cat /path/to/file.json | ./iroha json transaction ``` -### Request arbitrary query +### Request arbitrary query -```bash +```bash echo '{ "FindAllParameters": null }' | ./iroha --config client.toml json query ``` diff --git a/client_cli/pytests/common/consts.py b/client_cli/pytests/common/consts.py index c46337ff847..837c9eb388e 100644 --- a/client_cli/pytests/common/consts.py +++ b/client_cli/pytests/common/consts.py @@ -20,7 +20,7 @@ class Stderr(Enum): TOO_LONG = "Name length violation" FAILED_TO_FIND_DOMAIN = "Failed to find domain" INVALID_CHARACTER = "Failed to parse" - INVALID_VALUE_TYPE = "should be either `Store` or `Numeric`" + INVALID_TYPE = "should be either `Store` or `Numeric`" RESERVED_CHARACTER = ( "The `@` character is reserved for `account@domain` constructs, " "and `#` — for `asset#domain`." diff --git a/client_cli/pytests/models/asset.py b/client_cli/pytests/models/asset.py index c3decd39da4..ae4d55f2c07 100644 --- a/client_cli/pytests/models/asset.py +++ b/client_cli/pytests/models/asset.py @@ -14,13 +14,13 @@ class AssetDefinition: :type name: str :param domain: The domain of the asset definition. :type domain: str - :param value_type: The value type of the asset definition. - :type value_type: str + :param type_: The value type of the asset definition. + :type type_: str """ name: str domain: str - value_type: str + type_: str def __repr__(self): return f"{self.name}#{self.domain}" diff --git a/client_cli/pytests/src/client_cli/client_cli.py b/client_cli/pytests/src/client_cli/client_cli.py index 6ebcdadafba..4ecde368a26 100644 --- a/client_cli/pytests/src/client_cli/client_cli.py +++ b/client_cli/pytests/src/client_cli/client_cli.py @@ -150,7 +150,7 @@ def account(self, signatory: str, domain: str): self.execute() return self - def asset(self, asset_definition=None, account=None, value_of_value_type=None): + def asset(self, asset_definition=None, account=None, value_of_type=None): """ Executes the 'asset' command with the given asset definition, account, and value. @@ -158,13 +158,13 @@ def asset(self, asset_definition=None, account=None, value_of_value_type=None): :type asset_definition: AssetDefinition :param account: The account to be queried, defaults to None. :type account: Account - :param value_of_value_type: The value of the value type, defaults to None. - :type value_of_value_type: str, optional + :param value_of_type: The value of the asset type, defaults to None. + :type value_of_type: str, optional :return: The current ClientCli object. :rtype: ClientCli """ self.command.insert(2, "asset") - if asset_definition and account and value_of_value_type: + if asset_definition and account and value_of_type: self.command.append( "--asset-id=" + asset_definition.name @@ -175,7 +175,7 @@ def asset(self, asset_definition=None, account=None, value_of_value_type=None): + "@" + account.domain ) - self.command.append("--quantity=" + value_of_value_type) + self.command.append("--quantity=" + value_of_type) self.execute() return self @@ -239,7 +239,7 @@ def burn(self, account, asset, quantity: str): self.execute() return self - def definition(self, asset: str, domain: str, value_type: str): + def definition(self, asset: str, domain: str, type_: str): """ Executes the 'definition' command for the given asset, domain, and value type. @@ -247,13 +247,13 @@ def definition(self, asset: str, domain: str, value_type: str): :type asset: str :param domain: The domain of the asset. :type domain: str - :param value_type: The value type of the asset. - :type value_type: str + :param type_: The value type of the asset. + :type type_: str :return: The current ClientCli object. :rtype: ClientCli """ self.command.append("--definition-id=" + asset + "#" + domain) - self.command.append("--value-type=" + value_type) + self.command.append("--type=" + type_) self.execute() return self diff --git a/client_cli/pytests/src/client_cli/iroha.py b/client_cli/pytests/src/client_cli/iroha.py index 7bfa0ba3af6..d186a5099e7 100644 --- a/client_cli/pytests/src/client_cli/iroha.py +++ b/client_cli/pytests/src/client_cli/iroha.py @@ -113,9 +113,9 @@ def asset_definitions(self) -> Dict[str, str]: for domain in domains: asset_defs = domain.get("asset_definitions") for asset_def in asset_defs.values(): - value_type = asset_def.get("value_type") - if value_type: - asset_definitions[asset_def["id"]] = value_type + type_ = asset_def.get("type") + if type_: + asset_definitions[asset_def["id"]] = type_ return asset_definitions else: return {} diff --git a/client_cli/pytests/test/__init__.py b/client_cli/pytests/test/__init__.py index 1ca1a357dae..567088bd974 100644 --- a/client_cli/pytests/test/__init__.py +++ b/client_cli/pytests/test/__init__.py @@ -15,14 +15,14 @@ GIVEN_public_key, GIVEN_numeric_asset_for_account, GIVEN_numeric_value, - GIVEN_numeric_value_type, + GIVEN_numeric_type, GIVEN_random_character, GIVEN_registered_account, - GIVEN_registered_asset_definition_with_numeric_value_type, - GIVEN_registered_asset_definition_with_store_value_type, + GIVEN_registered_asset_definition_with_numeric_type, + GIVEN_registered_asset_definition_with_store_type, GIVEN_registered_domain, GIVEN_registered_domain_with_uppercase_letter, - GIVEN_store_value_type, + GIVEN_store_type, GIVEN_string_with_reserved_character, GIVEN_string_with_whitespaces, before_all, diff --git a/client_cli/pytests/test/accounts/test_set_key_value_pair.py b/client_cli/pytests/test/accounts/test_set_key_value_pair.py index 86a4d9b9b90..01c426fb975 100644 --- a/client_cli/pytests/test/accounts/test_set_key_value_pair.py +++ b/client_cli/pytests/test/accounts/test_set_key_value_pair.py @@ -12,7 +12,7 @@ def story_client_change_account_metadata(): def test_set_key_value_in_foreign_asset_after_granting_role( GIVEN_currently_authorized_account, GIVEN_registered_account, - GIVEN_registered_asset_definition_with_store_value_type, + GIVEN_registered_asset_definition_with_store_type, ): assert 0 @@ -22,6 +22,6 @@ def test_set_key_value_in_foreign_asset_after_granting_role( def test_set_key_value_pair_for_another_account_asset_definition( GIVEN_currently_authorized_account, GIVEN_registered_account, - GIVEN_registered_asset_definition_with_store_value_type, + GIVEN_registered_asset_definition_with_store_type, ): assert 0 diff --git a/client_cli/pytests/test/assets/conftest.py b/client_cli/pytests/test/assets/conftest.py index aa67951891e..5bc69f5b2fc 100644 --- a/client_cli/pytests/test/assets/conftest.py +++ b/client_cli/pytests/test/assets/conftest.py @@ -9,12 +9,12 @@ GIVEN_public_key, GIVEN_numeric_asset_for_account, GIVEN_numeric_value, - GIVEN_numeric_value_type, + GIVEN_numeric_type, GIVEN_registered_account, - GIVEN_registered_asset_definition_with_numeric_value_type, - GIVEN_registered_asset_definition_with_store_value_type, + GIVEN_registered_asset_definition_with_numeric_type, + GIVEN_registered_asset_definition_with_store_type, GIVEN_registered_domain, - GIVEN_store_value_type, + GIVEN_store_type, before_all, before_each, ) diff --git a/client_cli/pytests/test/assets/test_burn_assets.py b/client_cli/pytests/test/assets/test_burn_assets.py index b7d22f3ab3b..97b832e693b 100644 --- a/client_cli/pytests/test/assets/test_burn_assets.py +++ b/client_cli/pytests/test/assets/test_burn_assets.py @@ -41,7 +41,7 @@ def test_burn_asset_for_account_in_same_domain( @allure.label("permission", "can_burn_assets_with_definition") @pytest.mark.xfail(reason="TO DO") def test_burn_other_user_asset( - GIVEN_registered_asset_definition_with_numeric_value_type, + GIVEN_registered_asset_definition_with_numeric_type, GIVEN_registered_account, GIVEN_numeric_value, ): diff --git a/client_cli/pytests/test/assets/test_mint_assets.py b/client_cli/pytests/test/assets/test_mint_assets.py index ef83e794df0..5cfdf0f1e60 100644 --- a/client_cli/pytests/test/assets/test_mint_assets.py +++ b/client_cli/pytests/test/assets/test_mint_assets.py @@ -11,34 +11,34 @@ def story_account_mint_asset(): @allure.label("sdk_test_id", "mint_asset_for_account_in_same_domain") def test_mint_asset_for_account_in_same_domain( - GIVEN_registered_asset_definition_with_numeric_value_type, + GIVEN_registered_asset_definition_with_numeric_type, GIVEN_registered_account, GIVEN_numeric_value, ): with allure.step( f'WHEN client_cli mint "{GIVEN_numeric_value}" of ' - f'"{GIVEN_registered_asset_definition_with_numeric_value_type}" ' + f'"{GIVEN_registered_asset_definition_with_numeric_type}" ' f'for the "{GIVEN_registered_account}"' ): client_cli.mint().asset( account=GIVEN_registered_account, - asset_definition=GIVEN_registered_asset_definition_with_numeric_value_type, - value_of_value_type=GIVEN_numeric_value, + asset_definition=GIVEN_registered_asset_definition_with_numeric_type, + value_of_type=GIVEN_numeric_value, ) with allure.step( f'THEN "{GIVEN_registered_account}" ' f'should have the "{GIVEN_numeric_value}" of ' - f'"{GIVEN_registered_asset_definition_with_numeric_value_type}"' + f'"{GIVEN_registered_asset_definition_with_numeric_type}"' ): iroha.should( have.asset( - f"{GIVEN_registered_asset_definition_with_numeric_value_type.name}##" + f"{GIVEN_registered_asset_definition_with_numeric_type.name}##" f"{GIVEN_registered_account}" ) ) iroha.should( have.asset_has_quantity( - f"{GIVEN_registered_asset_definition_with_numeric_value_type.name}##" + f"{GIVEN_registered_asset_definition_with_numeric_type.name}##" f"{GIVEN_registered_account}", GIVEN_numeric_value, ) @@ -55,7 +55,7 @@ def test_mint_asset_quantity_after_minting(GIVEN_minted_asset_quantity): client_cli.mint().asset( account=GIVEN_minted_asset_quantity.account, asset_definition=GIVEN_minted_asset_quantity.definition, - value_of_value_type="1", + value_of_type="1", ) expected_quantity = int(GIVEN_minted_asset_quantity.value) + 1 with allure.step( diff --git a/client_cli/pytests/test/assets/test_register_asset_definitions.py b/client_cli/pytests/test/assets/test_register_asset_definitions.py index 03233ccc373..cb6308378dd 100644 --- a/client_cli/pytests/test/assets/test_register_asset_definitions.py +++ b/client_cli/pytests/test/assets/test_register_asset_definitions.py @@ -11,19 +11,19 @@ def story_account_registers_asset_definitions(): allure.dynamic.label("permission", "no_permission_required") -@allure.label("sdk_test_id", "register_asset_definition_with_numeric_value_type") -def test_register_asset_definition_with_numeric_value_type( - GIVEN_fake_asset_name, GIVEN_registered_domain, GIVEN_numeric_value_type +@allure.label("sdk_test_id", "register_asset_definition_with_numeric_type") +def test_register_asset_definition_with_numeric_type( + GIVEN_fake_asset_name, GIVEN_registered_domain, GIVEN_numeric_type ): with allure.step( f'WHEN client_cli registers the asset_definition "{GIVEN_fake_asset_name}" ' - f'with "{GIVEN_numeric_value_type}" value type' + f'with "{GIVEN_numeric_type}" value type' f'in the "{GIVEN_registered_domain.name}" domain' ): client_cli.register().asset().definition( asset=GIVEN_fake_asset_name, domain=GIVEN_registered_domain.name, - value_type=GIVEN_numeric_value_type, + type_=GIVEN_numeric_type, ) with allure.step(f'THEN Iroha should have the asset "{GIVEN_fake_asset_name}"'): iroha.should( @@ -35,35 +35,35 @@ def test_register_asset_definition_with_numeric_value_type( @allure.label("sdk_test_id", "register_asset_definition_with_too_long_name") def test_register_asset_definition_with_too_long_name( - GIVEN_129_length_name, GIVEN_registered_domain, GIVEN_numeric_value_type + GIVEN_129_length_name, GIVEN_registered_domain, GIVEN_numeric_type ): with allure.step( f'WHEN client_cli registers the asset_definition "{GIVEN_129_length_name}" ' - f'with "{GIVEN_numeric_value_type}" value type' + f'with "{GIVEN_numeric_type}" value type' f'in the "{GIVEN_registered_domain.name}" domain' ): client_cli.register().asset().definition( asset=GIVEN_129_length_name, domain=GIVEN_registered_domain.name, - value_type=GIVEN_numeric_value_type, + type_=GIVEN_numeric_type, ) with allure.step(f'THEN Iroha should have the asset "{GIVEN_129_length_name}"'): client_cli.should(have.error(Stderr.TOO_LONG.value)) -@allure.label("sdk_test_id", "register_asset_definition_with_store_value_type") -def test_register_asset_definition_with_store_value_type( - GIVEN_fake_asset_name, GIVEN_registered_domain, GIVEN_store_value_type +@allure.label("sdk_test_id", "register_asset_definition_with_store_type") +def test_register_asset_definition_with_store_type( + GIVEN_fake_asset_name, GIVEN_registered_domain, GIVEN_store_type ): with allure.step( f'WHEN client_cli registers the asset_definition "{GIVEN_fake_asset_name}" ' - f'with "{GIVEN_store_value_type}" value type' + f'with "{GIVEN_store_type}" value type' f'in the "{GIVEN_registered_domain.name}" domain' ): client_cli.register().asset().definition( asset=GIVEN_fake_asset_name, domain=GIVEN_registered_domain.name, - value_type=GIVEN_store_value_type, + type_=GIVEN_store_type, ) with allure.step(f'THEN Iroha should have the asset "{GIVEN_fake_asset_name}"'): iroha.should( @@ -91,21 +91,21 @@ def test_register_fixed_asset_definition( @allure.label("sdk_test_id", "register_asset_with_existing_name") def test_register_asset_with_existing_name( - GIVEN_registered_asset_definition_with_numeric_value_type, + GIVEN_registered_asset_definition_with_numeric_type, ): with allure.step( f"WHEN account tries to register an asset definition " - f'with the same name "{GIVEN_registered_asset_definition_with_numeric_value_type.name}"' - f'in the "{GIVEN_registered_asset_definition_with_numeric_value_type.domain}" domain' + f'with the same name "{GIVEN_registered_asset_definition_with_numeric_type.name}"' + f'in the "{GIVEN_registered_asset_definition_with_numeric_type.domain}" domain' ): client_cli.register().asset().definition( - asset=GIVEN_registered_asset_definition_with_numeric_value_type.name, - domain=GIVEN_registered_asset_definition_with_numeric_value_type.domain, - value_type=GIVEN_registered_asset_definition_with_numeric_value_type.value_type, + asset=GIVEN_registered_asset_definition_with_numeric_type.name, + domain=GIVEN_registered_asset_definition_with_numeric_type.domain, + type_=GIVEN_registered_asset_definition_with_numeric_type.type_, ) with allure.step( f'THEN client_cli should have the asset definition error: "' - f'{GIVEN_registered_asset_definition_with_numeric_value_type.__repr__()}"' + f'{GIVEN_registered_asset_definition_with_numeric_type.__repr__()}"' ): client_cli.should(have.error(Stderr.REPETITION.value)) @@ -117,7 +117,7 @@ def test_register_asset_with_empty_name(GIVEN_registered_domain): f'in the "{GIVEN_registered_domain.name}" domain' ): client_cli.register().asset().definition( - asset="", domain=GIVEN_registered_domain.name, value_type="Numeric" + asset="", domain=GIVEN_registered_domain.name, type_="Numeric" ) with allure.step(f'THEN сlient_cli should have the asset error: "{Stderr.EMPTY}"'): client_cli.should(have.error(Stderr.EMPTY.value)) @@ -125,7 +125,7 @@ def test_register_asset_with_empty_name(GIVEN_registered_domain): @allure.label("sdk_test_id", "register_asset_with_not_existing_domain") def test_register_asset_with_not_existing_domain( - GIVEN_not_existing_name, GIVEN_numeric_value_type, GIVEN_fake_asset_name + GIVEN_not_existing_name, GIVEN_numeric_type, GIVEN_fake_asset_name ): with allure.step( "WHEN client_cli tries to register an asset definition with not existing domain" @@ -133,14 +133,14 @@ def test_register_asset_with_not_existing_domain( client_cli.register().asset().definition( asset=GIVEN_fake_asset_name, domain=GIVEN_not_existing_name, - value_type=GIVEN_numeric_value_type, + type_=GIVEN_numeric_type, ) with allure.step("THEN client_cli should have the error"): client_cli.should(have.error(Stderr.FAILED_TO_FIND_DOMAIN.value)) -@allure.label("sdk_test_id", "register_asset_with_too_long_value_type") -def test_register_asset_with_too_long_value_type( +@allure.label("sdk_test_id", "register_asset_with_too_long_type") +def test_register_asset_with_too_long_type( GIVEN_fake_asset_name, GIVEN_registered_domain ): with allure.step( @@ -149,7 +149,7 @@ def test_register_asset_with_too_long_value_type( client_cli.register().asset().definition( asset=GIVEN_fake_asset_name, domain=GIVEN_registered_domain.name, - value_type="coin", + type_="coin", ) with allure.step("THEN client_cli should have the error"): - client_cli.should(have.error(Stderr.INVALID_VALUE_TYPE.value)) + client_cli.should(have.error(Stderr.INVALID_TYPE.value)) diff --git a/client_cli/pytests/test/conftest.py b/client_cli/pytests/test/conftest.py index 364456252ff..4a4dfaacde9 100644 --- a/client_cli/pytests/test/conftest.py +++ b/client_cli/pytests/test/conftest.py @@ -93,13 +93,13 @@ def GIVEN_currently_authorized_account(): @pytest.fixture() def GIVEN_currently_account_quantity_with_two_quantity_of_asset( - GIVEN_currently_authorized_account, GIVEN_numeric_value_type, GIVEN_fake_asset_name + GIVEN_currently_authorized_account, GIVEN_numeric_type, GIVEN_fake_asset_name ): """Fixture to get the currently authorized account asset""" asset_def = AssetDefinition( name=GIVEN_fake_asset_name, domain=GIVEN_currently_authorized_account.domain, - value_type=GIVEN_numeric_value_type, + type_=GIVEN_numeric_type, ) asset = Asset( definition=asset_def, value="2", account=GIVEN_currently_authorized_account @@ -112,26 +112,26 @@ def GIVEN_currently_account_quantity_with_two_quantity_of_asset( client_cli.register().asset().definition( asset=asset.definition.name, domain=asset.definition.domain, - value_type=asset.definition.value_type, + type_=asset.definition.type_, ) client_cli.mint().asset( account=GIVEN_currently_authorized_account, asset_definition=asset.definition, - value_of_value_type=asset.value, + value_of_type=asset.value, ) return asset @pytest.fixture() def GIVEN_numeric_asset_for_account( - request, GIVEN_numeric_value_type, GIVEN_fake_asset_name, GIVEN_numeric_value + request, GIVEN_numeric_type, GIVEN_fake_asset_name, GIVEN_numeric_value ): """Fixture to get an asset for a given account and domain with specified quantity.""" account, domain = request.param.split("@") account = Account(signatory=account, domain=domain) asset_def = AssetDefinition( - name=GIVEN_fake_asset_name, domain=domain, value_type=GIVEN_numeric_value_type + name=GIVEN_fake_asset_name, domain=domain, type_=GIVEN_numeric_type ) asset = Asset( definition=asset_def, value=GIVEN_numeric_value, account=account.signatory @@ -143,26 +143,26 @@ def GIVEN_numeric_asset_for_account( client_cli.register().asset().definition( asset=asset.definition.name, domain=asset.definition.domain, - value_type=asset.definition.value_type, + type_=asset.definition.type_, ) client_cli.mint().asset( account=account, asset_definition=asset.definition, - value_of_value_type=asset.value, + value_of_type=asset.value, ) return asset @pytest.fixture() -def GIVEN_registered_asset_definition_with_numeric_value_type( - GIVEN_registered_domain, GIVEN_numeric_value_type, GIVEN_fake_asset_name +def GIVEN_registered_asset_definition_with_numeric_type( + GIVEN_registered_domain, GIVEN_numeric_type, GIVEN_fake_asset_name ): """Fixture to create and register an asset definition with numeric value type.""" asset_def = AssetDefinition( name=GIVEN_fake_asset_name, domain=GIVEN_registered_domain.name, - value_type=GIVEN_numeric_value_type, + type_=GIVEN_numeric_type, ) with allure.step( f'GIVEN the asset_definition "{GIVEN_fake_asset_name}" ' @@ -171,14 +171,14 @@ def GIVEN_registered_asset_definition_with_numeric_value_type( client_cli.register().asset().definition( asset=asset_def.name, domain=asset_def.domain, - value_type=asset_def.value_type, + type_=asset_def.type_, ) return asset_def @pytest.fixture() def GIVEN_minted_asset_quantity( - GIVEN_registered_asset_definition_with_numeric_value_type, + GIVEN_registered_asset_definition_with_numeric_type, GIVEN_registered_account, GIVEN_numeric_value, ): @@ -187,26 +187,26 @@ def GIVEN_minted_asset_quantity( """ asset = Asset( account=GIVEN_registered_account, - definition=GIVEN_registered_asset_definition_with_numeric_value_type, + definition=GIVEN_registered_asset_definition_with_numeric_type, value=GIVEN_numeric_value, ) client_cli.mint().asset( account=asset.account, asset_definition=asset.definition, - value_of_value_type=asset.value, + value_of_type=asset.value, ) return asset @pytest.fixture() -def GIVEN_registered_asset_definition_with_store_value_type( - GIVEN_registered_domain, GIVEN_store_value_type, GIVEN_fake_asset_name +def GIVEN_registered_asset_definition_with_store_type( + GIVEN_registered_domain, GIVEN_store_type, GIVEN_fake_asset_name ): """Fixture to create and register an asset definition with store value type.""" asset_def = AssetDefinition( name=GIVEN_fake_asset_name, domain=GIVEN_registered_domain.name, - value_type=GIVEN_store_value_type, + type_=GIVEN_store_type, ) with allure.step( f'GIVEN the asset_definition "{GIVEN_fake_asset_name}" ' @@ -215,7 +215,7 @@ def GIVEN_registered_asset_definition_with_store_value_type( client_cli.register().asset().definition( asset=asset_def.name, domain=asset_def.domain, - value_type=asset_def.value_type, + type=asset_def.type, ) return asset_def @@ -290,19 +290,19 @@ def GIVEN_key_with_invalid_character_in_key( @pytest.fixture() -def GIVEN_numeric_value_type(): +def GIVEN_numeric_type(): """Fixture to provide a numeric value type.""" - value_type = ValueTypes.NUMERIC.value - with allure.step(f'GIVEN a "{value_type}" value type'): - return value_type + type_ = ValueTypes.NUMERIC.value + with allure.step(f'GIVEN a "{type_}" value type'): + return type_ @pytest.fixture() -def GIVEN_store_value_type(): +def GIVEN_store_type(): """Fixture to provide a store value type.""" - value_type = ValueTypes.STORE.value - with allure.step(f'GIVEN a "{value_type}" value type'): - return value_type + type_ = ValueTypes.STORE.value + with allure.step(f'GIVEN a "{type_}" value type'): + return type_ @pytest.fixture() diff --git a/client_cli/pytests/test/roles/test_register_roles.py b/client_cli/pytests/test/roles/test_register_roles.py index 583976956a6..de84cf1603d 100644 --- a/client_cli/pytests/test/roles/test_register_roles.py +++ b/client_cli/pytests/test/roles/test_register_roles.py @@ -16,7 +16,7 @@ def test_register_role(GIVEN_fake_name): @allure.label("sdk_test_id", "attach_permissions_to_role") @pytest.mark.xfail(reason="TO DO") def test_attach_permissions_to_role( - GIVEN_registered_asset_definition_with_store_value_type, + GIVEN_registered_asset_definition_with_store_type, ): assert 0 @@ -26,6 +26,6 @@ def test_attach_permissions_to_role( def test_grant_role_to_account( GIVEN_currently_authorized_account, GIVEN_registered_account, - GIVEN_registered_asset_definition_with_store_value_type, + GIVEN_registered_asset_definition_with_store_type, ): assert 0 diff --git a/client_cli/src/main.rs b/client_cli/src/main.rs index 3a2ea0caa3e..18dfa49bdc7 100644 --- a/client_cli/src/main.rs +++ b/client_cli/src/main.rs @@ -712,7 +712,7 @@ mod asset { pub unmintable: bool, /// Value type stored in asset #[arg(short, long)] - pub value_type: AssetValueType, + pub r#type: AssetType, #[command(flatten)] pub metadata: MetadataArgs, } @@ -721,11 +721,11 @@ mod asset { fn run(self, context: &mut dyn RunContext) -> Result<()> { let Self { definition_id, - value_type, + r#type, unmintable, metadata, } = self; - let mut asset_definition = AssetDefinition::new(definition_id, value_type); + let mut asset_definition = AssetDefinition::new(definition_id, r#type); if unmintable { asset_definition = asset_definition.mintable_once(); } diff --git a/config/iroha_test_config.toml b/config/iroha_test_config.toml index 00da96628dc..ca8c00567b7 100644 --- a/config/iroha_test_config.toml +++ b/config/iroha_test_config.toml @@ -7,7 +7,7 @@ address = "127.0.0.1:1337" [genesis] public_key = "ed01204164BF554923ECE1FD412D241036D863A6AE430476C898248B8237D77534CFC4" -signed_file = "./genesis.signed.scale" +file = "./genesis.signed.scale" [torii] address = "127.0.0.1:8080" diff --git a/config/src/parameters/user.rs b/config/src/parameters/user.rs index a619626e896..c02f63bc455 100644 --- a/config/src/parameters/user.rs +++ b/config/src/parameters/user.rs @@ -165,15 +165,15 @@ impl Root { pub struct Genesis { #[config(env = "GENESIS_PUBLIC_KEY")] pub public_key: WithOrigin, - #[config(env = "GENESIS_SIGNED_FILE")] - pub signed_file: Option>, + #[config(env = "GENESIS")] + pub file: Option>, } impl From for actual::Genesis { fn from(genesis: Genesis) -> Self { actual::Genesis { public_key: genesis.public_key.into_value(), - signed_file: genesis.signed_file, + signed_file: genesis.file, } } } @@ -218,7 +218,7 @@ pub struct KuraDebug { #[derive(Debug, ReadConfig)] pub struct Sumeragi { - #[config(env = "SUMERAGI_TRUSTED_PEERS", default)] + #[config(env = "TRUSTED_PEERS", default)] pub trusted_peers: WithOrigin, #[config(nested)] pub debug: SumeragiDebug, diff --git a/config/tests/fixtures/absolute_paths.toml b/config/tests/fixtures/absolute_paths.toml index f4f731a2865..9e8d81a4423 100644 --- a/config/tests/fixtures/absolute_paths.toml +++ b/config/tests/fixtures/absolute_paths.toml @@ -10,4 +10,4 @@ store_dir = "/snapshot/store" out_file = "/telemetry/file.json" [genesis] -signed_file = "/oh/my/genesis.signed.scale" +file = "/oh/my/genesis.signed.scale" diff --git a/config/tests/fixtures/full.env b/config/tests/fixtures/full.env index 4c1c087d760..201154ab7dd 100644 --- a/config/tests/fixtures/full.env +++ b/config/tests/fixtures/full.env @@ -3,7 +3,7 @@ PUBLIC_KEY=ed01208BA62848CF767D72E7F7F4B9D2D7BA07FEE33760F79ABE5597A51520E292A0C PRIVATE_KEY=8026408F4C15E5D664DA3F13778801D23D4E89B76E94C1B94B389544168B6CB894F84F8BA62848CF767D72E7F7F4B9D2D7BA07FEE33760F79ABE5597A51520E292A0CB P2P_ADDRESS=127.0.0.1:5432 GENESIS_PUBLIC_KEY=ed01208BA62848CF767D72E7F7F4B9D2D7BA07FEE33760F79ABE5597A51520E292A0CB -GENESIS_SIGNED_FILE=./genesis.signed.scale +GENESIS=./genesis.signed.scale API_ADDRESS=127.0.0.1:8080 KURA_INIT_MODE=strict KURA_STORE_DIR=/store/path/from/env @@ -12,4 +12,4 @@ LOG_LEVEL=DEBUG LOG_FORMAT=pretty SNAPSHOT_MODE=read_write SNAPSHOT_STORE_DIR=/snapshot/path/from/env -SUMERAGI_TRUSTED_PEERS=[{"address":"iroha2:1339","public_key":"ed0120312C1B7B5DE23D366ADCF23CD6DB92CE18B2AA283C7D9F5033B969C2DC2B92F4"}] +TRUSTED_PEERS=[{"address":"iroha2:1339","public_key":"ed0120312C1B7B5DE23D366ADCF23CD6DB92CE18B2AA283C7D9F5033B969C2DC2B92F4"}] diff --git a/config/tests/fixtures/full.toml b/config/tests/fixtures/full.toml index 02404b6cf3d..69f28cce812 100644 --- a/config/tests/fixtures/full.toml +++ b/config/tests/fixtures/full.toml @@ -6,7 +6,7 @@ private_key = "8026408F4C15E5D664DA3F13778801D23D4E89B76E94C1B94B389544168B6CB89 [genesis] public_key = "ed01208BA62848CF767D72E7F7F4B9D2D7BA07FEE33760F79ABE5597A51520E292A0CB" -signed_file = "genesis.signed.scale" +file = "genesis.signed.scale" [network] address = "localhost:3840" diff --git a/config/tests/fixtures/minimal_alone_with_genesis.toml b/config/tests/fixtures/minimal_alone_with_genesis.toml index fcf937b5f8a..55d71a2e543 100644 --- a/config/tests/fixtures/minimal_alone_with_genesis.toml +++ b/config/tests/fixtures/minimal_alone_with_genesis.toml @@ -1,4 +1,4 @@ extends = "base.toml" [genesis] -signed_file = "./genesis.signed.scale" +file = "./genesis.signed.scale" diff --git a/configs/peer.template.toml b/configs/peer.template.toml index 2c32102420d..afe3cece7f6 100644 --- a/configs/peer.template.toml +++ b/configs/peer.template.toml @@ -15,7 +15,7 @@ [genesis] # public_key = -# signed_file = +# file = [network] # address = diff --git a/configs/swarm/docker-compose.local.yml b/configs/swarm/docker-compose.local.yml index 16142fa6b39..bbc6d9bdebc 100644 --- a/configs/swarm/docker-compose.local.yml +++ b/configs/swarm/docker-compose.local.yml @@ -20,9 +20,9 @@ services: P2P_ADDRESS: 0.0.0.0:1337 API_ADDRESS: 0.0.0.0:8080 GENESIS_PUBLIC_KEY: ed01204164BF554923ECE1FD412D241036D863A6AE430476C898248B8237D77534CFC4 - SUMERAGI_TRUSTED_PEERS: '[{"address":"irohad2:1339","public_key":"ed01204EE2FCD53E1730AF142D1E23951198678295047F9314B4006B0CB61850B1DB10"},{"address":"irohad1:1338","public_key":"ed01209897952D14BDFAEA780087C38FF3EB800CB20B882748FC95A575ADB9CD2CB21D"},{"address":"irohad3:1340","public_key":"ed0120CACF3A84B8DC8710CE9D6B968EE95EC7EE4C93C85858F026F3B4417F569592CE"}]' + TRUSTED_PEERS: '[{"address":"irohad2:1339","public_key":"ed01204EE2FCD53E1730AF142D1E23951198678295047F9314B4006B0CB61850B1DB10"},{"address":"irohad1:1338","public_key":"ed01209897952D14BDFAEA780087C38FF3EB800CB20B882748FC95A575ADB9CD2CB21D"},{"address":"irohad3:1340","public_key":"ed0120CACF3A84B8DC8710CE9D6B968EE95EC7EE4C93C85858F026F3B4417F569592CE"}]' GENESIS_PRIVATE_KEY: 80264082B3BDE54AEBECA4146257DA0DE8D59D8E46D5FE34887DCD8072866792FCB3AD4164BF554923ECE1FD412D241036D863A6AE430476C898248B8237D77534CFC4 - GENESIS_SIGNED_FILE: /tmp/genesis.signed.scale + GENESIS: /tmp/genesis.signed.scale TOPOLOGY: '[{"address":"irohad2:1339","public_key":"ed01204EE2FCD53E1730AF142D1E23951198678295047F9314B4006B0CB61850B1DB10"},{"address":"irohad1:1338","public_key":"ed01209897952D14BDFAEA780087C38FF3EB800CB20B882748FC95A575ADB9CD2CB21D"},{"address":"irohad0:1337","public_key":"ed0120A98BAFB0663CE08D75EBD506FEC38A84E576A7C9B0897693ED4B04FD9EF2D18D"},{"address":"irohad3:1340","public_key":"ed0120CACF3A84B8DC8710CE9D6B968EE95EC7EE4C93C85858F026F3B4417F569592CE"}]' ports: - 1337:1337 @@ -48,7 +48,7 @@ services: kagami genesis sign /tmp/genesis.json \\ --public-key $$GENESIS_PUBLIC_KEY \\ --private-key $$GENESIS_PRIVATE_KEY \\ - --out-file $$GENESIS_SIGNED_FILE \\ + --out-file $$GENESIS \\ && \\ irohad --submit-genesis " @@ -64,7 +64,7 @@ services: P2P_ADDRESS: 0.0.0.0:1338 API_ADDRESS: 0.0.0.0:8081 GENESIS_PUBLIC_KEY: ed01204164BF554923ECE1FD412D241036D863A6AE430476C898248B8237D77534CFC4 - SUMERAGI_TRUSTED_PEERS: '[{"address":"irohad2:1339","public_key":"ed01204EE2FCD53E1730AF142D1E23951198678295047F9314B4006B0CB61850B1DB10"},{"address":"irohad0:1337","public_key":"ed0120A98BAFB0663CE08D75EBD506FEC38A84E576A7C9B0897693ED4B04FD9EF2D18D"},{"address":"irohad3:1340","public_key":"ed0120CACF3A84B8DC8710CE9D6B968EE95EC7EE4C93C85858F026F3B4417F569592CE"}]' + TRUSTED_PEERS: '[{"address":"irohad2:1339","public_key":"ed01204EE2FCD53E1730AF142D1E23951198678295047F9314B4006B0CB61850B1DB10"},{"address":"irohad0:1337","public_key":"ed0120A98BAFB0663CE08D75EBD506FEC38A84E576A7C9B0897693ED4B04FD9EF2D18D"},{"address":"irohad3:1340","public_key":"ed0120CACF3A84B8DC8710CE9D6B968EE95EC7EE4C93C85858F026F3B4417F569592CE"}]' ports: - 1338:1338 - 8081:8081 @@ -89,7 +89,7 @@ services: P2P_ADDRESS: 0.0.0.0:1339 API_ADDRESS: 0.0.0.0:8082 GENESIS_PUBLIC_KEY: ed01204164BF554923ECE1FD412D241036D863A6AE430476C898248B8237D77534CFC4 - SUMERAGI_TRUSTED_PEERS: '[{"address":"irohad1:1338","public_key":"ed01209897952D14BDFAEA780087C38FF3EB800CB20B882748FC95A575ADB9CD2CB21D"},{"address":"irohad0:1337","public_key":"ed0120A98BAFB0663CE08D75EBD506FEC38A84E576A7C9B0897693ED4B04FD9EF2D18D"},{"address":"irohad3:1340","public_key":"ed0120CACF3A84B8DC8710CE9D6B968EE95EC7EE4C93C85858F026F3B4417F569592CE"}]' + TRUSTED_PEERS: '[{"address":"irohad1:1338","public_key":"ed01209897952D14BDFAEA780087C38FF3EB800CB20B882748FC95A575ADB9CD2CB21D"},{"address":"irohad0:1337","public_key":"ed0120A98BAFB0663CE08D75EBD506FEC38A84E576A7C9B0897693ED4B04FD9EF2D18D"},{"address":"irohad3:1340","public_key":"ed0120CACF3A84B8DC8710CE9D6B968EE95EC7EE4C93C85858F026F3B4417F569592CE"}]' ports: - 1339:1339 - 8082:8082 @@ -114,7 +114,7 @@ services: P2P_ADDRESS: 0.0.0.0:1340 API_ADDRESS: 0.0.0.0:8083 GENESIS_PUBLIC_KEY: ed01204164BF554923ECE1FD412D241036D863A6AE430476C898248B8237D77534CFC4 - SUMERAGI_TRUSTED_PEERS: '[{"address":"irohad2:1339","public_key":"ed01204EE2FCD53E1730AF142D1E23951198678295047F9314B4006B0CB61850B1DB10"},{"address":"irohad1:1338","public_key":"ed01209897952D14BDFAEA780087C38FF3EB800CB20B882748FC95A575ADB9CD2CB21D"},{"address":"irohad0:1337","public_key":"ed0120A98BAFB0663CE08D75EBD506FEC38A84E576A7C9B0897693ED4B04FD9EF2D18D"}]' + TRUSTED_PEERS: '[{"address":"irohad2:1339","public_key":"ed01204EE2FCD53E1730AF142D1E23951198678295047F9314B4006B0CB61850B1DB10"},{"address":"irohad1:1338","public_key":"ed01209897952D14BDFAEA780087C38FF3EB800CB20B882748FC95A575ADB9CD2CB21D"},{"address":"irohad0:1337","public_key":"ed0120A98BAFB0663CE08D75EBD506FEC38A84E576A7C9B0897693ED4B04FD9EF2D18D"}]' ports: - 1340:1340 - 8083:8083 diff --git a/configs/swarm/docker-compose.single.yml b/configs/swarm/docker-compose.single.yml index 49dbec866de..f9412f29c5a 100644 --- a/configs/swarm/docker-compose.single.yml +++ b/configs/swarm/docker-compose.single.yml @@ -21,7 +21,7 @@ services: API_ADDRESS: 0.0.0.0:8080 GENESIS_PUBLIC_KEY: ed01204164BF554923ECE1FD412D241036D863A6AE430476C898248B8237D77534CFC4 GENESIS_PRIVATE_KEY: 80264082B3BDE54AEBECA4146257DA0DE8D59D8E46D5FE34887DCD8072866792FCB3AD4164BF554923ECE1FD412D241036D863A6AE430476C898248B8237D77534CFC4 - GENESIS_SIGNED_FILE: /tmp/genesis.signed.scale + GENESIS: /tmp/genesis.signed.scale TOPOLOGY: '[{"address":"irohad0:1337","public_key":"ed0120A98BAFB0663CE08D75EBD506FEC38A84E576A7C9B0897693ED4B04FD9EF2D18D"}]' ports: - 1337:1337 @@ -47,7 +47,7 @@ services: kagami genesis sign /tmp/genesis.json \\ --public-key $$GENESIS_PUBLIC_KEY \\ --private-key $$GENESIS_PRIVATE_KEY \\ - --out-file $$GENESIS_SIGNED_FILE \\ + --out-file $$GENESIS \\ && \\ irohad --submit-genesis " diff --git a/configs/swarm/docker-compose.yml b/configs/swarm/docker-compose.yml index e96c7f31aef..d635c5d656f 100644 --- a/configs/swarm/docker-compose.yml +++ b/configs/swarm/docker-compose.yml @@ -12,9 +12,9 @@ services: P2P_ADDRESS: 0.0.0.0:1337 API_ADDRESS: 0.0.0.0:8080 GENESIS_PUBLIC_KEY: ed01204164BF554923ECE1FD412D241036D863A6AE430476C898248B8237D77534CFC4 - SUMERAGI_TRUSTED_PEERS: '[{"address":"irohad2:1339","public_key":"ed01204EE2FCD53E1730AF142D1E23951198678295047F9314B4006B0CB61850B1DB10"},{"address":"irohad1:1338","public_key":"ed01209897952D14BDFAEA780087C38FF3EB800CB20B882748FC95A575ADB9CD2CB21D"},{"address":"irohad3:1340","public_key":"ed0120CACF3A84B8DC8710CE9D6B968EE95EC7EE4C93C85858F026F3B4417F569592CE"}]' + TRUSTED_PEERS: '[{"address":"irohad2:1339","public_key":"ed01204EE2FCD53E1730AF142D1E23951198678295047F9314B4006B0CB61850B1DB10"},{"address":"irohad1:1338","public_key":"ed01209897952D14BDFAEA780087C38FF3EB800CB20B882748FC95A575ADB9CD2CB21D"},{"address":"irohad3:1340","public_key":"ed0120CACF3A84B8DC8710CE9D6B968EE95EC7EE4C93C85858F026F3B4417F569592CE"}]' GENESIS_PRIVATE_KEY: 80264082B3BDE54AEBECA4146257DA0DE8D59D8E46D5FE34887DCD8072866792FCB3AD4164BF554923ECE1FD412D241036D863A6AE430476C898248B8237D77534CFC4 - GENESIS_SIGNED_FILE: /tmp/genesis.signed.scale + GENESIS: /tmp/genesis.signed.scale TOPOLOGY: '[{"address":"irohad2:1339","public_key":"ed01204EE2FCD53E1730AF142D1E23951198678295047F9314B4006B0CB61850B1DB10"},{"address":"irohad1:1338","public_key":"ed01209897952D14BDFAEA780087C38FF3EB800CB20B882748FC95A575ADB9CD2CB21D"},{"address":"irohad0:1337","public_key":"ed0120A98BAFB0663CE08D75EBD506FEC38A84E576A7C9B0897693ED4B04FD9EF2D18D"},{"address":"irohad3:1340","public_key":"ed0120CACF3A84B8DC8710CE9D6B968EE95EC7EE4C93C85858F026F3B4417F569592CE"}]' ports: - 1337:1337 @@ -40,7 +40,7 @@ services: kagami genesis sign /tmp/genesis.json \\ --public-key $$GENESIS_PUBLIC_KEY \\ --private-key $$GENESIS_PRIVATE_KEY \\ - --out-file $$GENESIS_SIGNED_FILE \\ + --out-file $$GENESIS \\ && \\ irohad --submit-genesis " @@ -53,7 +53,7 @@ services: P2P_ADDRESS: 0.0.0.0:1338 API_ADDRESS: 0.0.0.0:8081 GENESIS_PUBLIC_KEY: ed01204164BF554923ECE1FD412D241036D863A6AE430476C898248B8237D77534CFC4 - SUMERAGI_TRUSTED_PEERS: '[{"address":"irohad2:1339","public_key":"ed01204EE2FCD53E1730AF142D1E23951198678295047F9314B4006B0CB61850B1DB10"},{"address":"irohad0:1337","public_key":"ed0120A98BAFB0663CE08D75EBD506FEC38A84E576A7C9B0897693ED4B04FD9EF2D18D"},{"address":"irohad3:1340","public_key":"ed0120CACF3A84B8DC8710CE9D6B968EE95EC7EE4C93C85858F026F3B4417F569592CE"}]' + TRUSTED_PEERS: '[{"address":"irohad2:1339","public_key":"ed01204EE2FCD53E1730AF142D1E23951198678295047F9314B4006B0CB61850B1DB10"},{"address":"irohad0:1337","public_key":"ed0120A98BAFB0663CE08D75EBD506FEC38A84E576A7C9B0897693ED4B04FD9EF2D18D"},{"address":"irohad3:1340","public_key":"ed0120CACF3A84B8DC8710CE9D6B968EE95EC7EE4C93C85858F026F3B4417F569592CE"}]' ports: - 1338:1338 - 8081:8081 @@ -75,7 +75,7 @@ services: P2P_ADDRESS: 0.0.0.0:1339 API_ADDRESS: 0.0.0.0:8082 GENESIS_PUBLIC_KEY: ed01204164BF554923ECE1FD412D241036D863A6AE430476C898248B8237D77534CFC4 - SUMERAGI_TRUSTED_PEERS: '[{"address":"irohad1:1338","public_key":"ed01209897952D14BDFAEA780087C38FF3EB800CB20B882748FC95A575ADB9CD2CB21D"},{"address":"irohad0:1337","public_key":"ed0120A98BAFB0663CE08D75EBD506FEC38A84E576A7C9B0897693ED4B04FD9EF2D18D"},{"address":"irohad3:1340","public_key":"ed0120CACF3A84B8DC8710CE9D6B968EE95EC7EE4C93C85858F026F3B4417F569592CE"}]' + TRUSTED_PEERS: '[{"address":"irohad1:1338","public_key":"ed01209897952D14BDFAEA780087C38FF3EB800CB20B882748FC95A575ADB9CD2CB21D"},{"address":"irohad0:1337","public_key":"ed0120A98BAFB0663CE08D75EBD506FEC38A84E576A7C9B0897693ED4B04FD9EF2D18D"},{"address":"irohad3:1340","public_key":"ed0120CACF3A84B8DC8710CE9D6B968EE95EC7EE4C93C85858F026F3B4417F569592CE"}]' ports: - 1339:1339 - 8082:8082 @@ -97,7 +97,7 @@ services: P2P_ADDRESS: 0.0.0.0:1340 API_ADDRESS: 0.0.0.0:8083 GENESIS_PUBLIC_KEY: ed01204164BF554923ECE1FD412D241036D863A6AE430476C898248B8237D77534CFC4 - SUMERAGI_TRUSTED_PEERS: '[{"address":"irohad2:1339","public_key":"ed01204EE2FCD53E1730AF142D1E23951198678295047F9314B4006B0CB61850B1DB10"},{"address":"irohad1:1338","public_key":"ed01209897952D14BDFAEA780087C38FF3EB800CB20B882748FC95A575ADB9CD2CB21D"},{"address":"irohad0:1337","public_key":"ed0120A98BAFB0663CE08D75EBD506FEC38A84E576A7C9B0897693ED4B04FD9EF2D18D"}]' + TRUSTED_PEERS: '[{"address":"irohad2:1339","public_key":"ed01204EE2FCD53E1730AF142D1E23951198678295047F9314B4006B0CB61850B1DB10"},{"address":"irohad1:1338","public_key":"ed01209897952D14BDFAEA780087C38FF3EB800CB20B882748FC95A575ADB9CD2CB21D"},{"address":"irohad0:1337","public_key":"ed0120A98BAFB0663CE08D75EBD506FEC38A84E576A7C9B0897693ED4B04FD9EF2D18D"}]' ports: - 1340:1340 - 8083:8083 diff --git a/configs/swarm/executor.wasm b/configs/swarm/executor.wasm index 6d82237ec4e9e7d45f5f4c43b81177ae4aca83c0..261dccf7f855301a29c0571679858229daab1433 100644 GIT binary patch literal 512255 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 VFezbFRd~OEztg zG-C2Tx(qZJGWkJuaqrT2B*;)qGQ|_$%0I#wXu)7S`n<-@EjW^`=D0M>cx1|?l#;cp zaJ$7Vje$rtU#Gfu)Hn+-1yibPp;2|k|JA9k=&Px+B`ww&^FHYw+9DpD>e`XD=1fL2 zsIHS*nZBa#iey!_>HM!rGMc8qN+J|?OMxB!(NqO?{KxPywtM-PkUU@>jnv(0L`{OD0xhT%ol1b*ZKG~p>5W_I2* z03WueO38(T!U8AR(vgqr{Wfr7{Gm-UL6;xE4MZP69HFU6Hmwj+U~5wl+r zMouPl#^_VzQ_53KKu|_Rlry_VF?TGm@mBxHq&Yb!j2(utEW*b&-tuGdHr(K6tB^lT zsX+b_w!7>WzH2RQ#HHbns}UcvGzd!h(oJxUeS38tgroLhF>Q;RVB;|@Cw5A+lMxOo zCg7#x|*iqwqofq+NSBe-RdYEfwQnE?&jL=m{6+V$-vL+&i5sM=^==;gg zgST-@iR6($;Ym6|xKc|=>J znkHzrXA%B0_8#*YR45nWiVy3ln}FO;)@GXhWKpZM^p)FSRr}bI0Um@wOmpB6nXKg(Na2s zHcBP{1ac7=PeDr15qx=*5j>=$s|Bp7_A*XvQWDtl@jTs{f3`(zC!g1V8;3kJmulHm zo3AN%IT^`635|HJf>l1@YCuyo!AeeC2m!GZuSEhVa0-ki5p!SR25^eba!K&~tJ7RY z-Xe@4mU2-wYAJ}XJY~#M zBI`n-A7?u{x~35C%QGS8odn;9m(30GeE2Q&3b9{NKQ{3)OE0rQPIokF^hVl#_=jtW zb*)S~vt0UGCZz6I%h%aT=X!zY>&kCSv{_6X9TY(9`xLmYz>>a8-#fu@nG$>mu}kp5 z5f^LdS*M6P$J-$;c~WUfsb_Yn;{BqH%HOS@R0}OaQdXd%{1s)_(|l~dZ0fQd!2>H` z_9kiIFS)0Xsi@8gW6-DDM@Y$hRbi#1PqGP0)F2P@YZy7g`Iis#%Uo=m9Xgq!xQ{Ao z+%bBr=H^oL4M8`-3#MiFf@Cl<27>A=axfZD#9t3oL2#rnaLEWS?8ihm3R4{}O;oCB zxg)wsSvFgiFuFO<((rKyABj`%K6bH%qd;?sMpa?eeOH6Vbst{S3b*mf7C5Z}Pui+9 zMFU9V+Chc9)IYhBQsn_6B{3LJP@7Dk$Fmt=tF9~F$Mw@F0fusgd-!fW5T?keK6JVg z)>yjm&fzfTR*L|lwK-*H!LX@_bIx?~qGQ|YWb`)^8P2-`^u=w?!2&thFwCnlNk}Rx zLrO--)s%2t4I-m~#3+dbCllxZP9f3t)>j4+)iS!lI$(5KOh2YV4jPtRM7UVCe2?5K zOMR=zzXTgmRyV)Q7C^zrrbcAbwMH<8OI=m-zKKySa82@Jt5=?EeQo{*P_XTR`_Zie zSEQrM-$I9I_`;=&YFKhvx>P+LIk@1yiFSa7CT%#0@aob#iK&ok++A(3HR8|qZziD<9L)En+#F=Jqvp?I=!FecK8 zQ)WzKZLJFXS%^_FQ>vXnv?ooj^@SLEI3`HeIkw9WA4Yemdv1e~z1_^jZ97w}-n`$- zznfo~grvp8P8D@VOFEAqGGZw!(7P@Pm?*76Q_%2)#{tq{C6kODAWXuOdkVhi5fonu zci6eYO(BNPtfwH2lQ{wjyU38^vY{>OIu1{V1q=Kb8gn)*cH#>bYA3(jW;M%{~98KnERFzo)^Em_U!^i{euZ1^>RnO@By~nHRS!^PDHe%~swIoK)e-Yc z$c+H9^rdF080v?^g87RcCP)KrRse&2f z1T1|HN!|OvDuTJnLHf-a>@aKc_-@!S*{qA~}_$jg%qj zP)%(09f3XRJ5t~7i)xxl{ZtMj7^$PYUmd6McRP{@*a=M81bdFt?jAlkR$I~p7nVeW zE6m}-P1mv1Fa8S&FH)Kt+6 zdeRoOYW0jSjq;twAY1N&=+<^xiYBrvD2sAFi8g}V%8FWMkzB^Y2sH}NMyX5s;nt)- zjn#thy<)Ybky>t$Fj)%CRtf$|y>__=x{eftRPiJAFo;_rLpNI69O@zn$%vi_75Z=d zQ1)bg2>dzZIu)+bFM+HE^-HX@Gx$LtI-MWFQJq2q!?fHK1Vz_(tW|b+=wE}C>dJq& z+s!=eUcme+R1CWjj&*U*A<{AC&u`E%=Ff`e>wmN7?=ye?zPeKn{?9D!`=Lnz8#}5&w2S%o#fBInOM)unV?MHdfhCO=QNR)=QK&Q zQ%%?FwwRv{Etz1*%Nrx7Zv@DZk_+6%r&%6StxCt5d0WO&*&BH{Z9++7m^8K5@kah; zY><_3p_Q_?yu4l9mzO|~&mp(KQ4Mb*^g8}cbv8y-VgIz`I4SR1MR+GDBlILfa#4H! z)kW=rz?6Oqbd>ypMU=QDdHP~S?SWZD;LtyAyY|QwkJpZJFd6WdW>`Jx)C;Q-d*v^3 zD{w8_a&Cg`nhy1Mi@WyDO>19tad%k&Sx}x>EiCpv3sEbx(-Bc9zbvh?pM*h0(kUP7 zE|A5Kh%3biDZ*Fiwdpc30SQwu;S^)Pe6&Yxad14`TE5T^0v8o(S$2yU(8_Z3&0>HR zFI8O4mb$1~&}|^;vW{&ot&$aShFq-JwEFm#ZK$H-v8p38Jy6UuCd)87Je3!u2L)z- zt#NF4v?S7qEK_HW%WpXh7HPdHGrLXe)I$pvtd#V{fmVma=0!C5s>-0E{QsAAr{N|y z>rQqZMX&U5>rS7#&IL8W5R#H{ok_LY?ySqsHZtAt5 zJ+`WVmG&I=TW~*2?v#mh@#_}igmiJG+$t=4v3nbpfUVY20u<6d$$Y-yR8OVhwsZ1R>Fka4%Fr&kQw5(F9K5xY0mRnFB2-}s=VD0?#zjpR#uK3mqZ>?Q^!5?>?H}?27jHHV!mngncG5SWy)v%rgqq#cE zUt}FGxFzON^sI&UTsTfWe@`((2&W(@Wz5PEw zcK7ny9b?b_?(A<|eAoK3@=i`L1O-R)_3lZ;Cxn|ywr#wPtH*_JuXfjc>uz}dndiqJ zVq=K$@oJL~{`$d3M%NBMM#7ppB8t%+BCMmFT2eJzmY3WjHARj>{Nut=e}%VE=Da(F z-C>BqCX~fQ1yUAyiwU)o{MV8d4>BRRRY&R=WD#xYR^7+;Ww|k=(f*)^>u^iAMOdBTlQo|L{s(Nrs$`?@Tdyma2Bm#+Wj z-Ai6CNdAQ+`RLs`L=bR_|`A3yZ*zqdv5;TZ?<3f>;*UOwm$b~mduy! z37T8=V@5n%&3luUuX*^$u^e&(Cc-};>^2S4|ELGrpiL2`?3%!p$u-rKbN z*&l8mec+K7f4zV0i%*_C{KGAuyZ1kKQ(}zXijomIC1d+f?tbdiFP(SZrJ0iPyHEda z_0Y2upZeu%SZn`cPte?=A5Cb!yFtmYiuWcdPn>uD*S_-Ei(meKYS%sX#P=Ti*7aZA zT}|%Kj^tbS1j#M>F(ZyY;NvMK?S#Hh#rzzuRp)=$~C|d}~iI-LfY$qS~t7n-o1Z@|)FPdF-6W zXV-4ne9hqarQ06+m)#`jEw?cR7Tpwh?GxW#bJOOFH{PC^n{OVvdEzHOyykZ=zlJIB z-aSEci+(gA`3DVCAQkUzdOrK(FaPJIXRjYTsXFO59=@Yc~|cN5Kjc52?dCunZb zk0vxXY8qDY-lXL(U-i|SKmGAfj81s9t8cpL){PhMxPH~^1G&jm;t9WnH^J5o0v*q`jue+*JyZ(ZYUireaci!~3 zyD6Uk?9}{~JwbAdel#JuQD{){-lpZ>ubFt@*86|?)&HnH^6-ZHzVY#&-uid17c@V# zCunZbj~UTy74J=2e()E6SohJh@B8?DUhVdKFWq_lSH3uYUwsb5Pl}_3@Sf< z`DyGKF|RzCPMed4yfW-YKY3l?ArY=j{W5OcU98sKUs{4cBX((^k%;kbnbAE1*9|$q z;0M#-0E6dCKMA;C$N{FMdj_5-se6XbSB14LKmYEQ9T$J$rvJNk=QTh5{@u@Ae$79m zL|lw+SARk7uDyKl=WA7q>txX64JG-^+-n7;W0^?zO6>RsX1QZ;#)PpT7R_ooA0<`-oS&^Ltm``HRnuY@C}9;OK7m zuvIm!dT2H7%@O>_HRnFQ`sY77w@`chS5N=)_6<+%sH_L^Ec-`d~~;ZC}+MFwYdH@drMk{doY5p*<13(4L|tx>YeAl{HEF^=RNU_rw1R{ zaAMj!PyVaZ=iqmzbMUr3+KTjW<(**;es?+te^R*I9p{_+9NYrry$dSvbf$7M7e~R2EzhC#j`PAqiKfV3gEkFOq z)B$H`=V!0~?UgTl``OGeIJpbtzCT6o`aMT(E9jfB`|SpUpw+)O>Gqeu8G7KwZ>}Et z*jcp;e{$VRk3MqUMRhkaj@(Sgt4*IKe~8q>s99+UwiJizr6d7iATQp$!y|s*Kto%%?C3d>OCUeK@{?t(2L`_bDF+u z&+*#|{wDl3(yrCNH);2aKf2)B3%|R4HG09|=+3Jj{QOt%|3Nlu+Nrha#5?q=(5tJv zXF@NRhdcC6>^XW{c3?*Q(!k!P-wogX!t-C*{^-*Wc(pHGzWv27-ueBXADK(u5go&r zy0jdARS4E;#F-F0oFVv%Jx6dW_-Dkg)xS6C_nDh7zUkI$esNoG?Q=sfjNbT}Z#}Uz zN3NZ5nTp);SB2d1T_ATnL+%56j@%aD&xl*9Z=~Hn+qzv#+RuOco8Q0poJYU=_S#El z|7^|u>mU5h|Cyq-7=2aU+>Hghj%T#0$aS!J&2Dva?y7z+XPP=q0D#IOPA)A}cppp_ z95q|Wc}60Y_wvK>5Jk!20FDK|Fp+`AGwV3nBE3o@;Jc<|t9Lv%PW*4Gmo3FF-XnBt|*DV#Y zUMn+x9?CSYPv@;%mAahWJwNGJv94UDH-1O#S9!MiN$)9~N!znt=l4h&WX2JR;Avpcyb@IB74x=)V*rv=Yy*V($f-%{VK_gRX1y;8wW zIlD$|(?x3iL%eXp=?tamJhc6sO1Z&M7fJzHpkq1I41~hwdc{<4fDK(fnl0Fxp!0mr zth;zNtRy%Tmj?y~WJW^gSvifE#RYBGk?JZ3wK%Sq#?HfI-kt{SjN09PwMV!9*x9$} zadmhb$I1>M<`x0aT|}VvG}@jWjHC0_1Ie|h{VOSBXoghA>pzR!$tmSeKSpy#)Oao<*I^_33Tv}kZc30yi&9y zkGyjWd$OKbYzpu=oBukfS+`zRi^;H(vG;XQsM>J?5&IZ3iX27AM>~#ByevDOPoMyf z3oog1qZ3iS2_;|=__*%Nj&mL6zfS?>Pp^2%S(P?nBlZMKi3=DwUTq+8e2k-%6bRCj_=FltMR%S1@`>hlTPGx5P7x$0_^!0Rwg`(%T zwU;_N%fLXlX*nsZ>h9%Gdiqve)xEC{qX%4>ROU*LDscihV5l3E_$`4MQu_!UMvdGl zpi=x7ggRYG+&geV{LHvpX99agffl(^zeIOZ$V`{m2Dy_MeK$CsL-LX>7XSFYyab%M zWh6!3mh67t!!Rh$M4(`#geMea+zexobvVelKvaiS$g76i4G{DBT@O^ z)jiwY92x?GoX)Y(^cC2Z^!_IiQ^PVI+I+Y7zAD54~B z%skC3rJ-wMNc78Xqv@}`tMe90Kkj~4cjWE}2~X&5SI^?|Qg61x6cXWZmSS`SN!tnB zHN_D13lDvIAtV$5t@I}rkX*+Rcj%-rexA&@TFz@ zRl%|bB=reg!&LL()4)5JqbA z)uI&IL{@X)8ZwMk6~7Bbu`cLKC>Cf7S3>oQ<9U3yqW*Om-AfLL4-|RM{o1<`lFzJ- zB#~Spf1l)q=Jbju$;Cv3P-lvW5s-Fk9RUh7!wy=kKR$2=BTd%ljvM?voIDgGHlIAY zr%WD53bp0h+(Fyg?^?~f&VO_HohFyAQ#84N2cK*)3ep;j>{meQxY(waOH&YmJLo<4 z<%#*Nsx@iVS(Sst79rj!AraMUGHMrl>9`Kn00cDEa(I#rf@|-7QkqF1*Esl=mM99d-+7) zgkh#Hb+I>|r4$sB;B&N?WJ(P_Ii0WRj9B}C^FxtzI zzDyFWn~8|0F*NL#h{#GPl@O(Z->o5vjpu?L5S$V50yl_!wJhPjJzs-01knJZMpG0+ z$_@=9XxK;uBZy7;0`X zQiwicWN}r>10w{Q*6^%{_Vqhl& z;f3!E^~_n02?Gs%Xagn*or(`ufXH*+MN*2MV^F0xy&yd1q&QZ^Dx$$cmZA&A)I|ge zvQxcS_tq-8|Ov=E~?Rdv`*B5NHyy5lO@1n!UGJiEg%CR z=l5k&lDjGhA#N1l7x5q_>NGcKv|$gEbpIs6+o~6%EzqW0 zPb6FDj+TG9oD-^YIR~1IZb6gDInXpKTHS#{Vucjsy%{~FSZSbVuAxV`O64GZ&NLDe zW$s0ILWa#1O6E49MtF_q#`|ZeF$wlQ8&#HOj0B4fC!;iFr7{Y=JAq>0l4u~=!b5|M zLJASHIr^AM2x;&Pf0yP;i5wvtTVEN;k|G-twil4SF9WJ;&(2}hE6Wc;q+AIq9d?1T zu>=AnlL#!qpmHPvXoBLG2k)n5mR$guw(UWB);bHm7Se!)wg$w60nZMdF!1~A8Q$R& zs4;0^;j&CU$(UZfuQUBWWjs%mVYnF)IVU9w3QGEIwgc{WI5vA5KPDQN z2S@4q5s5L*5}8*Z1DRJusD!IBGs|i$Qbem43Kp0dhNUTANfiXEQTz7ecOCEWUGgNq zGRCY!k2P&&nOQiB(sLUAou%inF(rSFLrA@FeD}QFG1t7ml38mCa7&PwwMJ6dmbF5A zZmhw&ay&tFMaz&1pZ;lgO*N2RD^m>vgJhU)s?mUoNhCR-3cChJk*au?^~9|Nqo-}2 z8X|bTW+@3)h62^jQ@}tTZD@{-5FNzE;t$p>TZl{i`);17R#${%s}E*%Lv>DCU-vxA zMPMIr5Aj^rT6uG-qw7k%l0 z(NBEo^x8`|-Es9tZusNQ>&{|<*wDXiCF_Xf`uRvH{jSz;N_kS)G#MqAT*%gVTl8z` z<_-zO@`j@uGInHrI>hy9XHdmdeF<2QBF|Qu!?D1O&NX2mJPL_J1r{<6!QD`;lGegY z<1{WtmeMb_L+MxHqD_P?tpPnty~z-J2*@ra@yY6OVn#1h$C=)L zr(5L9u00TjCQRh04Kjl|h5eb5f>>J{w*)J~aYj{$9b-jvi$<91pwT^P&)V(L6M73} z!-42Y=8xzpDIjSN!VG5XLH_1?K<&0*VEd*`%qTxm7Uw4M<(;Ay3kgjWn{d z_KOotmkzR#Ww0EBC^>qDErSjQSi$y<#@tB#wxqD)hOb@n?-z}J8}T+X{~n~SbFKNS z;$H~qmH4;+6x|jf{_SNpC~1aan%|eJT;WsV{)0e>#G>)Zn!36v_oV_6+D$45hMC2+LuB%wHiS(y8^SHQ zP}m_ObUJNRQ<^ni*K$=8#-s#4)1_}yR)PmYa_&WtMQ6mcXF^*^7b~fqBw$+VjrcM` zL&e;7;=`1sW}ah!k@7hqte1>JG_2EaI%gstjFXcq1b=5E{6kIflQD!1zHa83Yn0|_JK<_+csSxu-6V--h>)lo4;9unT5gTDFa$F7_ppde%DU1p|6>>3B!Xg8S4 zcEJ<0Lxf*zO-L@)<<%}mU36bcek{lkg;>=|C{hLq6n%PQp#@X8Vwe!wwt>lhMdeDBmUOg1MbxCUHWTavS>A zs*epiy-UWXL5=b=1Bs}7;MqM>2%7Y6BF8te zw!+-+4sG3Lpfz&D%(TU=Ij>oKJ+1bnD8B+KO35?IsXflUL0fWTYNV~_bw8`tP8!Sl5dQ?!Qg5?^bhiF9pr zFTbXhrTRv*C7{6sVbeQv&|_**d*HhmM3n1N@@r*ulcV;6>?SaTV%7=Ni0%f>Ly)oh zK+hNj675`EWlOGwCZf~DTU_-pBLI|5iZUX&8f@v7OfbRJ_dcj^hDzYT~b(r$Ck*T4AJvuL}vB3#Qo&Nnd$# zmH>7`;=G~)V;#)wDb^Gb%g>ObOx|_fGGq{6!e|UiIR_U*jE43tWa43s%-QH2Cr=bT4SR4hVi%1}g(ALo=!#e_38lYiRdWOCi;h7M>}NQdR4%nT=DXmd4gl z$6jM=^kJ!YhBP)WS7JZJ62m%&_bAQDrSVBKbOB=49A*qNaI;#301XpP8RZ5ckZ#YJ z2xzp>r4(zK9Cy)OBjS3J_C&d&pd8Oj+H~vBJei^-vW^l7$|W!4zkvVRaM+Aat`-(a zC0v5!19A*A=@a$#K)(p>`X6CtjBG(RzOEX@W~%CWFwE&Luf{NZ6Lm1 zU6dh;ZbAF6&J46-)l zy|&1chmu@v%;yG&54NLpkz!FW17Y3AuxJidq+#9HK9ub*m=i*v{V5@VYN|#2ZD`5k zKWkC-TNiLS&AY%1!PXyELP|CCguZ9R_$@W!JVxYXIOjn)H!~N4j{$Nx@2GF5fD_>F za5z_Arr~DH&yb!Ygqq@F6Vij|7pmp^D12#PQYx7au(ksY#VOqBs0W(J z)P#1qJsYlo9UI$Vsg^Z7Oz~98J~$o`SL>E6@y)0%?i6%32g0*ZZ@Oo0vzJsH88oJC zVrv7sz6a>jG+h{&wgYG`wYCFjjzxavFSLv*sd|Z#mS6$;_N5*!>20gnzizig@(}L_>K%hV?<%+zho(vL z>iO@rqjWE~UnFPApMJAnE%PK7DD9AkiBI2(0|=#5?^>Yg60fS07F5~pQ5L=Z&4OqH zbs&nLKr>`aVHs67>1!Jjy4E&i2hiZ6uk|k!*jbl!kUc7Zaku23lmPJ&DeWBg2F+8vpYoPNrHGm)HHTC=R2Ixp!yC# z3#d0>&^q0qwQ9zMMhNKXpyeW(fx-X2kjrQr5#U3vBL=b&k#BuxHWGpP)Z5VJ^0`xT zxi!p&ATG@-2vIrg&``Px03>(qAES>`eljYB%?3{3x{fk3i$h(s14860Wd~sF1wSG@ zNA2FHqI|46)0cL+&kTdQ^lBlL$Y>wlblO6Y!p_wmC?(@as9*(LnfAf1DXMly`#L7) zP!13zx=04U`Ah&LgS`8;maqdlwvn_V++pLj)vt7^!%yl0P<}a#GaL7>UaDc?>A(!} z`IiRi&iAOP9nxk2A`Ur0(U+a7iM!HMIB1J@{)XQXF@{69buoH#svXc)da}mzxn-zb z?vhA|QfjuPhYD0moDRfAZcx$gZl|_g#Cfy?gKO-Q8J9I!PzpB&)Yk zI!H9{+;fD39?aTx{lVjUG`HIOn}v&q}OY2Dy}fbV6f72>yVGfRTW<_=5;G zMg--DNP{RSC_zP{ptcGU1*H|xsA%5jJH}dT|LBeg=bl@y>hYuZT64}d=lC_p9COSu z=j?MWqbrp7SUYz9lVFB?PujJ-lp|~n^(B?t#tOU9szuR0E_t#l$AvvxPsT&$to%I~ z#&f#-3|&gyFBe_uXF%wUh(|JgtC|L6Fbj}_#T)8*9ViL_1^TNiwYYe|xv1I>3GbNe zr<@=}vJ;y4Z*>zWse1_;C|Hn9!)uTgY*^8-Vgb-2%$Gy>BT2Gl23j}GN@PGl9E|oG z5qzutMpU8wM*O_Z%e=0^pz~HQ@PB)O)4c#dX+(RAvG5?qX`g8pGDYWC%aW$GjB?pR zHW7)Ll55nVAZD)+{BW2DTmsvU-DI-iEDH4GBby zlt`mj5bu+^RE%4Y2JxrtGR;hLrzPGQ=)e%YZ3NmA5*8A@LA6MK!+{_JAHeD0?Si51 zeK$-bM{4~VG@_&tETd-96_VJ~ux_l3*P_!YbF z)-RjRrn2`v{AwkJjvOk6Kts5&L;V^Gu!HS1K~jqE03oRZv`9JrvR>#D3`6DkPF{$o zqy~*hBz%Pg1X+(?wMSjjM@qj&f5Io@yJ&z>i)SX6{M|w5lzs_%4#y<=$0lgt7#fgx zfS@n)zQkX{W{7Wwp6Ur>P#^lsMbxM@kN;<=Vi@rEMBu_6vJkvb#Kn3W&)(255OOBV zD|q~({~z)A{r}(P@p35~ zuIBs<8ix6W{`ANHwVo&M?@T^i%CF08-B`(Vk=`p?Ajj`tseB6t`k{`N$BTFcYx?FsLa#SxNyF9X4M7;xx_9-_)HPlJ;A>{?Ef zb4$fAV*pfdwH}KvBp9qjQB=~^l(>^N#Sc`?A;YXoldH^2XgS}-n_474h>t42%JRjX z_l!!%;V;IbM&({2yIT|ddL3#eC6wiPl{y!6Ye;b=Y9V)~Ly&qC`Jprwa zqBl&Aq)ng-qJ|b&{&-Ymml_pHX)Qg_gE^Xn zBTOo}xYe$GZPk_&2*w2KgLtsN6h`IzA1Fn`$D@4t*$~e~`W*+*Uq`w~oLz06H5&iM zvIy^upUSd^EI)p_yW}%P$=^nGlQ2v^O-ka=(u{=gx)N80ma1}vW6%ef02&OjjW>wIOS&})5s`cX`pwh3Qf$Ivc+V7t2O#S@hPZ#=jcT7~EIUE*n3st_Hk2lc7!76=tr2qxJ@ViH=U! zoF#N^nuN`7o2VGOUcpv+BPW4f_*8N2yn_2IBk6k86A>2}KgF*G!Loj8Gzpl9t)QiJ z*^v0X-cXQ>nlTz9>(9AOI*Hp&J6H~?YBH17yg+bR{PLo*#>6w%}uL8hQuA?%eW z?PwLM2>jFLeA3nySky08Q4IPjJHAg7fKWpb9g+8Etgt5N6n0S-GT4#~+x+4*ie6I( z5M0nWFU@6;;pDy+t|~TK!4lhjcIf^)kZmwm?fqkBGl^47xitQ%287F~Qa`Ea;jjy; zw4(sbd`(H==p=-a5Z1f>O3_qOLC4O8022ZsP);T-rfVz=emFi{s^1iqDxx>nD3=ir z7JyQKOdDz4X`$6ql2WVwN*dbmR7;dHW1DSgKef}bkL^2*!cQ^s7@)i9fFhxPV-Zg z>M4L__MCyrZubIIm$Pxg)jc*&T!AL*!l4t`izFFL7&35N6oe6hAyerT^**fbbTYO_ zHWBD$vV01GaZKjr8K%WbA}Rn~T@C`d{dD29Y~LXOMn36J>7ftI@Dl%_RKKW<;)0(W z84gW;7yw^|fFwFxAQBr-q?;l&f2)rBig1G`uJxZ$bvLMiDHt~_(2J*jneb=IL&W}s zBM=x?kgQ!t`~+C8{M5!uCJnF|)+ALX4CqX%BwR-`f-{W2n>KNxEfX4;R)&J&fT!kv862AV1d}s z1-y+=TDllD$|-HwsHQ<5g#oT8M)P6C#FoKjV#IW&NUrt_6>qR8z_s6Nfx>VN6oG8m z4jHxtA|w0=e573w`r1(kl^lEcju-h9*KQk_BK26|R-bM|gsa76R!deQzhc@(209uO z5d6^>hCU#mVMFin#&VVnOWKSXN=Ev@P-0oq?_~Lnnhpr*vpDbMjFSRP4&HjsN?*N& zuSgh3!?7rhB(cDx?U@2i)-b zavX}HT}xPUR$ARc{E#3^Bfc%y5h+wUTxvvT@JU`iNFXlrv%4TpXi5`;FxKZoj=BtE zWMZQ4mn*~CvJsSS0r~#1;di;)$m8RVdGd|<$gu_wm|-isw8SSR4L&3Vb?XYI?PV!R zb5k*bZO=;5cqqn6iDWvxFy&@S^>>Bdwuo)r}6~9YGHPw}TXXy(1dsoPai@Sz(?CmV$P;tjfl7G4#!4j_~H5*K# zdJKbvS~_|0OaMIfm-%=(n_XQm+%xD2Y1kp$4MBqy)A)-eAMa+lYaQ`7N^PJ7#t++( z7zZ_tPy*Z7;&Vk2qoZ;xkvTBFn7oL218A@9D<>g(qWHk64`Z6tpzr0{v<;o}tcpAuExB)*9y({ZX%98kTyb{O4FIa_ukROX-2bGdcVv zkP0`Zb2rV1$meCUOREjKX$F%$p^D;ni+zp=wa^$uGAbCx3<&XiL~VUdkI(Y3k>d9{ z6C`zvSN;k3lZ|wlvcyRxy`j7^Ysl)(;PKX^ExlSv89>l?taepP+dNDA z!76p=`X|CtxQ+U!Zk{2`#c&Rq*F5lN#*o{N+yo(U@HR?YY0?#GWDd0@4Y zwF$J;R`ku&6IPJk+WhzvU%uhO?_9sdgt7_D%ZpFC)`@O(n5^6Z6e&pSbw) z`{urN%Om=xRlx!u4f{vKeDvV=uD$G$-~Rl4_voWm4GVmf_(usJo!wOF)~D^I*>}wO z8(W)~edEYIAG`I=$yF04MC0}Py|u7%cJH>90BJ-|E2o-`!&A>GGSkW$dd8~FU@T6j z&K@iCP**{ey>DAYeC3Hk>>(=}sjB|2=SD5Qs!wdeXs+lKDdlHrlgNEVIc;g`3l&9# zw53g18l~IP_FLMnwzPTz%{dh2P16Js*oJQvXQ1BC%3ZQ(f^D?qO(cu>HAAvYrexu=ucH__;`TuLEn)MS4L?C+rcU1Wdbq(&WMZVlROOyW*VMbg*&(~+l+ z+;`;2@6SJb8y>=zlsoM=Zcb_~Vf8dRcCAeqJuy*YOV~UyR$@!0ERmE#j+7wU1B@Rg z1Y)q=DK3zW-WmiD2am}hMu%cyKwqOr&Sh`$@jGa6f- zD2(r3ts!^oqSG3E6GmfOnKnybC{CPOnx<>t0_C_#Y?sSnTsbU zum0EOIr$SMTMT>C2w-}p&4)hl#jnp@bI)UY&Tc+jJR(7TZy5m!n674b(7aWe8(+E z{#)~B`I8ret0IZ)7sEEw$eG$@6^9HB9-r=eO?@dZ=?sHTe12$iwD6Sre-3eDY)i*I zf-u#7(3FV{U$Kyc*f8{DPvtj}b)-aInAQ}Zhh_B^g+i3-H%DRLHo2o1jLr|o`c0Q( z3T;dJeJ&^;I@&JL`npba=+#e*cZQ#ud^%`Cn-JoY1@>=~1dKY;W%WHKrsWSVn)zK#E zbbjb=Ym<%8hc2Ly)(6x#kH{_*+?B13o{0wWY@kmkAPtnZ8ae_2$P=2|I?+7)pQalT z^)O1oUdj#Ix0ro>Zw8Gd0`O)jE5xXTVx>^xm2t)&g*f&D%!@*dLMQ_Yjc=uvT1PE3 zG+zH$RH`v7i@;11RWdM8Niig*GbARQ7d7bSco<_av219qf&%UG1qeag9>;+)!_bW~ zjHDo$R4K#Kpp~hfKw!N!oIrQVFmSS_Bdy9`N>UFYuEKzN##Lf`f;!L{PB8LW*Fa#r zi^GXF*`Qk(3Jdn|sH=xNYmU;vAv+x$x*F;-AQtZ5l%s!Rqgy%I3=4Pfyj0> z+e#%BHwr$#hHkoAM!{rnzQTqnFOme#m!L5uy&o!6$X0yHjdI5*)Q+;3#O(KOwUT*< zeLKasQL7VW6?(C_u_`YnV>xQ;QeJMx%MCY1@^Uk*cST*p7sk4mOB$njxdSDYYjriR zZ`R9=bM#FH9tI5MI>tGw17^rTCrdI45JV{oOqJD}`K@3ogz4SHCQG#8qSg*>v{&Sa z68l*KWVAG)q?2=0D6EM(s8?81(=rSk!#k9jCv8mnJLmusr|SoE6Figt5&3oNV86)7~PiddfR%nvfUSc#0(%iXgvrxNXW-3%@GDHYG2D7{Lt~Mof(>d)ul{kxZdxJe{N# zG3-#znhu8T^M;LKQ&AVg=H@YMe&1l#7#lO|8&jY^uW!s+iHu=HHZ0IL_QMU%E^zKm zT9MXBou$H!MM=gm=9vrhjRRIB>l?FHq>EvbbYu-ajU_q5Fd9Y2Dfx9!967_577RN8 z!;oQ8>*})z71OgxG4; zf5`o7lUAg=pUzs5jP080cFm8%bhop8oTJdPeyW)pq-J)?Adnu+*}kk``z$nAts1UUg#?;-O;HO%laJVmKEZrqT0<(m5;Pazl29s=yxB z+}66oe!17zB#HCRXSb`9HIe|RL4b{@F_5fwky!20p&XZlWl7@HU!yu_kc5`79CRMW z$?`T~nKLa?&qQvY*HTZ~g=H2VN?2T;h({9${YfTrCM^4@MZz-VVCP!ICfS*ynWPqJ z5f?e)msCqN8FE-mw&zTX^hkifXrI^8my4Xq(-eBK55LV4Ylzr+)qK;>4zWGwPvP4ZGL+9HsAek}XTtsE))KLGq36{wQZ`XeaXF zyhpYZ`2e`9M|!^|E>ci;5_yvOPm9PmdM%wqo&$Fg*=1vw*HXzlt@X$m_#h%X9}ed| zGLs3+Q~C_G5C)#{A#;vly*VFDn@>^;{+X=P-srUq=6o_ClaOFoJnbci$gYth(=3DNEAc1rE?tWHYJfhg}2;N}1WX8)EiCDNPDt zq7$>A6!wX{d9slpgcZr0fY>rl2BXvg$iSpAqtq_1rIxEVqZAWMohIkf=q{{+PI!_u z+or8qi4-7PQ->Vj45t=x995{5Q9-ttCZs4<&&qsRk^$;`yD+TEtfoZfq^u<7OEe1% zD+405Fg)nscVdVeRS3FyFrM|LOnnnXs7W+U&54OQFqy+M1Ez(Q!w8xg_$}b}c~$}3 zfa=tI3F@2MfS?@phXS;0YRS*BIVf~|(Y>Bs@ld#tY;YI}_%qW!H7Ea}_WVKh^#64+ClU1*o)w&%l zmBM~p6=?Wk1((f2+4`%k@nyvoieyWzczDUC9WA77m%BPp4S=?t{e==ICQ(R@)te(B zC@#v^GPNQ!>x--uLd1}zwuRRyzA)s!G3cD)HzKzv9>o{<`t`e17d{~}Da7J#R-e`c zg-%VasUky=IXMU_#}*dB)e*$RLO>#|Z#%iPnuykji9092B7VQ6t17Kr@>5fdD6mvh zLakj{eL#RUS5$BPsRc6?Wd&Ij7f!Ri2JXJTRdh8iv0GmQoq9$#>TY2qLdq0mZNQM8 z>Fc0~GdZgkR4!H&gfW5I+FH}{bb;flL|!G>q$;c6w90}C;!Aii?|iWyE@HM&Au3Z8 zYhNAiNtv|bvIiR|04EAL(w5Q5ekqnra<%B{9RbOGPguXFQtH#%^Hj|P4G|cqY9OiJxDl);+}I4`OS9#Fk*I@op&_ZtjVeajf*+vb_!K7W}8CSq4$_M8heDc)q`yrWNB~rqDF#AX+Co5ZT(c=P>*Ta!azVJB zseS#;dEgoV;WEK7(?a`h>SuVo)C^H3CCJsLK`eM9t6CMq()N}uc;hH7=W+uzvJpTX z%VL&j@|;qsEbX#i=eg6S@C7%HaQHO8ETHlaF?QSqj{3fSh7h)?Pz*G+xEGI-76S<$ zv@JE*s%Pk($iS41npAcPl3{_@@dsSvwund_`*j^y{q1@*~xRSeqnuB+10mii+xD=LFpQJLXFD8t54JK{Lp>AuGzhmp>NZ;`G}jSK$(9mq*;4aSyhO~_ zbk2=AFNB(rVIET~wF|u&62%mA>1V4bpodXhL(|!k zv(8Nx9zDL2smZVqGDjQ12sUTR{1&)+eLf2Xn0Dokf1|+uqf(%!ZBFFwaJop+)4eo; zNkU?`mvy(Lb~{!lEw!5ha;*1sGxz|BlD*IwJQq2GvGx0ysxrLsqd z%p=m2rFIiZKIzK5zB_5DU1B0-4v}U`?lhc@ybq6y&3(C}&e6l2=0uA11#W{D88cS| z0X$A4b0NvwuT21%ta&A!WSq)m&7Hb8I=yU_p^c20_u6|~o8z{VjPqqp&hmM(hTnF+ zsNt*anYYxID6w16@W^(_8M<2mL##{6;etpVazryP1>__jCq)}M^GKuEiDl%Jle|UG zU0z2)Ph0Yp2fV+aXXXL#r00GlS7Pb(yxSc__{^PenONqrWCHB;Hs$4x%N&gkUyEZQ z_bsPXWt!ozbE_}O&_FSwW++17nzRL^*yBYA!*T!&4LM$0Xk?DpPBb>QW03`B;Vkh= z+_8diy2mQ>fp(Bv{!J|K%kQW2)Fw4eVIj9|MvN1ACk;o~VnzLSFlLOl?j6rtE zjM<rJpmqR!dZ~atfqVm(DN;%&KF&(_N0Oq>9H+Gc-VqN>&cC z$>asOECD^D1kLyInh@ml0QJbemw&2&7!v}_NaKR4Gqo{c3r`_W;g&Oan#3hjJ?o76 zsb;CM;i@5fxFi>fGT9zL$k-Uty67gja z67xR7^3>era)XQR-w2y0?!^9_{ByLuIlgm;9w(ozZf_1->g43%McbRToja6K+eMxd zcpla><&-|oGoSNx;;tP#cAOC4rBtw@JZ%5-D^I-g_&=m_xr2dx_&=m_xyq?L`46ca zcZ4b*{|~90s(to$Qzh(iVVYyRLS6G1Wxb8*$%ajK6Ivn{$GSkbjq)?jR(I)}vYe^rEx%BC=C4GHu(%07}eSL-WQI$zwbUKySRBx?SFOPY> zdTiBOYpb``R&TASm#Vzpw@`0Y^;TQ;@|f4F$5y@7wtA~=^;U~|smkj;je2`jZ%?aU z9`kzj*s8aut=^utdV7j`smkkpJ@r;pZ>3c)k9oa%Y}H$7tGCitZ>6Z0s=VHf)Z5!! zvz>K{@<_v4AQX7pcG@{o+P;I7LYW-3x!$(sdfS@oEt>1in|mwAdErf{vlA@-AZm*_ zEQj&bPLrdc$<1cIdluzsg}86XlyDl@9;CVg@_n=6-};;%C1_KAJ}@5#UL!p+&zCD( zejwWsB40%k*k&Emz}i3<57z4^GxIHJ=F8?YcO8^Bu|et+e8{}nrp+9NS(7@}#f0jW zc8rZKBSZ85n{9v5G#qfP5Zkiz{aR_h%a$GIwYVSWhdmr%OM3|*Xu@{Ps@}jhbTN$i zCR+RPZCCY0z^xsAn!U##3+taPxpN1AnW?)6AZRdH*v&0AY_NwdQuS<4Oz-~C4Er8! z&!F#d%r?sjmr(8sO|tM#l=)$Lj(cEJdN1F^`@;BB*_JoC5OmrN)ucbU>~_vLPIp~q z)e3DZp1xNJSR+)DUd(fRbtwOgQR$YD%|S-xjg0tW1h}9{fIfv^>jU3}tyb6uIm(GI z7#+lMl zUagFAcw>}8su7tk+8!I)?ufne)o3qjl#Z~ac*t{oyW~2+metGA0@}1nHQDA&w)!T% zIkRdTFZsBik2e4X3jnrn)WOrqXzBQ0?>n;bqy!jf%bhkj$F5W&&~$$>uMfIu8QY#fE4IKBZ!^!$jLw&xZJ z(cjAY9#rng;`9ZBtNwo$Qm0V@IM}g`jPa0FGFGBbn>ikMTX67Vi?0Z3k}%KkDTN+KQcZb}4QkN$p9-F|Ke7UVPsjc7I(Gr1yR^d!$GP zN&WvSU@ZeHl8yIurWAihUN^LgcD>S$QQ4LrPoQU!Nske(VfqB}Z#}|KjG)Ww4Z>ir z@wLhHC~dSlI7cbO>`Imn(?;k)qmcb6b3BD(M-A%7hKhjIW_OnJ99zqaKNr?N*S-Cn zD#i4wm0wNVM9S-l+2)50YpRHuO?mi2RJ}jJybcBNC342wY{BtogHcQ?@gH z6l?X)K=(50YH=aep36RVa&0HO6kAWqe#=k|OXPKh7c@z1A3Z%mTjQfznlatPq?hRQV2G9ZZDCf?RwfdrRLifNn@IW7znf z2JuaZJU(Y?*6r;Mx;3N=D^)Gz%cWH^=3DwDk%(gu-^?X=hq7RWIg8s6IjmA z1_JQ{9iL<#*cWT9c(}2S>E6ghGSdA09f$Y6|6`w#gBj+|ZoZqM=YbF{iljY|&OXoLUr20=ME}froO7oKtwrNA= z%QS&_i7kFNj-$1;#BU{Q&uu>bhn?TQ?S|jpzQ)=cZC*3??WaHUt1o`xRTGV|szg`t>li^I2O z8SKuB)z<4(SAS|Mi76McB^`MOJi(8M|>uAgLS2n7h7$01uw6( z8aTI3=@fx6q%YN%?`*7`KzAh2#mRDN>q(B8 zP-4<&aB>iAj;>Y7=0y6uRmop^f)tKZ48@a(Se0aSg2YO)#0pp(OvOHiQXD~NACpf> z;INFv3c6b}ftPJ*vdr=c!&{mR8MLwnRvVu54eWrdR>Ox9jwjbQXZ3dCxh%1dmI01K zNq846NdjMFdwCKl4I0|_16!dyf=-pjRG@}*{H4GE1t1ARLs)9kpaz2ZMJYUHR)7F7 z6HPvbNP`94ouAGSN-PuM>!OY1MLSf9d$W2MgWO8PldjywPZwkOwz#Ob6VD}p#79fo zpd11|K}mO4AfL;oOakzP@{Z>M{A^Kb5ZM!@kO--52nZp11oLz7bIC-5Fii0?Q}Yr_Ldo+GRzD|A;!EaES)UoRFLi*=gYUq<*Z111X%}?ZZ znZD}cXG?A+C+el${A`okh4t-_I#DM-7n>gHlRkLC{B+4jRGwe|L~c#My7<{Gx7O7< z`e&Qm9*v(2SDpNHxy2*?@93WzS2D?O>D%Y#r|DZ8+B^DZOKy)belikt_0KlBJsLl) zQ@8g|!ki6Cdch0kr{uO*f&chZq@H2jj&z)vrTS~#!uMR$YpvSRlS)WdcOMB?1XlHF3m=HGipY5Eo^ z=;CKfZY60NMZ5XgCbvi9C&Nc4KbN4I1SK7pLG^{{TiIusCVM{p)ATKhv5TKAxpg}M zj(7FXHn}}o|1_hxou7-*w1Uz``4?mlg_z$3rJm3DY5ErWcJZ?%w{G{@Q22cHtqDQ9 zJ+zdOT2P{gUNAp3o@bWh^WmrITLi3&pDnp{JKl!Ej{eyuw@2fr5vQG>OKi5$Cq49n z`=|O*ug3G|*FR0)GH!SAGnd+o_Vf$pr&9_%pC3O>-_mXuKU;Du zJ1eu}JNVfqw@2fr4Z7|8QL;j0v6Y34idXx|XJ+dl?s|A3_G6&gl=O!bx zylMh}Ei|OY5qxygK=j-ZFa!p}Fp`6eT1Irz5kA>Q4qH+n+fb@+yn7KKj#+i1SU(#0 z=&`G)&^@m-HzHVp0*~&Ca_q3tNq=dw7S_3w7t)xUif#>gMb1}8_#bOS@KFYF-!U=h{%?WFCPHU9@sHBsC zd(xgWlkypUoshmz*iiOG$QP`O^qhHyeK%J+MN27s(oc%rKco+Ix*Q)kcs=P7MFPzQ zThwG!RB#51Prfoy(w*>vzlQTS+|06x*2y9kxV5BFrKb7?5wTL?M(`;mI!7|qiM)sv z%hsFH34)AR)M3FoEi0L2koXqz6siHvRry5zD1BL>(R+|{#asOPLR z(sSOmqecZ}LyWP&&jn|X!ddB&bDphkp_Kh@(oxB8OXIT=JG~r5x|wBQBH#E1qDEUd z;#aKz6Lm2^OrIr!iWA4j0^k5FvVtTSfeBz@a-gHY0fS2;TVSY$vYl7%(3G?;UBJR| zUxKL}7OmL@zFf^6MtbHAOrfAoi7nSZRALcU{BWME4-$gSN}C6xQW&t#Wx@O`u<9K0 zka{@59B_TNL+LC;CqzP1p2)Pzl31r>A&n&~eug0dKSN`sa3dJ1UXFBSflCyqP>f|z z7ToG4Jz7-*Fc%fAs@4C7g-F{Qq7Ud1EQe=Jm`Jp~x0;c>Q|!3*gb)N;ql}+@{l9zo z0?URHA?+ccNl;h7x;A|D?jDe__?~kCTZpX*`R)w zpKz+xuku>XY=$;Ml-(@qYRJr@Er|GrGa%E0iV{xyP8rcsYeah%R1u#d!8&Wq=s@y0 zIv5xh0cd);FYvSM2QZuCFR||DI;H*tPV-Wn9FY=LifQy-lS{waZHz`k;E%UGl2~h&6X}T87tB}hA%4%1e0LCc7 zQua}y2PE{N#;bb$fBf~G@r3_*eev%DGzhoOnGk4LfuSOat0$BeWFzi1sM{tcg^Q4- zj$*MCf5+gOF`DD#`_-wlNTMhWURin-iV~GbNRAfaiQSRt>m2z$KRTVfanD=pB@=## zml*XTthGxbZJA&3J-pTE{}Gq0j&W69w9(a{sX&CKL@15oc8DOdyC8TZN>eFGqhHrk zMeBnNbbYqrqP{pNbUa+k5I}U)DPx1C;!#njFw9{`XviE`9}o;B;w0?8;^HkAG6FIf z7YLO3iq$=&ff8!DfYEh5^Q)HG@0nZ|OXQD+4LT656A`VT5VY{Ar1YPvgSZD@!(Ej< zyat=S`v>t|Izt=!6N*HK=VQ?j?YvoInNfDF3H3?AKhO)n?p5jqy2p@>p7xOeMFPD^ z35^h2fsu|Xbndy7#~7**Jc$&E>cqNndnZ?PNpk}TTxPhVF@TVQvb~>lw)pN)qkuv; zyp+@SAN&B+)OwnNr0P%0Ky*b<=TEQ{fm0jr%vfslAa8U#XjW3~KqWYZ=&77a8Gki2 zmBmO~(?tzdEoXXa10B3J(}vqsBn5y`lf?+5h(*V?Kzj)DP-tla8PFllk3_BDp^^4hcMy2C)dF ze^gwU!Ke!w$4Ukv%vUf;<~@^Z_XAgEYjI>O}zJuZQ*j z;?b21oe>nZex)r6EGt~}fad{O_Bm3;vHoT@`GN6RPX|gFQ^Jh^;HUcY zJO4QU{8W4k+$;|FSKS?l`(xZ@NAx2fsRbXYMEKKvw-PKx&e8#QOjh5mn;VMViac5s~A`! zgE(2V5QhP~D%peQ=B1{e^ib1|4CYoAkH_4CYo3s^UWuVK^+8&pfsW$5jE-@+5Eion zW|_EU0kfQjo(0TmM(F{wmTLjClnSu)2q@C%OgaOYhGd@Bd%!G*wJBg$A9FPZ#WpYm z(EH*$LugXVVD~p!ZQQ_8Ru|AMK+=~*AT7^XAnh2plR?{)0*vjXs%}!TTSw?EZ zciMp|;l}QNk;UH4gOyTLtD#G{+hYK8CvCiz3u8;^vARsUgv`8lAnG?%o(|$~hW_{) zd&CM3(qGx5F6pMM3g|i$V&HjV{0K3$P%Q{XkT#UYcuZPIlBD!lCE3&^WWMtn+M6t$ zBJ+Tr!NocZCt*4^7V&>M0(`nuB&!6qE?L3oWyY=jR%~^;oQ|S_kPmTZ5DdzA0+HDH z%Z*(Oa11zn&MSj$xY@^UYQ#85qEpoK60@1)h6r1gJy@~Zy~tICVLGK&8h+V_8e4`- zqprUpu$K9sre$tv#EVeM^x-qpJvnGxs}O7fg!<;OYWg7F0BU@&^2QPVU=|BQ!?E%@ zeJO4LT{?9&O`-yH=0;Tkry){`g|!7+1zJZMNf}A><6HF6o+y*}8_1T74V*-q#sj-w z6qULzD5EpX$f2!Ln&7#yha-V}I52=)Z6L88%mOT>bK6hcobGFl>EbodAV|_(trFQkBhAEwk_$0=lWht;+0pBI7rzu z1`y)(^eyS^H!S1kU-fO~E(MY$Ce-@jnIJtr{jGlPETuP3@q0%Uf14?v7kKt#q>QKc zew?2v;-x>y?{r83GjG7g><4&P?4U1TI zAnvCUwOL$!R@nOs0>xlLMKmG1De1Qx#1S{UF%2~)5dbO%Pe$F6RfFscC^;ASx*{;D zGxU|<^}vGA)323^QOht5Vt5iIynqey(O8=s0cELyHs3*;95s{s(@I<9sromxm`I=@ z1L~ACozmP|N^O16r#ba{bR9J~+#0n?%w3sskRXwkLbHKd=47r98M35}I7Y%JUH==E z1B7PRif8{%rQ+4R&ZLT*tLA4t&+W#9%@GH2~G4OJ$fGFkPpW-Zcc5}PEd|1*|X;q6h4^Mc8B z%^8-*fFwmb6qxGC^J<$g7ImeN@Sn} zJi2WR&s2gxWvHPJAmjzLqpqPNgS&o132{$LV_~>asEj&h2Tv^qeX`z^O?|E>fvp`5~CgXh|NVVxy5dsO$z|4qWduqQCb7HU&n?xi?> zE2WC~YOfN}OhL$ZDUvd88q3rrJSC-eDlG#rYRdnm#rK0|JalqCwjC zHoW)N^Rv&SUA;wlx%646Th5a5bhB?;qoi4;T6AlZENd5!4YB-+Yj@PD{2xIAS4aalc0a}JwtXZ@le z7-BvOt7Dtml+%O}lU7Ud4???dk;=z#!Utmkv_NGvm`yWLxJqtd_MM&q7v%hCGF>qhC6GAwk}VrnA2qI-K5E)+!lq=5C& zq-;BsY=D&@A$TYrzjD`h@AYrOZ*mVdkjoLUXgNkQFKwh1sakw*iTZ4;y)yHf7PH3% zIZ0vTWZ2^51I|gL|AkF9@v(Q#HI19kUEP8nNo<0y+CYCEM_UU7;;0JD=V+^pj9lmF zx3d{Gea>AWOmNrgj5X*Vrfcc@p;Yaf|1riiA7S(^t{f!F_M2%1QiRn33|K}s{o#va z&XRle`s>_$mJ{XpEmHOvt6-#&Spy-qWq{o2$S`cm(0o|tcT$t>6-c?x`&5jVRy3IH z3OV2ReTmi=$)Tqv4ZLi}_;b*xXo{njnN{1=>Sh7_Eh1? z&OBp$L!m9U|0CINDiE zPFL!EkoR(0JrgLF>s`Ks8uJpG9ML=G2alCAX>M5WQT@JpxOQ8wbSu(!EGEaXW=S;0 zr&+=QgP^gFD`>VgD$Tvm-hWYP8%OsbE882j=C?k3Z+V*|dE7MGv~Qbr_{Pho8J5f2 zh{Kp*|NJkndhjuZxXMKHm|cWQbk)+^9NL+zQzb)ICv*(*}zjj@Wq9PtD|jjhS? z${uYTPpwM`0N}gP#(G|sQs||6O&TxdbtpMb1&15Q@v_V-O|Wub&MT+Ko6He7Fx^<8 z@21)6cHDGh)wTp+*yc9f7}Y1!M1zFWjn%aLqOAnuEZ)ZEo0uF76aH2OQv#jWB#=1S zwzaV~>1}?4v9PjLF-n8vmXm>PvZ8oo6BHG_7?NK4_~lQQNa=MJ=pm!>@WNECG{5qP zZ`vnSDxp4+shljbS{GC6OQ8ZLV)Y~&JY!6e}dGybkh)@mvacqIfOk9VYRE_p5kK;eBTB`)i#kV+h`hoCxp+a?M3X=q3suM1qMkN8=nM0 zpF@xn3tkj7>d7JK$swpZ1Or_VREtk)>O(Kt3J{Vfc98LR3C&K>=#VwKoWCQ$1#l9~ zl_Ct`I)K<1-0CtX7;*{dDXOmK&{T711{|7t7c`kRXzTFxtl(9}2+@yf;Q;b&$y&kc zPzt`KiQpSej@breBfvDU6&?-kWEY*&sainRlKr}=lS-@h*lJ%YUO;1Z_N}Bsb~tWj z6Orogvl^>jV@ujA-SrGnPsA61D&Q80K7u6^XfGeN+8w5RSsWOoUt48unWJR(DDy=N zWF}-*l{v6L=2|k1vGpR8%1>q_2fSA6+ zHA*>yDjhG(lSB(YHkC{#wa5|j^M(;c1KB~K%nvl1Vo*D4Oh)0Wbt2^}b<46%5P4 z+%oH?dR2Nl4ON?q-b@t6CRrn4T7d#+a3*<}Lb8NFGB<^?a52mjCle*|ldoAKwzDh= z9e6^hCl(%M&m{d^Nw$3WqwJtyS;77RBiz~(qIW_to{|%yxBJuR3DH~qiMtn0_a|;u ze~UlGCq$?D6BjVP-k&&;9yC=8C&ZuVPlUH^plMli2ub`)^BiFOHSkMnDVeDdE5;1l zHUP39YO^W*3@b!Z<8YsTVuoUV`kCVMqtK0|n=n*1VSGH-Z@TntTJ^vQB4bZ$C?^F1 zLn|+C_h6~2E(|i6QnHgGGo{S;g1JJh7AfJGGF!+Lw`mp_WE7gcmC7h|69*G2!k05S zxWx@28DMfrc>^-U+)9-pCL<}5Q6xv`W)>bm(#$B# z>SdxN$2LI?5Hx*_1D&o-Lmt`x%S<7FU;ViS!Xatysv5ZYE2RMyn zN6Q9>t1I>nn=qU2#Q{R$!&M zlE0x$$u(G#3PiP%8&qgqe-eBPDp|FXI_p&>xs8(|$|vr^@-1i4c3lyAqUQ`VU)Psb zJ2@O2tng93*~m9)H?NH@vymK~qDbX@)(#XGC?;f9m1(DyS)Dpt&gy!7)_#_+iwRy& zjt;g|ae>`rEYeZ0)J-I>QiBiBj!kJczLBWOI*|PsWA%Z@wDZHerO1 zVhm(a9XiGfMKWg7iP15Pd93U)E$#ELR*Gcp=5!81l{QUF17gQ0G4aGmiEk&-G|y;T z$+wbdT4}hgX@;b1$N#?q6`~>59e1b81(Fw-o z!4r(V1GvVi$-C2^dcwi8SBdxs6o(7(je1N?r#X!RD7dI}x^Y}K9qXAUQk%r2QDt_4 z6(cq@YSRs)cHHP?a^$I_jlOB-6qKzs>P(50O5~HSoYH{MKTQHNvVaMZnAI4VZoI_H z)YvLanbF1|(;QEVeQGq+Sj2?LlZJImmIjPi(<7@qY0yP&X3Sh^8^<+@=4`6mmb@rA zjv`Bvwfubv)7+(Rv&j<%q8b=VUd&&19`Khic>b=CwU`WZ$*oFa*-8oM5CH00oV7%7}_!C!WB^Ov&-_`BR{Sz(s(a588mv5(c&;V{~Fn!`g@Zo^(CPLmhG zf|r=5ar?f{p4V9|OJ!3h1VfU$#%f$28z{CBv#+LbWP6RyMC{97)FcJDRNH z?^64Q+pTzBoEggce#ne^V(axiqQ*yjzskNJweJ)AezDCp)+CDz7jb%t)#8Tm3Y(y? z@j$gC)Uq04P(t(?%jnf>Uy4#o4aXr!Dtd|D%MGs;8FYrrFtuRnZUZ3Uk{B$D4VEPt zEV0!n`5H1nAuWl6arUi_AC=G!dG3w8vOa zuln|H{M&=PVw30JPJ*b~eI)Q~ZY;H`tzjG#`DfgS$!7$52wa8;8$&pShc4)&NtjOc zh@@-XRV{Uv8Nl(=W|oTX5Z37aUt5JTod?NM1}#dI-Y{b84fLcC!#>hcKL9M63edbY zElKp3+?veCGq1c}pDu?(_`U?EbkwliN<0OPmDYpt#PC*btg<&Mm6jaAyM^rVoHRyF zG<}q7EVoj9p0~DfjOE$r7&lf=H!4=yXk&$?_p5^81}>uBZCn<;6QR>^Z}QpTx=LJW z$tv7X)K*J|t!BB5hzh_vq8!6f&4^GAE#GtT3A_fi!`vY$N6r4p9RUr#=4dIKtWTT}FYt+$oEvAcO?S)W&fWR6z=K_l5KHu!jUcU)6r)Z>(Jt%joFU64N= zYOv!myA(({z(PncGXmHkeJiucR$H<1^pTWmYP!zVf%K<$zP6S8JiIA&|g@}N1X&vy4^17gujR&piyYsM-scC~H7Ys*8 z9CX}RKF`&;@ItZpFwx1BobV1$i$#)@7CcY_c>YvEQL+lC8d%7IGq${^s!?a}VBY)= z3%gLN9c#zWJCe}THNPfZ*VjqI73oqgq-(NIdVi6wDG2F!>6IQA>FTJY4|)1fk*?V+ z>BF8rT%=3kkv{6_qeZ%=Kcpv~o)qbcr>||8x?XGP0eG#g&vZ;pB$YxNPZmFApP|%z zhSKjdl-Oq|Lq05vB>S!D?XPj zx29J)UNpa8wxQSYBDY7cNs(L8E2eSwZCS4|uQs_Lu7OwPFw!Xet=aq{To=BDi4;Gl zGtJ=VtxPlcc{|e#L}6X{PM=>eu@JGDScpeVEX3M=%`d{#=NH>cezi>DkD>*2ICUz> z=$#7Hh9}HBkpZGCDT(y*{WF2&TW$;W6z@^_kna*~%Aim*ol@*TtSct5rdR|*gxBo% zs#nb(RtK`V=u6x#NC>MHvnhnPt+bvv30nsTszlx5-=nY#4GnBiLPnmc@c$(W+s2NT z!bYWuRV~W4w83*L>}PYkIy-=Bj{gvvTAu84wTw!p39?YGnO7CvQt0FvLS@D6 zTn`@VcXeMR>{g}HbVUkvnL+kjv2C(XZT>FA9T8c(vo(dVm<0A^x^;39Ov6eR6jJ5( z5yK|c#LuV_0iogTcY5)=C9P>T{4AW;{@bSIYk>-IdUb30er-ZQisR6IAT zUo{@~oIN6czzlFJB1Ulpl+#(H(86lK`va+~Bq&_ZT=F8S9sP-`(1L%IyJ@USMfi>c zZ-sL|(JB1Icq#ai2P2dt8%t1y8+LQ%piZ$(a1QfR!`S3!9NUtgxPe5or6_ROa*dG^?L@~w32bv{Fj0;A0@ z{pj{*y4?44sq?YA?m@%Gj+4zhNU!Nn)Oj1=OcS}1aQV`cNni+=Ti`>y@qkABlZYrBAZ zob?ON7c0J6)x7UppSbGsnQ!kt(m`vxAby-R4~~i`J{WA?^UzQ4f8RBKe*YsKg$rz! zGi}K~7-~Lo-9tM*cmMY5PBw}PT+9r95{wRJQVIn?Bu6F1@kjAv()+P``$=5`TkM|u zpfRQ|IB?cVs7rFtgLhDQG@U7VvyJApzqonV&+hufbtCOeED&!mKi0hB`Y+#l`Gvol zirdQqhRDj9wBVhW?{D64&F3CIbmL>Qi`tpUL{eoJfpn|tqI7uvDP4@}D-T;AgH<}*7! z{k3P_chA%7+aW73ZZALF-2Sz_&wTQdkKX+C4!P(+Isc%y`JLaL_ltXOx%%M49fj@c zr*XnMatQRnlI9IpePz$Sy+3*Ow_dm#X`OJf6wZzzcfF4EY7#ge87dgk_Jf`(kX~$5 zpa(nBiy&Oy`N{%yll*b{%MB9(I*>(gcV+WSvp=}#-gEwR;orAQZNU|B zBQL+I`Os${cx>l`dp~_#d)WeUQ7A7z*nD!w1(P5C#hyod+U2MN@4Wo#=G?xQf!W@E*ISSQWPuKe1}-tT|o!+$=ytmix*ZhqyG z-#v8glTUv&8?4bcURo``JesfC_Q|!jWpgddYexkxZ?0{-hajS|DnB8bg()v zzodC!`}8;NyXWz*ooHnZ=cR@X8eNMQ>fcGHRvU!RI{t^kMc0lC>GmPRx;Do}7hTm_ zY#w^(j=O*I>{mYjvUbQaMi0}mTjf_Z=ca%Dottm@(&yH-mu=&7tNdW|ySLqP=hgT9 z=5W2eYzM}R09f@eYu@;=CokE4!M+>fd0ktlQ?sH2k7YkB%eyo}E?lM2;#{K<^e1&W zPoqhhbAEM!wwhhpy!)f~eD(1w_kU|;dq*wMZZCgK^V{Fu`R;Sid1&wI_Ocyl=jE3+ zKlI=&&wk_QSA4ufSF3i;9IPp|*PwO_n+`vn~)^n%E*Y2I_m&daX-+SN~dvqKXsi2YFWsjpsm%kRE+ z-8UcVD7+y0E1Dns_1AB>_0M}hcxb*#qszf=sWcWLJ5^fTQfZ0HK;F4yw^@cU*5-43 zdGpyvzx3pzKbXDi=?>Ty#5!rt{_x>FPyh1Zw+?p{UJ&b%<^`X+b?$~g{dn&mJJiO4 zSTAW_{N5)&{pT;;cKK6n!*^kzs(UMNQYwv=1m`wVPoH0&tF+7jY;|w9nzQcR+ac$1 z^Wc}CdgKR_GgD7?z?P}BRfu8hgJsPR?s(=scl_j$2OsJvTwu*nro{(?&Bx#Ov!Cxc z=Y!jC?NL9%wA%8#hs#nMZFTO9O-l-$ z=5r*bTyBu(dR#3oX+HABpI!U@Pws!>@7i_Gf;cZ~{{D~8{`!57-T%c7{g(|JbreSn zWoAmBdUp2*zA}5!vi5p2OST{QTjf_acm3eb_nx!+)3^6o*>;SjkX)w?qS2UhIGYQd zb_}dHo+iu)^kHMTK-=fJHV`a@b*$GE%?>wj{?QM1U-is~4tH2n8QP=JvsHee`N_{- zdFl6W{LyFo+I3oH!LI`CR{2`<+P#nb?w-k?ePnTa*@8qXAW>d^sJZuoU+=m9XLsB< z($Z;}bPH{;3E(zA!x+JuU)?L`X{e`^l#eBX3dR)Oso8&<`@6;$!kA) z`)BTZReRZjP^%$SUcSG1?`1QyUpxH03%=Z@(F*KCn618D!?GrNSy=T*-r;ti4`%@` z98j(`d}b;m&E#Mh#pWmr-Mq=c=I77-{r8^u;4?qDw?j!~z7rY2GK2hsTJ!2>FZtubqmG)38FwvHQu<(d^Mm`Z_|~1D-Ff8`9ayu^ zP|Ox5ZE3#@o}|=x!BGVjc!_z@T_EPw8s-JJ6;+a>ZxUY2wKdMmI4=~%S;Wf*UO4j; z2NEwQGKZIUxh<2ED#OkO$xxo9)iw6WG~5PD5PdRN_zZ&N)H4jIMaE>79UGE3a);a@vwKDgP)-Vgd*_ z@H90`T(P1RlOW~NS)94}Y*>LkZ5sLs(h%n+U-O;(x$ITuupGV?dPG-pjoo6(;6=5a zKa}R|gX38X2&quMQT`B=x;YKmc*rNElpFcjb_I>!$)0|;?%t9)!&y0q*0Sv~l@C{Z zYLrgpV8@hG8dAK%)J0Ts=}Z7rc7q%ANb{-;FRSstYWuOx^Dll_sQ~VT&YK4su4j{K1)oi<~(A9=XgIs~G zww&=Cn7+3IQ||1u`=2^6we?~)p$XGAEFpl1z-b9BEDr^5Qv`H+-BnNYomE4 z=qC`k{;x=@iz(d?G4n+bJ+VZP%PQ{r0FeirG21*F5|D3|B1`~MCP1DV*M-_WPfyCb zpS{=r=`XdA%ScxXUN2l#uRY`%L?~Oc^;I-tR9RGST|WnkaX-86ZCh^6GT3xF>#fcv zt>pM^#yO8RWH)P40M@b!?_82sm)`wWlILulpL@oM8-VSo2C<6;88I*CT5GF+Ia}(L z!ZAK-2XPW1$Q5yeZpv$AvsQZO#cT&>u}55G1&75a9e9-vra#qPkE8LmFhr`HQ)KJ_ zi6GTcVA_;v%QBagpexHHQ%I+pEvE+#^PLbxD!{CG)nS;ktb=XPvJKB{qrF^9O31}- zTUvTWc(MHwKK+VtPYG>UPIs3!#g{}{yl;eQ2zx;JQsmzDU&kM`bMyos1!+;$PMHL6 zWX)81oO2U(Y+MQw@!pW2cxp;H6OE%ep}`q?)edH)rKEUt&ktT#uYW7si7@N&98f2S zFON*%Cm9B685&`_U+Zw$8-YFXd3JUMEZ)TONDyBEutFQQLKQl$r+^m=NBKS1QT$;J z0iYm*69F87eL&2Np;T2SF&g^b5)`Y#O{$6_@&xrkHBeLC#69V{RmF1X*40!YA6PQ+ zM+C?LE7zNS*Au@_1$*sY)}-o?fgRamkt(Degw4w5VDzaf#f(rr{L1P=&g|}PRmlO? zmWr0Dsuat_%Bv`^^@l?q$h2WmY^HFIU|CJ6M~fUtyXaQU+Ho9EERBCS24;mH&n zvx-nkg8DO&pTas-+1%(|8z9rD-_wz4nqo=YBwS}t>2w!~tc09y96Agp(hU3=I$CfB zSQqXRp}&r0P7%vhuK|klLMjy(f%80$Vh~Kuan+f92>XSLGrc8OF2G{QhjU^XTbws0 z_&}1wq+8`B8wQvQy8)QxXMNC^Yr^k*P>*xyi3;^^XDsToM_qy;%W@f8D&if&FJ6%B zyfCnx`Jyz%@@@^5w#e;u^Ig^oIFX(UTWE5keip?$&EUw2VS)>o8ggTsyHI?qB!szW zu)GdQbE+82+O#bTbm>$@wr&KD6BOD}@+gzMlqAEtN}<0| zz@6$mr!2Z6+-L_NXl!&vJReTUScceqP;)505W0jOU_+f?mCi-6mGo2HGFGD zrlN8zsIsWV`mG@W`}4{r(M1o@80BqR7iv`k?55Sx+ywxT5%7!hCI$*K@RAag^Fo~g zXUY&V)#|V6j1jUPovBCqFTFyX&Oa|@Oj43~pM?z(=};2QMMdl8giQprBqFNVaX!*# z0TE(>6OTeg-^_~MH$u3_a>Zfn<`5;-T1x3sn(JUn>WA|U;;Z^dKH$j;o6AyWJ!Kd+ zWGU({e8cXiJcYPxrHnTS?DTq&bs_05`+1RxY%R?2qBtdcAu>HdfBMUu6^s03lJf@@ zfM~^b^CD$nFZ(U0>@PExlfBH^OHcLz zA3t*Bfz_V4+Y&$i#FuZl@H^Mul0;bL)1ZjNdfPJqpi-&WyF&g$}wLV7k#^wnFMWbQB8Mjm~^j7|9L(sDa(L zE}E^F2D#e+Cmw>N10d4_ZtPoo^{ySdAC}`2!NC#VO|BN|%Ws|r;eC!ULM$ZNtZf8I z4@Nm14n(3uPK4;Wc)Ab~c3WaM5hg8l9ubUS^LT2hT|Av3QLKwtLaQbjlIS@Jx zAsQ{*?ZhIG-)X2DNhM1K4fl(N(O*l${f2CpAfZQ z?+-a%1E;THd=NJmeIUcQVf#I2arE?&1X;n1ttL*=UeSbbF{+s3I@cOHVen1tSuonN zO&fZqY%Nh?j6@2vaY4;Nb`5)nydKVXE?6@M@wvaK+$O%dHdsQ;hr4M+I}M%g`*ON3 za=LTJi0Dq-yc(qVjBaHAtLcu_4uQJpzTXnNWp~O_yXn5$QoHFsX{lYZYeN+Pme^3& zlMH!R?8&G)Aaq!QBpBBT#9hv!-BRH+3GGZwXLw*bo3Z3Zr!s5xP7BBjPbe}VN|s%` zP3C8zA@?XJ%dFAEPD8?8{5uoxw~J5Jq|carsAOQ_LiZAAUZ9|oIO$K8dmr&iI041` zi1BKQKGNdVjn0%xve;{ZqvF*;ubdk3Ts{w8DNc4CuQqNbt(#Stn)6j{qQq`S;Rfv* zH%y35Q{-bZgjmB7;6$t!1Nkl|cu%qvgq$@8Ah)6;kYD-S4|;+tgD^g&b`pRzZ{WcARKhTUMwPl z>|!JyX#=){P6ajG{Yjp|?xt_YrqahAb2Q=yrg zW`g*9+fT$^OF1^sb`M;wC5f5IuLjwIO@#%l{m)!HIeGQJHqXhQDA=;y-^5j6^lxOi z`OpWx`1QGK?s;s_+0BQGM+yGFa89#sW<%Byfac8iAOGq83#aegdv^2o;!)+^qH^5X zPC1C(-1o`*AKiQYrN6oU?B=J6$D&-#%0ZLnqt{Jd|L`5R9Qkj}pXExH7(lp)<4x5h$>$YH*PTdUc&kO5UmF$2}0GiGB$V6+;BoDcjDCVX4vu&;8+fGr*h;@Wle;c#OgTE65fXQ`YAv1MrBS5bAIrd`Gb^7 zDcoAyK$K+$5;TWzvY)oX!5T<}=Fm_=%Zvt=px*3r^w=EbAs!P)zoNTv%;&y1y<0x_ zk$FCMBb4anYliaKN16AYG&`jt=yc1oHo=Anhb15<@L%P&mF? z9*7h1$yg7{1SV{jPGHVR4)do}hb3v5gjeRYjh^@#O`1O~pLP^~5N>FGc^VwDg^*QiYwsJFw19*9lN;ArR%;fnjtN%|=e6C)Gq6d4p)q)*!T=qb9W$k*((C zpyqHIb%3^`re>g;#0E)9t1hekFVt7kp|bGJoTk!N?fS)}+E+-BZjn$cJIJN2kc5R; zdB4AnlS?B@hT(yjA7r5%6E{%gy z{jcI=VZs2${pjoToe~2;H_SPz1?NwxS=zNj7}3M+Z1(1>clt3o^#?qj0`koj>bc8} zJee;N66Y>e{Z>cvrA;~e*2vG>yzF?t(aO44rV zsX>_DL#t-cTw|J&SBi*2{_W{`IUumkB+<`}pChIlwBEB{EOA&=1B-fA8x%0iJ->ih z`KTDra)4$EfJBBifOr)^0o2zbttoYVI@cD&!_dm<{PiD}N}QVzw0F5iwAH#?^Xz6| z!YwmN-Hr@8Abn)Pj@PJe#RG$a!bW7!QK#5C(LDQ~rW+yk6+I9gppIDHN?&AA!uk)+ zvx#OYE7{c#y;}OIl~j)|N+u4s_r|UBYNOTh`aYc#OqZIf7aJRUHJ(j<0V$gD6aR>A zvcabuUq}B*CvTWR+sB`?fw)2;Uxm&JYcWhorTBV=S$a>F4&qukYKTF$GNJyLJ<^X- z{N$|0<_YnYA<-lpI*_Mmjijh4RNbf@PoZEX#bu5{D#}Qc-k=da)DP0+MdQy$EapR& z?42cc$zU5yL_IioCBQ>Y@;m_~olyX!QW%Z3 zx+H5>dX2wDih7lyM~Z@8!uqik3#uQ2ZK!CVB?nHhyjibEaxNRM z1GlV5Ptlf>C@)mBR`u4bQLI`-r>E5#N2X-xAn#gF%$jiG7agh{rN7inn>=%Qx7VzW zC<`a6x#W1$8S@mjQ_>rbf`$Sk3$*L`V+E1EvZzwaZ4exHbe`X5@@W);z`dFr9D_i{ z7ly1xOK>lgkV^#oDHm62vHVQD?X@MY7l-v5qEesKTT5K6BY3-rtalAQ$stipRe2+$ zf{Uzz-x%O-k}3=B$K+6<3|Y^`lS|*dnF6*mjVvF0ASlyLV`U-0AfI&%V`M=I z?>1bTl>;R6Tk=#F$qFHoS^inhw$VysF2Uqo@^PZ}Xu=C55l(ADcvSjigRisWVj*$oOd{#(Huj(_?9h(E&}nvu;gvx+h{njo|dA?=!n0PB`sY3rHJGp-lOVU!XVjMf+C zQ@g>+oX7!7Y}6|{oW9G@tawL~kfS{`$3$%?=*hm5_P|Kb3(JhO^jW4|o(^jMnGJKuQ7#^$7)+lp9_nW%DSuf!LT}D>!%js9h8qFr zcFu!T>|KxFto7skRVN%X$wN{s+phJ61lb`JO2cDgmn6Mw^3MO4y7!OPtGeob_mAh- zInOycJITrKK=$(x;G`y!R7fbrHv3!zB50$R;mbQl$9Qqvjw>T!bdbPh^bbr=A;t6- zYqV5T#n;%TC2c{|7By|LoFcYSX-zBDXsJE*qK#T@T6le9LAamqoNMjpIUxwX72jdb z$g}rad;OSmuDRx#Yp%K0lJy3#7B3>}XQqT(Dr$s;XAAmH;qRt@s6}q6Lf-6kc(SQo*=E)-{)7+u%5tXPK z3UMv~_%~@E^YXP!Wa0+_($FNL1y@AorQT5uJySu2Dh@L*6k9^;`kjX5U9-5f`<39| zu7kR>wTU=V>1+-}^@4|~P1EQ1?rduld>JpyUGGvHIArPo2zE7Ku5cs64BgK%TgOm? zY-OT~5ai8^iOxXMoTEV`Bsfmnso6Z*%ynRB3ZF;WTrc83otn`@Q^0x}gh2@^?0^c4 zoWUt=vn?4rl=OM6#LVWbG-4y!gOgD?)6JloBy{F})bUm*x@zBbcKdUy1yPP^?aOLFIi-|Gk^ZQaJlYke_(;=ni z>vn242}nhwRh{B?ji&1%TA&I!#{f#`Zgj~U6|HmF7=~j}aTe54d`6z31cD=oF zAlByWYLZ>NqdJ0FnYXPwttqFn8w~m456qu=D!aUg!mmrDVG&&-J)#B`x=^#t{n2uz zF6k!8`XoV4CqD`qOkB%n6g17*Z$l#c3mE6snq570=>MkGk%kV#Ztb>|Sxl+p?IBPL z0xJE@+ej$gd5j1ZnOnj}wdmH0qqUP=^5o9zJiCFxFR)kI#txg&?SykEY9squbhQ?G zVVi3yL7JiDO+26(LwKMW#1PH2xQI^=mUPI8sOdm4$Z3?4u_^GBy3SCK5Di%qv<5Nj zQ1?RbfEe~o-7yPI@rUBT6s_UA>f?nv>ZULXVMR|lJzU~d0N#4l4s8>WfeRC$LrPYd zsJr#-rzR!EEORcFOBzyuVI?~?NsJ>K;_#_SFW4KC?JT)qDK{9r9$&m>ZEFNs8kfp2mk~C|kk-BhN--uJMHnC&K{>_++iX+ilmeGq#ZQkhT zG`Ah<2w^y0Uh6)*(Q~TCPKx`fomKv3*s4mx;ZScen;+Gv!NB%*U(P8|#4Ky^dqxdx zF%?^nY<-~IQO!K^XBQQZj$qI$%LZkpw{e{+T-`))AREf$%{z$eH`(?hb5|2Vo`?|{ zN*Hy@{LLj+=#=txNXH)<@>3Blb4xltSww5%- zXB9@W2u&X+)0esDy9ZW%^TFm#xs+{n4N5 zw|ykW3!{&!9P1HGekSCx5w{p(Lxh?cy$S8$4}`Xc%ZyPghE;^_SA_6~Qg496X>m+R zH6BAW(WuYG#lQrhwsgcriD#1SMxgE(v$Hpa!VacD^#?hvLx626Rs(ia4R&w2aur-n zi>cz#A7TJmv#a>S5lKaFD#Q-D$RCY}iq?&0EH5@oX5l#gq^0P6Fj^qSU-5arTG6Xb8iA_bk zNLu^3!ZN`Ax{wlNj1x1B^ZUPGjHuRmAro5Oz1*_GM#4m0NJS#KnZj@(;G2=>qc`m= zJ}+@z52oxh)TN7Bl;LksSE*Lai^phE^&@`PIu=uB?*Juk+Uc!5HHS*7SP?)Zq~caI zGPW`i)8b=J2UKZv+pw-*rB`vkCsC6S$KiH8LpDP|1#o^0aI;W@lG;@C9HM6CmyrZY z!PAjcERq@XzK~on8@2vh=q2*didN)M-T6T}U_t*B<}eIt&D(x{f+D)n%DHxExr;@S1Hi)e6TItsb>e(X7M{<)L@!tQ5*u zh(;jD&F%^8VCB#RDq2f5v=x8kM4kJz?`x7ObVMrvT9skvtJn!}kt)RpM!Maf&@jt@ zZF|46t@=~2u^>xQnNY_mu9sDIfpW%B$Tya=L=A>S-l>-1xJQZgJQP{c?NSj#=3_Y@ zzZQ0pGUVHILbm_|=}c-@b88^hUb30OXSXvm4Gk=s2#wuV&82qri9)U0P-@6U#5ki% zUgfrOGXD$v#XV!4)FKw$R<(Dr5Te2=b~RNE$w)!?dApi7lt1eU)c3M3jj#T$Gb?pV zbu3VbX{PfzlUO!-Z!uLxgEg%NO(X=8;-8?2n8zxDg6K;q92$c&CY-ci_xUunOY>Y8 z5>fctx6Px_9Lg%9fbC#$p`jYc%{{ZalH4~Wstu&aQ+g7buc7Ik?T$oWgJYC&tl!aA z6m4Yd! zA#ES@wL9@I0-$lVU6 z698$DSy3I2(yP|A=G;m}GrFZixBx_qhh82p!-jBW&eR`?UpcKrU)39UWM-mKJtT@r zv`dd~a4nBa6PKpkDYjasJHz%iUx&*?$e2$(PcSy!n1gMkKV-B?v6mNnZRyJF(9(zl zCJikn0YrcZGqj3==rMtU!e&$@=M*HdZnhd(9YQIhw^}ROAE^xGp&=U#g<-ov&y_U@ zuC`)mBTB=q&I?efw1O=i)%I(u9kzMN0v>9kdQP@&gdm*>zOGmxQw07Tu&A0doP0iG zhv<6QHh=<7i6!U0&^$3S0NxYV@0Dk$O!E~PG(OuHglrqAMF}o3za#9SdrwyHp*v`c zrqZM4#>9i`oJr+UmcpgRZ_YQi5$aB3b#v>w#Jige+=zc+7VJP?B+Qx@CjcH6`LZ>8 zL*@UlpFA)d_u)YcHKj4vkcE)EAB6t|RdYx>m|3UH&Lo-*{!>ApN$l^X6i25TwHAX)kYCi;G@{?wWAo58R%p}>I>?{$6 zH%JV!#aAjqN)s0#!BGyTzQTCTDw7E2)@Gkr+AOCI2`yAz)5aryG|^PDb8`Zvq?Ft! z#hm$slqd`njQb2&$b8-K&N_SX7l?as9SLVJ%X3aC#hg*aXa9QSLzSHiax0sG`9_*0 zuqo;rBJc(xaI}ZSHzC)Vj><%Hvm!TVH~B+(46@`WVGF1cAU0nq5WY%dh@Z+WGoL8KpE zOf)y4_<0sqKiwN{;QzK&W_R%cH`-kYCEfc|@8RHW9UR#?mm|eefJ`gDCXxbnTtcNe zw?E&{%_r5~3Xds_FTRDVL}RLYNoH7fzZJAm4gbV2;OF|bynZX4*qm$4Y>pO(7C@P$AyDOtN3LCnO|{hid$*Fei`Ab+8t6z-&& zf;+OU`oj<;qv4Hxj&EQvl&uCW!i*2hIshujQ-IS{7Mp}ew@l1R;)vObzmiO9SwF*I z;T~ZaIZdV~()BGRrJ>4`SQC5&w(bITm1NARBRs-s8Rr5OJ)qBHU0!kvGR}4-oFI6< zk#~3d2(%T=Kx$HP2V;nuj3f}FI(B-NY}UF7+)>RAhmmsP15?r$XTxw}{&s}z z#?9Z%=^MFr>dK~{Q*93N#b3j|IvrqZA9X_~D5?9ks@LB_*NeUIf$97%Y+t~ro79C+ zZAzzKDTB=lV+P$e)X|Yo?dg%b@EPgs?RN%;Kk*t5f70vV@F#663=!m<*yri?^1g=m z=khzt5kLH?*UmKTT)L~e)P+cUOTxWpV#Bof8?&t|0PPjz11mmgdAyaRl!$K-&(u%y zN$|rmaKH8WM(FdRP092h8K*&q0fe4`E*yIXj2e0dU(_><2#5h0G8h_=RLNLv&vu0SN#RR8q0l-@Yn6 z-~1~On-|c^7l<8jw^lprCiNY?3zdF#udm1Q-g$aVa(*9=qPIqmvEEueI=%DtX!PJp zD(Lkj6Uz&Y=I~VS0w|afhpu9iF^G7%PVUtL!xB9%*3s)z*~T8CK?Gi^$5d~b9&0)F zmPe^mu?5WvJ(lZ$b3wzwk%EQ;<^&DY6f_(`Drh)@P0;8RyYtOcv|KAQW?r7BF+VT+ z8qK-YZF44f*EO57x9})6;KR2X@O2fBe3_&i=*Sd5b%#AD)z81oL;zX|szsydwqZHfv$bY2}rsyd2Pbql<@ zaj%XABvscLRJW@7_WK|GV?^Ra^_9I}`NRBWU`LU{jv|E}MXEZAd^y;ys6O(@yY6f5 zELT=feD`ht*m{MrTVB2Gw}18?%xpz<^21+$I2%;=qHXuRV7IjTy=OkkKHYLz_33wh z_Sc!8M^<@7+HQ4q$Gva==k`we_|u>K=l8S+)x9FvO;&gR>i(zlo#m41&%g6?zy5OC zZm||D*?gxJ1I~QaG5}*I%K$tIXQSoLM$4RymO2};QlL(<+PQX#bM2(}(yco=Xnw?w zyYCjiW?gZs3xO+K2wW{8FqK^^0r5Tcjm6b>Pu+C~T`{X3zW*1#lD@*+v#@&X_ddo< z5{dKKPu=w#6X2KRo(ZQfy1MAQ(&@Xx=?e|jO`)N>DKu0!g@)>;G=b<#^GFKPJdz4D z&&?eEIl?)P2%?&_CW5bU5q!0a;A`!S&+kp_eE1z-`V&UdiRxP?4t;B=r@SJpyQ2Dw zpZ}ZRL53rC{^XIr#x3O~Neg?5bzx7D7WNeD!k%JX$S2Z5K9LskiL{VUq@_tjTAD

44(8#|GCM~^)9{L2}y;7pMg&J=0kOpzAO6lo!!NDKKyTF58TLOzj}CJ||A5|NfB z5ou`>CoMZ5hq!i9BH#*FIP9($2?P|5?}@alt51CO>tD(waDVpX^T+a6SRhPR-}us@ zUuX1MQho8WAKLsfm=?wqWnoNF7RD51Va)$^dHWwGYL7nh%~Qy}ta|%FRF{y4I4qI&#qK6DtjyD0l!5qYqpdgg<_ z^Uantyf6L3)8B3n`pAot_CK+x{jHDx;=?9tzxEq5f7cw~`ihWtY4z17zVIjt*s^N> z-+u8QhQ!Z{lJ-BbsD0w8U-=^wwcq&72cLSSHTTKt)a-}vG*SD^J)iqpGHA&cCGCG= zS-bDVSHBIeS@nx|y!-RGro5s8VPW-K|NO`Ya>?4q{_)p8IV9R&l(hd5vet|USGa-U zYS(VBm3I3*DF`d8KYaYJ{t2~qRrT@ro;vnQ&!#7;r@r=y&v1m?it3N=dFqK*QmsWH zlkSB=Cfy5#Ou85CbT+jX4OY6B8D_5bIoY*lnE76242!C7efB-SZ)TW(eEX*l4NZ1U zi@wga=<8jJeq#>-EZfJ68Y(c4yofI8W|*Qn{mlROUgp*dt8f0?U;g>fFlOr&*SWdp zdSAqNV-HrA$EK98v#Pa_PoO})8+kxJskM+#YAxEDKtWp*Y0=h1TE@heR%^|G=JQU5(ws^B3`I?mXfqEoB2XgHJY!dVrLr06Qa();VS%sDeLZXVtH zCg=xQwHF&c;p%Q`ZB^@Si6i8}&^^dwdC8;28_v80;Kpt&>Yf3Qht1g>Ybk2xBXTf! z62a4sU#kOMEe+=Gi?MH1z8DJLmsdysNv39V=4g3<{eI*>X8y%lMPgA#OZfO>s+dTq zM!iXc=opD<6E^@A;8j{d#fRWD4*%$Co4?#L8@rh8;SXn9X0j@{9;gnW8dOK!6vuiy zXK4Vlo+n0ju&04!S#@+&uWAiAxDhtK%Z-c`aL=Gr)S(Oxk4m6WFJWk}{FUQ4(GEbK zhx6&K#$t*IaLM16g|`_l)xiyrn@IBRblw}4`z}j{dnfv%(=&VS#HG=|h*TKlr!X&a zP>br`H=%{SSwAS|$3rk{wVl9@&!PMBy|O z`<}qXrBnQ}D6RgZPoN1$2j;;5ua;z$srXfy{+h)BIez8E^XYg#?M`vSX2K{b;u!4* zbfm?InwyC2P2jXmeP>zJb7WMbwQ>N$iXzecGmZ}91LWtU7!@f8n9i(+)7L_w5^WGw z&Iq=?szwQoo5&M{{D2n8$yFq#BdXRwVPp)nQF|U-D36x=$Fqel>5jYKmLQ->SX&E% zj`MAUpxcO?E4f-ky(!2#z18wg;*F!**cgGlt8(Ph!5p#2cBKu;Y|~En=O=Q$bWmpoFUM+^ScsODW-apwo7yQ4m^IFpMt2 zGSeJXaFjSCYN)WKGo1_q1baimhC$ec&}pqx8{5Cboeemj2-jP_*T8CpB9tV5(^N!z zx)sFCq)U|u=00OFm(9utqs18I9Eei+`k&IUKu(${a18z6R2SVZt91BL=(1J3E&YUX zy^3XDVm!YD!HQVO17}8gve>%nWRxc)Q397IlTn`FctcHmg9DARSspWaau{lri?`&* zfS438HWFu+ZE*~l_rPl|EznX{*;bPeWjlJ>I0yI6?{Ej(LlJfX_;F&y?8b5|8sCk3 z1t-4o508|+^0iPko3k0cf+kOcW?z(b&ThzybuuYPjh^s;kua9O6|q& z&@@p*l3WX`Gi=HWw_@OCt(8}Ul>_2g&&5|3EIBbx6 zh2g6lCW)3W*WHqroVTa5)NrOCeY_vwh-IOhFe>_PNb%Mwfa>bleZ(gT$PjDP>LT-+UhLoCI*Y-liC89!gqxP{~{Hv)Am&nsW>|`qyS-MM(wo-&J%)_+rBeY z9R+VRT?rr^fg-e9kH)P+9n( zV*-H0uX-@@n)6Dy8X(FwHM>dP(C{YVenkKp@7I-hhvwMF7^AWGgyib%dysubFM%zU z>7;7`a>GB6ite(~z=n5L3ZC8<@#usGF4!g-f9)?Jj1-C{?NXqX?1!aR6P3jt~cGgI^xgM{4@)p5o z)cr)@;-)Z!-IWp-^&kkP?ZYX|hLAzhRB%si%2Uu7H6%jIkw0#S<_<9eBJLlR|6A?Z zsAiXQho@5mBzgxdoRB1J8J@o$5Z2v1XCS=sZ1{2sNQ1G<(e;7PYK((9nS|`dVO-gQ zRHN#gJ;3xvLsaZ)o|!{E5K=)ZMVU@ zRNHN=(A6(pD9(8=D0Ir<`rVX0#&(XRt{=(e`zCL)h7ERj5ovp1UOgraRjL9C=~VP7 z%;Zz(PT{scgr-(Pc{fRE!Ko{F*wv16CM@h+V>=v7s<7SK7ai+xMYLP}Jd6+AjYd{n z=orgmsR$Zg=j_ry7R+`2@kRKcBX1 z4Eyt?)sR15hF=(rmRDsl3pGdzGkt`%*R-SK&Y$Mo_s`9AOcL*)OFVi_sigl?zPpWT zjl|Q;Y{GV6!g%I#I6S*l9pQdLQ{N?egWTehy=hQ1Bw$?8lM?q`EtK@Ecr{1YNoQoDaH<-hf zAi24C8{?~H_S(MOshYQ;qRBbDbE~4w1MjxouT9^lLr!P_9#h;Rrr�!3m{kiLd9l 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 UNmg6Ef$(%hq_{Ye%*~#^0S6-#uK)l5 diff --git a/configs/swarm/genesis.json b/configs/swarm/genesis.json index b4dc7488a7d..232800e1538 100644 --- a/configs/swarm/genesis.json +++ b/configs/swarm/genesis.json @@ -43,7 +43,7 @@ "Register": { "AssetDefinition": { "id": "rose#wonderland", - "value_type": "Numeric", + "type_": "Numeric", "mintable": "Infinitely", "logo": null, "metadata": {} @@ -71,7 +71,7 @@ "Register": { "AssetDefinition": { "id": "cabbage#garden_of_live_flowers", - "value_type": "Numeric", + "type_": "Numeric", "mintable": "Infinitely", "logo": null, "metadata": {} @@ -116,7 +116,7 @@ "Grant": { "Permission": { "object": { - "id": "CanSetParameters", + "name": "CanSetParameters", "payload": null }, "destination": "ed0120CE7FA46C9DCE7EA4B125E2E36BDB63EA33073E7590AC92816AE1E861B7048B03@wonderland" @@ -171,13 +171,13 @@ "id": "ALICE_METADATA_ACCESS", "permissions": [ { - "id": "CanRemoveKeyValueInAccount", + "name": "CanRemoveKeyValueInAccount", "payload": { "account": "ed0120CE7FA46C9DCE7EA4B125E2E36BDB63EA33073E7590AC92816AE1E861B7048B03@wonderland" } }, { - "id": "CanSetKeyValueInAccount", + "name": "CanSetKeyValueInAccount", "payload": { "account": "ed0120CE7FA46C9DCE7EA4B125E2E36BDB63EA33073E7590AC92816AE1E861B7048B03@wonderland" } diff --git a/core/src/block.rs b/core/src/block.rs index f0aadb019a7..2f66278d414 100644 --- a/core/src/block.rs +++ b/core/src/block.rs @@ -168,7 +168,7 @@ mod pending { .collect::>() .hash() .expect("INTERNAL BUG: Empty block created"), - timestamp_ms: SystemTime::now() + creation_time_ms: SystemTime::now() .duration_since(SystemTime::UNIX_EPOCH) .expect("INTERNAL BUG: Failed to get the current system time") .as_millis() @@ -645,7 +645,7 @@ mod valid { transactions_hash: HashOf::from_untyped_unchecked(Hash::prehashed( [1; Hash::LENGTH], )), - timestamp_ms: 0, + creation_time_ms: 0, view_change_index: 0, consensus_estimation_ms: 4_000, }, diff --git a/core/src/query/store.rs b/core/src/query/store.rs index be9da50dbd3..b6da9cb698f 100644 --- a/core/src/query/store.rs +++ b/core/src/query/store.rs @@ -8,7 +8,11 @@ use std::{ use indexmap::IndexMap; use iroha_config::parameters::actual::LiveQueryStore as Config; use iroha_data_model::{ - query::{cursor::ForwardCursor, error::QueryExecutionFail, QueryId, QueryOutputBox}, + query::{ + cursor::{ForwardCursor, QueryId}, + error::QueryExecutionFail, + QueryOutputBox, + }, BatchedResponse, BatchedResponseV1, ValidationFail, }; use iroha_logger::trace; @@ -184,7 +188,7 @@ impl LiveQueryStoreHandle { &self, cursor: ForwardCursor, ) -> Result> { - let query_id = cursor.query_id.ok_or(UnknownCursor)?; + let query_id = cursor.query.ok_or(UnknownCursor)?; let live_query = self.remove(query_id.clone())?.ok_or(UnknownCursor)?; self.construct_query_response(query_id, cursor.cursor.map(NonZeroU64::get), live_query) @@ -235,7 +239,7 @@ impl LiveQueryStoreHandle { let query_response = BatchedResponseV1 { batch: QueryOutputBox::Vec(batch), cursor: ForwardCursor { - query_id: Some(query_id), + query: Some(query_id), cursor: next_cursor, }, }; diff --git a/core/src/smartcontracts/isi/account.rs b/core/src/smartcontracts/isi/account.rs index 2932b0d9882..eab3b1a520a 100644 --- a/core/src/smartcontracts/isi/account.rs +++ b/core/src/smartcontracts/isi/account.rs @@ -25,7 +25,7 @@ impl Registrable for iroha_data_model::account::NewAccount { /// - Revoke permissions or roles pub mod isi { use iroha_data_model::{ - asset::{AssetValue, AssetValueType}, + asset::{AssetType, AssetValue}, isi::{ error::{MintabilityError, RepetitionError}, InstructionType, @@ -78,7 +78,7 @@ pub mod isi { _ => Err(err.into()), }, Ok(_) => Err(RepetitionError { - instruction_type: InstructionType::Register, + instruction: InstructionType::Register, id: IdBox::AssetId(asset_id.clone()), } .into()), @@ -243,7 +243,6 @@ pub mod isi { ) -> Result<(), Error> { let account_id = self.destination; let permission = self.object; - let permission_id = permission.id.clone(); // Check if account exists state_transaction.world.account_mut(&account_id)?; @@ -253,22 +252,22 @@ pub mod isi { .account_contains_inherent_permission(&account_id, &permission) { return Err(RepetitionError { - instruction_type: InstructionType::Grant, - id: permission.id.into(), + instruction: InstructionType::Grant, + id: permission.into(), } .into()); } state_transaction .world - .add_account_permission(&account_id, permission); + .add_account_permission(&account_id, permission.clone()); state_transaction .world .emit_events(Some(AccountEvent::PermissionAdded( AccountPermissionChanged { account: account_id, - permission: permission_id, + permission, }, ))); @@ -293,7 +292,7 @@ pub mod isi { .world .remove_account_permission(&account_id, &permission) { - return Err(FindError::Permission(permission.id).into()); + return Err(FindError::Permission(permission).into()); } state_transaction @@ -301,7 +300,7 @@ pub mod isi { .emit_events(Some(AccountEvent::PermissionRemoved( AccountPermissionChanged { account: account_id, - permission: permission.id, + permission, }, ))); @@ -324,10 +323,8 @@ pub mod isi { .roles .get(&role_id) .ok_or_else(|| FindError::Role(role_id.clone()))? - .clone() .permissions - .into_iter() - .map(|token| token.id); + .clone(); state_transaction.world.account(&account_id)?; @@ -341,7 +338,7 @@ pub mod isi { .is_some() { return Err(RepetitionError { - instruction_type: InstructionType::Grant, + instruction: InstructionType::Grant, id: IdBox::RoleId(role_id), } .into()); @@ -350,10 +347,11 @@ pub mod isi { state_transaction.world.emit_events({ let account_id_clone = account_id.clone(); permissions + .into_iter() .zip(core::iter::repeat_with(move || account_id.clone())) - .map(|(permission_id, account_id)| AccountPermissionChanged { + .map(|(permission, account_id)| AccountPermissionChanged { account: account_id, - permission: permission_id, + permission, }) .map(AccountEvent::PermissionAdded) .chain(std::iter::once(AccountEvent::RoleGranted( @@ -383,10 +381,8 @@ pub mod isi { .roles .get(&role_id) .ok_or_else(|| FindError::Role(role_id.clone()))? - .clone() .permissions - .into_iter() - .map(|token| token.id); + .clone(); if state_transaction .world @@ -403,10 +399,11 @@ pub mod isi { state_transaction.world.emit_events({ let account_id_clone = account_id.clone(); permissions + .into_iter() .zip(core::iter::repeat_with(move || account_id.clone())) - .map(|(permission_id, account_id)| AccountPermissionChanged { + .map(|(permission, account_id)| AccountPermissionChanged { account: account_id, - permission: permission_id, + permission, }) .map(AccountEvent::PermissionRemoved) .chain(std::iter::once(AccountEvent::RoleRevoked( @@ -427,15 +424,12 @@ pub mod isi { state_transaction: &mut StateTransaction<'_, '_>, value: &AssetValue, ) -> Result<(), Error> { - let expected_asset_value_type = match value.value_type() { - AssetValueType::Numeric(_) => asset::isi::expected_asset_value_type_numeric, - AssetValueType::Store => asset::isi::expected_asset_value_type_store, + let expected_asset_type = match value.type_() { + AssetType::Numeric(_) => asset::isi::expected_asset_type_numeric, + AssetType::Store => asset::isi::expected_asset_type_store, }; - let definition = asset::isi::assert_asset_type( - definition_id, - state_transaction, - expected_asset_value_type, - )?; + let definition = + asset::isi::assert_asset_type(definition_id, state_transaction, expected_asset_type)?; if let AssetValue::Numeric(numeric) = value { assert_numeric_spec(numeric, &definition)?; } @@ -563,7 +557,7 @@ pub mod query { &self, state_ro: &'state impl StateReadOnly, ) -> Result + 'state>, Error> { - let id = &self.domain_id; + let id = &self.domain; iroha_logger::trace!(%id); Ok(Box::new( @@ -592,7 +586,7 @@ pub mod query { &self, state_ro: &'state impl StateReadOnly, ) -> Result + 'state>, Error> { - let asset_definition_id = self.asset_definition_id.clone(); + let asset_definition_id = self.asset_definition.clone(); iroha_logger::trace!(%asset_definition_id); Ok(Box::new( diff --git a/core/src/smartcontracts/isi/asset.rs b/core/src/smartcontracts/isi/asset.rs index 38621f4ec5d..de751c8ad51 100644 --- a/core/src/smartcontracts/isi/asset.rs +++ b/core/src/smartcontracts/isi/asset.rs @@ -18,7 +18,7 @@ impl Registrable for NewAssetDefinition { fn build(self, authority: &AccountId) -> Self::Target { Self::Target { id: self.id, - value_type: self.value_type, + type_: self.type_, mintable: self.mintable, logo: self.logo, metadata: self.metadata, @@ -32,7 +32,7 @@ impl Registrable for NewAssetDefinition { /// - update metadata /// - transfer, etc. pub mod isi { - use iroha_data_model::{asset::AssetValueType, isi::error::MintabilityError}; + use iroha_data_model::{asset::AssetType, isi::error::MintabilityError}; use super::*; use crate::smartcontracts::account::isi::forbid_minting; @@ -49,7 +49,7 @@ pub mod isi { assert_asset_type( &asset_id.definition, state_transaction, - expected_asset_value_type_store, + expected_asset_type_store, )?; // Increase `Store` asset total quantity by 1 if asset was not present earlier @@ -103,7 +103,7 @@ pub mod isi { assert_asset_type( &asset_id.definition, state_transaction, - expected_asset_value_type_store, + expected_asset_type_store, )?; let value = { @@ -141,7 +141,7 @@ pub mod isi { assert_asset_type( &asset_id.definition, state_transaction, - expected_asset_value_type_store, + expected_asset_type_store, )?; let asset = state_transaction @@ -183,7 +183,7 @@ pub mod isi { let asset_definition = assert_asset_type( &asset_id.definition, state_transaction, - expected_asset_value_type_numeric, + expected_asset_type_numeric, )?; assert_numeric_spec(&self.object, &asset_definition)?; @@ -231,7 +231,7 @@ pub mod isi { let asset_definition = assert_asset_type( &asset_id.definition, state_transaction, - expected_asset_value_type_numeric, + expected_asset_type_numeric, )?; assert_numeric_spec(&self.object, &asset_definition)?; @@ -286,7 +286,7 @@ pub mod isi { let asset_definition = assert_asset_type( &source_id.definition, state_transaction, - expected_asset_value_type_numeric, + expected_asset_type_numeric, )?; assert_numeric_spec(&self.object, &asset_definition)?; @@ -348,34 +348,34 @@ pub mod isi { asset_definition: &AssetDefinition, ) -> Result { let object_spec = NumericSpec::fractional(object.scale()); - let object_asset_value_type = AssetValueType::Numeric(object_spec); - let asset_definition_spec = match asset_definition.value_type { - AssetValueType::Numeric(spec) => spec, + let object_asset_type = AssetType::Numeric(object_spec); + let asset_definition_spec = match asset_definition.type_ { + AssetType::Numeric(spec) => spec, other => { return Err(TypeError::from(Mismatch { expected: other, - actual: object_asset_value_type, + actual: object_asset_type, }) .into()) } }; asset_definition_spec.check(object).map_err(|_| { TypeError::from(Mismatch { - expected: AssetValueType::Numeric(asset_definition_spec), - actual: object_asset_value_type, + expected: AssetType::Numeric(asset_definition_spec), + actual: object_asset_type, }) })?; Ok(asset_definition_spec) } - /// Asserts that asset definition with [`definition_id`] has asset type [`expected_value_type`]. + /// Asserts that asset definition with [`definition_id`] has asset type [`expected_type`]. pub(crate) fn assert_asset_type( definition_id: &AssetDefinitionId, state_transaction: &StateTransaction<'_, '_>, - expected_value_type: impl Fn(&AssetValueType) -> Result<(), TypeError>, + expected_type: impl Fn(&AssetType) -> Result<(), TypeError>, ) -> Result { let asset_definition = state_transaction.world.asset_definition(definition_id)?; - expected_value_type(&asset_definition.value_type) + expected_type(&asset_definition.type_) .map(|()| asset_definition) .map_err(Into::into) } @@ -402,21 +402,17 @@ pub mod isi { } } - pub(crate) fn expected_asset_value_type_numeric( - asset_value_type: &AssetValueType, - ) -> Result<(), TypeError> { - match asset_value_type { - AssetValueType::Numeric(_) => Ok(()), - other => Err(TypeError::NumericAssetValueTypeExpected(*other)), + pub(crate) fn expected_asset_type_numeric(asset_type: &AssetType) -> Result<(), TypeError> { + match asset_type { + AssetType::Numeric(_) => Ok(()), + other => Err(TypeError::NumericAssetTypeExpected(*other)), } } - pub(crate) fn expected_asset_value_type_store( - asset_value_type: &AssetValueType, - ) -> Result<(), TypeError> { - match asset_value_type { - AssetValueType::Store => Ok(()), - other => Err(TypeError::NumericAssetValueTypeExpected(*other)), + pub(crate) fn expected_asset_type_store(asset_type: &AssetType) -> Result<(), TypeError> { + match asset_type { + AssetType::Store => Ok(()), + other => Err(TypeError::NumericAssetTypeExpected(*other)), } } } @@ -522,7 +518,7 @@ pub mod query { &self, state_ro: &'state impl StateReadOnly, ) -> Result + 'state>, Error> { - let id = &self.account_id; + let id = &self.account; iroha_logger::trace!(%id); Ok(Box::new(state_ro.world().account_assets(id)?.cloned())) } @@ -534,7 +530,7 @@ pub mod query { &self, state_ro: &'state impl StateReadOnly, ) -> Result + 'state>, Error> { - let id = self.asset_definition_id.clone(); + let id = self.asset_definition.clone(); iroha_logger::trace!(%id); Ok(Box::new( state_ro @@ -559,7 +555,7 @@ pub mod query { &self, state_ro: &'state impl StateReadOnly, ) -> Result + 'state>, Error> { - let id = &self.domain_id; + let id = &self.domain; iroha_logger::trace!(%id); Ok(Box::new( state_ro @@ -577,8 +573,8 @@ pub mod query { &self, state_ro: &'state impl StateReadOnly, ) -> Result + 'state>, Error> { - let domain_id = self.domain_id.clone(); - let asset_definition_id = self.asset_definition_id.clone(); + let domain_id = self.domain.clone(); + let asset_definition_id = self.asset_definition.clone(); let domain = state_ro.world().domain(&domain_id)?; let _definition = domain .asset_definitions diff --git a/core/src/smartcontracts/isi/domain.rs b/core/src/smartcontracts/isi/domain.rs index 5dcad8e7b58..cb964a2f30f 100644 --- a/core/src/smartcontracts/isi/domain.rs +++ b/core/src/smartcontracts/isi/domain.rs @@ -57,7 +57,7 @@ pub mod isi { let _domain = state_transaction.world.domain_mut(&account_id.domain)?; if state_transaction.world.account(&account_id).is_ok() { return Err(RepetitionError { - instruction_type: InstructionType::Register, + instruction: InstructionType::Register, id: IdBox::AccountId(account_id), } .into()); @@ -139,7 +139,7 @@ pub mod isi { .domain_mut(&asset_definition_id.domain)?; if domain.asset_definitions.contains_key(&asset_definition_id) { return Err(RepetitionError { - instruction_type: InstructionType::Register, + instruction: InstructionType::Register, id: IdBox::AssetDefinitionId(asset_definition_id), } .into()); diff --git a/core/src/smartcontracts/isi/triggers/mod.rs b/core/src/smartcontracts/isi/triggers/mod.rs index aeb80783ea6..7f3d8db3645 100644 --- a/core/src/smartcontracts/isi/triggers/mod.rs +++ b/core/src/smartcontracts/isi/triggers/mod.rs @@ -42,7 +42,7 @@ pub mod isi { } let last_block_estimation = state_transaction.latest_block().map(|block| { - block.header().timestamp() + block.header().creation_time() + Duration::from_millis(block.header().consensus_estimation_ms) }); @@ -99,7 +99,7 @@ pub mod isi { if !success { return Err(RepetitionError { - instruction_type: InstructionType::Register, + instruction: InstructionType::Register, id: trigger_id.into(), } .into()); @@ -130,7 +130,7 @@ pub mod isi { Ok(()) } else { Err(RepetitionError { - instruction_type: InstructionType::Unregister, + instruction: InstructionType::Unregister, id: trigger_id.into(), } .into()) @@ -389,7 +389,7 @@ pub mod query { &self, state_ro: &'state impl StateReadOnly, ) -> eyre::Result + 'state>, Error> { - let account_id = self.account_id.clone(); + let account_id = self.account.clone(); Ok(Box::new( state_ro @@ -417,7 +417,7 @@ pub mod query { &self, state_ro: &'state impl StateReadOnly, ) -> eyre::Result + 'state>, Error> { - let domain_id = self.domain_id.clone(); + let domain_id = self.domain.clone(); Ok(Box::new( state_ro diff --git a/core/src/smartcontracts/isi/tx.rs b/core/src/smartcontracts/isi/tx.rs index e10d8b0f594..886c5a507a6 100644 --- a/core/src/smartcontracts/isi/tx.rs +++ b/core/src/smartcontracts/isi/tx.rs @@ -87,7 +87,7 @@ impl ValidQuery for FindTransactionsByAccountId { &self, state_ro: &'state impl StateReadOnly, ) -> Result + 'state>, QueryExecutionFail> { - let account_id = self.account_id.clone(); + let account_id = self.account.clone(); Ok(Box::new( state_ro diff --git a/core/src/smartcontracts/isi/world.rs b/core/src/smartcontracts/isi/world.rs index ee421f1afe2..591acde328f 100644 --- a/core/src/smartcontracts/isi/world.rs +++ b/core/src/smartcontracts/isi/world.rs @@ -41,7 +41,7 @@ pub mod isi { if let PushResult::Duplicate(duplicate) = world.trusted_peers_ids.push(peer_id.clone()) { return Err(RepetitionError { - instruction_type: InstructionType::Register, + instruction: InstructionType::Register, id: IdBox::PeerId(duplicate), } .into()); @@ -98,7 +98,7 @@ pub mod isi { let world = &mut state_transaction.world; if world.domains.get(&domain_id).is_some() { return Err(RepetitionError { - instruction_type: InstructionType::Register, + instruction: InstructionType::Register, id: IdBox::DomainId(domain_id), } .into()); @@ -176,7 +176,7 @@ pub mod isi { if state_transaction.world.roles.get(role.id()).is_some() { return Err(RepetitionError { - instruction_type: InstructionType::Register, + instruction: InstructionType::Register, id: IdBox::RoleId(role.id), } .into()); @@ -246,8 +246,8 @@ pub mod isi { if !role.permissions.insert(permission.clone()) { return Err(RepetitionError { - instruction_type: InstructionType::Grant, - id: permission.id.into(), + instruction: InstructionType::Grant, + id: permission.into(), } .into()); } @@ -256,7 +256,7 @@ pub mod isi { .world .emit_events(Some(RoleEvent::PermissionAdded(RolePermissionChanged { role: role_id, - permission: permission.id, + permission, }))); Ok(()) @@ -272,21 +272,20 @@ pub mod isi { ) -> Result<(), Error> { let role_id = self.destination; let permission = self.object; - let permission_id = permission.id.clone(); let Some(role) = state_transaction.world.roles.get_mut(&role_id) else { return Err(FindError::Role(role_id).into()); }; if !role.permissions.remove(&permission) { - return Err(FindError::Permission(permission_id).into()); + return Err(FindError::Permission(permission).into()); } state_transaction .world .emit_events(Some(RoleEvent::PermissionRemoved(RolePermissionChanged { role: role_id, - permission: permission_id, + permission, }))); Ok(()) @@ -328,7 +327,7 @@ pub mod isi { if !state_transaction.world.parameters.insert(parameter.clone()) { return Err(RepetitionError { - instruction_type: InstructionType::NewParameter, + instruction: InstructionType::NewParameter, id: IdBox::ParameterId(parameter_id), } .into()); diff --git a/core/src/smartcontracts/wasm.rs b/core/src/smartcontracts/wasm.rs index 9ab00dcbcf3..64f385c038f 100644 --- a/core/src/smartcontracts/wasm.rs +++ b/core/src/smartcontracts/wasm.rs @@ -12,7 +12,7 @@ use iroha_data_model::{ executor::{self, ExecutorDataModel, MigrationResult}, isi::InstructionBox, prelude::*, - query::{QueryBox, QueryId, QueryOutputBox, QueryRequest, SmartContractQuery}, + query::{cursor::QueryId, QueryBox, QueryOutputBox, QueryRequest, SmartContractQuery}, smart_contract::payloads::{self, Validate}, BatchedResponse, Level as LogLevel, ValidationFail, }; @@ -812,7 +812,7 @@ where }?; match &batched { BatchedResponse::V1(batched) => { - if let Some(query_id) = &batched.cursor.query_id { + if let Some(query_id) = &batched.cursor.query { state.executed_queries.insert(query_id.clone()); } } @@ -822,7 +822,7 @@ where QueryRequest::Cursor(cursor) => { // In a normal situation we already have this `query_id` stored, // so that's a protection from malicious smart contract - if let Some(query_id) = &cursor.query_id { + if let Some(query_id) = &cursor.query { state.executed_queries.insert(query_id.clone()); } state diff --git a/core/src/state.rs b/core/src/state.rs index 0c00cb5467b..54ac916d4f2 100644 --- a/core/src/state.rs +++ b/core/src/state.rs @@ -1122,7 +1122,7 @@ pub trait StateReadOnly { let opt = self .kura() .get_block_by_height(nonzero_ext::nonzero!(1_usize)) - .map(|genesis_block| genesis_block.header().timestamp()); + .map(|genesis_block| genesis_block.header().creation_time()); if opt.is_none() { error!("Failed to get genesis block from Kura."); @@ -1303,13 +1303,13 @@ impl<'state> StateBlock<'state> { let header = &latest_block.as_ref().header(); TimeInterval { - since: header.timestamp(), + since: header.creation_time(), length: header.consensus_estimation(), } }); let interval = TimeInterval { - since: block.as_ref().header().timestamp(), + since: block.as_ref().header().creation_time(), length: block.as_ref().header().consensus_estimation(), }; diff --git a/data_model/src/account.rs b/data_model/src/account.rs index 0e99bf6d495..6d75fc54358 100644 --- a/data_model/src/account.rs +++ b/data_model/src/account.rs @@ -234,10 +234,10 @@ pub mod prelude { } #[cfg(test)] +#[cfg(feature = "transparent_api")] mod tests { use super::*; - #[cfg(feature = "transparent_api")] #[test] fn parse_account_id() { const SIGNATORY: &str = diff --git a/data_model/src/asset.rs b/data_model/src/asset.rs index 6b3972c1e49..005911bf1f5 100644 --- a/data_model/src/asset.rs +++ b/data_model/src/asset.rs @@ -114,7 +114,7 @@ mod model { Serialize, IntoSchema, )] - #[display(fmt = "{id} {value_type}{mintable}")] + #[display(fmt = "{id} {type_}{mintable}")] #[allow(clippy::multiple_inherent_impl)] #[ffi_type] pub struct AssetDefinition { @@ -122,7 +122,7 @@ mod model { pub id: AssetDefinitionId, /// Type of [`AssetValue`] #[getset(get_copy = "pub")] - pub value_type: AssetValueType, + pub type_: AssetType, /// Is the asset mintable #[getset(get_copy = "pub")] pub mintable: Mintable, @@ -164,13 +164,13 @@ mod model { #[derive( Debug, Display, Clone, IdEqOrdHash, Decode, Encode, Deserialize, Serialize, IntoSchema, )] - #[display(fmt = "{id} {mintable}{value_type}")] + #[display(fmt = "{id} {mintable}{type_}")] #[ffi_type] pub struct NewAssetDefinition { /// The identification associated with the asset definition builder. pub id: AssetDefinitionId, /// The type value associated with the asset definition builder. - pub value_type: AssetValueType, + pub type_: AssetType, /// The mintablility associated with the asset definition builder. pub mintable: Mintable, /// IPFS link to the [`AssetDefinition`] logo @@ -196,7 +196,7 @@ mod model { )] #[ffi_type] #[repr(u8)] - pub enum AssetValueType { + pub enum AssetType { /// Asset's qualitative value. #[display(fmt = "{_0}")] Numeric(NumericSpec), @@ -268,12 +268,12 @@ mod model { } } -/// Error occurred while parsing `AssetValueType` +/// Error occurred while parsing `AssetType` #[derive(Debug, displaydoc::Display, Clone)] #[cfg_attr(feature = "std", derive(thiserror::Error))] #[repr(u8)] -pub enum AssetValueTypeParseError { - /// `AssetValueType` should be either `Store` or `Numeric` +pub enum AssetTypeParseError { + /// `AssetType` should be either `Store` or `Numeric` WrongVariant, /// Error occurred while parsing `Numeric` variant: {_0} Numeric(#[cfg_attr(feature = "std", source)] NumericSpecParseError), @@ -283,22 +283,22 @@ impl AssetDefinition { /// Construct builder for [`AssetDefinition`] identifiable by [`Id`]. #[must_use] #[inline] - pub fn new(id: AssetDefinitionId, value_type: AssetValueType) -> ::With { - ::With::new(id, value_type) + pub fn new(id: AssetDefinitionId, type_: AssetType) -> ::With { + ::With::new(id, type_) } /// Construct builder for [`AssetDefinition`] identifiable by [`Id`]. #[must_use] #[inline] pub fn numeric(id: AssetDefinitionId) -> ::With { - ::With::new(id, AssetValueType::Numeric(NumericSpec::default())) + ::With::new(id, AssetType::Numeric(NumericSpec::default())) } /// Construct builder for [`AssetDefinition`] identifiable by [`Id`]. #[must_use] #[inline] pub fn store(id: AssetDefinitionId) -> ::With { - ::With::new(id, AssetValueType::Store) + ::With::new(id, AssetType::Store) } } @@ -314,10 +314,10 @@ impl Asset { impl NewAssetDefinition { /// Create a [`NewAssetDefinition`], reserved for internal use. - fn new(id: AssetDefinitionId, value_type: AssetValueType) -> Self { + fn new(id: AssetDefinitionId, type_: AssetType) -> Self { Self { id, - value_type, + type_, mintable: Mintable::Infinitely, logo: None, metadata: Metadata::default(), @@ -356,12 +356,10 @@ impl HasMetadata for AssetDefinition { impl AssetValue { /// Returns the asset type as a string. - pub const fn value_type(&self) -> AssetValueType { + pub const fn type_(&self) -> AssetType { match *self { - Self::Numeric(numeric) => { - AssetValueType::Numeric(NumericSpec::fractional(numeric.scale())) - } - Self::Store(_) => AssetValueType::Store, + Self::Numeric(numeric) => AssetType::Numeric(NumericSpec::fractional(numeric.scale())), + Self::Store(_) => AssetType::Store, } } /// Returns true if this value is zero, false if it contains [`Metadata`] or positive value @@ -446,8 +444,8 @@ impl FromStr for AssetId { } } -impl FromStr for AssetValueType { - type Err = AssetValueTypeParseError; +impl FromStr for AssetType { + type Err = AssetTypeParseError; fn from_str(s: &str) -> Result { match s { @@ -455,8 +453,8 @@ impl FromStr for AssetValueType { s if s.starts_with("Numeric") => s .parse::() .map(Self::Numeric) - .map_err(AssetValueTypeParseError::Numeric), - _ => Err(AssetValueTypeParseError::WrongVariant), + .map_err(AssetTypeParseError::Numeric), + _ => Err(AssetTypeParseError::WrongVariant), } } } @@ -478,7 +476,7 @@ impl Registered for AssetDefinition { /// The prelude re-exports most commonly used traits, structs and macros from this crate. pub mod prelude { pub use super::{ - Asset, AssetDefinition, AssetDefinitionId, AssetId, AssetValue, AssetValueType, Mintable, + Asset, AssetDefinition, AssetDefinitionId, AssetId, AssetType, AssetValue, Mintable, NewAssetDefinition, }; } diff --git a/data_model/src/block.rs b/data_model/src/block.rs index 6e7c5814519..7a3f6781453 100644 --- a/data_model/src/block.rs +++ b/data_model/src/block.rs @@ -61,7 +61,7 @@ mod model { pub transactions_hash: HashOf>, /// Creation timestamp (unix time in milliseconds). #[getset(skip)] - pub timestamp_ms: u64, + pub creation_time_ms: u64, /// Value of view change index. Used to resolve soft forks. #[getset(skip)] pub view_change_index: u32, @@ -147,8 +147,8 @@ impl BlockHeader { } /// Creation timestamp - pub const fn timestamp(&self) -> Duration { - Duration::from_millis(self.timestamp_ms) + pub const fn creation_time(&self) -> Duration { + Duration::from_millis(self.creation_time_ms) } /// Consensus estimation @@ -291,13 +291,13 @@ impl SignedBlock { .hash() .expect("Tree is not empty"); let first_transaction = &genesis_transactions[0]; - let timestamp_ms = u64::try_from(first_transaction.creation_time().as_millis()) + let creation_time_ms = u64::try_from(first_transaction.creation_time().as_millis()) .expect("Must fit since Duration was created from u64 in creation_time()"); let header = BlockHeader { height: 1, prev_block_hash: None, transactions_hash, - timestamp_ms, + creation_time_ms, view_change_index: 0, consensus_estimation_ms: 0, }; diff --git a/data_model/src/events/data/events.rs b/data_model/src/events/data/events.rs index 766872cc0d2..faf5f540a0e 100644 --- a/data_model/src/events/data/events.rs +++ b/data_model/src/events/data/events.rs @@ -244,11 +244,11 @@ mod role { #[has_origin(role => role.id())] Created(Role), Deleted(RoleId), - /// [`Permission`]s with particular [`PermissionId`] + /// [`Permission`]s with particular [`Permission`] /// were removed from the role. #[has_origin(permission_removed => &permission_removed.role)] PermissionRemoved(RolePermissionChanged), - /// [`Permission`]s with particular [`PermissionId`] + /// [`Permission`]s with particular [`Permission`] /// were removed added to the role. #[has_origin(permission_added => &permission_added.role)] PermissionAdded(RolePermissionChanged), @@ -280,7 +280,7 @@ mod role { pub role: RoleId, // TODO: Skipped temporarily because of FFI #[getset(skip)] - pub permission: PermissionId, + pub permission: Permission, } } } @@ -345,7 +345,7 @@ mod account { pub account: AccountId, // TODO: Skipped temporarily because of FFI #[getset(skip)] - pub permission: PermissionId, + pub permission: Permission, } /// Depending on the wrapping event, [`AccountRoleChanged`] represents the granted or revoked role @@ -373,7 +373,7 @@ mod account { impl AccountPermissionChanged { /// Get permission id - pub fn permission(&self) -> &PermissionId { + pub fn permission(&self) -> &Permission { &self.permission } } diff --git a/data_model/src/events/pipeline.rs b/data_model/src/events/pipeline.rs index 731e194c505..6d74eec41e1 100644 --- a/data_model/src/events/pipeline.rs +++ b/data_model/src/events/pipeline.rs @@ -357,7 +357,7 @@ mod tests { transactions_hash: HashOf::from_untyped_unchecked(Hash::prehashed( [1_u8; Hash::LENGTH], )), - timestamp_ms: 0, + creation_time_ms: 0, view_change_index: 0, consensus_estimation_ms: 0, } diff --git a/data_model/src/executor.rs b/data_model/src/executor.rs index 4e030b1c3b6..2109b38a9bc 100644 --- a/data_model/src/executor.rs +++ b/data_model/src/executor.rs @@ -8,17 +8,15 @@ use std::collections::BTreeSet; use derive_more::{Constructor, Display}; use getset::Getters; use iroha_data_model_derive::model; -use iroha_schema::IntoSchema; +use iroha_schema::{Ident, IntoSchema}; use parity_scale_codec::{Decode, Encode}; use serde::{Deserialize, Serialize}; pub use self::model::*; -use crate::{permission::PermissionId, transaction::WasmSmartContract, JsonString}; +use crate::{transaction::WasmSmartContract, JsonString}; #[model] mod model { - use iroha_schema::Ident; - use super::*; /// executor that checks if an operation satisfies some conditions. @@ -82,7 +80,7 @@ mod model { /// Permission tokens supported by the executor. /// /// These IDs refer to the types in the schema. - pub permissions: BTreeSet, + pub permissions: BTreeSet, /// Type id in the schema. /// Corresponds to payload of `InstructionBox::Custom`. /// @@ -103,7 +101,7 @@ mod model { // currently it fails for all fields impl ExecutorDataModel { /// Getter - pub fn permissions(&self) -> &BTreeSet { + pub fn permissions(&self) -> &BTreeSet { &self.permissions } diff --git a/data_model/src/isi.rs b/data_model/src/isi.rs index c7024cb8d2f..32d83703151 100644 --- a/data_model/src/isi.rs +++ b/data_model/src/isi.rs @@ -1250,7 +1250,7 @@ pub mod error { pub use self::model::*; use super::InstructionType; use crate::{ - asset::AssetValueType, + asset::AssetType, metadata, query::error::{FindError, QueryExecutionFail}, IdBox, @@ -1394,18 +1394,12 @@ pub mod error { #[ffi_type] pub enum TypeError { /// Asset Ids correspond to assets with different underlying types, {0} - AssetValueType(#[cfg_attr(feature = "std", source)] Mismatch), + AssetType(#[cfg_attr(feature = "std", source)] Mismatch), /// Numeric asset value type was expected, received: {0} - NumericAssetValueTypeExpected( + NumericAssetTypeExpected( #[skip_from] #[skip_try_from] - AssetValueType, - ), - /// Store asset value type was expected, received: {0} - StoreAssetValueTypeExpected( - #[skip_from] - #[skip_try_from] - AssetValueType, + AssetType, ), } @@ -1504,7 +1498,7 @@ pub mod error { TimeTriggerInThePast, } - /// Repetition of of `{instruction_type}` for id `{id}` + /// Repetition of of `{instruction}` for id `{id}` #[derive( Debug, displaydoc::Display, @@ -1523,7 +1517,7 @@ pub mod error { #[ffi_type] pub struct RepetitionError { /// Instruction type - pub instruction_type: InstructionType, + pub instruction: InstructionType, /// Id of the object being repeated pub id: IdBox, } diff --git a/data_model/src/lib.rs b/data_model/src/lib.rs index aecffef2df4..e271c27ed1e 100644 --- a/data_model/src/lib.rs +++ b/data_model/src/lib.rs @@ -688,7 +688,7 @@ mod model { /// [`RoleId`](`role::RoleId`) variant. RoleId(role::RoleId), /// [`Permission`](`permission::Permission`) variant. - PermissionId(permission::PermissionId), + Permission(permission::Permission), /// [`ParameterId`](`parameter::ParameterId`) variant. ParameterId(parameter::ParameterId), } @@ -974,7 +974,7 @@ impl_encode_as_id_box! { asset::AssetDefinitionId, asset::AssetId, trigger::TriggerId, - permission::PermissionId, + permission::Permission, role::RoleId, parameter::ParameterId, } diff --git a/data_model/src/permission.rs b/data_model/src/permission.rs index 253c1784d37..d714054deac 100644 --- a/data_model/src/permission.rs +++ b/data_model/src/permission.rs @@ -5,12 +5,11 @@ use alloc::{collections::BTreeSet, format, string::String, vec::Vec}; use std::collections::BTreeSet; use iroha_data_model_derive::model; -use iroha_schema::IntoSchema; +use iroha_schema::{Ident, IntoSchema}; use parity_scale_codec::{Decode, Encode}; use serde::{Deserialize, Serialize}; pub use self::model::*; -use crate::name::Name; /// Collection of [`Token`]s pub type Permissions = BTreeSet; @@ -21,35 +20,6 @@ use super::*; mod model { use super::*; - /// Identifies a [`Permission`]. - /// The executor defines available permission names. - #[derive( - Debug, - Display, - Clone, - PartialEq, - Eq, - PartialOrd, - Ord, - Hash, - Constructor, - FromStr, - Getters, - Decode, - Encode, - Deserialize, - Serialize, - IntoSchema, - )] - #[getset(get = "pub")] - #[serde(transparent)] - #[repr(transparent)] - #[ffi_type(opaque)] - pub struct PermissionId { - /// Should be unique. - pub name: Name, - } - /// Stored proof of the account having a permission for a certain action. #[derive( Debug, @@ -64,32 +34,34 @@ mod model { Serialize, IntoSchema, Display, - Getters, )] #[ffi_type] - #[display(fmt = "PERMISSION `{id}` = `{payload}`")] - #[getset(get = "pub")] + #[display(fmt = "PERMISSION `{name}` = `{payload}`")] pub struct Permission { /// Refers to a type defined in [`crate::executor::ExecutorDataModel`]. - pub id: PermissionId, + pub name: Ident, /// Payload containing actual value. /// /// It is JSON-encoded, and its structure must correspond to the structure of /// the type defined in [`crate::executor::ExecutorDataModel`]. - #[getset(skip)] pub payload: JsonString, } } impl Permission { /// Constructor - pub fn new(id: PermissionId, payload: impl Into) -> Self { + pub fn new(name: Ident, payload: impl Into) -> Self { Self { - id, + name, payload: payload.into(), } } + /// Refers to a type defined in [`crate::executor::ExecutorDataModel`]. + pub fn name(&self) -> &str { + &self.name + } + /// Getter // TODO: derive with getset once FFI impl is fixed pub fn payload(&self) -> &JsonString { @@ -99,5 +71,5 @@ impl Permission { pub mod prelude { //! The prelude re-exports most commonly used traits, structs and macros from this crate. - pub use super::{Permission, PermissionId}; + pub use super::Permission; } diff --git a/data_model/src/query/cursor.rs b/data_model/src/query/cursor.rs index 3deaba04750..9f4b9ac6aad 100644 --- a/data_model/src/query/cursor.rs +++ b/data_model/src/query/cursor.rs @@ -16,11 +16,13 @@ use parity_scale_codec::{Decode, Encode, Input}; use serde::Serialize; pub use self::model::*; -use super::QueryId; -const QUERY_ID: &str = "query_id"; +const QUERY_ID: &str = "query"; const CURSOR: &str = "cursor"; +/// Unique id of a query +pub type QueryId = String; + #[model] mod model { use super::*; @@ -31,15 +33,15 @@ mod model { pub struct ForwardCursor { /// Unique ID of query. When provided in a query the query will look up if there /// is was already a query with a matching ID and resume returning result batches - pub query_id: Option, + pub query: Option, /// Pointer to the next element in the result set pub cursor: Option, } impl ForwardCursor { /// Create a new cursor. - pub const fn new(query_id: Option, cursor: Option) -> Self { - Self { query_id, cursor } + pub const fn new(query: Option, cursor: Option) -> Self { + Self { query, cursor } } } } @@ -51,7 +53,7 @@ mod candidate { #[derive(Decode, Deserialize)] struct ForwardCursorCandidate { - query_id: Option, + query: Option, cursor: Option, } @@ -62,9 +64,9 @@ mod candidate { { let candidate = ForwardCursorCandidate::deserialize(deserializer)?; - if let Some(query_id) = candidate.query_id { + if let Some(query_id) = candidate.query { Ok(ForwardCursor { - query_id: Some(query_id), + query: Some(query_id), cursor: candidate.cursor, }) } else if candidate.cursor.is_some() { @@ -79,9 +81,9 @@ mod candidate { fn decode(input: &mut I) -> Result { let candidate = ForwardCursorCandidate::decode(input)?; - if let Some(query_id) = candidate.query_id { + if let Some(query_id) = candidate.query { Ok(ForwardCursor { - query_id: Some(query_id), + query: Some(query_id), cursor: candidate.cursor, }) } else if candidate.cursor.is_some() { @@ -95,7 +97,7 @@ mod candidate { impl From for Vec<(&'static str, QueryId)> { fn from(cursor: ForwardCursor) -> Self { - match (cursor.query_id, cursor.cursor) { + match (cursor.query, cursor.cursor) { (Some(query_id), Some(cursor)) => { vec![(QUERY_ID, query_id), (CURSOR, cursor.to_string())] } diff --git a/data_model/src/query/mod.rs b/data_model/src/query/mod.rs index 92ec08b6750..aaa23ff4155 100644 --- a/data_model/src/query/mod.rs +++ b/data_model/src/query/mod.rs @@ -44,8 +44,6 @@ pub mod pagination; pub mod predicate; pub mod sorting; -const FETCH_SIZE: &str = "fetch_size"; - /// Default value for `fetch_size` parameter in queries. pub const DEFAULT_FETCH_SIZE: NonZeroU32 = nonzero!(10_u32); @@ -74,19 +72,6 @@ pub struct FetchSize { pub fetch_size: Option, } -impl FetchSize { - /// Converts self to iterator of tuples to be used in queries. - /// - /// The length of the output iterator is not constant and has either 0 or 1 value. - pub fn into_query_parameters( - self, - ) -> impl IntoIterator + Clone { - self.fetch_size - .map(|fetch_size| (FETCH_SIZE, fetch_size)) - .into_iter() - } -} - macro_rules! queries { ($($($meta:meta)* $item:item)+) => { pub use self::model::*; @@ -106,9 +91,6 @@ macro_rules! queries { }; } -/// Unique id of a query. -pub type QueryId = String; - /// Trait for typesafe query output pub trait Query: Into + seal::Sealed { /// Output type of query @@ -137,7 +119,7 @@ mod model { use strum::EnumDiscriminants; use super::*; - use crate::{block::SignedBlock, permission::PermissionId}; + use crate::block::SignedBlock; /// Sized container for all possible Queries. #[allow(clippy::enum_variant_names)] @@ -729,25 +711,25 @@ pub mod account { /// [`FindAccountsByDomainId`] Iroha Query gets [`Domain`]s id as input and /// finds all [`Account`]s under this [`Domain`]. #[derive(Display)] - #[display(fmt = "Find accounts under `{domain_id}` domain")] + #[display(fmt = "Find accounts under `{domain}` domain")] #[repr(transparent)] // SAFETY: `FindAccountsByDomainId` has no trap representation in `EvaluatesTo` #[ffi_type(unsafe {robust})] pub struct FindAccountsByDomainId { /// `Id` of the domain under which accounts should be found. - pub domain_id: DomainId, + pub domain: DomainId, } /// [`FindAccountsWithAsset`] Iroha Query gets [`AssetDefinition`]s id as input and /// finds all [`Account`]s storing [`Asset`] with such definition. #[derive(Display)] - #[display(fmt = "Find accounts with `{asset_definition_id}` asset")] + #[display(fmt = "Find accounts with `{asset_definition}` asset")] #[repr(transparent)] // SAFETY: `FindAccountsWithAsset` has no trap representation in `EvaluatesTo` #[ffi_type(unsafe {robust})] pub struct FindAccountsWithAsset { /// `Id` of the definition of the asset which should be stored in founded accounts. - pub asset_definition_id: AssetDefinitionId, + pub asset_definition: AssetDefinitionId, } } @@ -826,50 +808,50 @@ pub mod asset { /// [`FindAssetsByAccountId`] Iroha Query gets [`AccountId`] as input and find all [`Asset`]s /// owned by the [`Account`] in Iroha Peer. #[derive(Display)] - #[display(fmt = "Find assets owned by the `{account_id}` account")] + #[display(fmt = "Find assets owned by the `{account}` account")] #[repr(transparent)] // SAFETY: `FindAssetsByAccountId` has no trap representation in `EvaluatesTo` #[ffi_type(unsafe {robust})] pub struct FindAssetsByAccountId { /// [`AccountId`] under which assets should be found. - pub account_id: AccountId, + pub account: AccountId, } /// [`FindAssetsByAssetDefinitionId`] Iroha Query gets [`AssetDefinitionId`] as input and /// finds all [`Asset`]s with this [`AssetDefinition`] in Iroha Peer. #[derive(Display)] - #[display(fmt = "Find assets with `{asset_definition_id}` asset definition")] + #[display(fmt = "Find assets with `{asset_definition}` asset definition")] #[repr(transparent)] // SAFETY: `FindAssetsByAssetDefinitionId` has no trap representation in `EvaluatesTo` #[ffi_type(unsafe {robust})] pub struct FindAssetsByAssetDefinitionId { /// [`AssetDefinitionId`] with type of [`Asset`]s should be found. - pub asset_definition_id: AssetDefinitionId, + pub asset_definition: AssetDefinitionId, } /// [`FindAssetsByDomainId`] Iroha Query gets [`Domain`]s id as input and /// finds all [`Asset`]s under this [`Domain`] in Iroha [`Peer`]. #[derive(Display)] - #[display(fmt = "Find assets under the `{domain_id}` domain")] + #[display(fmt = "Find assets under the `{domain}` domain")] #[repr(transparent)] // SAFETY: `FindAssetsByDomainId` has no trap representation in `EvaluatesTo` #[ffi_type(unsafe {robust})] pub struct FindAssetsByDomainId { /// `Id` of the domain under which assets should be found. - pub domain_id: DomainId, + pub domain: DomainId, } /// [`FindAssetsByDomainIdAndAssetDefinitionId`] Iroha Query gets [`DomainId`] and /// [`AssetDefinitionId`] as inputs and finds [`Asset`]s under the [`Domain`] /// with this [`AssetDefinition`] in Iroha [`Peer`]. #[derive(Display)] - #[display(fmt = "Find assets under the `{domain_id}` domain with `{asset_definition_id}` asset definition")] + #[display(fmt = "Find assets under the `{domain}` domain with `{asset_definition}` asset definition")] #[ffi_type] pub struct FindAssetsByDomainIdAndAssetDefinitionId { /// `Id` of the domain under which assets should be found. - pub domain_id: DomainId, + pub domain: DomainId, /// [`AssetDefinitionId`] assets of which type should be found. - pub asset_definition_id: AssetDefinitionId, + pub asset_definition: AssetDefinitionId, } /// [`FindAssetQuantityById`] Iroha Query gets [`AssetId`] as input and finds [`Asset::quantity`] @@ -1088,24 +1070,24 @@ pub mod trigger { /// Find all triggers executable on behalf of the given account. #[derive(Display)] - #[display(fmt = "Find triggers executable on behalf of the `{account_id}` account")] + #[display(fmt = "Find triggers executable on behalf of the `{account}` account")] #[repr(transparent)] // SAFETY: `FindTriggersByAuthorityId` has no trap representation in `EvaluatesTo` #[ffi_type(unsafe {robust})] pub struct FindTriggersByAuthorityId { /// [`AccountId`] specifies the authority behind the trigger execution. - pub account_id: AccountId, + pub account: AccountId, } /// Find all triggers whose authority belongs to the given domain. #[derive(Display)] - #[display(fmt = "Find triggers with authority under `{domain_id}` domain")] + #[display(fmt = "Find triggers with authority under `{domain}` domain")] #[repr(transparent)] // SAFETY: `FindTriggersByAuthorityDomainId` has no trap representation in `EvaluatesTo` #[ffi_type(unsafe {robust})] pub struct FindTriggersByAuthorityDomainId { /// [`DomainId`] specifies the domain in which to search for triggers. - pub domain_id: DomainId, + pub domain: DomainId, } } @@ -1143,13 +1125,13 @@ pub mod transaction { /// [`FindTransactionsByAccountId`] Iroha Query finds all transactions included in a blockchain /// for the account #[derive(Display)] - #[display(fmt = "Find all transactions for `{account_id}` account")] + #[display(fmt = "Find all transactions for `{account}` account")] #[repr(transparent)] // SAFETY: `FindTransactionsByAccountId` has no trap representation in `EvaluatesTo` #[ffi_type(unsafe {robust})] pub struct FindTransactionsByAccountId { /// Signer's [`AccountId`] under which transactions should be found. - pub account_id: AccountId, + pub account: AccountId, } /// [`FindTransactionByHash`] Iroha Query finds a transaction (if any) @@ -1289,6 +1271,7 @@ pub mod http { /// Signature of the client who sends this query. pub signature: QuerySignature, /// Payload + #[serde(flatten)] pub payload: ClientQueryPayload, } @@ -1555,8 +1538,8 @@ pub mod error { Trigger(TriggerId), /// Role with id `{0}` not found Role(RoleId), - /// Failed to find [`Permission`] by id. - Permission(PermissionId), + /// Failed to find [`Permission`] + Permission(Permission), /// Parameter with id `{0}` not found Parameter(ParameterId), /// Failed to find public key: `{0}` @@ -1574,6 +1557,6 @@ pub mod prelude { account::prelude::*, asset::prelude::*, block::prelude::*, domain::prelude::*, executor::prelude::*, peer::prelude::*, permission::prelude::*, predicate::PredicateTrait, role::prelude::*, transaction::prelude::*, trigger::prelude::*, FetchSize, QueryBox, - QueryId, TransactionQueryOutput, + TransactionQueryOutput, }; } diff --git a/data_model/src/query/pagination.rs b/data_model/src/query/pagination.rs index 9b5fea05866..61943e7018f 100644 --- a/data_model/src/query/pagination.rs +++ b/data_model/src/query/pagination.rs @@ -19,9 +19,6 @@ use iroha_schema::IntoSchema; use parity_scale_codec::{Decode, Encode}; use serde::{Deserialize, Serialize}; -const PAGINATION_START: &str = "start"; -const PAGINATION_LIMIT: &str = "limit"; - /// Structure for pagination requests #[derive( Debug, @@ -50,25 +47,6 @@ pub struct Pagination { pub start: Option, } -impl Pagination { - /// Converts self to iterator of tuples to be used in queries - /// - /// The length of the output iterator is not constant and it's in (0..3) - pub fn into_query_parameters( - self, - ) -> impl IntoIterator + Clone { - let result_vec = match (self.start, self.limit) { - (Some(start), Some(limit)) => { - vec![(PAGINATION_LIMIT, limit.into()), (PAGINATION_START, start)] - } - (Some(start), None) => vec![(PAGINATION_START, start)], - (None, Some(limit)) => vec![(PAGINATION_LIMIT, limit.into())], - (None, None) => Vec::new(), - }; - result_vec.into_iter() - } -} - pub mod prelude { //! Prelude: re-export most commonly used traits, structs and macros from this module. pub use super::*; diff --git a/data_model/src/query/predicate.rs b/data_model/src/query/predicate.rs index 87b4e80917e..87826313597 100644 --- a/data_model/src/query/predicate.rs +++ b/data_model/src/query/predicate.rs @@ -601,7 +601,7 @@ pub mod string { IdBox::PeerId(id) => self.applies(&id.to_string()), IdBox::TriggerId(id) => self.applies(&id.to_string()), IdBox::RoleId(id) => self.applies(&id.to_string()), - IdBox::PermissionId(id) => self.applies(&id.to_string()), + IdBox::Permission(id) => self.applies(&id.to_string()), IdBox::ParameterId(id) => self.applies(&id.to_string()), } } @@ -1162,7 +1162,7 @@ pub mod value { QueryOutputPredicate::Display(pred) => pred.applies(&input.to_string()), QueryOutputPredicate::TimeStamp(pred) => match input { QueryOutputBox::Block(block) => { - pred.applies(block.header().timestamp().as_millis()) + pred.applies(block.header().creation_time().as_millis()) } _ => false, }, diff --git a/data_model/src/query/sorting.rs b/data_model/src/query/sorting.rs index 386e82a174b..82b2aeb595b 100644 --- a/data_model/src/query/sorting.rs +++ b/data_model/src/query/sorting.rs @@ -16,8 +16,6 @@ use serde::{Deserialize, Serialize}; pub use self::model::*; use crate::{name::Name, prelude::*}; -const SORT_BY_KEY: &str = "sort_by_metadata_key"; - #[model] mod model { use super::*; @@ -41,17 +39,6 @@ impl Sorting { } } -impl Sorting { - /// Converts self to iterator of tuples to be used in queries - /// - /// The length of the output iterator is not constant and has either 0 or 1 value - pub fn into_query_parameters(self) -> impl IntoIterator + Clone { - self.sort_by_metadata_key - .map(|key| (SORT_BY_KEY, key)) - .into_iter() - } -} - pub mod prelude { //! Prelude: re-export most commonly used traits, structs and macros from this module. pub use super::*; diff --git a/docs/source/references/schema.json b/docs/source/references/schema.json index e633ae613e1..9b2f50d816b 100644 --- a/docs/source/references/schema.json +++ b/docs/source/references/schema.json @@ -157,7 +157,7 @@ }, { "name": "permission", - "type": "PermissionId" + "type": "Permission" } ] }, @@ -266,8 +266,8 @@ "type": "AssetDefinitionId" }, { - "name": "value_type", - "type": "AssetValueType" + "name": "type_", + "type": "AssetType" }, { "name": "mintable", @@ -512,30 +512,30 @@ } ] }, - "AssetValue": { + "AssetType": { "Enum": [ { "tag": "Numeric", "discriminant": 0, - "type": "Numeric" + "type": "NumericSpec" }, { "tag": "Store", - "discriminant": 1, - "type": "Metadata" + "discriminant": 1 } ] }, - "AssetValueType": { + "AssetValue": { "Enum": [ { "tag": "Numeric", "discriminant": 0, - "type": "NumericSpec" + "type": "Numeric" }, { "tag": "Store", - "discriminant": 1 + "discriminant": 1, + "type": "Metadata" } ] }, @@ -615,7 +615,7 @@ "type": "HashOf>" }, { - "name": "timestamp_ms", + "name": "creation_time_ms", "type": "u64" }, { @@ -1205,7 +1205,7 @@ "Struct": [ { "name": "permissions", - "type": "SortedVec" + "type": "SortedVec" }, { "name": "custom_instruction", @@ -1292,7 +1292,7 @@ "FindAccountsByDomainId": { "Struct": [ { - "name": "domain_id", + "name": "domain", "type": "DomainId" } ] @@ -1300,7 +1300,7 @@ "FindAccountsWithAsset": { "Struct": [ { - "name": "asset_definition_id", + "name": "asset_definition", "type": "AssetDefinitionId" } ] @@ -1368,7 +1368,7 @@ "FindAssetsByAccountId": { "Struct": [ { - "name": "account_id", + "name": "account", "type": "AccountId" } ] @@ -1376,7 +1376,7 @@ "FindAssetsByAssetDefinitionId": { "Struct": [ { - "name": "asset_definition_id", + "name": "asset_definition", "type": "AssetDefinitionId" } ] @@ -1384,7 +1384,7 @@ "FindAssetsByDomainId": { "Struct": [ { - "name": "domain_id", + "name": "domain", "type": "DomainId" } ] @@ -1392,11 +1392,11 @@ "FindAssetsByDomainIdAndAssetDefinitionId": { "Struct": [ { - "name": "domain_id", + "name": "domain", "type": "DomainId" }, { - "name": "asset_definition_id", + "name": "asset_definition", "type": "AssetDefinitionId" } ] @@ -1492,7 +1492,7 @@ { "tag": "Permission", "discriminant": 10, - "type": "PermissionId" + "type": "Permission" }, { "tag": "Parameter", @@ -1550,7 +1550,7 @@ "FindTransactionsByAccountId": { "Struct": [ { - "name": "account_id", + "name": "account", "type": "AccountId" } ] @@ -1578,7 +1578,7 @@ "FindTriggersByAuthorityDomainId": { "Struct": [ { - "name": "domain_id", + "name": "domain", "type": "DomainId" } ] @@ -1586,7 +1586,7 @@ "FindTriggersByAuthorityId": { "Struct": [ { - "name": "account_id", + "name": "account", "type": "AccountId" } ] @@ -1594,7 +1594,7 @@ "ForwardCursor": { "Struct": [ { - "name": "query_id", + "name": "query", "type": "Option" }, { @@ -1724,9 +1724,9 @@ "type": "RoleId" }, { - "tag": "PermissionId", + "tag": "Permission", "discriminant": 7, - "type": "PermissionId" + "type": "Permission" }, { "tag": "ParameterId", @@ -2372,15 +2372,15 @@ } ] }, - "Mismatch": { + "Mismatch": { "Struct": [ { "name": "expected", - "type": "AssetValueType" + "type": "AssetType" }, { "name": "actual", - "type": "AssetValueType" + "type": "AssetType" } ] }, @@ -2404,8 +2404,8 @@ "type": "AssetDefinitionId" }, { - "name": "value_type", - "type": "AssetValueType" + "name": "type_", + "type": "AssetType" }, { "name": "mintable", @@ -2668,8 +2668,8 @@ "Permission": { "Struct": [ { - "name": "id", - "type": "PermissionId" + "name": "name", + "type": "Name" }, { "name": "payload", @@ -2677,14 +2677,6 @@ } ] }, - "PermissionId": { - "Struct": [ - { - "name": "name", - "type": "Name" - } - ] - }, "PipelineEventBox": { "Enum": [ { @@ -3263,7 +3255,7 @@ "RepetitionError": { "Struct": [ { - "name": "instruction_type", + "name": "instruction", "type": "InstructionType" }, { @@ -3414,7 +3406,7 @@ }, { "name": "permission", - "type": "PermissionId" + "type": "Permission" } ] }, @@ -3745,12 +3737,12 @@ "value": "MetadataValueBox" } }, + "SortedVec": { + "Vec": "Name" + }, "SortedVec": { "Vec": "Permission" }, - "SortedVec": { - "Vec": "PermissionId" - }, "Sorting": { "Struct": [ { @@ -4224,19 +4216,14 @@ "TypeError": { "Enum": [ { - "tag": "AssetValueType", + "tag": "AssetType", "discriminant": 0, - "type": "Mismatch" + "type": "Mismatch" }, { - "tag": "NumericAssetValueTypeExpected", + "tag": "NumericAssetTypeExpected", "discriminant": 1, - "type": "AssetValueType" - }, - { - "tag": "StoreAssetValueTypeExpected", - "discriminant": 2, - "type": "AssetValueType" + "type": "AssetType" } ] }, diff --git a/genesis/src/lib.rs b/genesis/src/lib.rs index 095b5a50793..144310384c6 100644 --- a/genesis/src/lib.rs +++ b/genesis/src/lib.rs @@ -261,9 +261,9 @@ impl GenesisDomainBuilder { } /// Add [`AssetDefinition`] to current domain. - pub fn asset(mut self, asset_name: Name, asset_value_type: AssetValueType) -> Self { + pub fn asset(mut self, asset_name: Name, asset_type: AssetType) -> Self { let asset_definition_id = AssetDefinitionId::new(self.domain_id.clone(), asset_name); - let asset_definition = AssetDefinition::new(asset_definition_id, asset_value_type); + let asset_definition = AssetDefinition::new(asset_definition_id, asset_type); self.instructions .push(Register::asset_definition(asset_definition).into()); self @@ -319,7 +319,7 @@ mod tests { .account(public_key["mad_hatter"].clone()) .asset( "hats".parse().unwrap(), - AssetValueType::Numeric(NumericSpec::default()), + AssetType::Numeric(NumericSpec::default()), ) .finish_domain(); diff --git a/schema/gen/src/lib.rs b/schema/gen/src/lib.rs index 312c3f23ce7..981d07badc8 100644 --- a/schema/gen/src/lib.rs +++ b/schema/gen/src/lib.rs @@ -86,15 +86,15 @@ types!( AssetId, AssetTransferBox, AssetValue, - AssetValueType, + AssetType, AtIndex, BTreeMap, BTreeMap, BTreeMap, BTreeMap, BTreeMap, + BTreeSet, BTreeSet, - BTreeSet, BatchedResponse, BatchedResponseV1, BlockEvent, @@ -228,7 +228,7 @@ types!( MintBox, MintabilityError, Mintable, - Mismatch, + Mismatch, Name, NewAccount, NewAssetDefinition, @@ -273,7 +273,6 @@ types!( PeerEventFilter, PeerEventSet, PeerId, - PermissionId, RolePermissionChanged, Permission, PipelineEventBox, diff --git a/schema/src/lib.rs b/schema/src/lib.rs index 5e880108542..8d1736d04d2 100644 --- a/schema/src/lib.rs +++ b/schema/src/lib.rs @@ -73,6 +73,7 @@ impl IntoIterator for MetaMap { } } +// TODO: Should be &str or ConstString. /// Identifier of the type pub type Ident = String; @@ -82,14 +83,12 @@ pub type Ident = String; /// is devised that can prove that all impls are unique pub trait TypeId: 'static { /// Return unique type id - // TODO: Should return &str or ConstString. fn id() -> Ident; } /// `IntoSchema` trait pub trait IntoSchema: TypeId { /// Name under which a type is represented in the schema - // TODO: Should return &str or ConstString. fn type_name() -> Ident; /// Insert descriptions of types referenced by [`Self`] diff --git a/smart_contract/executor/derive/src/permission.rs b/smart_contract/executor/derive/src/permission.rs index 0cb6f5c3a39..867ec0813ef 100644 --- a/smart_contract/executor/derive/src/permission.rs +++ b/smart_contract/executor/derive/src/permission.rs @@ -18,7 +18,7 @@ pub fn impl_derive_permission(input: &syn::DeriveInput) -> TokenStream { account_id.clone(), ) ) - .expect("`FindPermissionsByAccountId` query should never fail, it's a bug"); + .expect("INTERNAL BUG: `FindPermissionsByAccountId` should never fail"); account_tokens_cursor .into_iter() @@ -34,11 +34,11 @@ pub fn impl_derive_permission(input: &syn::DeriveInput) -> TokenStream { impl #impl_generics TryFrom<&::iroha_executor::data_model::permission::Permission> for #ident #ty_generics #where_clause { type Error = ::iroha_executor::TryFromDataModelObjectError; - fn try_from( - value: &::iroha_executor::data_model::permission::Permission, - ) -> core::result::Result { - if *value.id() != ::id() { - return Err(Self::Error::Id(value.id().name().clone())); + fn try_from(value: &::iroha_executor::data_model::permission::Permission) -> core::result::Result { + use alloc::borrow::ToOwned as _; + + if *value.name() != ::name() { + return Err(Self::Error::UnknownIdent(value.name().to_owned())); } serde_json::from_str::(value.payload().as_ref()).map_err(Self::Error::Deserialize) @@ -48,7 +48,7 @@ pub fn impl_derive_permission(input: &syn::DeriveInput) -> TokenStream { impl #impl_generics From<#ident #ty_generics> for ::iroha_executor::data_model::permission::Permission #where_clause { fn from(value: #ident #ty_generics) -> Self { ::iroha_executor::data_model::permission::Permission::new( - <#ident as ::iroha_executor::permission::Permission>::id(), + <#ident as ::iroha_executor::permission::Permission>::name(), ::serde_json::to_value::<#ident #ty_generics>(value) .expect("INTERNAL BUG: Failed to serialize Executor data model entity"), ) diff --git a/smart_contract/executor/src/default/permissions.rs b/smart_contract/executor/src/default/permissions.rs index 735ef253942..0d9f74ceacd 100644 --- a/smart_contract/executor/src/default/permissions.rs +++ b/smart_contract/executor/src/default/permissions.rs @@ -46,12 +46,12 @@ macro_rules! declare_permissions { type Error = $crate::TryFromDataModelObjectError; fn try_from(token: &$crate::data_model::permission::Permission) -> Result { - match token.id().name().as_ref() { $( + match token.name().as_ref() { $( stringify!($token_ty) => { let token = <$($token_path::)+$token_ty>::try_from(token)?; Ok(Self::$token_ty(token)) } )+ - _ => Err(Self::Error::Id(token.id().name().clone())) + _ => Err(Self::Error::UnknownIdent(token.name().to_owned())) } } } diff --git a/smart_contract/executor/src/lib.rs b/smart_contract/executor/src/lib.rs index f2a430d5dc5..bd01de26da0 100644 --- a/smart_contract/executor/src/lib.rs +++ b/smart_contract/executor/src/lib.rs @@ -179,8 +179,8 @@ macro_rules! deny { /// Such objects are [`data_model::prelude::Permission`] and [`data_model::prelude::Parameter`]. #[derive(Debug)] pub enum TryFromDataModelObjectError { - /// Unexpected object id - Id(data_model::prelude::Name), + /// Unexpected object name + UnknownIdent(iroha_schema::Ident), /// Failed to deserialize object payload Deserialize(serde_json::Error), } @@ -188,7 +188,7 @@ pub enum TryFromDataModelObjectError { /// A convenience to build [`ExecutorDataModel`] from within the executor #[derive(Debug, Clone)] pub struct DataModelBuilder { - permissions: BTreeSet, + permissions: BTreeSet, custom_instruction: Option, schema: MetaMap, } @@ -225,7 +225,8 @@ impl DataModelBuilder { #[must_use] pub fn add_permission(mut self) -> Self { ::update_schema_map(&mut self.schema); - self.permissions.insert(::id()); + self.permissions + .insert(::name()); self } @@ -243,7 +244,7 @@ impl DataModelBuilder { pub fn remove_permission(mut self) -> Self { ::remove_from_schema(&mut self.schema); self.permissions - .remove(&::id()); + .remove(&::name()); self } @@ -257,7 +258,7 @@ impl DataModelBuilder { for role in all_roles.into_iter().map(|role| role.unwrap()) { for permission in role.permissions() { - if !self.permissions.contains(permission.id()) { + if !self.permissions.contains(permission.name()) { Revoke::role_permission(permission.clone(), role.id().clone()) .execute() .unwrap(); @@ -272,7 +273,7 @@ impl DataModelBuilder { .into_iter(); for permission in account_permissions.map(|permission| permission.unwrap()) { - if !self.permissions.contains(permission.id()) { + if !self.permissions.contains(permission.name()) { Revoke::permission(permission, account.id().clone()) .execute() .unwrap(); diff --git a/smart_contract/executor/src/permission.rs b/smart_contract/executor/src/permission.rs index a6ead932324..b10c18c5f05 100644 --- a/smart_contract/executor/src/permission.rs +++ b/smart_contract/executor/src/permission.rs @@ -2,7 +2,7 @@ use alloc::borrow::ToOwned as _; -use iroha_schema::IntoSchema; +use iroha_schema::{Ident, IntoSchema}; use iroha_smart_contract::QueryOutputCursor; use iroha_smart_contract_utils::debug::DebugExpectExt as _; use serde::{de::DeserializeOwned, Serialize}; @@ -17,12 +17,8 @@ pub trait Permission: fn is_owned_by(&self, account_id: &AccountId) -> bool; /// Permission id, according to [`IntoSchema`]. - fn id() -> PermissionId { - PermissionId::new( - ::type_name() - .parse() - .dbg_expect("Failed to parse permission id as `Name`"), - ) + fn name() -> Ident { + ::type_name() } } diff --git a/tools/kagami/src/genesis/generate.rs b/tools/kagami/src/genesis/generate.rs index fc4453daa17..97b841cc553 100644 --- a/tools/kagami/src/genesis/generate.rs +++ b/tools/kagami/src/genesis/generate.rs @@ -99,16 +99,13 @@ pub fn generate_default( .domain_with_metadata("wonderland".parse()?, meta.clone()) .account_with_metadata(ALICE_ID.signatory().clone(), meta.clone()) .account_with_metadata(BOB_ID.signatory().clone(), meta) - .asset( - "rose".parse()?, - AssetValueType::Numeric(NumericSpec::default()), - ) + .asset("rose".parse()?, AssetType::Numeric(NumericSpec::default())) .finish_domain() .domain("garden_of_live_flowers".parse()?) .account(CARPENTER_ID.signatory().clone()) .asset( "cabbage".parse()?, - AssetValueType::Numeric(NumericSpec::default()), + AssetType::Numeric(NumericSpec::default()), ) .finish_domain(); @@ -250,7 +247,7 @@ fn generate_synthetic( genesis.append_instruction( Register::asset_definition(AssetDefinition::new( asset_definition_id, - AssetValueType::Numeric(NumericSpec::default()), + AssetType::Numeric(NumericSpec::default()), )) .into(), ); diff --git a/tools/swarm/src/lib.rs b/tools/swarm/src/lib.rs index 73f4a885967..9194b66506d 100644 --- a/tools/swarm/src/lib.rs +++ b/tools/swarm/src/lib.rs @@ -196,7 +196,7 @@ mod tests { API_ADDRESS: 0.0.0.0:8080 GENESIS_PUBLIC_KEY: ed0120F9F92758E815121F637C9704DFDA54842BA937AA721C0603018E208D6E25787E GENESIS_PRIVATE_KEY: 802640FB8B867188E4952F1E83534B9B2E0A12D5122BD6F417CBC79D50D8A8C9C917B0F9F92758E815121F637C9704DFDA54842BA937AA721C0603018E208D6E25787E - GENESIS_SIGNED_FILE: /tmp/genesis.signed.scale + GENESIS: /tmp/genesis.signed.scale TOPOLOGY: '[{"address":"irohad0:1337","public_key":"ed012087FDCACF58B891947600B0C37795CADB5A2AE6DE612338FDA9489AB21CE427BA"}]' ports: - 1337:1337 @@ -216,7 +216,7 @@ mod tests { kagami genesis sign /tmp/genesis.json \\ --public-key $$GENESIS_PUBLIC_KEY \\ --private-key $$GENESIS_PRIVATE_KEY \\ - --out-file $$GENESIS_SIGNED_FILE \\ + --out-file $$GENESIS \\ && \\ irohad --submit-genesis " @@ -254,7 +254,7 @@ mod tests { API_ADDRESS: 0.0.0.0:8080 GENESIS_PUBLIC_KEY: ed0120F9F92758E815121F637C9704DFDA54842BA937AA721C0603018E208D6E25787E GENESIS_PRIVATE_KEY: 802640FB8B867188E4952F1E83534B9B2E0A12D5122BD6F417CBC79D50D8A8C9C917B0F9F92758E815121F637C9704DFDA54842BA937AA721C0603018E208D6E25787E - GENESIS_SIGNED_FILE: /tmp/genesis.signed.scale + GENESIS: /tmp/genesis.signed.scale TOPOLOGY: '[{"address":"irohad0:1337","public_key":"ed012087FDCACF58B891947600B0C37795CADB5A2AE6DE612338FDA9489AB21CE427BA"}]' ports: - 1337:1337 @@ -274,7 +274,7 @@ mod tests { kagami genesis sign /tmp/genesis.json \\ --public-key $$GENESIS_PUBLIC_KEY \\ --private-key $$GENESIS_PRIVATE_KEY \\ - --out-file $$GENESIS_SIGNED_FILE \\ + --out-file $$GENESIS \\ && \\ irohad --submit-genesis " @@ -301,7 +301,7 @@ mod tests { API_ADDRESS: 0.0.0.0:8080 GENESIS_PUBLIC_KEY: ed0120F9F92758E815121F637C9704DFDA54842BA937AA721C0603018E208D6E25787E GENESIS_PRIVATE_KEY: 802640FB8B867188E4952F1E83534B9B2E0A12D5122BD6F417CBC79D50D8A8C9C917B0F9F92758E815121F637C9704DFDA54842BA937AA721C0603018E208D6E25787E - GENESIS_SIGNED_FILE: /tmp/genesis.signed.scale + GENESIS: /tmp/genesis.signed.scale TOPOLOGY: '[{"address":"irohad0:1337","public_key":"ed012087FDCACF58B891947600B0C37795CADB5A2AE6DE612338FDA9489AB21CE427BA"}]' ports: - 1337:1337 @@ -327,7 +327,7 @@ mod tests { kagami genesis sign /tmp/genesis.json \\ --public-key $$GENESIS_PUBLIC_KEY \\ --private-key $$GENESIS_PRIVATE_KEY \\ - --out-file $$GENESIS_SIGNED_FILE \\ + --out-file $$GENESIS \\ && \\ irohad --submit-genesis " @@ -354,9 +354,9 @@ mod tests { P2P_ADDRESS: 0.0.0.0:1337 API_ADDRESS: 0.0.0.0:8080 GENESIS_PUBLIC_KEY: ed0120F9F92758E815121F637C9704DFDA54842BA937AA721C0603018E208D6E25787E - SUMERAGI_TRUSTED_PEERS: '[{"address":"irohad3:1340","public_key":"ed012063ED3DFEDEBD8A86B4941CC4379D2EF0B74BDFE61F033FC0C89867D57C882A26"},{"address":"irohad1:1338","public_key":"ed012064BD9B25BF8477144D03B26FC8CF5D8A354B2F780DA310EE69933DC1E86FBCE2"},{"address":"irohad2:1339","public_key":"ed01208EA177921AF051CD12FC07E3416419320908883A1104B31401B650EEB820A300"}]' + TRUSTED_PEERS: '[{"address":"irohad3:1340","public_key":"ed012063ED3DFEDEBD8A86B4941CC4379D2EF0B74BDFE61F033FC0C89867D57C882A26"},{"address":"irohad1:1338","public_key":"ed012064BD9B25BF8477144D03B26FC8CF5D8A354B2F780DA310EE69933DC1E86FBCE2"},{"address":"irohad2:1339","public_key":"ed01208EA177921AF051CD12FC07E3416419320908883A1104B31401B650EEB820A300"}]' GENESIS_PRIVATE_KEY: 802640FB8B867188E4952F1E83534B9B2E0A12D5122BD6F417CBC79D50D8A8C9C917B0F9F92758E815121F637C9704DFDA54842BA937AA721C0603018E208D6E25787E - GENESIS_SIGNED_FILE: /tmp/genesis.signed.scale + GENESIS: /tmp/genesis.signed.scale TOPOLOGY: '[{"address":"irohad3:1340","public_key":"ed012063ED3DFEDEBD8A86B4941CC4379D2EF0B74BDFE61F033FC0C89867D57C882A26"},{"address":"irohad1:1338","public_key":"ed012064BD9B25BF8477144D03B26FC8CF5D8A354B2F780DA310EE69933DC1E86FBCE2"},{"address":"irohad0:1337","public_key":"ed012087FDCACF58B891947600B0C37795CADB5A2AE6DE612338FDA9489AB21CE427BA"},{"address":"irohad2:1339","public_key":"ed01208EA177921AF051CD12FC07E3416419320908883A1104B31401B650EEB820A300"}]' ports: - 1337:1337 @@ -382,7 +382,7 @@ mod tests { kagami genesis sign /tmp/genesis.json \\ --public-key $$GENESIS_PUBLIC_KEY \\ --private-key $$GENESIS_PRIVATE_KEY \\ - --out-file $$GENESIS_SIGNED_FILE \\ + --out-file $$GENESIS \\ && \\ irohad --submit-genesis " @@ -396,7 +396,7 @@ mod tests { P2P_ADDRESS: 0.0.0.0:1338 API_ADDRESS: 0.0.0.0:8081 GENESIS_PUBLIC_KEY: ed0120F9F92758E815121F637C9704DFDA54842BA937AA721C0603018E208D6E25787E - SUMERAGI_TRUSTED_PEERS: '[{"address":"irohad3:1340","public_key":"ed012063ED3DFEDEBD8A86B4941CC4379D2EF0B74BDFE61F033FC0C89867D57C882A26"},{"address":"irohad0:1337","public_key":"ed012087FDCACF58B891947600B0C37795CADB5A2AE6DE612338FDA9489AB21CE427BA"},{"address":"irohad2:1339","public_key":"ed01208EA177921AF051CD12FC07E3416419320908883A1104B31401B650EEB820A300"}]' + TRUSTED_PEERS: '[{"address":"irohad3:1340","public_key":"ed012063ED3DFEDEBD8A86B4941CC4379D2EF0B74BDFE61F033FC0C89867D57C882A26"},{"address":"irohad0:1337","public_key":"ed012087FDCACF58B891947600B0C37795CADB5A2AE6DE612338FDA9489AB21CE427BA"},{"address":"irohad2:1339","public_key":"ed01208EA177921AF051CD12FC07E3416419320908883A1104B31401B650EEB820A300"}]' ports: - 1338:1338 - 8081:8081 @@ -419,7 +419,7 @@ mod tests { P2P_ADDRESS: 0.0.0.0:1339 API_ADDRESS: 0.0.0.0:8082 GENESIS_PUBLIC_KEY: ed0120F9F92758E815121F637C9704DFDA54842BA937AA721C0603018E208D6E25787E - SUMERAGI_TRUSTED_PEERS: '[{"address":"irohad3:1340","public_key":"ed012063ED3DFEDEBD8A86B4941CC4379D2EF0B74BDFE61F033FC0C89867D57C882A26"},{"address":"irohad1:1338","public_key":"ed012064BD9B25BF8477144D03B26FC8CF5D8A354B2F780DA310EE69933DC1E86FBCE2"},{"address":"irohad0:1337","public_key":"ed012087FDCACF58B891947600B0C37795CADB5A2AE6DE612338FDA9489AB21CE427BA"}]' + TRUSTED_PEERS: '[{"address":"irohad3:1340","public_key":"ed012063ED3DFEDEBD8A86B4941CC4379D2EF0B74BDFE61F033FC0C89867D57C882A26"},{"address":"irohad1:1338","public_key":"ed012064BD9B25BF8477144D03B26FC8CF5D8A354B2F780DA310EE69933DC1E86FBCE2"},{"address":"irohad0:1337","public_key":"ed012087FDCACF58B891947600B0C37795CADB5A2AE6DE612338FDA9489AB21CE427BA"}]' ports: - 1339:1339 - 8082:8082 @@ -442,7 +442,7 @@ mod tests { P2P_ADDRESS: 0.0.0.0:1340 API_ADDRESS: 0.0.0.0:8083 GENESIS_PUBLIC_KEY: ed0120F9F92758E815121F637C9704DFDA54842BA937AA721C0603018E208D6E25787E - SUMERAGI_TRUSTED_PEERS: '[{"address":"irohad1:1338","public_key":"ed012064BD9B25BF8477144D03B26FC8CF5D8A354B2F780DA310EE69933DC1E86FBCE2"},{"address":"irohad0:1337","public_key":"ed012087FDCACF58B891947600B0C37795CADB5A2AE6DE612338FDA9489AB21CE427BA"},{"address":"irohad2:1339","public_key":"ed01208EA177921AF051CD12FC07E3416419320908883A1104B31401B650EEB820A300"}]' + TRUSTED_PEERS: '[{"address":"irohad1:1338","public_key":"ed012064BD9B25BF8477144D03B26FC8CF5D8A354B2F780DA310EE69933DC1E86FBCE2"},{"address":"irohad0:1337","public_key":"ed012087FDCACF58B891947600B0C37795CADB5A2AE6DE612338FDA9489AB21CE427BA"},{"address":"irohad2:1339","public_key":"ed01208EA177921AF051CD12FC07E3416419320908883A1104B31401B650EEB820A300"}]' ports: - 1340:1340 - 8083:8083 diff --git a/tools/swarm/src/schema.rs b/tools/swarm/src/schema.rs index b6304648c67..e0005f45f6b 100644 --- a/tools/swarm/src/schema.rs +++ b/tools/swarm/src/schema.rs @@ -153,7 +153,7 @@ struct PeerEnv<'a> { genesis_public_key: &'a iroha_crypto::PublicKey, #[serde(skip_serializing_if = "std::collections::BTreeSet::is_empty")] #[serde_as(as = "serde_with::json::JsonString")] - sumeragi_trusted_peers: std::collections::BTreeSet<&'a iroha_data_model::peer::PeerId>, + trusted_peers: std::collections::BTreeSet<&'a iroha_data_model::peer::PeerId>, } impl<'a> PeerEnv<'a> { @@ -171,7 +171,7 @@ impl<'a> PeerEnv<'a> { p2p_address: iroha_primitives::addr::socket_addr!(0.0.0.0:port_p2p), api_address: iroha_primitives::addr::socket_addr!(0.0.0.0:port_api), genesis_public_key, - sumeragi_trusted_peers: topology + trusted_peers: topology .iter() .filter(|&peer| peer.public_key() != public_key) .collect(), @@ -186,7 +186,7 @@ struct GenesisEnv<'a> { #[serde(flatten)] base: PeerEnv<'a>, genesis_private_key: &'a iroha_crypto::ExposedPrivateKey, - genesis_signed_file: ContainerPath<'a>, + genesis: ContainerPath<'a>, #[serde_as(as = "serde_with::json::JsonString")] topology: std::collections::BTreeSet<&'a iroha_data_model::peer::PeerId>, } @@ -202,7 +202,7 @@ impl<'a> GenesisEnv<'a> { Self { base: PeerEnv::new(key_pair, ports, chain, genesis_public_key, topology), genesis_private_key, - genesis_signed_file: ContainerPath(GENESIS_SIGNED_FILE), + genesis: ContainerPath(GENESIS), topology: topology.iter().collect(), } } @@ -218,7 +218,7 @@ struct PortMapping(u16, u16); struct ContainerPath<'a>(&'a str); const CONTAINER_CONFIG_DIR: &str = "/config"; -const GENESIS_SIGNED_FILE: &str = "/tmp/genesis.signed.scale"; +const GENESIS: &str = "/tmp/genesis.signed.scale"; /// Mapping between `host:container` paths. #[derive(Copy, Clone, Debug)] @@ -297,7 +297,7 @@ const SIGN_AND_SUBMIT_GENESIS: &str = r#"/bin/sh -c " kagami genesis sign /tmp/genesis.json \\ --public-key $$GENESIS_PUBLIC_KEY \\ --private-key $$GENESIS_PRIVATE_KEY \\ - --out-file $$GENESIS_SIGNED_FILE \\ + --out-file $$GENESIS \\ && \\ irohad --submit-genesis ""#;