Skip to content

Commit 5e62b57

Browse files
committed
feat: extend tests for HIP-1300 and support them in an AtomicBatch (#22367)
Signed-off-by: Petar Tonev <[email protected]>
1 parent ba64b8c commit 5e62b57

File tree

4 files changed

+211
-69
lines changed

4 files changed

+211
-69
lines changed

hedera-node/hedera-app/src/main/java/com/hedera/node/app/Hedera.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@
102102
import com.hedera.node.config.ConfigProvider;
103103
import com.hedera.node.config.Utils;
104104
import com.hedera.node.config.data.BlockStreamConfig;
105+
import com.hedera.node.config.data.GovernanceTransactionsConfig;
105106
import com.hedera.node.config.data.HederaConfig;
106107
import com.hedera.node.config.data.NetworkAdminConfig;
107108
import com.hedera.node.config.data.QuiescenceConfig;
@@ -506,10 +507,14 @@ public Hedera(
506507
boundaryStateChangeListener = new BoundaryStateChangeListener(storeMetricsService, configSupplier);
507508
hintsService = hintsServiceFactory.apply(appContext, bootstrapConfig);
508509
historyService = historyServiceFactory.apply(appContext, bootstrapConfig);
510+
final GovernanceTransactionsConfig governanceConfig =
511+
bootstrapConfig.getConfigData(GovernanceTransactionsConfig.class);
512+
final int maxTransactionBytes = governanceConfig.isEnabled()
513+
? governanceConfig.maxTxnSize()
514+
: bootstrapConfig.getConfigData(HederaConfig.class).transactionMaxBytes();
509515
utilServiceImpl = new UtilServiceImpl(appContext, (txnBytes, config) -> daggerApp
510516
.transactionChecker()
511-
.parseSignedAndCheck(
512-
txnBytes, config.getConfigData(HederaConfig.class).transactionMaxBytes())
517+
.parseSignedAndCheck(txnBytes, maxTransactionBytes)
513518
.txBody());
514519
tokenServiceImpl = new TokenServiceImpl(appContext);
515520
consensusServiceImpl = new ConsensusServiceImpl();

hedera-node/hedera-app/src/main/java/com/hedera/node/app/config/BootstrapConfigProviderImpl.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import com.hedera.node.config.converter.CongestionMultipliersConverter;
99
import com.hedera.node.config.converter.EntityScaleFactorsConverter;
1010
import com.hedera.node.config.converter.LongPairConverter;
11+
import com.hedera.node.config.converter.PermissionedAccountsRangeConverter;
1112
import com.hedera.node.config.converter.SemanticVersionConverter;
1213
import com.hedera.node.config.data.AccountsConfig;
1314
import com.hedera.node.config.data.BlockNodeConnectionConfig;
@@ -16,6 +17,7 @@
1617
import com.hedera.node.config.data.ContractsConfig;
1718
import com.hedera.node.config.data.FeesConfig;
1819
import com.hedera.node.config.data.FilesConfig;
20+
import com.hedera.node.config.data.GovernanceTransactionsConfig;
1921
import com.hedera.node.config.data.HederaConfig;
2022
import com.hedera.node.config.data.JumboTransactionsConfig;
2123
import com.hedera.node.config.data.LedgerConfig;
@@ -27,6 +29,7 @@
2729
import com.hedera.node.config.types.CongestionMultipliers;
2830
import com.hedera.node.config.types.EntityScaleFactors;
2931
import com.hedera.node.config.types.LongPair;
32+
import com.hedera.node.config.types.PermissionedAccountsRange;
3033
import com.hedera.pbj.runtime.io.buffer.Bytes;
3134
import com.swirlds.config.api.Configuration;
3235
import com.swirlds.config.api.ConfigurationBuilder;
@@ -69,10 +72,12 @@ public BootstrapConfigProviderImpl() {
6972
.withConfigDataType(OpsDurationConfig.class)
7073
.withConfigDataType(JumboTransactionsConfig.class)
7174
.withConfigDataType(FeesConfig.class)
75+
.withConfigDataType(GovernanceTransactionsConfig.class)
7276
.withConverter(Bytes.class, new BytesConverter())
7377
.withConverter(SemanticVersion.class, new SemanticVersionConverter())
7478
.withConverter(CongestionMultipliers.class, new CongestionMultipliersConverter())
7579
.withConverter(EntityScaleFactors.class, new EntityScaleFactorsConverter())
80+
.withConverter(PermissionedAccountsRange.class, new PermissionedAccountsRangeConverter())
7681
.withConverter(LongPair.class, new LongPairConverter());
7782

7883
try {

hedera-node/test-clients/src/main/java/com/hedera/services/bdd/suites/contract/ethereum/JumboTransactionsEnabledTest.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -564,10 +564,14 @@ public Stream<DynamicTest> privilegedAccountIsExemptFromThrottles() {
564564
public Stream<DynamicTest> canNotPutJumboInsideOfBatch() {
565565
final var payloadSize = 127 * 1024;
566566
final var payload = new byte[payloadSize];
567-
return hapiTest(atomicBatch(jumboEthCall(CONTRACT_CALLDATA_SIZE, FUNCTION, payload))
568-
.hasPrecheck(TRANSACTION_OVERSIZE)
569-
// If we use subprocess network, the transaction should fail at gRPC level
570-
.orUnavailableStatus());
567+
return hapiTest(
568+
cryptoCreate(PAYER).balance(ONE_HUNDRED_HBARS),
569+
atomicBatch(jumboEthCall(CONTRACT_CALLDATA_SIZE, FUNCTION, payload)
570+
.batchKey(PAYER))
571+
.payingWith(PAYER)
572+
.hasPrecheck(TRANSACTION_OVERSIZE)
573+
// If we use subprocess network, the transaction should fail at gRPC level
574+
.orUnavailableStatus());
571575
}
572576
}
573577
}

0 commit comments

Comments
 (0)