ENT-10100 Filter out UNVERIFIED txns + move TransactionStatus package. (#7543)

This commit is contained in:
Jose Coll 2023-10-24 17:01:37 +01:00 committed by GitHub
parent bc718088fe
commit be433c1fd0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 29 additions and 204 deletions

View File

@ -1798,8 +1798,6 @@ public final class net.corda.core.crypto.Crypto extends java.lang.Object
public static final boolean doVerify(net.corda.core.crypto.SecureHash, net.corda.core.crypto.TransactionSignature)
public static final boolean doVerify(net.corda.core.crypto.SignatureScheme, java.security.PublicKey, byte[], byte[])
@NotNull
public static final byte[] encodePublicKey(java.security.PublicKey)
@NotNull
public static final java.security.Provider findProvider(String)
@NotNull
public static final net.corda.core.crypto.SignatureScheme findSignatureScheme(int)
@ -2520,17 +2518,15 @@ public static final class net.corda.core.flows.ContractUpgradeFlow$Initiate exte
protected net.corda.core.flows.AbstractStateReplacementFlow$UpgradeTx assembleTx()
##
public class net.corda.core.flows.DataVendingFlow extends net.corda.core.flows.FlowLogic
public <init>(java.util.Set<? extends net.corda.core.flows.FlowSession>, Object, net.corda.core.flows.TransactionMetadata)
public <init>(java.util.Set, Object, net.corda.core.flows.TransactionMetadata, int, kotlin.jvm.internal.DefaultConstructorMarker)
public <init>(net.corda.core.flows.FlowSession, Object)
public <init>(net.corda.core.flows.FlowSession, Object, net.corda.core.flows.TransactionMetadata)
public <init>(net.corda.core.flows.FlowSession, Object, net.corda.core.flows.TransactionMetadata, int, kotlin.jvm.internal.DefaultConstructorMarker)
@Suspendable
@Nullable
public Void call()
@NotNull
public final java.util.Set<net.corda.core.flows.FlowSession> getOtherSessions()
@NotNull
public final net.corda.core.flows.FlowSession getOtherSideSession()
@NotNull
public final Object getPayload()
@Suspendable
@NotNull
@ -2541,61 +2537,10 @@ public class net.corda.core.flows.DataVendingFlow extends net.corda.core.flows.F
@DoNotImplement
public interface net.corda.core.flows.Destination
##
@CordaSerializable
public abstract class net.corda.core.flows.DistributionList extends java.lang.Object
public <init>(kotlin.jvm.internal.DefaultConstructorMarker)
##
@CordaSerializable
public static final class net.corda.core.flows.DistributionList$ReceiverDistributionList extends net.corda.core.flows.DistributionList
public <init>(byte[], net.corda.core.node.StatesToRecord)
@NotNull
public final byte[] component1()
@NotNull
public final net.corda.core.node.StatesToRecord component2()
@NotNull
public final net.corda.core.flows.DistributionList$ReceiverDistributionList copy(byte[], net.corda.core.node.StatesToRecord)
public boolean equals(Object)
@NotNull
public final byte[] getOpaqueData()
@NotNull
public final net.corda.core.node.StatesToRecord getReceiverStatesToRecord()
public int hashCode()
@NotNull
public String toString()
##
@CordaSerializable
public static final class net.corda.core.flows.DistributionList$SenderDistributionList extends net.corda.core.flows.DistributionList
public <init>(net.corda.core.node.StatesToRecord, java.util.Map<net.corda.core.identity.CordaX500Name, ? extends net.corda.core.node.StatesToRecord>)
@NotNull
public final net.corda.core.node.StatesToRecord component1()
@NotNull
public final java.util.Map<net.corda.core.identity.CordaX500Name, net.corda.core.node.StatesToRecord> component2()
@NotNull
public final net.corda.core.flows.DistributionList$SenderDistributionList copy(net.corda.core.node.StatesToRecord, java.util.Map<net.corda.core.identity.CordaX500Name, ? extends net.corda.core.node.StatesToRecord>)
public boolean equals(Object)
@NotNull
public final java.util.Map<net.corda.core.identity.CordaX500Name, net.corda.core.node.StatesToRecord> getPeersToStatesToRecord()
@NotNull
public final net.corda.core.node.StatesToRecord getSenderStatesToRecord()
public int hashCode()
@NotNull
public String toString()
@CordaSerializable
public abstract class net.corda.core.flows.DistributionRecord extends java.lang.Object implements net.corda.core.contracts.NamedByHash
public <init>()
@NotNull
public abstract net.corda.core.crypto.SecureHash getPeerPartyId()
@NotNull
public abstract java.time.Instant getTimestamp()
public abstract int getTimestampDiscriminator()
@NotNull
public abstract net.corda.core.crypto.SecureHash getTxId()
##
@InitiatingFlow
public final class net.corda.core.flows.FinalityFlow extends net.corda.core.flows.FlowLogic
public <init>(net.corda.core.transactions.SignedTransaction)
public <init>(net.corda.core.transactions.SignedTransaction, java.util.Collection<? extends net.corda.core.flows.FlowSession>)
public <init>(net.corda.core.transactions.SignedTransaction, java.util.Collection<? extends net.corda.core.flows.FlowSession>, java.util.Collection<? extends net.corda.core.flows.FlowSession>)
public <init>(net.corda.core.transactions.SignedTransaction, java.util.Collection<? extends net.corda.core.flows.FlowSession>, java.util.Collection<net.corda.core.identity.Party>, net.corda.core.utilities.ProgressTracker)
public <init>(net.corda.core.transactions.SignedTransaction, java.util.Collection<? extends net.corda.core.flows.FlowSession>, net.corda.core.node.StatesToRecord)
public <init>(net.corda.core.transactions.SignedTransaction, java.util.Collection<? extends net.corda.core.flows.FlowSession>, net.corda.core.node.StatesToRecord, net.corda.core.utilities.ProgressTracker)
@ -2627,32 +2572,12 @@ public static final class net.corda.core.flows.FinalityFlow$Companion$BROADCASTI
public static final net.corda.core.flows.FinalityFlow$Companion$BROADCASTING INSTANCE
##
@CordaSerializable
public static final class net.corda.core.flows.FinalityFlow$Companion$BROADCASTING_NOTARY_ERROR extends net.corda.core.utilities.ProgressTracker$Step
public static final net.corda.core.flows.FinalityFlow$Companion$BROADCASTING_NOTARY_ERROR INSTANCE
##
@CordaSerializable
public static final class net.corda.core.flows.FinalityFlow$Companion$BROADCASTING_POST_NOTARISATION extends net.corda.core.utilities.ProgressTracker$Step
public static final net.corda.core.flows.FinalityFlow$Companion$BROADCASTING_POST_NOTARISATION INSTANCE
##
@CordaSerializable
public static final class net.corda.core.flows.FinalityFlow$Companion$BROADCASTING_PRE_NOTARISATION extends net.corda.core.utilities.ProgressTracker$Step
public static final net.corda.core.flows.FinalityFlow$Companion$BROADCASTING_PRE_NOTARISATION INSTANCE
##
@CordaSerializable
public static final class net.corda.core.flows.FinalityFlow$Companion$FINALISING_TRANSACTION extends net.corda.core.utilities.ProgressTracker$Step
public static final net.corda.core.flows.FinalityFlow$Companion$FINALISING_TRANSACTION INSTANCE
##
@CordaSerializable
public static final class net.corda.core.flows.FinalityFlow$Companion$NOTARISING extends net.corda.core.utilities.ProgressTracker$Step
@NotNull
public net.corda.core.utilities.ProgressTracker childProgressTracker()
public static final net.corda.core.flows.FinalityFlow$Companion$NOTARISING INSTANCE
##
@CordaSerializable
public static final class net.corda.core.flows.FinalityFlow$Companion$RECORD_UNNOTARISED extends net.corda.core.utilities.ProgressTracker$Step
public static final net.corda.core.flows.FinalityFlow$Companion$RECORD_UNNOTARISED INSTANCE
##
@CordaSerializable
public class net.corda.core.flows.FlowException extends net.corda.core.CordaException implements net.corda.core.flows.IdentifiableException
public <init>()
public <init>(String)
@ -2954,37 +2879,6 @@ public static final class net.corda.core.flows.FlowStackSnapshot$Frame extends j
public String toString()
##
@CordaSerializable
public final class net.corda.core.flows.FlowTransactionInfo extends java.lang.Object
public <init>(net.corda.core.flows.StateMachineRunId, String, net.corda.core.flows.TransactionStatus, java.time.Instant, net.corda.core.flows.TransactionMetadata)
@NotNull
public final net.corda.core.flows.StateMachineRunId component1()
@NotNull
public final String component2()
@NotNull
public final net.corda.core.flows.TransactionStatus component3()
@NotNull
public final java.time.Instant component4()
@Nullable
public final net.corda.core.flows.TransactionMetadata component5()
@NotNull
public final net.corda.core.flows.FlowTransactionInfo copy(net.corda.core.flows.StateMachineRunId, String, net.corda.core.flows.TransactionStatus, java.time.Instant, net.corda.core.flows.TransactionMetadata)
public boolean equals(Object)
@Nullable
public final net.corda.core.flows.TransactionMetadata getMetadata()
@NotNull
public final net.corda.core.flows.StateMachineRunId getStateMachineRunId()
@NotNull
public final net.corda.core.flows.TransactionStatus getStatus()
@NotNull
public final java.time.Instant getTimestamp()
@NotNull
public final String getTxId()
public int hashCode()
public final boolean isInitiator(net.corda.core.identity.CordaX500Name)
@NotNull
public String toString()
##
@CordaSerializable
public class net.corda.core.flows.HospitalizeFlowException extends net.corda.core.CordaRuntimeException
public <init>()
public <init>(String)
@ -3246,10 +3140,6 @@ public static final class net.corda.core.flows.NotaryFlow$Client$Companion$REQUE
public static final class net.corda.core.flows.NotaryFlow$Client$Companion$VALIDATING extends net.corda.core.utilities.ProgressTracker$Step
public static final net.corda.core.flows.NotaryFlow$Client$Companion$VALIDATING INSTANCE
##
public final class net.corda.core.flows.NotarySigCheck extends java.lang.Object
public final boolean needsNotarySignature(net.corda.core.transactions.SignedTransaction)
public static final net.corda.core.flows.NotarySigCheck INSTANCE
##
public final class net.corda.core.flows.ReceiveFinalityFlow extends net.corda.core.flows.FlowLogic
public <init>(net.corda.core.flows.FlowSession)
public <init>(net.corda.core.flows.FlowSession, net.corda.core.crypto.SecureHash)
@ -3277,41 +3167,6 @@ public class net.corda.core.flows.ReceiveTransactionFlow extends net.corda.core.
protected void checkBeforeRecording(net.corda.core.transactions.SignedTransaction)
##
@CordaSerializable
public final class net.corda.core.flows.RecoveryTimeWindow extends java.lang.Object
public <init>(java.time.Instant, java.time.Instant)
public <init>(java.time.Instant, java.time.Instant, int, kotlin.jvm.internal.DefaultConstructorMarker)
@NotNull
public static final net.corda.core.flows.RecoveryTimeWindow between(java.time.Instant, java.time.Instant)
@NotNull
public final java.time.Instant component1()
@NotNull
public final java.time.Instant component2()
@NotNull
public final net.corda.core.flows.RecoveryTimeWindow copy(java.time.Instant, java.time.Instant)
public boolean equals(Object)
@NotNull
public static final net.corda.core.flows.RecoveryTimeWindow fromOnly(java.time.Instant)
@NotNull
public final java.time.Instant getFromTime()
@NotNull
public final java.time.Instant getUntilTime()
public int hashCode()
@NotNull
public String toString()
@NotNull
public static final net.corda.core.flows.RecoveryTimeWindow untilOnly(java.time.Instant)
public static final net.corda.core.flows.RecoveryTimeWindow$Companion Companion
##
public static final class net.corda.core.flows.RecoveryTimeWindow$Companion extends java.lang.Object
public <init>(kotlin.jvm.internal.DefaultConstructorMarker)
@NotNull
public final net.corda.core.flows.RecoveryTimeWindow between(java.time.Instant, java.time.Instant)
@NotNull
public final net.corda.core.flows.RecoveryTimeWindow fromOnly(java.time.Instant)
@NotNull
public final net.corda.core.flows.RecoveryTimeWindow untilOnly(java.time.Instant)
##
@CordaSerializable
public final class net.corda.core.flows.ResultSerializationException extends net.corda.core.CordaRuntimeException
public <init>(net.corda.core.serialization.internal.MissingSerializerException)
##
@ -3322,12 +3177,6 @@ public class net.corda.core.flows.SendStateAndRefFlow extends net.corda.core.flo
##
public class net.corda.core.flows.SendTransactionFlow extends net.corda.core.flows.DataVendingFlow
public <init>(net.corda.core.flows.FlowSession, net.corda.core.transactions.SignedTransaction)
public static final net.corda.core.flows.SendTransactionFlow$Companion Companion
##
public static final class net.corda.core.flows.SendTransactionFlow$Companion extends java.lang.Object
public <init>(kotlin.jvm.internal.DefaultConstructorMarker)
@NotNull
public final net.corda.core.identity.CordaX500Name getDUMMY_PARTICIPANT_NAME()
##
public abstract class net.corda.core.flows.SignTransactionFlow extends net.corda.core.flows.FlowLogic
public <init>(net.corda.core.flows.FlowSession)
@ -3435,29 +3284,6 @@ public class net.corda.core.flows.StateReplacementException extends net.corda.co
public <init>(String, Throwable, int, kotlin.jvm.internal.DefaultConstructorMarker)
##
@CordaSerializable
public final class net.corda.core.flows.TransactionMetadata extends java.lang.Object
public <init>(net.corda.core.identity.CordaX500Name, net.corda.core.flows.DistributionList)
@NotNull
public final net.corda.core.identity.CordaX500Name component1()
@NotNull
public final net.corda.core.flows.DistributionList component2()
@NotNull
public final net.corda.core.flows.TransactionMetadata copy(net.corda.core.identity.CordaX500Name, net.corda.core.flows.DistributionList)
public boolean equals(Object)
@NotNull
public final net.corda.core.flows.DistributionList getDistributionList()
@NotNull
public final net.corda.core.identity.CordaX500Name getInitiator()
public int hashCode()
@NotNull
public String toString()
##
@CordaSerializable
public final class net.corda.core.flows.TransactionStatus extends java.lang.Enum
public static net.corda.core.flows.TransactionStatus valueOf(String)
public static net.corda.core.flows.TransactionStatus[] values()
##
@CordaSerializable
public final class net.corda.core.flows.UnexpectedFlowEndException extends net.corda.core.CordaRuntimeException implements net.corda.core.flows.IdentifiableException
public <init>(String)
public <init>(String, Throwable)
@ -4317,7 +4143,6 @@ public interface net.corda.core.node.ServicesForResolution
@NotNull
public net.corda.core.transactions.LedgerTransaction specialise(net.corda.core.transactions.LedgerTransaction)
##
@CordaSerializable
public final class net.corda.core.node.StatesToRecord extends java.lang.Enum
public static net.corda.core.node.StatesToRecord valueOf(String)
public static net.corda.core.node.StatesToRecord[] values()
@ -4651,8 +4476,6 @@ public static final class net.corda.core.node.services.Vault$ConstraintInfo$Type
@CordaSerializable
public static final class net.corda.core.node.services.Vault$Page extends java.lang.Object
public <init>(java.util.List<? extends net.corda.core.contracts.StateAndRef<? extends T>>, java.util.List<net.corda.core.node.services.Vault$StateMetadata>, long, net.corda.core.node.services.Vault$StateStatus, java.util.List<?>)
public <init>(java.util.List<? extends net.corda.core.contracts.StateAndRef<? extends T>>, java.util.List<net.corda.core.node.services.Vault$StateMetadata>, long, net.corda.core.node.services.Vault$StateStatus, java.util.List<?>, net.corda.core.contracts.StateRef)
public <init>(java.util.List, java.util.List, long, net.corda.core.node.services.Vault$StateStatus, java.util.List, net.corda.core.contracts.StateRef, int, kotlin.jvm.internal.DefaultConstructorMarker)
@NotNull
public final java.util.List<net.corda.core.contracts.StateAndRef<T>> component1()
@NotNull
@ -4662,17 +4485,11 @@ public static final class net.corda.core.node.services.Vault$Page extends java.l
public final net.corda.core.node.services.Vault$StateStatus component4()
@NotNull
public final java.util.List<Object> component5()
@Nullable
public final net.corda.core.contracts.StateRef component6()
@NotNull
public final net.corda.core.node.services.Vault$Page<T> copy(java.util.List<? extends net.corda.core.contracts.StateAndRef<? extends T>>, java.util.List<net.corda.core.node.services.Vault$StateMetadata>, long, net.corda.core.node.services.Vault$StateStatus, java.util.List<?>)
@NotNull
public final net.corda.core.node.services.Vault$Page<T> copy(java.util.List<? extends net.corda.core.contracts.StateAndRef<? extends T>>, java.util.List<net.corda.core.node.services.Vault$StateMetadata>, long, net.corda.core.node.services.Vault$StateStatus, java.util.List<?>, net.corda.core.contracts.StateRef)
public boolean equals(Object)
@NotNull
public final java.util.List<Object> getOtherResults()
@Nullable
public final net.corda.core.contracts.StateRef getPreviousPageAnchor()
@NotNull
public final net.corda.core.node.services.Vault$StateStatus getStateTypes()
@NotNull
@ -8233,6 +8050,8 @@ public static final class net.corda.testing.core.TestIdentity$Companion extends
public final net.corda.testing.core.TestIdentity fresh(String, net.corda.core.crypto.SignatureScheme)
##
public final class net.corda.testing.core.TestUtils extends java.lang.Object
@NotNull
public static final java.security.cert.X509CRL createCRL(net.corda.nodeapi.internal.crypto.CertificateAndKeyPair, java.util.List<? extends java.security.cert.X509Certificate>, java.net.URI, java.time.Instant, java.time.Instant, boolean, java.time.Instant, int, String)
public static final T executeTest(java.time.Duration, kotlin.jvm.functions.Function0<kotlin.Unit>, java.time.Duration, kotlin.jvm.functions.Function0<? extends T>)
@NotNull
public static final net.corda.core.utilities.NetworkHostAndPort freeLocalHostAndPort()
@ -8907,7 +8726,6 @@ public final class net.corda.testing.flows.FlowTestsUtilsKt extends java.lang.Ob
public static final java.util.Map<net.corda.core.flows.FlowSession, net.corda.core.utilities.UntrustworthyData<Object>> receiveAll(net.corda.core.flows.FlowLogic<?>, kotlin.Pair<? extends net.corda.core.flows.FlowSession, ? extends Class<?>>, kotlin.Pair<? extends net.corda.core.flows.FlowSession, ? extends Class<?>>...)
@NotNull
public static final rx.Observable<T> registerCoreFlowFactory(net.corda.testing.node.internal.TestStartedNode, Class<? extends net.corda.core.flows.FlowLogic<?>>, Class<T>, kotlin.jvm.functions.Function1<? super net.corda.core.flows.FlowSession, ? extends T>, boolean)
public static final void waitForAllFlowsToComplete(net.corda.testing.driver.NodeHandle, int, long)
##
@DoNotImplement
public abstract class net.corda.testing.node.ClusterSpec extends java.lang.Object
@ -9329,9 +9147,7 @@ public class net.corda.testing.node.MockServices extends java.lang.Object implem
@NotNull
public static final kotlin.Pair<net.corda.nodeapi.internal.persistence.CordaPersistence, net.corda.testing.node.MockServices> makeTestDatabaseAndPersistentServices(java.util.List<String>, net.corda.testing.core.TestIdentity, net.corda.core.node.NetworkParameters, java.util.Set<java.security.KeyPair>, java.util.Set<net.corda.core.identity.PartyAndCertificate>, net.corda.testing.internal.TestingNamedCacheFactory)
public void recordTransactions(Iterable<net.corda.core.transactions.SignedTransaction>)
public final void recordTransactions(Iterable<net.corda.core.transactions.SignedTransaction>, boolean)
public void recordTransactions(net.corda.core.node.StatesToRecord, Iterable<net.corda.core.transactions.SignedTransaction>)
public final void recordTransactions(net.corda.core.transactions.SignedTransaction, boolean)
public void recordTransactions(net.corda.core.transactions.SignedTransaction, net.corda.core.transactions.SignedTransaction...)
public void recordTransactions(boolean, Iterable<net.corda.core.transactions.SignedTransaction>)
public void recordTransactions(boolean, net.corda.core.transactions.SignedTransaction, net.corda.core.transactions.SignedTransaction...)

View File

@ -25,7 +25,6 @@ import net.corda.core.flows.ReceiverDistributionRecord
import net.corda.core.flows.SendTransactionFlow
import net.corda.core.flows.SenderDistributionRecord
import net.corda.core.flows.StartableByRPC
import net.corda.core.flows.TransactionStatus
import net.corda.core.flows.UnexpectedFlowEndException
import net.corda.core.identity.CordaX500Name
import net.corda.core.identity.Party
@ -34,6 +33,7 @@ import net.corda.core.internal.PLATFORM_VERSION
import net.corda.core.internal.PlatformVersionSwitches
import net.corda.core.internal.ServiceHubCoreInternal
import net.corda.core.node.StatesToRecord
import net.corda.core.node.services.TransactionStatus
import net.corda.core.transactions.SignedTransaction
import net.corda.core.transactions.TransactionBuilder
import net.corda.core.utilities.OpaqueBytes

View File

@ -1,9 +1,11 @@
package net.corda.core.flows
import net.corda.core.DoNotImplement
import net.corda.core.contracts.NamedByHash
import net.corda.core.crypto.SecureHash
import net.corda.core.identity.CordaX500Name
import net.corda.core.node.StatesToRecord
import net.corda.core.node.services.TransactionStatus
import net.corda.core.serialization.CordaSerializable
import net.corda.core.utilities.OpaqueBytes
import java.time.Instant
@ -32,6 +34,7 @@ data class TransactionMetadata(
)
@CordaSerializable
@DoNotImplement
sealed class DistributionList {
@CordaSerializable
@ -47,13 +50,6 @@ sealed class DistributionList {
) : DistributionList()
}
@CordaSerializable
enum class TransactionStatus {
UNVERIFIED,
VERIFIED,
IN_FLIGHT;
}
@CordaSerializable
class DistributionRecords(
val senderRecords: List<SenderDistributionRecord> = emptyList(),
@ -63,6 +59,7 @@ class DistributionRecords(
}
@CordaSerializable
@DoNotImplement
abstract class DistributionRecord : NamedByHash {
abstract val txId: SecureHash
abstract val peerPartyId: SecureHash

View File

@ -122,6 +122,9 @@ open class DataVendingFlow(val otherSessions: Set<FlowSession>, val payload: Any
constructor(otherSideSession: FlowSession, payload: Any, txnMetadata: TransactionMetadata? = null) : this(setOf(otherSideSession), payload, txnMetadata)
constructor(otherSideSession: FlowSession, payload: Any) : this(otherSideSession, payload, null)
@Deprecated("Use otherSessions: Set<FlowSession>", replaceWith = ReplaceWith("otherSessions.single()"))
val otherSideSession: FlowSession get() = otherSessions.single()
@Suspendable
protected open fun sendPayloadAndReceiveDataRequest(otherSideSession: FlowSession, payload: Any) = otherSideSession.sendAndReceive<FetchDataFlow.Request>(payload)

View File

@ -13,6 +13,7 @@ import net.corda.core.internal.FetchDataFlow.DownloadedVsRequestedDataMismatch
import net.corda.core.internal.FetchDataFlow.HashNotFound
import net.corda.core.node.NetworkParameters
import net.corda.core.node.services.SignedTransactionWithStatus
import net.corda.core.node.services.TransactionStatus
import net.corda.core.serialization.CordaSerializable
import net.corda.core.serialization.CordaSerializationTransformEnumDefault
import net.corda.core.serialization.CordaSerializationTransformEnumDefaults
@ -278,7 +279,9 @@ class FetchTransactionsFlow @JvmOverloads constructor(requests: Set<SecureHash>,
class FetchRecoverableTransactionsFlow @JvmOverloads constructor(requests: Set<SecureHash>, otherSide: FlowSession, dataType: DataType = DataType.TRANSACTION_RECOVERY) :
FetchDataFlow<SignedTransactionWithStatus, SignedTransactionWithStatus>(requests, otherSide, dataType) {
override fun load(txid: SecureHash): SignedTransactionWithStatus? = serviceHub.validatedTransactions.getTransactionWithStatus(txid)
override fun load(txid: SecureHash): SignedTransactionWithStatus? = serviceHub.validatedTransactions.getTransactionWithStatus(txid)?.let {
if (it.status != TransactionStatus.UNVERIFIED) it else null
}
}
class FetchBatchTransactionsFlow(requests: Set<SecureHash>, otherSide: FlowSession) :

View File

@ -4,7 +4,6 @@ import net.corda.core.DoNotImplement
import net.corda.core.concurrent.CordaFuture
import net.corda.core.contracts.NamedByHash
import net.corda.core.crypto.SecureHash
import net.corda.core.flows.TransactionStatus
import net.corda.core.messaging.DataFeed
import net.corda.core.serialization.CordaSerializable
import net.corda.core.transactions.SignedTransaction
@ -49,4 +48,11 @@ data class SignedTransactionWithStatus(
) : NamedByHash {
override val id: SecureHash
get() = stx.id
}
@CordaSerializable
enum class TransactionStatus {
UNVERIFIED,
VERIFIED,
IN_FLIGHT;
}

View File

@ -3,12 +3,12 @@ package net.corda.node.services
import co.paralleluniverse.fibers.Suspendable
import net.corda.core.crypto.SecureHash
import net.corda.core.flows.FlowLogic
import net.corda.core.flows.TransactionStatus
import net.corda.core.internal.FetchTransactionsFlow
import net.corda.core.internal.ResolveTransactionsFlow
import net.corda.core.internal.TransactionsResolver
import net.corda.core.internal.dependencies
import net.corda.core.node.StatesToRecord
import net.corda.core.node.services.TransactionStatus
import net.corda.core.transactions.SignedTransaction
import net.corda.core.utilities.debug
import net.corda.core.utilities.seconds

View File

@ -98,11 +98,11 @@ open class DBTransactionStorage(private val database: CordaPersistence, cacheFac
return this == VERIFIED
}
fun toTransactionStatus(): net.corda.core.flows.TransactionStatus {
fun toTransactionStatus(): net.corda.core.node.services.TransactionStatus {
return when(this) {
UNVERIFIED -> net.corda.core.flows.TransactionStatus.UNVERIFIED
VERIFIED -> net.corda.core.flows.TransactionStatus.VERIFIED
IN_FLIGHT -> net.corda.core.flows.TransactionStatus.IN_FLIGHT
UNVERIFIED -> net.corda.core.node.services.TransactionStatus.UNVERIFIED
VERIFIED -> net.corda.core.node.services.TransactionStatus.VERIFIED
IN_FLIGHT -> net.corda.core.node.services.TransactionStatus.IN_FLIGHT
}
}

View File

@ -10,9 +10,9 @@ import net.corda.core.toFuture
import net.corda.core.transactions.SignedTransaction
import net.corda.node.services.api.WritableTransactionStorage
import net.corda.core.flows.TransactionMetadata
import net.corda.core.flows.TransactionStatus
import net.corda.core.identity.CordaX500Name
import net.corda.core.node.services.SignedTransactionWithStatus
import net.corda.core.node.services.TransactionStatus
import net.corda.testing.node.MockServices
import rx.Observable
import rx.subjects.PublishSubject