diff --git a/example-apps/swirlds-platform-base-example/src/main/resources/app.properties b/example-apps/swirlds-platform-base-example/src/main/resources/app.properties index 112aeab5fb1d..3431041d9442 100644 --- a/example-apps/swirlds-platform-base-example/src/main/resources/app.properties +++ b/example-apps/swirlds-platform-base-example/src/main/resources/app.properties @@ -1,4 +1,4 @@ base.example.server.port=8000 base.example.server.basePath=/swirlds prometheus.endpointPortNumber=9999 -sale.preferredStockHandling=LIFO \ No newline at end of file +sale.preferredStockHandling=LIFO diff --git a/hedera-node/configuration/dev/bootstrap.properties b/hedera-node/configuration/dev/bootstrap.properties index e96d551ab361..391cc478a4ac 100644 --- a/hedera-node/configuration/dev/bootstrap.properties +++ b/hedera-node/configuration/dev/bootstrap.properties @@ -10,4 +10,4 @@ staking.periodMins=1 staking.fees.nodeRewardPercentage=10 staking.fees.stakingRewardPercentage=10 -contracts.knownBlockHash= \ No newline at end of file +contracts.knownBlockHash= diff --git a/hedera-node/configuration/mainnet/application.properties b/hedera-node/configuration/mainnet/application.properties index 4971c147fc44..0662aa33e122 100644 --- a/hedera-node/configuration/mainnet/application.properties +++ b/hedera-node/configuration/mainnet/application.properties @@ -3,4 +3,4 @@ # hedera-config), this requirement will no longer be valid. # It's used by modular code for property overrides, taking hedera-config/ as the base, # with overrides from this file (configuration/mainnet/application.properties). -ledger.id=0x00 \ No newline at end of file +ledger.id=0x00 diff --git a/hedera-node/configuration/mainnet/bootstrap.properties b/hedera-node/configuration/mainnet/bootstrap.properties index be61b3b074b0..432b7ad28eab 100644 --- a/hedera-node/configuration/mainnet/bootstrap.properties +++ b/hedera-node/configuration/mainnet/bootstrap.properties @@ -3,4 +3,4 @@ # # This file MUST match application.properties exactly as they are both a replica of file 121 on mainnet and # this file is utilized by the mono-service config for property overrides whereas application.properties is utilized as -# an override by the hedera-config base config. \ No newline at end of file +# an override by the hedera-config base config. diff --git a/hedera-node/configuration/mainnet/upgrade/feeSchedules.json b/hedera-node/configuration/mainnet/upgrade/feeSchedules.json index d8eca931ec22..1a0eefe289ba 100644 --- a/hedera-node/configuration/mainnet/upgrade/feeSchedules.json +++ b/hedera-node/configuration/mainnet/upgrade/feeSchedules.json @@ -7258,4 +7258,4 @@ } ] } -] \ No newline at end of file +] diff --git a/hedera-node/configuration/mainnet/upgrade/throttles.json b/hedera-node/configuration/mainnet/upgrade/throttles.json index c3778ce6bbe5..33ddf30cbe76 100644 --- a/hedera-node/configuration/mainnet/upgrade/throttles.json +++ b/hedera-node/configuration/mainnet/upgrade/throttles.json @@ -180,4 +180,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/hedera-node/configuration/preprod/api-permission.properties b/hedera-node/configuration/preprod/api-permission.properties index 74355f9c35ed..43376c092830 100644 --- a/hedera-node/configuration/preprod/api-permission.properties +++ b/hedera-node/configuration/preprod/api-permission.properties @@ -66,4 +66,4 @@ networkGetExecutionTime=2-50 systemDelete=2-59 systemUndelete=2-60 freeze=2-58 -getAccountDetails=2-50 \ No newline at end of file +getAccountDetails=2-50 diff --git a/hedera-node/configuration/preprod/application.properties b/hedera-node/configuration/preprod/application.properties index 8e38cb7bb1d5..0e7e43070b50 100644 --- a/hedera-node/configuration/preprod/application.properties +++ b/hedera-node/configuration/preprod/application.properties @@ -1,2 +1,2 @@ contracts.chainId=298 -entities.unlimitedAutoAssociationsEnabled=true \ No newline at end of file +entities.unlimitedAutoAssociationsEnabled=true diff --git a/hedera-node/configuration/preprod/bootstrap.properties b/hedera-node/configuration/preprod/bootstrap.properties index e19018e03188..9e986e1919b1 100644 --- a/hedera-node/configuration/preprod/bootstrap.properties +++ b/hedera-node/configuration/preprod/bootstrap.properties @@ -3,4 +3,4 @@ bootstrap.throttleDefsJson.resource=genesis/throttles.json accounts.blocklist.enabled=false accounts.blocklist.path= -contracts.knownBlockHash= \ No newline at end of file +contracts.knownBlockHash= diff --git a/hedera-node/configuration/previewnet/bootstrap.properties b/hedera-node/configuration/previewnet/bootstrap.properties index 96c73cde099f..13797d13fbf8 100644 --- a/hedera-node/configuration/previewnet/bootstrap.properties +++ b/hedera-node/configuration/previewnet/bootstrap.properties @@ -6,4 +6,4 @@ accounts.blocklist.path= contracts.evm.version.dynamic=true contracts.maxNumWithHapiSigsAccess=0 -contracts.knownBlockHash= \ No newline at end of file +contracts.knownBlockHash= diff --git a/hedera-node/configuration/testnet/api-permission.properties b/hedera-node/configuration/testnet/api-permission.properties index 1d87e1a2f4db..8a33c31d4bb1 100644 --- a/hedera-node/configuration/testnet/api-permission.properties +++ b/hedera-node/configuration/testnet/api-permission.properties @@ -67,4 +67,4 @@ systemUndelete=2-60 freeze=2-58 getAccountDetails=2-50 # Util -utilPrng=0-* \ No newline at end of file +utilPrng=0-* diff --git a/hedera-node/configuration/testnet/bootstrap.properties b/hedera-node/configuration/testnet/bootstrap.properties index e564d98a68c7..017d695f584c 100644 --- a/hedera-node/configuration/testnet/bootstrap.properties +++ b/hedera-node/configuration/testnet/bootstrap.properties @@ -13,4 +13,4 @@ ledger.id=0x01 contracts.chainId=296 bootstrap.genesisPublicKey=e06b22e0966108fa5d63fc6ae53f9824319b891cd4d6050dbf2b242be7e13344 -contracts.knownBlockHash= \ No newline at end of file +contracts.knownBlockHash= diff --git a/hedera-node/configuration/testnet/upgrade/feeSchedules.json b/hedera-node/configuration/testnet/upgrade/feeSchedules.json index 761fee1aa6a4..aae5dc7d1bdd 100644 --- a/hedera-node/configuration/testnet/upgrade/feeSchedules.json +++ b/hedera-node/configuration/testnet/upgrade/feeSchedules.json @@ -6852,4 +6852,4 @@ { "expiryTime" : 1633392000 } ] -} ] \ No newline at end of file +} ] diff --git a/hedera-node/configuration/testnet/upgrade/throttles.json b/hedera-node/configuration/testnet/upgrade/throttles.json index c3778ce6bbe5..33ddf30cbe76 100644 --- a/hedera-node/configuration/testnet/upgrade/throttles.json +++ b/hedera-node/configuration/testnet/upgrade/throttles.json @@ -180,4 +180,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/hedera-node/data/config/application.properties b/hedera-node/data/config/application.properties index 6164bb5f6a0a..b875911737c7 100644 --- a/hedera-node/data/config/application.properties +++ b/hedera-node/data/config/application.properties @@ -13,4 +13,4 @@ tokens.nfts.useVirtualMerkle=true records.useConsolidatedFcq=true cache.cryptoTransfer.warmThreads=30 contracts.maxNumWithHapiSigsAccess=0 -tokens.balancesInQueries.enabled=true \ No newline at end of file +tokens.balancesInQueries.enabled=true diff --git a/hedera-node/data/config/genesis.properties b/hedera-node/data/config/genesis.properties index 6eb28390c65d..f6424588844b 100644 --- a/hedera-node/data/config/genesis.properties +++ b/hedera-node/data/config/genesis.properties @@ -16,4 +16,4 @@ # # This file is needed for JRS tests of the configuration and should not be deleted until we can change it to look # for the file in a different location -bar.test=genesis \ No newline at end of file +bar.test=genesis diff --git a/hedera-node/hedera-app/data/config/application.properties b/hedera-node/hedera-app/data/config/application.properties index 61c62433b8fe..e944657dfe4b 100644 --- a/hedera-node/hedera-app/data/config/application.properties +++ b/hedera-node/hedera-app/data/config/application.properties @@ -16,4 +16,4 @@ # # This file is needed for unit tests of the configuration and should not be deleted! foo.test=123 -bar.test=456 \ No newline at end of file +bar.test=456 diff --git a/hedera-node/hedera-app/data/config/genesis.properties b/hedera-node/hedera-app/data/config/genesis.properties index 04c9905bd05d..bd4cad6ee688 100644 --- a/hedera-node/hedera-app/data/config/genesis.properties +++ b/hedera-node/hedera-app/data/config/genesis.properties @@ -15,4 +15,4 @@ # # # This file is needed for unit tests of the configuration and should not be deleted! -bar.test=genesis \ No newline at end of file +bar.test=genesis diff --git a/hedera-node/hedera-app/for-test/application.properties.test b/hedera-node/hedera-app/for-test/application.properties.test index 3ffe9ffdfe63..87a855e56105 100644 --- a/hedera-node/hedera-app/for-test/application.properties.test +++ b/hedera-node/hedera-app/for-test/application.properties.test @@ -17,4 +17,4 @@ # This file is needed for unit tests of the configuration and should not be deleted! foo.test=123Test -bar.test=456Test \ No newline at end of file +bar.test=456Test diff --git a/hedera-node/hedera-app/for-test/genesis.properties.test b/hedera-node/hedera-app/for-test/genesis.properties.test index 2830b5d42d6d..d0ced4d5cc99 100644 --- a/hedera-node/hedera-app/for-test/genesis.properties.test +++ b/hedera-node/hedera-app/for-test/genesis.properties.test @@ -16,4 +16,4 @@ # # This file is needed for unit tests of the configuration and should not be deleted! -bar.test=genesisTest \ No newline at end of file +bar.test=genesisTest diff --git a/hedera-node/hedera-config/src/test/resources/bootstrap.properties b/hedera-node/hedera-config/src/test/resources/bootstrap.properties index 1c6a1a9e8f5b..efc73add7dd8 100644 --- a/hedera-node/hedera-config/src/test/resources/bootstrap.properties +++ b/hedera-node/hedera-config/src/test/resources/bootstrap.properties @@ -1 +1 @@ -a=b \ No newline at end of file +a=b diff --git a/hedera-node/hedera-token-service-impl/src/main/java/com/hedera/node/app/service/token/impl/handlers/TokenRejectHandler.java b/hedera-node/hedera-token-service-impl/src/main/java/com/hedera/node/app/service/token/impl/handlers/TokenRejectHandler.java index 6f203eec4cf4..770f834027a5 100644 --- a/hedera-node/hedera-token-service-impl/src/main/java/com/hedera/node/app/service/token/impl/handlers/TokenRejectHandler.java +++ b/hedera-node/hedera-token-service-impl/src/main/java/com/hedera/node/app/service/token/impl/handlers/TokenRejectHandler.java @@ -72,7 +72,6 @@ import com.hedera.node.app.spi.workflows.PreHandleContext; import com.hedera.node.app.spi.workflows.TransactionHandler; import com.hedera.node.config.data.FeesConfig; -import com.hedera.node.config.data.HederaConfig; import com.hedera.node.config.data.LedgerConfig; import com.hedera.node.config.data.TokensConfig; import com.swirlds.base.utility.Pair; @@ -80,7 +79,6 @@ import java.util.ArrayList; import java.util.HashSet; import java.util.List; -import java.util.Objects; import java.util.stream.Collectors; import javax.inject.Inject; import javax.inject.Singleton; @@ -172,7 +170,6 @@ public void handle(@NonNull final HandleContext context) throws HandleException final var rejectingAccountID = op.ownerOrElse(context.payer()); final var rejections = op.rejections(); - final var hederaConfig = context.configuration().getConfigData(HederaConfig.class); final var ledgerConfig = context.configuration().getConfigData(LedgerConfig.class); final var tokensConfig = context.configuration().getConfigData(TokensConfig.class); validateTrue(tokensConfig.tokenRejectEnabled(), NOT_SUPPORTED); @@ -186,18 +183,12 @@ public void handle(@NonNull final HandleContext context) throws HandleException final var processedRejectTransfers = processRejectionsForTransfer(rejections, context, rejectingAccount); // Apply all changes to the handleContext's states by performing the transfer to the treasuries + // Allowances will not be affected with the token reject final var transferContext = new TransferContextImpl(context); final var fungibleTokensStep = new AdjustFungibleTokenChangesStep(processedRejectTransfers, context.payer()); final var nftOwnersChangeStep = new NFTOwnersChangeStep(processedRejectTransfers, context.payer()); fungibleTokensStep.doIn(transferContext); nftOwnersChangeStep.doIn(transferContext); - - // Update the token allowances - if (hederaConfig.allowancesIsEnabled()) { - final var nftStore = context.storeFactory().writableStore(WritableNftStore.class); - updateFungibleAllowances(rejectingAccount, rejections, accountStore); - updateNFTAllowances(rejections, nftStore); - } } /** @@ -290,49 +281,6 @@ private TokenTransferList processFungibleTokenRejection( return createFungibleTransfer(tokenId, accountID, tokenRelation.balance(), token.treasuryAccountId()); } - /** - * Updates the NFT allowances in the state after the token transfers have been processed, - * by setting the spender to null. - * - * @param tokenReferences The list of tokens that were rejected. - * @param nftStore The store to access writable NFT information. - */ - private void updateNFTAllowances( - @NonNull final List tokenReferences, @NonNull final WritableNftStore nftStore) { - tokenReferences.stream() - .filter(TokenReference::hasNft) - .map(reference -> getIfUsable(reference.nftOrThrow(), nftStore)) - .forEach(nft -> { - if (nft.hasSpenderId()) { - nftStore.put( - nft.copyBuilder().spenderId((AccountID) null).build()); - } - }); - } - - /** - * Updates the fungible token allowances in the state after the token transfers to the treasuries have been processed. - * - * @param rejectingAccount The account rejecting the tokens. - * @param tokenReferences The list of tokens that were rejected. - * @param accountStore The store to access writable account information. - */ - private void updateFungibleAllowances( - @NonNull final Account rejectingAccount, - @NonNull final List tokenReferences, - @NonNull final WritableAccountStore accountStore) { - final var updatedFungibleTokenAllowances = new ArrayList<>(rejectingAccount.tokenAllowances()); - updatedFungibleTokenAllowances.removeIf(allowance -> tokenReferences.stream() - .filter(TokenReference::hasFungibleToken) - .anyMatch(fungibleToken -> Objects.equals(fungibleToken.fungibleToken(), allowance.tokenId()))); - - final var updatedAccount = rejectingAccount - .copyBuilder() - .tokenAllowances(updatedFungibleTokenAllowances) - .build(); - accountStore.put(updatedAccount); - } - @NonNull @Override public Fees calculateFees(final FeeContext feeContext) { diff --git a/hedera-node/test-clients/config/umbrellaTest-Crypto.properties b/hedera-node/test-clients/config/umbrellaTest-Crypto.properties index 91e7523d21ce..85b88ee32e7c 100644 --- a/hedera-node/test-clients/config/umbrellaTest-Crypto.properties +++ b/hedera-node/test-clients/config/umbrellaTest-Crypto.properties @@ -82,4 +82,4 @@ transactionBodyFormat=Random # # ## flag whether or not to use system accounts (i.e. account number under 100 excluding genesis and node accounts) -useSystemAccountAsPayer=false \ No newline at end of file +useSystemAccountAsPayer=false diff --git a/hedera-node/test-clients/config/umbrellaTest.properties.alt1k b/hedera-node/test-clients/config/umbrellaTest.properties.alt1k index f1ea8f37802b..f461fe7e78d8 100644 --- a/hedera-node/test-clients/config/umbrellaTest.properties.alt1k +++ b/hedera-node/test-clients/config/umbrellaTest.properties.alt1k @@ -82,4 +82,4 @@ transactionBodyFormat=Random # # ## flag whether or not to use system accounts (i.e. account number under 100 excluding genesis and node accounts) -useSystemAccountAsPayer=false \ No newline at end of file +useSystemAccountAsPayer=false diff --git a/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/suites/contract/precompile/TokenRejectSuite.java b/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/suites/contract/precompile/TokenRejectSuite.java index a60bf2d1d8f4..3d74ba5a688a 100644 --- a/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/suites/contract/precompile/TokenRejectSuite.java +++ b/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/suites/contract/precompile/TokenRejectSuite.java @@ -19,12 +19,9 @@ import static com.google.protobuf.ByteString.copyFromUtf8; import static com.hedera.services.bdd.junit.TestTags.TOKEN; import static com.hedera.services.bdd.spec.HapiSpec.defaultHapiSpec; -import static com.hedera.services.bdd.spec.assertions.AccountDetailsAsserts.accountDetailsWith; import static com.hedera.services.bdd.spec.queries.QueryVerbs.getAccountBalance; -import static com.hedera.services.bdd.spec.queries.QueryVerbs.getAccountDetails; import static com.hedera.services.bdd.spec.queries.QueryVerbs.getTokenNftInfo; import static com.hedera.services.bdd.spec.queries.QueryVerbs.getTxnRecord; -import static com.hedera.services.bdd.spec.transactions.TxnVerbs.cryptoApproveAllowance; import static com.hedera.services.bdd.spec.transactions.TxnVerbs.cryptoCreate; import static com.hedera.services.bdd.spec.transactions.TxnVerbs.cryptoTransfer; import static com.hedera.services.bdd.spec.transactions.TxnVerbs.mintToken; @@ -42,13 +39,9 @@ import static com.hedera.services.bdd.spec.transactions.token.HapiTokenReject.rejectingToken; import static com.hedera.services.bdd.spec.transactions.token.TokenMovement.moving; import static com.hedera.services.bdd.spec.transactions.token.TokenMovement.movingUnique; -import static com.hedera.services.bdd.spec.transactions.token.TokenMovement.movingWithAllowance; import static com.hedera.services.bdd.spec.utilops.CustomSpecAssert.allRunFor; import static com.hedera.services.bdd.spec.utilops.UtilVerbs.newKeyNamed; import static com.hedera.services.bdd.spec.utilops.UtilVerbs.withOpContext; -import static com.hedera.services.bdd.suites.HapiSuite.DEFAULT_PAYER; -import static com.hedera.services.bdd.suites.HapiSuite.GENESIS; -import static com.hedera.services.bdd.suites.HapiSuite.ONE_HBAR; import static com.hedera.services.bdd.suites.HapiSuite.ONE_HUNDRED_HBARS; import static com.hedera.services.bdd.suites.HapiSuite.ONE_MILLION_HBARS; import static com.hederahashgraph.api.proto.java.ResponseCodeEnum.ACCOUNT_AMOUNT_TRANSFERS_ONLY_ALLOWED_FOR_FUNGIBLE_COMMON; @@ -60,7 +53,6 @@ import static com.hederahashgraph.api.proto.java.ResponseCodeEnum.INVALID_NFT_ID; import static com.hederahashgraph.api.proto.java.ResponseCodeEnum.INVALID_OWNER_ID; import static com.hederahashgraph.api.proto.java.ResponseCodeEnum.INVALID_SIGNATURE; -import static com.hederahashgraph.api.proto.java.ResponseCodeEnum.SPENDER_DOES_NOT_HAVE_ALLOWANCE; import static com.hederahashgraph.api.proto.java.ResponseCodeEnum.TOKEN_IS_PAUSED; import static com.hederahashgraph.api.proto.java.ResponseCodeEnum.TOKEN_NOT_ASSOCIATED_TO_ACCOUNT; import static com.hederahashgraph.api.proto.java.ResponseCodeEnum.TOKEN_REFERENCE_REPEATED; @@ -213,84 +205,6 @@ final Stream tokenRejectWorksWithFungibleAndNFTTokens() { getAccountBalance(TOKEN_TREASURY).logged().hasTokenBalance(FUNGIBLE_TOKEN_A, 1000L)); } - @HapiTest - final Stream tokenRejectWorksWithFungibleAndNFTTokensAndRemovesAllowancesCorrectly() { - return defaultHapiSpec("tokenRejectWorksWithFungibleAndNFTTokensAndRemovesAllowances") - .given( - newKeyNamed(MULTI_KEY), - cryptoCreate(ACCOUNT).balance(ONE_HUNDRED_HBARS).maxAutomaticTokenAssociations(3), - cryptoCreate(ACCOUNT_1).maxAutomaticTokenAssociations(3), - cryptoCreate(SPENDER).balance(ONE_HUNDRED_HBARS).maxAutomaticTokenAssociations(3), - cryptoCreate(TOKEN_TREASURY), - tokenCreate(FUNGIBLE_TOKEN_A) - .initialSupply(TOTAL_SUPPLY) - .adminKey(MULTI_KEY) - .supplyKey(MULTI_KEY) - .treasury(TOKEN_TREASURY), - tokenCreate(NON_FUNGIBLE_TOKEN_B) - .initialSupply(0) - .adminKey(MULTI_KEY) - .supplyKey(MULTI_KEY) - .treasury(TOKEN_TREASURY) - .tokenType(TokenType.NON_FUNGIBLE_UNIQUE), - tokenAssociate(ACCOUNT, FUNGIBLE_TOKEN_A, NON_FUNGIBLE_TOKEN_B), - mintToken(NON_FUNGIBLE_TOKEN_B, List.of(copyFromUtf8("memo"), copyFromUtf8("memo"))), - cryptoTransfer( - moving(250L, FUNGIBLE_TOKEN_A).between(TOKEN_TREASURY, ACCOUNT), - movingUnique(NON_FUNGIBLE_TOKEN_B, 1L, 2L).between(TOKEN_TREASURY, ACCOUNT)), - cryptoApproveAllowance() - .payingWith(DEFAULT_PAYER) - .addTokenAllowance(ACCOUNT, FUNGIBLE_TOKEN_A, SPENDER, 200L) - .addTokenAllowance(TOKEN_TREASURY, FUNGIBLE_TOKEN_A, ACCOUNT, 50L) - .signedBy(DEFAULT_PAYER, ACCOUNT, SPENDER, TOKEN_TREASURY) - .fee(ONE_HBAR), - // Verify Account's allowance works and exists: - cryptoTransfer(movingWithAllowance(50, FUNGIBLE_TOKEN_A).between(ACCOUNT, ACCOUNT_1)) - .payingWith(SPENDER) - .signedBy(SPENDER), - getAccountDetails(ACCOUNT) - .payingWith(GENESIS) - .logged() - .has(accountDetailsWith().tokenAllowancesContaining(FUNGIBLE_TOKEN_A, SPENDER, 150))) - .when(withOpContext((spec, opLog) -> allRunFor( - spec, - // Try rejecting only when having allowance, without balance - tokenAssociate(SPENDER, FUNGIBLE_TOKEN_A), - tokenReject(SPENDER, rejectingToken(FUNGIBLE_TOKEN_A)) - .hasKnownStatus(INSUFFICIENT_TOKEN_BALANCE), - tokenReject( - ACCOUNT, - rejectingToken(FUNGIBLE_TOKEN_A), - rejectingNFT(NON_FUNGIBLE_TOKEN_B, 1L), - rejectingNFT(NON_FUNGIBLE_TOKEN_B, 2L)) - .via("tokenRejectRemovesAllowance"), - // Verify Spender's allowance is removed: - cryptoTransfer(movingWithAllowance(50, FUNGIBLE_TOKEN_A).between(ACCOUNT, ACCOUNT_1)) - .payingWith(ACCOUNT) - .signedBy(ACCOUNT) - .hasKnownStatus(SPENDER_DOES_NOT_HAVE_ALLOWANCE)))) - .then( - getTxnRecord("tokenRejectRemovesAllowance") - .andAllChildRecords() - .logged(), - getTokenNftInfo(NON_FUNGIBLE_TOKEN_B, 1L) - .hasAccountID(TOKEN_TREASURY) - .hasNoSpender(), - getTokenNftInfo(NON_FUNGIBLE_TOKEN_B, 2L) - .hasAccountID(TOKEN_TREASURY) - .hasNoSpender(), - getAccountBalance(ACCOUNT).logged().hasTokenBalance(FUNGIBLE_TOKEN_A, 0L), - getAccountDetails(ACCOUNT) - .payingWith(GENESIS) - .logged() - .has(accountDetailsWith().noAllowances()), - getAccountDetails(TOKEN_TREASURY) - .payingWith(GENESIS) - .logged() - .has(accountDetailsWith().tokenAllowancesContaining(FUNGIBLE_TOKEN_A, ACCOUNT, 50)), - getAccountBalance(TOKEN_TREASURY).logged().hasTokenBalance(FUNGIBLE_TOKEN_A, 950L)); - } - @HapiTest final Stream tokenRejectCasesWhileFreezeOrPausedOrSigRequired() { return defaultHapiSpec("tokenRejectWorksWhileFreezeOrPausedOrSigRequired") diff --git a/hedera-node/test-clients/src/main/resource/contract/contracts/GlobalProperties/GlobalProperties.json b/hedera-node/test-clients/src/main/resource/contract/contracts/GlobalProperties/GlobalProperties.json index 94db6e99851b..d00a90254e0f 100644 --- a/hedera-node/test-clients/src/main/resource/contract/contracts/GlobalProperties/GlobalProperties.json +++ b/hedera-node/test-clients/src/main/resource/contract/contracts/GlobalProperties/GlobalProperties.json @@ -51,4 +51,4 @@ "stateMutability": "view", "type": "function" } -] \ No newline at end of file +] diff --git a/hedera-node/test-clients/src/main/resource/eet-config/hollow-account-fuzzing.properties b/hedera-node/test-clients/src/main/resource/eet-config/hollow-account-fuzzing.properties index 002843d33618..2336f6ff1ad3 100644 --- a/hedera-node/test-clients/src/main/resource/eet-config/hollow-account-fuzzing.properties +++ b/hedera-node/test-clients/src/main/resource/eet-config/hollow-account-fuzzing.properties @@ -14,4 +14,4 @@ randomTransferFromHollowAccount.bias=10 randomAccountUpdate.bias=10 randomContract.bias=1 randomContract.ceilingNum=50 -randomContractDeletion.bias=10 \ No newline at end of file +randomContractDeletion.bias=10 diff --git a/hedera-node/test-clients/src/main/resource/eet-config/id-fuzzing.properties b/hedera-node/test-clients/src/main/resource/eet-config/id-fuzzing.properties index b934712cbd2a..1cde8edb8414 100644 --- a/hedera-node/test-clients/src/main/resource/eet-config/id-fuzzing.properties +++ b/hedera-node/test-clients/src/main/resource/eet-config/id-fuzzing.properties @@ -7,4 +7,4 @@ randomAccount.bias=60 randomAccount.ceilingNum=100 randomAccountUpdate.bias=30 randomTransfer.bias=100 -randomEthereumTransactionTransfer.bias=100 \ No newline at end of file +randomEthereumTransactionTransfer.bias=100