Search in sources :

Example 46 with HapiSpecOperation

use of com.hedera.services.bdd.spec.HapiSpecOperation in project hedera-services by hashgraph.

the class HCSChunkingRealisticPerfSuite method fragmentLongMessageIntoChunks.

private static HapiApiSpec fragmentLongMessageIntoChunks() {
    PerfTestLoadSettings settings = new PerfTestLoadSettings();
    Supplier<HapiSpecOperation[]> submitBurst = () -> new HapiSpecOperation[] { chunkAFile(LARGE_FILE, CHUNK_SIZE, PAYER, TOPIC, totalMsgSubmitted) };
    return defaultHapiSpec("fragmentLongMessageIntoChunks").given(withOpContext((spec, ignore) -> settings.setFrom(spec.setup().ciPropertiesMap())), newKeyNamed("submitKey"), logIt(ignore -> settings.toString())).when(cryptoCreate(PAYER).balance(initialBalance.getAsLong()).withRecharging().rechargeWindow(30).hasRetryPrecheckFrom(BUSY, DUPLICATE_TRANSACTION, PLATFORM_TRANSACTION_NOT_CREATED), withOpContext((spec, ignore) -> {
        int factor = settings.getIntProperty("collisionAvoidanceFactor", DEFAULT_COLLISION_AVOIDANCE_FACTOR);
        List<HapiSpecOperation> opsList = new ArrayList<HapiSpecOperation>();
        for (int i = 0; i < settings.getThreads() * factor; i++) {
            var op = createTopic(TOPIC + i).submitKeyName("submitKey").hasRetryPrecheckFrom(BUSY, DUPLICATE_TRANSACTION, PLATFORM_TRANSACTION_NOT_CREATED);
            opsList.add(op);
        }
        CustomSpecAssert.allRunFor(spec, inParallel(flattened(opsList)));
    }), // wait all other thread ready
    sleepFor(5000)).then(defaultLoadTest(submitBurst, settings));
}
Also used : LoadTest(com.hedera.services.bdd.spec.utilops.LoadTest) TxnVerbs.cryptoCreate(com.hedera.services.bdd.spec.transactions.TxnVerbs.cryptoCreate) UtilVerbs.withOpContext(com.hedera.services.bdd.spec.utilops.UtilVerbs.withOpContext) UtilVerbs.logIt(com.hedera.services.bdd.spec.utilops.UtilVerbs.logIt) UtilVerbs.newKeyNamed(com.hedera.services.bdd.spec.utilops.UtilVerbs.newKeyNamed) TxnVerbs.createTopic(com.hedera.services.bdd.spec.transactions.TxnVerbs.createTopic) PerfTestLoadSettings(com.hedera.services.bdd.suites.perf.PerfTestLoadSettings) Supplier(java.util.function.Supplier) ContractResources(com.hedera.services.bdd.spec.infrastructure.meta.ContractResources) ArrayList(java.util.ArrayList) UtilVerbs.chunkAFile(com.hedera.services.bdd.spec.utilops.UtilVerbs.chunkAFile) AtomicLong(java.util.concurrent.atomic.AtomicLong) UtilVerbs.sleepFor(com.hedera.services.bdd.spec.utilops.UtilVerbs.sleepFor) List(java.util.List) Logger(org.apache.logging.log4j.Logger) UtilVerbs.inParallel(com.hedera.services.bdd.spec.utilops.UtilVerbs.inParallel) DUPLICATE_TRANSACTION(com.hederahashgraph.api.proto.java.ResponseCodeEnum.DUPLICATE_TRANSACTION) CustomSpecAssert(com.hedera.services.bdd.spec.utilops.CustomSpecAssert) HapiApiSpec.defaultHapiSpec(com.hedera.services.bdd.spec.HapiApiSpec.defaultHapiSpec) HapiSpecOperation(com.hedera.services.bdd.spec.HapiSpecOperation) BUSY(com.hederahashgraph.api.proto.java.ResponseCodeEnum.BUSY) HapiApiSpec(com.hedera.services.bdd.spec.HapiApiSpec) LogManager(org.apache.logging.log4j.LogManager) PLATFORM_TRANSACTION_NOT_CREATED(com.hederahashgraph.api.proto.java.ResponseCodeEnum.PLATFORM_TRANSACTION_NOT_CREATED) PerfTestLoadSettings(com.hedera.services.bdd.suites.perf.PerfTestLoadSettings) ArrayList(java.util.ArrayList) HapiSpecOperation(com.hedera.services.bdd.spec.HapiSpecOperation)

