Search in sources :

Example 1 with TransactionSignature

use of com.swirlds.common.crypto.TransactionSignature in project hedera-services by hashgraph.

the class RationalizationTest method resetWorks.

@Test
void resetWorks() {
    given(txnAccessor.getPlatformTxn()).willReturn(swirldsTxn);
    final List<TransactionSignature> mockSigs = new ArrayList<>();
    final JKey fake = new JEd25519Key("FAKE".getBytes(StandardCharsets.UTF_8));
    subject = new Rationalization(syncVerifier, keyOrderer, sigFactory);
    given(txnAccessor.getPkToSigsFn()).willReturn(pkToSigFn);
    given(swirldsTxn.getSignatures()).willReturn(mockSigs);
    // and:
    subject.getRealPayerSigs().add(null);
    subject.getRealOtherPartySigs().add(null);
    subject.setReqPayerSig(fake);
    subject.setReqOthersSigs(List.of(fake));
    subject.setLastOrderResult(CODE_ORDER_RESULT_FACTORY.forGeneralError());
    subject.setFinalStatus(INVALID_ACCOUNT_ID);
    subject.setVerifiedSync(true);
    // when:
    subject.resetFor(txnAccessor);
    // then:
    assertSame(txnAccessor, subject.getTxnAccessor());
    assertSame(syncVerifier, subject.getSyncVerifier());
    assertSame(keyOrderer, subject.getSigReqs());
    assertSame(pkToSigFn, subject.getPkToSigFn());
    assertSame(mockSigs, subject.getTxnSigs());
    // and:
    assertTrue(subject.getRealPayerSigs().isEmpty());
    assertTrue(subject.getRealOtherPartySigs().isEmpty());
    // and:
    assertFalse(subject.usedSyncVerification());
    assertNull(subject.finalStatus());
    assertNull(subject.getReqPayerSig());
    assertNull(subject.getReqOthersSigs());
    assertNull(subject.getLastOrderResult());
    // and:
    verify(sigFactory).resetFor(txnAccessor);
    verify(pkToSigFn).resetAllSigsToUnused();
}
Also used : JKey(com.hedera.services.legacy.core.jproto.JKey) ArrayList(java.util.ArrayList) TransactionSignature(com.swirlds.common.crypto.TransactionSignature) JEd25519Key(com.hedera.services.legacy.core.jproto.JEd25519Key) Test(org.junit.jupiter.api.Test)

Example 2 with TransactionSignature

use of com.swirlds.common.crypto.TransactionSignature in project hedera-services by hashgraph.

the class SigOpsRegressionTest method otherPartySigsAreActive.

static boolean otherPartySigsAreActive(PlatformTxnAccessor accessor, SigRequirements keyOrder, SigningOrderResultFactory<ResponseCodeEnum> summaryFactory, KeyActivationCharacteristics characteristics) {
    TransactionBody txn = accessor.getTxn();
    Function<byte[], TransactionSignature> sigsFn = HederaKeyActivation.pkToSigMapFrom(accessor.getPlatformTxn().getSignatures());
    final var othersResult = keyOrder.keysForOtherParties(txn, summaryFactory);
    for (JKey otherKey : othersResult.getOrderedKeys()) {
        if (!HederaKeyActivation.isActive(otherKey, sigsFn, HederaKeyActivation.ONLY_IF_SIG_IS_VALID, characteristics)) {
            return false;
        }
    }
    return true;
}
Also used : TransactionBody(com.hederahashgraph.api.proto.java.TransactionBody) JKey(com.hedera.services.legacy.core.jproto.JKey) TransactionSignature(com.swirlds.common.crypto.TransactionSignature)

Example 3 with TransactionSignature

use of com.swirlds.common.crypto.TransactionSignature in project hedera-services by hashgraph.

the class SigOpsRegressionTest method invokePayerSigActivationScenario.

