From ad6517f1bdfc5af8035d35b38318dfe6b00bd8a4 Mon Sep 17 00:00:00 2001 From: Zhivko Kelchev Date: Tue, 21 Jan 2025 13:09:37 +0200 Subject: [PATCH 01/11] set test clients and embedded node to use non-zero shard/realm Signed-off-by: Zhivko Kelchev --- .../junit/hedera/embedded/EmbeddedNode.java | 6 +++ .../junit/hedera/utils/AddressBookUtils.java | 6 ++- .../services/bdd/spec/HapiPropertySource.java | 52 ++++++++++++++++++- .../main/resources/spec-default.properties | 50 +++++++++--------- 4 files changed, 86 insertions(+), 28 deletions(-) diff --git a/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/junit/hedera/embedded/EmbeddedNode.java b/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/junit/hedera/embedded/EmbeddedNode.java index a272d87b6a39..5259a6631be3 100644 --- a/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/junit/hedera/embedded/EmbeddedNode.java +++ b/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/junit/hedera/embedded/EmbeddedNode.java @@ -79,6 +79,12 @@ public HederaNode start() { "bootstrap.nodeAdminKeys.path", getExternalPath(NODE_ADMIN_KEYS_JSON).toAbsolutePath().toString()); System.setProperty("hedera.profiles.active", "DEV"); + + // TODO Check how to set this config into SubProcessNode + // update node realm and shard + System.setProperty("hedera.realm", "2"); + System.setProperty("hedera.shard", "1"); + final var log4j2ConfigLoc = getExternalPath(LOG4J2_XML).toString(); if (isForShared(log4j2ConfigLoc)) { System.setProperty("log4j.configurationFile", log4j2ConfigLoc); diff --git a/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/junit/hedera/utils/AddressBookUtils.java b/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/junit/hedera/utils/AddressBookUtils.java index 36e1c1eebfa7..c8fd831b5056 100644 --- a/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/junit/hedera/utils/AddressBookUtils.java +++ b/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/junit/hedera/utils/AddressBookUtils.java @@ -140,7 +140,8 @@ public static String configTxtForLocal( .append(", 127.0.0.1, ") .append(nextExternalGossipPort + (node.getNodeId() * 2)) .append(", ") - .append("0.0.") + // todo made this configurable + .append("1.2.") .append(node.getAccountId().accountNumOrThrow()) .append('\n'); maxNodeId = Math.max(node.getNodeId(), maxNodeId); @@ -224,7 +225,10 @@ public static NodeMetadata classicMetadataFor( return new NodeMetadata( nodeId, CLASSIC_NODE_NAMES[nodeId], + // todo made this configurable AccountID.newBuilder() + .realmNum(2) + .shardNum(1) .accountNum(CLASSIC_FIRST_NODE_ACCOUNT_NUM + nodeId) .build(), host, diff --git a/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/spec/HapiPropertySource.java b/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/spec/HapiPropertySource.java index bcedc0d305ac..3d81cf4b999c 100644 --- a/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/spec/HapiPropertySource.java +++ b/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/spec/HapiPropertySource.java @@ -84,7 +84,7 @@ default HapiSpec.UTF8Mode getUTF8Mode(String property) { default FileID getFile(String property) { try { - return asFile(get(property)); + return asFile(get("default.shard"), get("default.realm"), get(property)); } catch (Exception ignore) { } return FileID.getDefaultInstance(); @@ -92,7 +92,7 @@ default FileID getFile(String property) { default AccountID getAccount(String property) { try { - return asAccount(get(property)); + return asAccount(get("default.shard"), get("default.realm"), get(property)); } catch (Exception ignore) { } return AccountID.getDefaultInstance(); @@ -229,6 +229,54 @@ static AccountID asAccount(String v) { .build(); } + static AccountID asAccount(String shard, String realm, String num) { + return AccountID.newBuilder() + .setShardNum(Long.parseLong(shard)) + .setRealmNum(Long.parseLong(realm)) + .setAccountNum(Long.parseLong(num)) + .build(); + } + + static ContractID asContract(String shard, String realm, String num) { + return ContractID.newBuilder() + .setShardNum(Long.parseLong(shard)) + .setRealmNum(Long.parseLong(realm)) + .setContractNum(Long.parseLong(num)) + .build(); + } + + static FileID asFile(String shard, String realm, String num) { + return FileID.newBuilder() + .setShardNum(Long.parseLong(shard)) + .setRealmNum(Long.parseLong(realm)) + .setFileNum(Long.parseLong(num)) + .build(); + } + + static ScheduleID asSchedule(String shard, String realm, String num) { + return ScheduleID.newBuilder() + .setShardNum(Long.parseLong(shard)) + .setRealmNum(Long.parseLong(realm)) + .setScheduleNum(Long.parseLong(num)) + .build(); + } + + static TokenID asToken(String shard, String realm, String num) { + return TokenID.newBuilder() + .setShardNum(Long.parseLong(shard)) + .setRealmNum(Long.parseLong(realm)) + .setTokenNum(Long.parseLong(num)) + .build(); + } + + static TopicID asTopic(String shard, String realm, String num) { + return TopicID.newBuilder() + .setShardNum(Long.parseLong(shard)) + .setRealmNum(Long.parseLong(realm)) + .setTopicNum(Long.parseLong(num)) + .build(); + } + static AccountID asAccount(ByteString v) { return AccountID.newBuilder().setAlias(v).build(); } diff --git a/hedera-node/test-clients/src/main/resources/spec-default.properties b/hedera-node/test-clients/src/main/resources/spec-default.properties index ac0fbb55142e..84469e6320f1 100644 --- a/hedera-node/test-clients/src/main/resources/spec-default.properties +++ b/hedera-node/test-clients/src/main/resources/spec-default.properties @@ -1,10 +1,10 @@ -address.book.id=0.0.101 +address.book.id=101 address.book.name=ADDRESS_BOOK -address.book.controlAccount.id=0.0.55 +address.book.controlAccount.id=55 address.book.controlAccount.name=ADDRESS_BOOK_CONTROL -api.permissions.id=0.0.122 +api.permissions.id=122 api.permissions.name=API_PERMISSIONS -app.properties.id=0.0.121 +app.properties.id=121 app.properties.name=APP_PROPERTIES ### JrsRestartTestTemplate ### ci.properties.map=restartTest=true,postRestart=false @@ -26,14 +26,14 @@ default.max.localCall.retBytes=1024 default.memo=cellar door default.useMemoUTF8=TRUE default.memoUtf8Charset=î·ùtF8®JËÐÎ -default.node=0.0.3 +default.node=3 default.node.name=DEFAULT_NODE default.nodePayment.tinyBars=5000 -default.payer=0.0.2 +default.payer=2 recordStream.autoSnapshotManagement=false recordStream.overrideExistingSnapshot=false -#default.payer=0.0.50 -#default.payer=0.0.950 +#default.payer=50 +#default.payer=950 default.payer.key= default.payer.mnemonic= default.payer.mnemonicFile= @@ -43,46 +43,46 @@ default.payer.pemKeyLoc=src/main/resources/genesis.pem #default.payer.pemKeyLoc=stabletestnet-account50.pem #default.payer.pemKeyLoc=mainnet-account950.pem default.payer.pemKeyPassphrase=swirlds -default.realm=0 +default.realm=2 default.receiverSigRequired=false -default.shard=0 +default.shard=1 default.thresholdKey.M=2 default.thresholdKey.N=3 default.token.initialSupply=10000 default.token.decimals=0 default.topic.runningHash.version=3 -default.transfer=0.0.2 +default.transfer=2 default.transfer.name=GENESIS default.validDuration.secs=120 default.gossipEndpoint.internal=127.0.0.1:50204 default.gossipEndpoint.external=127.0.0.1:50204 default.serviceEndpoint=127.0.0.1:50211 default.gossipCaCertificate=gossipCaCert -exchange.rates.id=0.0.112 +exchange.rates.id=112 exchange.rates.name=EXCHANGE_RATES -exchange.rates.controlAccount.id=0.0.57 +exchange.rates.controlAccount.id=57 exchange.rates.controlAccount.name=EXCHANGE_RATES_CONTROL expected.final.status=PASSED -fee.schedule.controlAccount.id=0.0.56 +fee.schedule.controlAccount.id=56 fee.schedule.controlAccount.name=FEE_SCHEDULE_CONTROL fee.schedule.fetch.fee=100000000 -fee.schedule.id=0.0.111 +fee.schedule.id=111 fee.schedule.name=FEE_SCHEDULE fees.tokenTransferUsageMultiplier=380 fees.useFixedOffer=false fees.fixedOffer=100000000 freeze.admin.name=FREEZE_ADMIN -freeze.admin.id=0.0.58 -update.feature.id=0.0.150 +freeze.admin.id=58 +update.feature.id=150 update.feature.name=UPDATE_FEATURE -funding.account=0.0.98 +funding.account=98 funding.account.name=FUNDING -genesis.account=0.0.2 +genesis.account=2 genesis.account.name=GENESIS invalid.contract=1.1.1 invalid.contract.name=INVALID_CONTRACT node.addressBook.name=NODE_ADDRESS_BOOK -node.details.id=0.0.102 +node.details.id=102 node.details.name=NODE_DETAILS # Valid settings are { fixed, random } node.selector=fixed @@ -95,20 +95,20 @@ nodes=localhost #nodes=35.237.200.180 num.opFinisher.threads=8 softwareUpdate.admin.name=SOFTWARE_UPDATE_ADMIN -softwareUpdate.admin.id=0.0.54 +softwareUpdate.admin.id=54 spec.streamlinedIngestChecks=INVALID_FILE_ID,ENTITY_NOT_ALLOWED_TO_DELETE,AUTHORIZATION_FAILED,INVALID_PRNG_RANGE,INVALID_STAKING_ID,NOT_SUPPORTED,TOKEN_ID_REPEATED_IN_TOKEN_LIST,ALIAS_ALREADY_ASSIGNED,INVALID_ALIAS_KEY,KEY_REQUIRED,BAD_ENCODING,AUTORENEW_DURATION_NOT_IN_RANGE,INVALID_ZERO_BYTE_IN_STRING,INVALID_ADMIN_KEY,ACCOUNT_DELETED,BUSY,INSUFFICIENT_PAYER_BALANCE,INSUFFICIENT_TX_FEE,INVALID_ACCOUNT_ID,INVALID_NODE_ACCOUNT,INVALID_SIGNATURE,INVALID_TRANSACTION,INVALID_TRANSACTION_BODY,INVALID_TRANSACTION_DURATION,INVALID_TRANSACTION_ID,INVALID_TRANSACTION_START,KEY_PREFIX_MISMATCH,MEMO_TOO_LONG,PAYER_ACCOUNT_NOT_FOUND,PLATFORM_NOT_ACTIVE,TRANSACTION_EXPIRED,TRANSACTION_HAS_UNKNOWN_FIELDS,TRANSACTION_ID_FIELD_NOT_ALLOWED,TRANSACTION_OVERSIZE,TRANSFER_ACCOUNT_SAME_AS_DELETE_ACCOUNT,EMPTY_ALLOWANCES,REQUESTED_NUM_AUTOMATIC_ASSOCIATIONS_EXCEEDS_ASSOCIATION_LIMIT,TOKEN_HAS_NO_FREEZE_KEY,TOKEN_HAS_NO_SUPPLY_KEY,INVALID_TOKEN_INITIAL_SUPPLY,INVALID_TOKEN_DECIMALS,INVALID_TOKEN_MAX_SUPPLY,ACCOUNT_REPEATED_IN_ACCOUNT_AMOUNTS,TRANSFERS_NOT_ZERO_SUM_FOR_TOKEN,INVALID_ACCOUNT_AMOUNTS,TOKEN_NAME_TOO_LONG,TOKEN_SYMBOL_TOO_LONG,INVALID_TOKEN_NFT_SERIAL_NUMBER,PERMANENT_REMOVAL_REQUIRES_SYSTEM_INITIATION,MISSING_TOKEN_SYMBOL,MISSING_TOKEN_NAME,INVALID_EXPIRATION_TIME,EMPTY_TOKEN_TRANSFER_ACCOUNT_AMOUNTS,INVALID_ALLOWANCE_OWNER_ID,FUNGIBLE_TOKEN_IN_NFT_ALLOWANCES,TOKEN_NOT_ASSOCIATED_TO_ACCOUNT,MAX_ALLOWANCES_EXCEEDED,INVALID_ALLOWANCE_SPENDER_ID,AMOUNT_EXCEEDS_TOKEN_MAX_SUPPLY,NFT_IN_FUNGIBLE_TOKEN_ALLOWANCES,NEGATIVE_ALLOWANCE_AMOUNT,DELEGATING_SPENDER_DOES_NOT_HAVE_APPROVE_FOR_ALL,DELEGATING_SPENDER_CANNOT_GRANT_APPROVE_FOR_ALL,INVALID_TOKEN_MINT_AMOUNT,INVALID_TOKEN_BURN_AMOUNT,INVALID_WIPING_AMOUNT,INVALID_NFT_ID,BATCH_SIZE_LIMIT_EXCEEDED,METADATA_TOO_LONG,INVALID_RENEWAL_PERIOD,INVALID_CUSTOM_FEE_SCHEDULE_KEY,MAX_GAS_LIMIT_EXCEEDED,CONTRACT_DELETED,INVALID_ETHEREUM_TRANSACTION,INSUFFICIENT_ACCOUNT_BALANCE,INVALID_CONTRACT_ID,INVALID_TOPIC_ID,UPDATE_NODE_ACCOUNT_NOT_ALLOWED,INVALID_NODE_ACCOUNT_ID,INVALID_NODE_ID status.deferredResolves.doAsync=true status.preResolve.pause.ms=0 status.wait.sleep.ms=500 status.wait.timeout.ms=90000 -strong.control.account=0.0.50 +strong.control.account=50 strong.control.name=strong-control -systemDeleteAdmin.account=0.0.59 +systemDeleteAdmin.account=59 systemDeleteAdmin.name=sysDelAdmin -systemUndeleteAdmin.account=0.0.60 +systemUndeleteAdmin.account=60 systemUndeleteAdmin.name=sysUndelAdmin warnings.suppressUnrecoverableNetworkFailures=false -throttle.definitions.id=0.0.123 +throttle.definitions.id=123 throttle.definitions.name=THROTTLE_DEFINITIONS txn.start.offset.secs=-60 # Valid settings are { on, off, alternate } From 0ced45276eee9478c4a41a6721aaf0ae1fa764e0 Mon Sep 17 00:00:00 2001 From: Valentin Tronkov <99957253+vtronkov@users.noreply.github.com> Date: Wed, 29 Jan 2025 11:49:21 +0200 Subject: [PATCH 02/11] refactor: fix TODOs Signed-off-by: Valentin Tronkov <99957253+vtronkov@users.noreply.github.com> --- .../bdd/junit/hedera/embedded/EmbeddedNode.java | 10 ++++++---- .../junit/hedera/utils/AddressBookUtils.java | 12 +++++++----- .../services/bdd/spec/HapiPropertySource.java | 17 ++++++++++++++++- .../src/main/resources/spec-default.properties | 4 ++-- 4 files changed, 31 insertions(+), 12 deletions(-) diff --git a/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/junit/hedera/embedded/EmbeddedNode.java b/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/junit/hedera/embedded/EmbeddedNode.java index 5259a6631be3..c30f4ca2a6e2 100644 --- a/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/junit/hedera/embedded/EmbeddedNode.java +++ b/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/junit/hedera/embedded/EmbeddedNode.java @@ -80,10 +80,12 @@ public HederaNode start() { getExternalPath(NODE_ADMIN_KEYS_JSON).toAbsolutePath().toString()); System.setProperty("hedera.profiles.active", "DEV"); - // TODO Check how to set this config into SubProcessNode - // update node realm and shard - System.setProperty("hedera.realm", "2"); - System.setProperty("hedera.shard", "1"); + // Update node realm and shard + // We get the shard/realm from the metadata account which is coming from the property file + var shard = metadata().accountId().shardNum(); + var realm = metadata().accountId().realmNum(); + System.setProperty("hedera.shard", String.valueOf(shard)); + System.setProperty("hedera.realm", String.valueOf(realm)); final var log4j2ConfigLoc = getExternalPath(LOG4J2_XML).toString(); if (isForShared(log4j2ConfigLoc)) { diff --git a/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/junit/hedera/utils/AddressBookUtils.java b/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/junit/hedera/utils/AddressBookUtils.java index c8fd831b5056..7f74c3c87787 100644 --- a/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/junit/hedera/utils/AddressBookUtils.java +++ b/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/junit/hedera/utils/AddressBookUtils.java @@ -27,6 +27,7 @@ import com.hedera.pbj.runtime.io.buffer.Bytes; import com.hedera.services.bdd.junit.hedera.HederaNode; import com.hedera.services.bdd.junit.hedera.NodeMetadata; +import com.hedera.services.bdd.spec.props.JutilPropertySource; import com.hederahashgraph.api.proto.java.ServiceEndpoint; import com.swirlds.platform.crypto.CryptoStatic; import com.swirlds.platform.system.address.AddressBook; @@ -49,6 +50,9 @@ public class AddressBookUtils { public static final String[] CLASSIC_NODE_NAMES = new String[] {"node1", "node2", "node3", "node4", "node5", "node6", "node7", "node8"}; + private static final String REALM = JutilPropertySource.getDefaultInstance().get("default.realm"); + private static final String SHARD = JutilPropertySource.getDefaultInstance().get("default.shard"); + private AddressBookUtils() { throw new UnsupportedOperationException("Utility Class"); } @@ -140,8 +144,7 @@ public static String configTxtForLocal( .append(", 127.0.0.1, ") .append(nextExternalGossipPort + (node.getNodeId() * 2)) .append(", ") - // todo made this configurable - .append("1.2.") + .append(SHARD + "." + REALM + ".") .append(node.getAccountId().accountNumOrThrow()) .append('\n'); maxNodeId = Math.max(node.getNodeId(), maxNodeId); @@ -225,10 +228,9 @@ public static NodeMetadata classicMetadataFor( return new NodeMetadata( nodeId, CLASSIC_NODE_NAMES[nodeId], - // todo made this configurable AccountID.newBuilder() - .realmNum(2) - .shardNum(1) + .shardNum(Long.parseLong(SHARD)) + .realmNum(Long.parseLong(REALM)) .accountNum(CLASSIC_FIRST_NODE_ACCOUNT_NUM + nodeId) .build(), host, diff --git a/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/spec/HapiPropertySource.java b/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/spec/HapiPropertySource.java index 3d81cf4b999c..92a2f4048ab7 100644 --- a/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/spec/HapiPropertySource.java +++ b/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/spec/HapiPropertySource.java @@ -1,4 +1,19 @@ -// SPDX-License-Identifier: Apache-2.0 +/* + * Copyright (C) 2025 Hedera Hashgraph, LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package com.hedera.services.bdd.spec; import static com.hedera.node.app.hapi.utils.CommonPbjConverters.fromByteString; diff --git a/hedera-node/test-clients/src/main/resources/spec-default.properties b/hedera-node/test-clients/src/main/resources/spec-default.properties index 84469e6320f1..75dc843f8cfe 100644 --- a/hedera-node/test-clients/src/main/resources/spec-default.properties +++ b/hedera-node/test-clients/src/main/resources/spec-default.properties @@ -43,9 +43,9 @@ default.payer.pemKeyLoc=src/main/resources/genesis.pem #default.payer.pemKeyLoc=stabletestnet-account50.pem #default.payer.pemKeyLoc=mainnet-account950.pem default.payer.pemKeyPassphrase=swirlds -default.realm=2 +default.realm=0 default.receiverSigRequired=false -default.shard=1 +default.shard=0 default.thresholdKey.M=2 default.thresholdKey.N=3 default.token.initialSupply=10000 From 6bf9a7aaedd92f90ec2eec2f577259626d38f72d Mon Sep 17 00:00:00 2001 From: Valentin Tronkov <99957253+vtronkov@users.noreply.github.com> Date: Wed, 29 Jan 2025 12:10:14 +0200 Subject: [PATCH 03/11] refactor: remove a comment Signed-off-by: Valentin Tronkov <99957253+vtronkov@users.noreply.github.com> --- .../hedera/services/bdd/junit/hedera/embedded/EmbeddedNode.java | 1 - 1 file changed, 1 deletion(-) diff --git a/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/junit/hedera/embedded/EmbeddedNode.java b/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/junit/hedera/embedded/EmbeddedNode.java index c30f4ca2a6e2..423e6d96bb8e 100644 --- a/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/junit/hedera/embedded/EmbeddedNode.java +++ b/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/junit/hedera/embedded/EmbeddedNode.java @@ -80,7 +80,6 @@ public HederaNode start() { getExternalPath(NODE_ADMIN_KEYS_JSON).toAbsolutePath().toString()); System.setProperty("hedera.profiles.active", "DEV"); - // Update node realm and shard // We get the shard/realm from the metadata account which is coming from the property file var shard = metadata().accountId().shardNum(); var realm = metadata().accountId().realmNum(); From 12fc2db4f198a09eae9fe26eb529e2ffad7e2aac Mon Sep 17 00:00:00 2001 From: Valentin Tronkov <99957253+vtronkov@users.noreply.github.com> Date: Mon, 3 Feb 2025 05:34:37 +0200 Subject: [PATCH 04/11] debug: throw an error if account not found Signed-off-by: Valentin Tronkov <99957253+vtronkov@users.noreply.github.com> --- .../java/com/hedera/services/bdd/spec/HapiPropertySource.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/spec/HapiPropertySource.java b/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/spec/HapiPropertySource.java index 92a2f4048ab7..8acc3e3ad5f9 100644 --- a/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/spec/HapiPropertySource.java +++ b/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/spec/HapiPropertySource.java @@ -109,8 +109,9 @@ default AccountID getAccount(String property) { try { return asAccount(get("default.shard"), get("default.realm"), get(property)); } catch (Exception ignore) { + throw new RuntimeException(ignore); } - return AccountID.getDefaultInstance(); + //return AccountID.getDefaultInstance(); } /** From 146dde8a25af51a81305d2e36130046f744e72cd Mon Sep 17 00:00:00 2001 From: Valentin Tronkov <99957253+vtronkov@users.noreply.github.com> Date: Mon, 3 Feb 2025 05:43:37 +0200 Subject: [PATCH 05/11] nit: spotless Signed-off-by: Valentin Tronkov <99957253+vtronkov@users.noreply.github.com> --- .../java/com/hedera/services/bdd/spec/HapiPropertySource.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/spec/HapiPropertySource.java b/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/spec/HapiPropertySource.java index 8acc3e3ad5f9..fcad74f4f8ec 100644 --- a/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/spec/HapiPropertySource.java +++ b/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/spec/HapiPropertySource.java @@ -111,7 +111,7 @@ default AccountID getAccount(String property) { } catch (Exception ignore) { throw new RuntimeException(ignore); } - //return AccountID.getDefaultInstance(); + // return AccountID.getDefaultInstance(); } /** From b4838d5f2ca35b11456ea9746df592d86a6c8e26 Mon Sep 17 00:00:00 2001 From: Valentin Tronkov <99957253+vtronkov@users.noreply.github.com> Date: Mon, 3 Feb 2025 07:01:03 +0200 Subject: [PATCH 06/11] fix: failing tests Signed-off-by: Valentin Tronkov <99957253+vtronkov@users.noreply.github.com> --- .../bdd/suites/crypto/CryptoCreateForSuiteRunner.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/suites/crypto/CryptoCreateForSuiteRunner.java b/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/suites/crypto/CryptoCreateForSuiteRunner.java index e86201f3357d..869e39f3d74c 100644 --- a/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/suites/crypto/CryptoCreateForSuiteRunner.java +++ b/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/suites/crypto/CryptoCreateForSuiteRunner.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2020-2024 Hedera Hashgraph, LLC + * Copyright (C) 2020-2025 Hedera Hashgraph, LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -73,7 +73,7 @@ public List> getSpecsInSuite() { final Stream createAccount() { int maxRetries = 5; return customHapiSpec("CreatePayerAccountForEachClient") - .withProperties(Map.of("nodes", nodes, "default.node", "0.0." + defaultNode)) + .withProperties(Map.of("nodes", nodes, "default.node", defaultNode)) .given() .when() .then(withOpContext((spec, log) -> { From 534952c3625f8fc84981a0ba0fe5144dc4375f41 Mon Sep 17 00:00:00 2001 From: Valentin Tronkov <99957253+vtronkov@users.noreply.github.com> Date: Mon, 3 Feb 2025 09:00:29 +0200 Subject: [PATCH 07/11] fix: failing tests Signed-off-by: Valentin Tronkov <99957253+vtronkov@users.noreply.github.com> --- .../crypto/CryptoTransferLoadTestWithStakedAccounts.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/suites/perf/crypto/CryptoTransferLoadTestWithStakedAccounts.java b/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/suites/perf/crypto/CryptoTransferLoadTestWithStakedAccounts.java index f7a0f9a0ca91..df1858adcbc2 100644 --- a/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/suites/perf/crypto/CryptoTransferLoadTestWithStakedAccounts.java +++ b/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/suites/perf/crypto/CryptoTransferLoadTestWithStakedAccounts.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2020-2024 Hedera Hashgraph, LLC + * Copyright (C) 2020-2025 Hedera Hashgraph, LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -72,8 +72,8 @@ final Stream runCryptoTransfers() { do { re = r.nextInt(settings.getTotalAccounts()); } while (re == s); - sender = String.format("0.0.%d", TEST_ACCOUNT_STARTS_FROM + s); - receiver = String.format("0.0.%d", TEST_ACCOUNT_STARTS_FROM + re); + sender = String.format("%d", TEST_ACCOUNT_STARTS_FROM + s); + receiver = String.format("%d", TEST_ACCOUNT_STARTS_FROM + re); } return new HapiSpecOperation[] { From 307509dc10fc82f0e9b0843c275f522bec1ab9bb Mon Sep 17 00:00:00 2001 From: Valentin Tronkov <99957253+vtronkov@users.noreply.github.com> Date: Mon, 3 Feb 2025 10:25:04 +0200 Subject: [PATCH 08/11] fix: failing tests Signed-off-by: Valentin Tronkov <99957253+vtronkov@users.noreply.github.com> --- .../src/yahcli/java/com/hedera/services/yahcli/Yahcli.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hedera-node/test-clients/src/yahcli/java/com/hedera/services/yahcli/Yahcli.java b/hedera-node/test-clients/src/yahcli/java/com/hedera/services/yahcli/Yahcli.java index 4eb568a663f6..b5525f64fb6e 100644 --- a/hedera-node/test-clients/src/yahcli/java/com/hedera/services/yahcli/Yahcli.java +++ b/hedera-node/test-clients/src/yahcli/java/com/hedera/services/yahcli/Yahcli.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021-2024 Hedera Hashgraph, LLC + * Copyright (C) 2021-2025 Hedera Hashgraph, LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -145,7 +145,7 @@ public Long getFixedFee() { } public String getNodeAccount() { - return nodeAccount == null ? nodeAccount : ("0.0." + nodeAccount); + return nodeAccount; } public Level getLogLevel() { From 91cae959e1e2608a2e32ac3509060fca6f8f53ae Mon Sep 17 00:00:00 2001 From: Valentin Tronkov <99957253+vtronkov@users.noreply.github.com> Date: Mon, 3 Feb 2025 12:42:35 +0200 Subject: [PATCH 09/11] fix: failing tests Signed-off-by: Valentin Tronkov <99957253+vtronkov@users.noreply.github.com> --- .../java/com/hedera/services/bdd/spec/HapiSpec.java | 2 +- .../com/hedera/services/bdd/suites/SuiteRunner.java | 4 ++-- .../bdd/suites/crypto/CryptoCreateForSuiteRunner.java | 10 ++++------ 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/spec/HapiSpec.java b/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/spec/HapiSpec.java index 237460ad50a9..1bac9913d210 100644 --- a/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/spec/HapiSpec.java +++ b/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/spec/HapiSpec.java @@ -1002,7 +1002,7 @@ public static void runInCiMode( txnFromCi = envTxn; dynamicNodes = nodes; defaultPayer = payer; - defaultNodeAccount = String.format("0.0.%s", suggestedNode); + defaultNodeAccount = suggestedNode; nodeSelectorFromCi = envNodeSelector; otherOverrides = overrides; ciPropsSource = null; diff --git a/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/suites/SuiteRunner.java b/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/suites/SuiteRunner.java index 9c10d14897fb..065f1751ed96 100644 --- a/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/suites/SuiteRunner.java +++ b/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/suites/SuiteRunner.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2020-2024 Hedera Hashgraph, LLC + * Copyright (C) 2020-2025 Hedera Hashgraph, LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -73,7 +73,7 @@ public class SuiteRunner { private static final HapiSpecSetup.TxnProtoStructure DEFAULT_TXN_CONFIG = HapiSpecSetup.TxnProtoStructure.ALTERNATE; private static final HapiSpecSetup.NodeSelection DEFAULT_NODE_SELECTOR = FIXED; private static final int EXPECTED_CI_NETWORK_SIZE = 4; - private static final String DEFAULT_PAYER_ID = "0.0.2"; + private static final String DEFAULT_PAYER_ID = "2"; private static final List SUITES_TO_DETAIL = new ArrayList<>(); diff --git a/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/suites/crypto/CryptoCreateForSuiteRunner.java b/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/suites/crypto/CryptoCreateForSuiteRunner.java index 869e39f3d74c..f46760f5f019 100644 --- a/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/suites/crypto/CryptoCreateForSuiteRunner.java +++ b/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/suites/crypto/CryptoCreateForSuiteRunner.java @@ -133,12 +133,10 @@ final Stream createAccount() { // TODO Should be modified in a different way to avoid setting a // static variable of // other class - SuiteRunner.setPayerId(String.format( - "0.0.%s", - spec.registry() - .getAccountInfo("payerAccountInfo") - .getAccountID() - .getAccountNum())); + SuiteRunner.setPayerId(String.valueOf(spec.registry() + .getAccountInfo("payerAccountInfo") + .getAccountID() + .getAccountNum())); })); } From 557bf510c886a76800b5e45727edfc9990cca581 Mon Sep 17 00:00:00 2001 From: Valentin Tronkov <99957253+vtronkov@users.noreply.github.com> Date: Mon, 3 Feb 2025 14:31:32 +0200 Subject: [PATCH 10/11] fix: failing tests Signed-off-by: Valentin Tronkov <99957253+vtronkov@users.noreply.github.com> --- .../bdd/suites/utils/validation/ValidationScenarios.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/suites/utils/validation/ValidationScenarios.java b/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/suites/utils/validation/ValidationScenarios.java index 2529468ddaba..5a6900247347 100644 --- a/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/suites/utils/validation/ValidationScenarios.java +++ b/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/suites/utils/validation/ValidationScenarios.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2020-2024 Hedera Hashgraph, LLC + * Copyright (C) 2020-2025 Hedera Hashgraph, LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -180,7 +180,7 @@ public class ValidationScenarios extends HapiSuite { public static final long FEE_TO_OFFER_IN_HBAR = 100; public static final long TINYBARS_PER_HBAR = 100_000_000L; private static final String DEFAULT_CONFIG_LOC = "config.yml"; - private static final String PATTERN = "0.0.%d"; + private static final String PATTERN = "%d"; private static final String DEFAULT_PAYER_KEY = "default.payer.key"; private static final String TRANSFER_TXN = "transferTxn"; private static final String FEES_USE_FIXED_OFFER = "fees.useFixedOffer"; From 36d48a456dbabb1bf2ce9629c2d46fea04af5c73 Mon Sep 17 00:00:00 2001 From: Valentin Tronkov <99957253+vtronkov@users.noreply.github.com> Date: Mon, 3 Feb 2025 15:26:58 +0200 Subject: [PATCH 11/11] refactor: revert a re-throw Signed-off-by: Valentin Tronkov <99957253+vtronkov@users.noreply.github.com> --- .../java/com/hedera/services/bdd/spec/HapiPropertySource.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/spec/HapiPropertySource.java b/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/spec/HapiPropertySource.java index fcad74f4f8ec..92a2f4048ab7 100644 --- a/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/spec/HapiPropertySource.java +++ b/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/spec/HapiPropertySource.java @@ -109,9 +109,8 @@ default AccountID getAccount(String property) { try { return asAccount(get("default.shard"), get("default.realm"), get(property)); } catch (Exception ignore) { - throw new RuntimeException(ignore); } - // return AccountID.getDefaultInstance(); + return AccountID.getDefaultInstance(); } /**