Example 47 with HapiSpecOperation

use of com.hedera.services.bdd.spec.HapiSpecOperation in project hedera-services by hashgraph.

the class createTopicLoadTest method runCreateTopics.

private static HapiApiSpec runCreateTopics() {
    PerfTestLoadSettings settings = new PerfTestLoadSettings();
    final AtomicInteger submittedSoFar = new AtomicInteger(0);
    KeyShape submitKeyShape = threshOf(2, SIMPLE, SIMPLE, listOf(2));
    Supplier<HapiSpecOperation[]> submitBurst = () -> new HapiSpecOperation[] { createTopic("testTopic" + submittedSoFar.addAndGet(1)).submitKeyShape(submitKeyShape).noLogging().hasRetryPrecheckFrom(BUSY, DUPLICATE_TRANSACTION, PLATFORM_TRANSACTION_NOT_CREATED).deferStatusResolution() };
    return defaultHapiSpec("runCreateTopics").given(withOpContext((spec, ignore) -> settings.setFrom(spec.setup().ciPropertiesMap())), logIt(ignore -> settings.toString())).when().then(defaultLoadTest(submitBurst, settings));
}
Also used : LoadTest(com.hedera.services.bdd.spec.utilops.LoadTest) UtilVerbs.withOpContext(com.hedera.services.bdd.spec.utilops.UtilVerbs.withOpContext) UtilVerbs.logIt(com.hedera.services.bdd.spec.utilops.UtilVerbs.logIt) TxnVerbs.createTopic(com.hedera.services.bdd.spec.transactions.TxnVerbs.createTopic) PerfTestLoadSettings(com.hedera.services.bdd.suites.perf.PerfTestLoadSettings) Supplier(java.util.function.Supplier) KeyShape.listOf(com.hedera.services.bdd.spec.keys.KeyShape.listOf) KeyShape.threshOf(com.hedera.services.bdd.spec.keys.KeyShape.threshOf) SIMPLE(com.hedera.services.bdd.spec.keys.KeyShape.SIMPLE) List(java.util.List) Logger(org.apache.logging.log4j.Logger) DUPLICATE_TRANSACTION(com.hederahashgraph.api.proto.java.ResponseCodeEnum.DUPLICATE_TRANSACTION) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) HapiApiSpec.defaultHapiSpec(com.hedera.services.bdd.spec.HapiApiSpec.defaultHapiSpec) HapiSpecOperation(com.hedera.services.bdd.spec.HapiSpecOperation) KeyShape(com.hedera.services.bdd.spec.keys.KeyShape) BUSY(com.hederahashgraph.api.proto.java.ResponseCodeEnum.BUSY) HapiApiSpec(com.hedera.services.bdd.spec.HapiApiSpec) LogManager(org.apache.logging.log4j.LogManager) PLATFORM_TRANSACTION_NOT_CREATED(com.hederahashgraph.api.proto.java.ResponseCodeEnum.PLATFORM_TRANSACTION_NOT_CREATED) PerfTestLoadSettings(com.hedera.services.bdd.suites.perf.PerfTestLoadSettings) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) KeyShape(com.hedera.services.bdd.spec.keys.KeyShape) HapiSpecOperation(com.hedera.services.bdd.spec.HapiSpecOperation)

Example 48 with HapiSpecOperation

use of com.hedera.services.bdd.spec.HapiSpecOperation in project hedera-services by hashgraph.

the class ContractRecordsSanityCheckSuite method circularTransfersRecordSanityChecks.