private boolean invokePayerSigActivationScenario(List<TransactionSignature> knownSigs) {
    SigRequirements keysOrder = new SigRequirements(defaultLookupsFor(aliasManager, null, () -> accounts, () -> null, ref -> null, ref -> null), mockSignatureWaivers);
    final var impliedOrdering = keysOrder.keysForPayer(platformTxn.getTxn(), CODE_ORDER_RESULT_FACTORY);
    final var impliedKey = impliedOrdering.getPayerKey();
    platformTxn.setSigMeta(RationalizedSigMeta.forPayerOnly(impliedKey, new ArrayList<>(knownSigs)));
    return payerSigIsActive(platformTxn, ONLY_IF_SIG_IS_VALID);
}
Also used : OK(com.hederahashgraph.api.proto.java.ResponseCodeEnum.OK) MiscUtils.asKeyUnchecked(com.hedera.services.utils.MiscUtils.asKeyUnchecked) COMPLEX_KEY_ACCOUNT_KT(com.hedera.test.factories.scenarios.CryptoCreateScenarios.COMPLEX_KEY_ACCOUNT_KT) ONLY_IF_SIG_IS_VALID(com.hedera.services.keys.HederaKeyActivation.ONLY_IF_SIG_IS_VALID) SigRequirements(com.hedera.services.sigs.order.SigRequirements) HfsSigMetaLookup(com.hedera.services.sigs.metadata.lookups.HfsSigMetaLookup) CryptoEngine(com.swirlds.common.crypto.engine.CryptoEngine) SigWrappers.asValid(com.hedera.test.factories.sigs.SigWrappers.asValid) MerkleAccount(com.hedera.services.state.merkle.MerkleAccount) MerkleMap(com.swirlds.merkle.map.MerkleMap) CODE_ORDER_RESULT_FACTORY(com.hedera.services.sigs.order.CodeOrderResultFactory.CODE_ORDER_RESULT_FACTORY) EntityNum(com.hedera.services.utils.EntityNum) Assertions.assertFalse(org.junit.jupiter.api.Assertions.assertFalse) CRYPTO_UPDATE_COMPLEX_KEY_ACCOUNT_ADD_NEW_KEY_SCENARIO(com.hedera.test.factories.scenarios.CryptoUpdateScenarios.CRYPTO_UPDATE_COMPLEX_KEY_ACCOUNT_ADD_NEW_KEY_SCENARIO) PlatformTxnAccessor(com.hedera.services.utils.PlatformTxnAccessor) INVALID(com.swirlds.common.crypto.VerificationStatus.INVALID) SigningOrderResultFactory(com.hedera.services.sigs.order.SigningOrderResultFactory) Predicate(java.util.function.Predicate) CRYPTO_CREATE_RECEIVER_SIG_SCENARIO(com.hedera.test.factories.scenarios.CryptoCreateScenarios.CRYPTO_CREATE_RECEIVER_SIG_SCENARIO) PojoSigMapPubKeyToSigBytes(com.hedera.services.sigs.sourcing.PojoSigMapPubKeyToSigBytes) VerificationStatus(com.swirlds.common.crypto.VerificationStatus) RationalizedSigMeta(com.hedera.services.utils.RationalizedSigMeta) Test(org.junit.jupiter.api.Test) List(java.util.List) MiscRunningAvgs(com.hedera.services.stats.MiscRunningAvgs) DelegatingSigMetadataLookup.defaultLookupsFor(com.hedera.services.sigs.metadata.DelegatingSigMetadataLookup.defaultLookupsFor) JKey(com.hedera.services.legacy.core.jproto.JKey) SignatureWaivers(com.hedera.services.sigs.order.SignatureWaivers) Assertions.assertTrue(org.junit.jupiter.api.Assertions.assertTrue) SyncVerifier(com.hedera.services.sigs.verification.SyncVerifier) PolicyBasedSigWaivers(com.hedera.services.sigs.order.PolicyBasedSigWaivers) MiscSpeedometers(com.hedera.services.stats.MiscSpeedometers) EntityNumbers(com.hedera.services.config.EntityNumbers) KeyActivationCharacteristics(com.hedera.services.keys.KeyActivationCharacteristics) NEW_ACCOUNT_KT(com.hedera.test.factories.scenarios.CryptoCreateScenarios.NEW_ACCOUNT_KT) FileNumbers(com.hedera.services.config.FileNumbers) HederaKeyActivation(com.hedera.services.keys.HederaKeyActivation) SystemOpPolicies(com.hedera.services.txns.auth.SystemOpPolicies) Function(java.util.function.Function) ArrayList(java.util.ArrayList) TransactionBody(com.hederahashgraph.api.proto.java.TransactionBody) DEFAULT_ACTIVATION_CHARACTERISTICS(com.hedera.services.keys.DefaultActivationCharacteristics.DEFAULT_ACTIVATION_CHARACTERISTICS) CRYPTO_CREATE_COMPLEX_PAYER_RECEIVER_SIG_SCENARIO(com.hedera.test.factories.scenarios.CryptoCreateScenarios.CRYPTO_CREATE_COMPLEX_PAYER_RECEIVER_SIG_SCENARIO) DEFAULT_PAYER_KT(com.hedera.test.factories.txns.SignedTxnFactory.DEFAULT_PAYER_KT) Assertions.assertEquals(org.junit.jupiter.api.Assertions.assertEquals) SigningOrderResult(com.hedera.services.sigs.order.SigningOrderResult) HederaToPlatformSigOps.expandIn(com.hedera.services.sigs.HederaToPlatformSigOps.expandIn) TxnHandlingScenario(com.hedera.test.factories.scenarios.TxnHandlingScenario) CryptoCreateFactory(com.hedera.test.factories.txns.CryptoCreateFactory) SigWrappers.asKind(com.hedera.test.factories.sigs.SigWrappers.asKind) ReusableBodySigningFactory(com.hedera.services.sigs.factories.ReusableBodySigningFactory) CRYPTO_UPDATE_COMPLEX_KEY_ACCOUNT_SCENARIO(com.hedera.test.factories.scenarios.CryptoUpdateScenarios.CRYPTO_UPDATE_COMPLEX_KEY_ACCOUNT_SCENARIO) ResponseCodeEnum(com.hederahashgraph.api.proto.java.ResponseCodeEnum) VALID(com.swirlds.common.crypto.VerificationStatus.VALID) MockEntityNumbers(com.hedera.services.config.MockEntityNumbers) HederaFs(com.hedera.services.files.HederaFs) TransactionSignature(com.swirlds.common.crypto.TransactionSignature) HederaKeyActivation.payerSigIsActive(com.hedera.services.keys.HederaKeyActivation.payerSigIsActive) AbstractMap(java.util.AbstractMap) INVALID_PAYER_ID_SCENARIO(com.hedera.test.factories.scenarios.BadPayerScenarios.INVALID_PAYER_ID_SCENARIO) BDDMockito.mock(org.mockito.BDDMockito.mock) SigMetadataLookup(com.hedera.services.sigs.metadata.SigMetadataLookup) MockFileNumbers(com.hedera.services.config.MockFileNumbers) CRYPTO_UPDATE_MISSING_ACCOUNT_SCENARIO(com.hedera.test.factories.scenarios.CryptoUpdateScenarios.CRYPTO_UPDATE_MISSING_ACCOUNT_SCENARIO) AliasManager(com.hedera.services.ledger.accounts.AliasManager) SigRequirements(com.hedera.services.sigs.order.SigRequirements) ArrayList(java.util.ArrayList)

