public class FinalityFlow
extends FlowLogic
Verifies the given transaction, then sends it to the named notary. If the notary agrees that the transaction is acceptable then it is from that point onwards committed to the ledger, and will be written through to the vault. Additionally it will be distributed to the parties reflected in the participants list of the states.
The transaction is expected to have already been resolved: if its dependencies are not available in local storage, verification will fail. It must have signatures from all necessary parties other than the notary.
If specified, the extra recipients are sent the given transaction. The base set of parties to inform are calculated from the contract-given set of participants.
The flow returns the same transaction but with the additional signatures from the notary.
Modifier and Type | Class and Description |
---|---|
static class |
FinalityFlow.Companion |
Modifier and Type | Field and Description |
---|---|
static FinalityFlow.Companion |
Companion |
Constructor and Description |
---|
FinalityFlow(SignedTransaction transaction,
java.util.Set<net.corda.core.identity.Party> extraRecipients,
ProgressTracker progressTracker)
Verifies the given transaction, then sends it to the named notary. If the notary agrees that the transaction
is acceptable then it is from that point onwards committed to the ledger, and will be written through to the
vault. Additionally it will be distributed to the parties reflected in the participants list of the states.
|
FinalityFlow(SignedTransaction transaction,
java.util.Set<net.corda.core.identity.Party> extraParticipants) |
FinalityFlow(SignedTransaction transaction) |
FinalityFlow(SignedTransaction transaction,
ProgressTracker progressTracker) |
Modifier and Type | Method and Description |
---|---|
SignedTransaction |
call()
This is where you fill out your business logic.
|
ProgressTracker |
getProgressTracker()
Override this to provide a
class ProgressTracker . If one is provided and stepped, the framework will do something
helpful with the progress reports e.g record to the audit service. If this flow is invoked as a subflow of another,
then the tracker will be made a child of the current step in the parent. If it's null, this flow doesn't track
progress. |
SignedTransaction |
getTransaction() |
static ProgressTracker |
tracker() |
call, checkFlowPermission, flowStackSnapshot, getCurrentTopLevel, getFlowInfo, getLogger, getOurIdentity, getOurIdentityAndCert, getProgressTracker, getRunId, getServiceHub, initiateFlow, persistFlowStackSnapshot, receive, recordAuditEvent, send, sendAndReceive, sleep, subFlow, track, waitForLedgerCommit
public static FinalityFlow.Companion Companion
public FinalityFlow(SignedTransaction transaction, java.util.Set<net.corda.core.identity.Party> extraRecipients, ProgressTracker progressTracker)
Verifies the given transaction, then sends it to the named notary. If the notary agrees that the transaction is acceptable then it is from that point onwards committed to the ledger, and will be written through to the vault. Additionally it will be distributed to the parties reflected in the participants list of the states.
The transaction is expected to have already been resolved: if its dependencies are not available in local storage, verification will fail. It must have signatures from all necessary parties other than the notary.
If specified, the extra recipients are sent the given transaction. The base set of parties to inform are calculated from the contract-given set of participants.
The flow returns the same transaction but with the additional signatures from the notary.
progressTracker
- Override this to provide a class ProgressTracker
. If one is provided and stepped, the framework will do something
helpful with the progress reports e.g record to the audit service. If this flow is invoked as a subflow of another,
then the tracker will be made a child of the current step in the parent. If it's null, this flow doesn't track
progress.
Note that this has to return a tracker before the flow is invoked. You can't change your mind half way through.
transaction
- What to commit.extraRecipients
- A list of additional participants to inform of the transaction.public FinalityFlow(SignedTransaction transaction, java.util.Set<net.corda.core.identity.Party> extraParticipants)
public FinalityFlow(SignedTransaction transaction)
public FinalityFlow(SignedTransaction transaction, ProgressTracker progressTracker)
public SignedTransaction call()
This is where you fill out your business logic.
public SignedTransaction getTransaction()
public ProgressTracker getProgressTracker()
Override this to provide a class ProgressTracker
. If one is provided and stepped, the framework will do something
helpful with the progress reports e.g record to the audit service. If this flow is invoked as a subflow of another,
then the tracker will be made a child of the current step in the parent. If it's null, this flow doesn't track
progress.
Note that this has to return a tracker before the flow is invoked. You can't change your mind half way through.
class ProgressTracker
public static ProgressTracker tracker()