private HapiApiSpec circularTransfersRecordSanityChecks() {
    int NUM_ALTRUISTS = 3;
    Function<String, Long> INIT_BALANCE_FN = ignore -> 1_000_000L;
    int INIT_KEEP_AMOUNT_DIVISOR = 2;
    BigInteger STOP_BALANCE = BigInteger.valueOf(399_999L);
    String[] CANONICAL_ACCOUNTS = { FUNDING, NODE, DEFAULT_PAYER };
    String[] altruists = IntStream.range(0, NUM_ALTRUISTS).mapToObj(i -> String.format("Altruist%s", new String(new char[] { (char) ('A' + i) }))).toArray(n -> new String[n]);
    return defaultHapiSpec("CircularTransfersRecordSanityChecks").given(flattened(fileCreate("bytecode").path(ContractResources.CIRCULAR_TRANSFERS_BYTECODE_PATH), Stream.of(altruists).map(name -> contractCreate(name).bytecode("bytecode")).toArray(n -> new HapiSpecOperation[n]), Stream.of(altruists).map(name -> contractCall(name, ContractResources.SET_NODES_ABI, spec -> new Object[] { Stream.of(altruists).map(a -> spec.registry().getContractId(a).getContractNum()).toArray() }).gas(120_000).via("txnFor" + name).sending(INIT_BALANCE_FN.apply(name))).toArray(n -> new HapiSpecOperation[n]), UtilVerbs.takeBalanceSnapshots(Stream.of(Stream.of(altruists), Stream.of(CANONICAL_ACCOUNTS)).flatMap(identity()).toArray(n -> new String[n])))).when(contractCall(altruists[0], ContractResources.RECEIVE_AND_SEND_ABI, INIT_KEEP_AMOUNT_DIVISOR, STOP_BALANCE).via("altruisticTxn")).then(validateTransferListForBalances("altruisticTxn", Stream.concat(Stream.of(CANONICAL_ACCOUNTS), Stream.of(altruists)).collect(toList())), validateRecordTransactionFees("altruisticTxn"), addLogInfo((spec, infoLog) -> {
        long[] finalBalances = IntStream.range(0, NUM_ALTRUISTS).mapToLong(ignore -> INIT_BALANCE_FN.apply("")).toArray();
        int i = 0, divisor = INIT_KEEP_AMOUNT_DIVISOR;
        while (true) {
            long toKeep = finalBalances[i] / divisor;
            if (toKeep < STOP_BALANCE.longValue()) {
                break;
            }
            int j = (i + 1) % NUM_ALTRUISTS;
            finalBalances[j] += (finalBalances[i] - toKeep);
            finalBalances[i] = toKeep;
            i = j;
            divisor++;
        }
        infoLog.info("Expected Final Balances");
        infoLog.info("-----------------------");
        for (i = 0; i < NUM_ALTRUISTS; i++) {
            infoLog.info("  " + i + " = " + finalBalances[i] + " tinyBars");
        }
    }));
}
Also used : IntStream(java.util.stream.IntStream) TxnVerbs.contractUpdate(com.hedera.services.bdd.spec.transactions.TxnVerbs.contractUpdate) UtilVerbs.validateTransferListForBalances(com.hedera.services.bdd.spec.utilops.UtilVerbs.validateTransferListForBalances) TxnVerbs.contractDelete(com.hedera.services.bdd.spec.transactions.TxnVerbs.contractDelete) Function(java.util.function.Function) ContractResources(com.hedera.services.bdd.spec.infrastructure.meta.ContractResources) UtilVerbs.addLogInfo(com.hedera.services.bdd.spec.utilops.UtilVerbs.addLogInfo) HapiApiSuite(com.hedera.services.bdd.suites.HapiApiSuite) HapiApiSpec.defaultHapiSpec(com.hedera.services.bdd.spec.HapiApiSpec.defaultHapiSpec) BigInteger(java.math.BigInteger) TxnVerbs.contractCall(com.hedera.services.bdd.spec.transactions.TxnVerbs.contractCall) Set(java.util.Set) UtilVerbs.newKeyNamed(com.hedera.services.bdd.spec.utilops.UtilVerbs.newKeyNamed) KeyFactory(com.hedera.services.bdd.spec.keys.KeyFactory) List(java.util.List) TxnVerbs.fileCreate(com.hedera.services.bdd.spec.transactions.TxnVerbs.fileCreate) Collectors.toList(java.util.stream.Collectors.toList) Logger(org.apache.logging.log4j.Logger) Stream(java.util.stream.Stream) UtilVerbs.takeBalanceSnapshots(com.hedera.services.bdd.spec.utilops.UtilVerbs.takeBalanceSnapshots) UtilVerbs(com.hedera.services.bdd.spec.utilops.UtilVerbs) HapiSpecOperation(com.hedera.services.bdd.spec.HapiSpecOperation) Function.identity(java.util.function.Function.identity) TxnVerbs.contractCreate(com.hedera.services.bdd.spec.transactions.TxnVerbs.contractCreate) HapiApiSpec(com.hedera.services.bdd.spec.HapiApiSpec) LogManager(org.apache.logging.log4j.LogManager) UtilVerbs.validateRecordTransactionFees(com.hedera.services.bdd.spec.utilops.UtilVerbs.validateRecordTransactionFees) BigInteger(java.math.BigInteger)