Example 4 with TransactionSignature

use of com.swirlds.common.crypto.TransactionSignature in project hedera-services by hashgraph.

the class SigOpsRegressionTest method invokeOtherPartySigActivationScenario.

private boolean invokeOtherPartySigActivationScenario(List<TransactionSignature> knownSigs) {
    platformTxn.getPlatformTxn().clear();
    platformTxn.getPlatformTxn().addAll(knownSigs.toArray(new TransactionSignature[0]));
    final var hfsSigMetaLookup = new HfsSigMetaLookup(hfs, fileNumbers);
    SigRequirements keysOrder = new SigRequirements(defaultLookupsFor(aliasManager, hfsSigMetaLookup, () -> accounts, null, ref -> null, ref -> null), mockSignatureWaivers);
    return otherPartySigsAreActive(platformTxn, keysOrder, CODE_ORDER_RESULT_FACTORY);
}
Also used : OK(com.hederahashgraph.api.proto.java.ResponseCodeEnum.OK) MiscUtils.asKeyUnchecked(com.hedera.services.utils.MiscUtils.asKeyUnchecked) COMPLEX_KEY_ACCOUNT_KT(com.hedera.test.factories.scenarios.CryptoCreateScenarios.COMPLEX_KEY_ACCOUNT_KT) ONLY_IF_SIG_IS_VALID(com.hedera.services.keys.HederaKeyActivation.ONLY_IF_SIG_IS_VALID) SigRequirements(com.hedera.services.sigs.order.SigRequirements) HfsSigMetaLookup(com.hedera.services.sigs.metadata.lookups.HfsSigMetaLookup) CryptoEngine(com.swirlds.common.crypto.engine.CryptoEngine) SigWrappers.asValid(com.hedera.test.factories.sigs.SigWrappers.asValid) MerkleAccount(com.hedera.services.state.merkle.MerkleAccount) MerkleMap(com.swirlds.merkle.map.MerkleMap) CODE_ORDER_RESULT_FACTORY(com.hedera.services.sigs.order.CodeOrderResultFactory.CODE_ORDER_RESULT_FACTORY) EntityNum(com.hedera.services.utils.EntityNum) Assertions.assertFalse(org.junit.jupiter.api.Assertions.assertFalse) CRYPTO_UPDATE_COMPLEX_KEY_ACCOUNT_ADD_NEW_KEY_SCENARIO(com.hedera.test.factories.scenarios.CryptoUpdateScenarios.CRYPTO_UPDATE_COMPLEX_KEY_ACCOUNT_ADD_NEW_KEY_SCENARIO) PlatformTxnAccessor(com.hedera.services.utils.PlatformTxnAccessor) INVALID(com.swirlds.common.crypto.VerificationStatus.INVALID) SigningOrderResultFactory(com.hedera.services.sigs.order.SigningOrderResultFactory) Predicate(java.util.function.Predicate) CRYPTO_CREATE_RECEIVER_SIG_SCENARIO(com.hedera.test.factories.scenarios.CryptoCreateScenarios.CRYPTO_CREATE_RECEIVER_SIG_SCENARIO) PojoSigMapPubKeyToSigBytes(com.hedera.services.sigs.sourcing.PojoSigMapPubKeyToSigBytes) VerificationStatus(com.swirlds.common.crypto.VerificationStatus) RationalizedSigMeta(com.hedera.services.utils.RationalizedSigMeta) Test(org.junit.jupiter.api.Test) List(java.util.List) MiscRunningAvgs(com.hedera.services.stats.MiscRunningAvgs) DelegatingSigMetadataLookup.defaultLookupsFor(com.hedera.services.sigs.metadata.DelegatingSigMetadataLookup.defaultLookupsFor) JKey(com.hedera.services.legacy.core.jproto.JKey) SignatureWaivers(com.hedera.services.sigs.order.SignatureWaivers) Assertions.assertTrue(org.junit.jupiter.api.Assertions.assertTrue) SyncVerifier(com.hedera.services.sigs.verification.SyncVerifier) PolicyBasedSigWaivers(com.hedera.services.sigs.order.PolicyBasedSigWaivers) MiscSpeedometers(com.hedera.services.stats.MiscSpeedometers) EntityNumbers(com.hedera.services.config.EntityNumbers) KeyActivationCharacteristics(com.hedera.services.keys.KeyActivationCharacteristics) NEW_ACCOUNT_KT(com.hedera.test.factories.scenarios.CryptoCreateScenarios.NEW_ACCOUNT_KT) FileNumbers(com.hedera.services.config.FileNumbers) HederaKeyActivation(com.hedera.services.keys.HederaKeyActivation) SystemOpPolicies(com.hedera.services.txns.auth.SystemOpPolicies) Function(java.util.function.Function) ArrayList(java.util.ArrayList) TransactionBody(com.hederahashgraph.api.proto.java.TransactionBody) DEFAULT_ACTIVATION_CHARACTERISTICS(com.hedera.services.keys.DefaultActivationCharacteristics.DEFAULT_ACTIVATION_CHARACTERISTICS) CRYPTO_CREATE_COMPLEX_PAYER_RECEIVER_SIG_SCENARIO(com.hedera.test.factories.scenarios.CryptoCreateScenarios.CRYPTO_CREATE_COMPLEX_PAYER_RECEIVER_SIG_SCENARIO) DEFAULT_PAYER_KT(com.hedera.test.factories.txns.SignedTxnFactory.DEFAULT_PAYER_KT) Assertions.assertEquals(org.junit.jupiter.api.Assertions.assertEquals) SigningOrderResult(com.hedera.services.sigs.order.SigningOrderResult) HederaToPlatformSigOps.expandIn(com.hedera.services.sigs.HederaToPlatformSigOps.expandIn) TxnHandlingScenario(com.hedera.test.factories.scenarios.TxnHandlingScenario) CryptoCreateFactory(com.hedera.test.factories.txns.CryptoCreateFactory) SigWrappers.asKind(com.hedera.test.factories.sigs.SigWrappers.asKind) ReusableBodySigningFactory(com.hedera.services.sigs.factories.ReusableBodySigningFactory) CRYPTO_UPDATE_COMPLEX_KEY_ACCOUNT_SCENARIO(com.hedera.test.factories.scenarios.CryptoUpdateScenarios.CRYPTO_UPDATE_COMPLEX_KEY_ACCOUNT_SCENARIO) ResponseCodeEnum(com.hederahashgraph.api.proto.java.ResponseCodeEnum) VALID(com.swirlds.common.crypto.VerificationStatus.VALID) MockEntityNumbers(com.hedera.services.config.MockEntityNumbers) HederaFs(com.hedera.services.files.HederaFs) TransactionSignature(com.swirlds.common.crypto.TransactionSignature) HederaKeyActivation.payerSigIsActive(com.hedera.services.keys.HederaKeyActivation.payerSigIsActive) AbstractMap(java.util.AbstractMap) INVALID_PAYER_ID_SCENARIO(com.hedera.test.factories.scenarios.BadPayerScenarios.INVALID_PAYER_ID_SCENARIO) BDDMockito.mock(org.mockito.BDDMockito.mock) SigMetadataLookup(com.hedera.services.sigs.metadata.SigMetadataLookup) MockFileNumbers(com.hedera.services.config.MockFileNumbers) CRYPTO_UPDATE_MISSING_ACCOUNT_SCENARIO(com.hedera.test.factories.scenarios.CryptoUpdateScenarios.CRYPTO_UPDATE_MISSING_ACCOUNT_SCENARIO) AliasManager(com.hedera.services.ledger.accounts.AliasManager) SigRequirements(com.hedera.services.sigs.order.SigRequirements) HfsSigMetaLookup(com.hedera.services.sigs.metadata.lookups.HfsSigMetaLookup) TransactionSignature(com.swirlds.common.crypto.TransactionSignature)