Example 49 with HapiSpecOperation

use of com.hedera.services.bdd.spec.HapiSpecOperation in project hedera-services by hashgraph.

the class UtilVerbs method chunkAFile.

public static HapiSpecOperation chunkAFile(String filePath, int chunkSize, String payer, String topic, AtomicLong count) {
    return withOpContext((spec, ctxLog) -> {
        List<HapiSpecOperation> opsList = new ArrayList<HapiSpecOperation>();
        String overriddenFile = new String(filePath);
        int overriddenChunkSize = chunkSize;
        String overriddenTopic = new String(topic);
        boolean validateRunningHash = false;
        long currentCount = count.getAndIncrement();
        if (currentCount >= 0) {
            var ciProperties = spec.setup().ciPropertiesMap();
            if (null != ciProperties) {
                if (ciProperties.has("file")) {
                    overriddenFile = ciProperties.get("file");
                }
                if (ciProperties.has("chunkSize")) {
                    overriddenChunkSize = ciProperties.getInteger("chunkSize");
                }
                if (ciProperties.has("validateRunningHash")) {
                    validateRunningHash = ciProperties.getBoolean("validateRunningHash");
                }
                int threads = PerfTestLoadSettings.DEFAULT_THREADS;
                if (ciProperties.has("threads")) {
                    threads = ciProperties.getInteger("threads");
                }
                int factor = HCSChunkingRealisticPerfSuite.DEFAULT_COLLISION_AVOIDANCE_FACTOR;
                if (ciProperties.has("collisionAvoidanceFactor")) {
                    factor = ciProperties.getInteger("collisionAvoidanceFactor");
                }
                overriddenTopic += currentCount % (threads * factor);
            }
        }
        ByteString msg = ByteString.copyFrom(Files.readAllBytes(Paths.get(overriddenFile)));
        int size = msg.size();
        int totalChunks = (size + overriddenChunkSize - 1) / overriddenChunkSize;
        int position = 0;
        int currentChunk = 0;
        var initialTransactionID = asTransactionID(spec, Optional.of(payer));
        while (position < size) {
            ++currentChunk;
            int newPosition = Math.min(size, position + overriddenChunkSize);
            ByteString subMsg = msg.substring(position, newPosition);
            HapiMessageSubmit subOp = submitMessageTo(overriddenTopic).message(subMsg).chunkInfo(totalChunks, currentChunk, initialTransactionID).payingWith(payer).hasKnownStatus(SUCCESS).hasRetryPrecheckFrom(BUSY, DUPLICATE_TRANSACTION, PLATFORM_TRANSACTION_NOT_CREATED, INSUFFICIENT_PAYER_BALANCE).noLogging().suppressStats(true);
            if (1 == currentChunk) {
                subOp = subOp.usePresetTimestamp();
            }
            if (validateRunningHash) {
                String txnName = "submitMessage-" + overriddenTopic + "-" + currentChunk;
                HapiGetTxnRecord validateOp = getTxnRecord(txnName).hasCorrectRunningHash(overriddenTopic, subMsg.toByteArray()).payingWith(payer).noLogging();
                opsList.add(subOp.via(txnName));
                opsList.add(validateOp);
            } else {
                opsList.add(subOp.deferStatusResolution());
            }
            position = newPosition;
        }
        CustomSpecAssert.allRunFor(spec, opsList);
    });
}
Also used : HapiMessageSubmit(com.hedera.services.bdd.spec.transactions.consensus.HapiMessageSubmit) ByteString(com.google.protobuf.ByteString) HapiGetTxnRecord(com.hedera.services.bdd.spec.queries.meta.HapiGetTxnRecord) ArrayList(java.util.ArrayList) HapiSpecOperation(com.hedera.services.bdd.spec.HapiSpecOperation) HapiPropertySource.asAccountString(com.hedera.services.bdd.spec.HapiPropertySource.asAccountString) ByteString(com.google.protobuf.ByteString)