Example 5 with TransactionSignature

use of com.swirlds.common.crypto.TransactionSignature in project hedera-services by hashgraph.

the class HederaToPlatformSigOpsTest method rationalizesOnlyMissingSigs.

@Test
void rationalizesOnlyMissingSigs() throws Exception {
    wellBehavedOrdersAndSigSources();
    platformTxn.getPlatformTxn().addAll(asValid(expectedSigsWithOtherPartiesCreationError()).toArray(new TransactionSignature[0]));
    final SyncVerifier syncVerifier = l -> {
        if (l.equals(expectedSigsWithOtherPartiesCreationError())) {
            throw new AssertionError("Payer sigs were verified async!");
        } else {
            ALWAYS_VALID.verifySync(l);
        }
    };
    final var mockAccessor = mock(PlatformTxnAccessor.class);
    final var captor = ArgumentCaptor.forClass(RationalizedSigMeta.class);
    givenMirrorMock(mockAccessor, platformTxn);
    final var rationalization = new Rationalization(syncVerifier, keyOrdering, new ReusableBodySigningFactory());
    rationalization.performFor(mockAccessor);
    assertTrue(rationalization.usedSyncVerification());
    assertEquals(OK, rationalization.finalStatus());
    verify(mockAccessor).setSigMeta(captor.capture());
    final var sigMeta = captor.getValue();
    platformTxn.setSigMeta(sigMeta);
    assertEquals(expectedSigsWithNoErrors(), platformTxn.getSigMeta().verifiedSigs());
    assertTrue(allVerificationStatusesAre(VerificationStatus.VALID::equals));
}
Also used : SyncVerifier(com.hedera.services.sigs.verification.SyncVerifier) PubKeyToSigBytes(com.hedera.services.sigs.sourcing.PubKeyToSigBytes) BeforeEach(org.junit.jupiter.api.BeforeEach) OK(com.hederahashgraph.api.proto.java.ResponseCodeEnum.OK) KeyPrefixMismatchException(com.hedera.services.legacy.exception.KeyPrefixMismatchException) NodeFactory.ed25519(com.hedera.test.factories.keys.NodeFactory.ed25519) ArgumentMatchers.eq(org.mockito.ArgumentMatchers.eq) KEY_PREFIX_MISMATCH(com.hederahashgraph.api.proto.java.ResponseCodeEnum.KEY_PREFIX_MISMATCH) SigRequirements(com.hedera.services.sigs.order.SigRequirements) SigWrappers.asValid(com.hedera.test.factories.sigs.SigWrappers.asValid) PlatformTxnFactory(com.hedera.test.factories.txns.PlatformTxnFactory) ArrayList(java.util.ArrayList) CODE_ORDER_RESULT_FACTORY(com.hedera.services.sigs.order.CodeOrderResultFactory.CODE_ORDER_RESULT_FACTORY) BDDMockito.any(org.mockito.BDDMockito.any) ArgumentCaptor(org.mockito.ArgumentCaptor) Assertions.assertFalse(org.junit.jupiter.api.Assertions.assertFalse) BeforeAll(org.junit.jupiter.api.BeforeAll) BDDMockito.given(org.mockito.BDDMockito.given) BiConsumer(java.util.function.BiConsumer) Assertions.assertEquals(org.junit.jupiter.api.Assertions.assertEquals) PlatformTxnAccessor(com.hedera.services.utils.PlatformTxnAccessor) SigningOrderResult(com.hedera.services.sigs.order.SigningOrderResult) HederaToPlatformSigOps.expandIn(com.hedera.services.sigs.HederaToPlatformSigOps.expandIn) KeyType(com.hedera.services.sigs.sourcing.KeyType) SystemDeleteFactory.newSignedSystemDelete(com.hedera.test.factories.txns.SystemDeleteFactory.newSignedSystemDelete) ALWAYS_VALID(com.hedera.test.factories.sigs.SyncVerifiers.ALWAYS_VALID) ReusableBodySigningFactory(com.hedera.services.sigs.factories.ReusableBodySigningFactory) Predicate(java.util.function.Predicate) SigObserver(com.hedera.services.sigs.sourcing.SigObserver) PlatformSigFactory(com.hedera.services.sigs.factories.PlatformSigFactory) VerificationStatus(com.swirlds.common.crypto.VerificationStatus) BDDMockito.willAnswer(org.mockito.BDDMockito.willAnswer) Mockito.verify(org.mockito.Mockito.verify) RationalizedSigMeta(com.hedera.services.utils.RationalizedSigMeta) Test(org.junit.jupiter.api.Test) TransactionSignature(com.swirlds.common.crypto.TransactionSignature) INVALID_ACCOUNT_ID(com.hederahashgraph.api.proto.java.ResponseCodeEnum.INVALID_ACCOUNT_ID) List(java.util.List) JKey(com.hedera.services.legacy.core.jproto.JKey) Assertions.assertTrue(org.junit.jupiter.api.Assertions.assertTrue) SyncVerifier(com.hedera.services.sigs.verification.SyncVerifier) BDDMockito.mock(org.mockito.BDDMockito.mock) KeyTree(com.hedera.test.factories.keys.KeyTree) VerificationStatus(com.swirlds.common.crypto.VerificationStatus) TransactionSignature(com.swirlds.common.crypto.TransactionSignature) ReusableBodySigningFactory(com.hedera.services.sigs.factories.ReusableBodySigningFactory) Test(org.junit.jupiter.api.Test)