Example 50 with HapiSpecOperation

use of com.hedera.services.bdd.spec.HapiSpecOperation in project hedera-services by hashgraph.

the class UtilVerbs method ensureDissociated.

public static HapiSpecOperation ensureDissociated(String account, List<String> tokens) {
    return withOpContext((spec, opLog) -> {
        var query = getAccountBalance(account);
        allRunFor(spec, query);
        var answer = query.getResponse().getCryptogetAccountBalance().getTokenBalancesList();
        for (String token : tokens) {
            var tid = spec.registry().getTokenID(token);
            var match = answer.stream().filter(tb -> tb.getTokenId().equals(tid)).findAny();
            if (match.isPresent()) {
                var tb = match.get();
                opLog.info("Account '{}' is associated to token '{}' ({})", account, token, HapiPropertySource.asTokenString(tid));
                if (tb.getBalance() > 0) {
                    opLog.info("  -->> Balance is {}, transferring to treasury", tb.getBalance());
                    var treasury = spec.registry().getTreasury(token);
                    var xfer = cryptoTransfer(moving(tb.getBalance(), token).between(account, treasury));
                    allRunFor(spec, xfer);
                }
                opLog.info("  -->> Dissociating '{}' from '{}' now", account, token);
                var dis = tokenDissociate(account, token);
                allRunFor(spec, dis);
            }
        }
    });
}
Also used : FeesJsonToGrpcBytes(com.hedera.services.bdd.suites.utils.sysfiles.serdes.FeesJsonToGrpcBytes) TxnUtils.asTransactionID(com.hedera.services.bdd.spec.transactions.TxnUtils.asTransactionID) COMMON_MESSAGES(com.hedera.services.yahcli.output.CommonMessages.COMMON_MESSAGES) PerfTestLoadSettings(com.hedera.services.bdd.suites.perf.PerfTestLoadSettings) HapiGetTxnRecord(com.hedera.services.bdd.spec.queries.meta.HapiGetTxnRecord) ParallelSpecOps(com.hedera.services.bdd.spec.utilops.grouping.ParallelSpecOps) VerifyGetLiveHashNotSupported(com.hedera.services.bdd.spec.utilops.checks.VerifyGetLiveHashNotSupported) CryptoTransferSuite(com.hedera.services.bdd.suites.crypto.CryptoTransferSuite) RecordStreamVerification(com.hedera.services.bdd.spec.utilops.streams.RecordStreamVerification) Duration(java.time.Duration) Map(java.util.Map) HapiCryptoTransfer.tinyBarsFromTo(com.hedera.services.bdd.spec.transactions.crypto.HapiCryptoTransfer.tinyBarsFromTo) HapiPropertySource.asAccount(com.hedera.services.bdd.spec.HapiPropertySource.asAccount) Set(java.util.Set) SpecKeyFromPem(com.hedera.services.bdd.spec.utilops.inventory.SpecKeyFromPem) TxnVerbs.submitMessageTo(com.hedera.services.bdd.spec.transactions.TxnVerbs.submitMessageTo) TransactionRecordAsserts.recordWith(com.hedera.services.bdd.spec.assertions.TransactionRecordAsserts.recordWith) SUCCESS(com.hederahashgraph.api.proto.java.ResponseCodeEnum.SUCCESS) FREEZE_ONLY(com.hederahashgraph.api.proto.java.FreezeType.FREEZE_ONLY) CountDownLatch(java.util.concurrent.CountDownLatch) AccountAmount(com.hederahashgraph.api.proto.java.AccountAmount) Stream(java.util.stream.Stream) HederaFunctionality(com.hederahashgraph.api.proto.java.HederaFunctionality) TxnVerbs.tokenDissociate(com.hedera.services.bdd.spec.transactions.TxnVerbs.tokenDissociate) BUSY(com.hederahashgraph.api.proto.java.ResponseCodeEnum.BUSY) HapiApiSpec(com.hedera.services.bdd.spec.HapiApiSpec) PLATFORM_TRANSACTION_NOT_CREATED(com.hederahashgraph.api.proto.java.ResponseCodeEnum.PLATFORM_TRANSACTION_NOT_CREATED) FeeSchedule(com.hederahashgraph.api.proto.java.FeeSchedule) SpecKeyFromMnemonic(com.hedera.services.bdd.spec.utilops.inventory.SpecKeyFromMnemonic) ByteArrayOutputStream(java.io.ByteArrayOutputStream) HapiFileCreate(com.hedera.services.bdd.spec.transactions.file.HapiFileCreate) SequentialID(com.hedera.services.bdd.spec.assertions.SequentialID) ObjIntConsumer(java.util.function.ObjIntConsumer) Supplier(java.util.function.Supplier) Setting(com.hederahashgraph.api.proto.java.Setting) ArrayList(java.util.ArrayList) NewSpecKey(com.hedera.services.bdd.spec.utilops.inventory.NewSpecKey) OptionalLong(java.util.OptionalLong) NodeLivenessTimeout(com.hedera.services.bdd.spec.utilops.pauses.NodeLivenessTimeout) StartThroughputObs(com.hedera.services.bdd.spec.utilops.throughput.StartThroughputObs) DUPLICATE_TRANSACTION(com.hederahashgraph.api.proto.java.ResponseCodeEnum.DUPLICATE_TRANSACTION) RecordSystemProperty(com.hedera.services.bdd.spec.utilops.inventory.RecordSystemProperty) Assertions.assertEquals(org.junit.jupiter.api.Assertions.assertEquals) AccountID(com.hederahashgraph.api.proto.java.AccountID) HapiPropertySource.asAccountString(com.hedera.services.bdd.spec.HapiPropertySource.asAccountString) Properties(java.util.Properties) SysFileSerde(com.hedera.services.bdd.suites.utils.sysfiles.serdes.SysFileSerde) ResponseCodeEnum(com.hederahashgraph.api.proto.java.ResponseCodeEnum) Files(java.nio.file.Files) ADDRESS_BOOK_CONTROL(com.hedera.services.bdd.suites.HapiApiSuite.ADDRESS_BOOK_CONTROL) IOException(java.io.IOException) HapiPropertySource(com.hedera.services.bdd.spec.HapiPropertySource) CustomSpecAssert.allRunFor(com.hedera.services.bdd.spec.utilops.CustomSpecAssert.allRunFor) SpecKeyFromMutation(com.hedera.services.bdd.spec.utilops.inventory.SpecKeyFromMutation) SpecKeyFromLiteral(com.hedera.services.bdd.spec.utilops.inventory.SpecKeyFromLiteral) AtomicLong(java.util.concurrent.atomic.AtomicLong) TxnVerbs.fileCreate(com.hedera.services.bdd.spec.transactions.TxnVerbs.fileCreate) TokenID(com.hederahashgraph.api.proto.java.TokenID) HapiMessageSubmit(com.hedera.services.bdd.spec.transactions.consensus.HapiMessageSubmit) Paths(java.nio.file.Paths) Utils.asAddress(com.hedera.services.bdd.suites.contract.Utils.asAddress) FinishThroughputObs(com.hedera.services.bdd.spec.utilops.throughput.FinishThroughputObs) ContractInfoAsserts.contractWith(com.hedera.services.bdd.spec.assertions.ContractInfoAsserts.contractWith) FREEZE_ABORT(com.hederahashgraph.api.proto.java.FreezeType.FREEZE_ABORT) System.arraycopy(java.lang.System.arraycopy) HapiSpecWaitUntil(com.hedera.services.bdd.spec.utilops.pauses.HapiSpecWaitUntil) EXCHANGE_RATE_CONTROL(com.hedera.services.bdd.suites.HapiApiSuite.EXCHANGE_RATE_CONTROL) TxnVerbs.cryptoTransfer(com.hedera.services.bdd.spec.transactions.TxnVerbs.cryptoTransfer) VerifyGetFastRecordNotSupported(com.hedera.services.bdd.spec.utilops.checks.VerifyGetFastRecordNotSupported) QueryVerbs.getContractInfo(com.hedera.services.bdd.spec.queries.QueryVerbs.getContractInfo) ContractID(com.hederahashgraph.api.proto.java.ContractID) QueryVerbs.getTxnRecord(com.hedera.services.bdd.spec.queries.QueryVerbs.getTxnRecord) TxnUtils.asId(com.hedera.services.bdd.spec.transactions.TxnUtils.asId) VerifyGetTokenNftInfosNotSupported(com.hedera.services.bdd.spec.utilops.checks.VerifyGetTokenNftInfosNotSupported) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) VerifyGetAccountNftInfosNotSupported(com.hedera.services.bdd.spec.utilops.checks.VerifyGetAccountNftInfosNotSupported) OpProvider(com.hedera.services.bdd.spec.infrastructure.OpProvider) ParseException(java.text.ParseException) HapiSpecSleep(com.hedera.services.bdd.spec.utilops.pauses.HapiSpecSleep) APP_PROPERTIES(com.hedera.services.bdd.suites.HapiApiSuite.APP_PROPERTIES) GENESIS(com.hedera.services.bdd.suites.HapiApiSuite.GENESIS) NewSpecKeyList(com.hedera.services.bdd.spec.utilops.inventory.NewSpecKeyList) CurrentAndNextFeeSchedule(com.hederahashgraph.api.proto.java.CurrentAndNextFeeSchedule) UsableTxnId(com.hedera.services.bdd.spec.utilops.inventory.UsableTxnId) Instant(java.time.Instant) Collectors(java.util.stream.Collectors) ONE_HBAR(com.hedera.services.bdd.suites.HapiApiSuite.ONE_HBAR) ByteString(com.google.protobuf.ByteString) List(java.util.List) HapiSpecOperation(com.hedera.services.bdd.spec.HapiSpecOperation) FREEZE_UPGRADE(com.hederahashgraph.api.proto.java.FreezeType.FREEZE_UPGRADE) Optional(java.util.Optional) PREPARE_UPGRADE(com.hederahashgraph.api.proto.java.FreezeType.PREPARE_UPGRADE) VerifyGetStakersNotSupported(com.hedera.services.bdd.spec.utilops.checks.VerifyGetStakersNotSupported) HapiCryptoTransfer(com.hedera.services.bdd.spec.transactions.crypto.HapiCryptoTransfer) HapiFileUpdate(com.hedera.services.bdd.spec.transactions.file.HapiFileUpdate) BYTES_4K(com.hedera.services.bdd.spec.transactions.TxnUtils.BYTES_4K) ONE_HUNDRED_HBARS(com.hedera.services.bdd.suites.HapiApiSuite.ONE_HUNDRED_HBARS) TransactionRecord(com.hederahashgraph.api.proto.java.TransactionRecord) INSUFFICIENT_PAYER_BALANCE(com.hederahashgraph.api.proto.java.ResponseCodeEnum.INSUFFICIENT_PAYER_BALANCE) HashMap(java.util.HashMap) TxnVerbs.fileUpdate(com.hedera.services.bdd.spec.transactions.TxnVerbs.fileUpdate) AtomicReference(java.util.concurrent.atomic.AtomicReference) Function(java.util.function.Function) Tuple(com.esaulpaugh.headlong.abi.Tuple) InBlockingOrder(com.hedera.services.bdd.spec.utilops.grouping.InBlockingOrder) TokenMovement.moving(com.hedera.services.bdd.spec.transactions.token.TokenMovement.moving) HapiApiSuite(com.hedera.services.bdd.suites.HapiApiSuite) TxnVerbs.fileAppend(com.hedera.services.bdd.spec.transactions.TxnVerbs.fileAppend) HCSChunkingRealisticPerfSuite(com.hedera.services.bdd.suites.perf.topic.HCSChunkingRealisticPerfSuite) VerifyGetBySolidityIdNotSupported(com.hedera.services.bdd.spec.utilops.checks.VerifyGetBySolidityIdNotSupported) QueryVerbs.getFileContents(com.hedera.services.bdd.spec.queries.QueryVerbs.getFileContents) SpecKeyFromFile(com.hedera.services.bdd.spec.utilops.inventory.SpecKeyFromFile) FEE_SCHEDULE_FILE_PART_UPLOADED(com.hederahashgraph.api.proto.java.ResponseCodeEnum.FEE_SCHEDULE_FILE_PART_UPLOADED) HapiFileAppend(com.hedera.services.bdd.spec.transactions.file.HapiFileAppend) HapiFreeze(com.hedera.services.bdd.spec.transactions.system.HapiFreeze) TELEMETRY_UPGRADE(com.hederahashgraph.api.proto.java.FreezeType.TELEMETRY_UPGRADE) FeeData(com.hederahashgraph.api.proto.java.FeeData) FileInputStream(java.io.FileInputStream) QueryVerbs.getAccountBalance(com.hedera.services.bdd.spec.queries.QueryVerbs.getAccountBalance) Consumer(java.util.function.Consumer) AbstractMap(java.util.AbstractMap) FEE_SCHEDULE(com.hedera.services.bdd.suites.HapiApiSuite.FEE_SCHEDULE) Assertions(org.junit.jupiter.api.Assertions) TransactionRecordAsserts(com.hedera.services.bdd.spec.assertions.TransactionRecordAsserts) Collections(java.util.Collections) InputStream(java.io.InputStream) HapiPropertySource.asAccountString(com.hedera.services.bdd.spec.HapiPropertySource.asAccountString) ByteString(com.google.protobuf.ByteString)