Aggregations

JKey (com.hedera.services.legacy.core.jproto.JKey)6 TransactionSignature (com.swirlds.common.crypto.TransactionSignature)6 ArrayList (java.util.ArrayList)5 Test (org.junit.jupiter.api.Test)5 HederaToPlatformSigOps.expandIn (com.hedera.services.sigs.HederaToPlatformSigOps.expandIn)4 ReusableBodySigningFactory (com.hedera.services.sigs.factories.ReusableBodySigningFactory)4 CODE_ORDER_RESULT_FACTORY (com.hedera.services.sigs.order.CodeOrderResultFactory.CODE_ORDER_RESULT_FACTORY)4 SigRequirements (com.hedera.services.sigs.order.SigRequirements)4 SigningOrderResult (com.hedera.services.sigs.order.SigningOrderResult)4 SyncVerifier (com.hedera.services.sigs.verification.SyncVerifier)4 PlatformTxnAccessor (com.hedera.services.utils.PlatformTxnAccessor)4 RationalizedSigMeta (com.hedera.services.utils.RationalizedSigMeta)4 SigWrappers.asValid (com.hedera.test.factories.sigs.SigWrappers.asValid)4 OK (com.hederahashgraph.api.proto.java.ResponseCodeEnum.OK)4 VerificationStatus (com.swirlds.common.crypto.VerificationStatus)4 List (java.util.List)4 Predicate (java.util.function.Predicate)4 Assertions.assertEquals (org.junit.jupiter.api.Assertions.assertEquals)4 Assertions.assertFalse (org.junit.jupiter.api.Assertions.assertFalse)4 Assertions.assertTrue (org.junit.jupiter.api.Assertions.assertTrue)4