Aggregations

HapiSpecOperation (com.hedera.services.bdd.spec.HapiSpecOperation)57 HapiApiSpec (com.hedera.services.bdd.spec.HapiApiSpec)48 List (java.util.List)47 LogManager (org.apache.logging.log4j.LogManager)47 Logger (org.apache.logging.log4j.Logger)47 HapiApiSpec.defaultHapiSpec (com.hedera.services.bdd.spec.HapiApiSpec.defaultHapiSpec)37 UtilVerbs.withOpContext (com.hedera.services.bdd.spec.utilops.UtilVerbs.withOpContext)36 AtomicInteger (java.util.concurrent.atomic.AtomicInteger)33 HapiApiSuite (com.hedera.services.bdd.suites.HapiApiSuite)29 Supplier (java.util.function.Supplier)29 TxnVerbs.cryptoCreate (com.hedera.services.bdd.spec.transactions.TxnVerbs.cryptoCreate)28 UtilVerbs.logIt (com.hedera.services.bdd.spec.utilops.UtilVerbs.logIt)27 BUSY (com.hederahashgraph.api.proto.java.ResponseCodeEnum.BUSY)27 PLATFORM_TRANSACTION_NOT_CREATED (com.hederahashgraph.api.proto.java.ResponseCodeEnum.PLATFORM_TRANSACTION_NOT_CREATED)27 PerfTestLoadSettings (com.hedera.services.bdd.suites.perf.PerfTestLoadSettings)26 DUPLICATE_TRANSACTION (com.hederahashgraph.api.proto.java.ResponseCodeEnum.DUPLICATE_TRANSACTION)26 TxnVerbs.cryptoTransfer (com.hedera.services.bdd.spec.transactions.TxnVerbs.cryptoTransfer)24 SUCCESS (com.hederahashgraph.api.proto.java.ResponseCodeEnum.SUCCESS)23 AtomicLong (java.util.concurrent.atomic.AtomicLong)21 TxnVerbs.fileCreate (com.hedera.services.bdd.spec.transactions.TxnVerbs.fileCreate)20