corda / net.corda.flows / FinalityFlow / <init>

# <init>

`FinalityFlow(transaction: SignedTransaction, extraParticipants: Set<Party>)`
`FinalityFlow(transaction: SignedTransaction)`

`FinalityFlow(transactions: Iterable<SignedTransaction>, extraRecipients: Set<Party>, progressTracker: ProgressTracker)`

Verifies the given transactions, then sends them to the named notaries. If the notary agrees that the transactions are acceptable then they are from that point onwards committed to the ledger, and will be written through to the vault. Additionally they will be distributed to the parties reflected in the participants list of the states.

The transactions will be topologically sorted before commitment to ensure that dependencies are committed before dependers, so you don't need to do this yourself.

The transactions are expected to have already been resolved: if their dependencies are not available in local storage or within the given set, verification will fail. They must have signatures from all necessary parties other than the notary.

If specified, the extra recipients are sent all the given transactions. The base set of parties to inform of each transaction are calculated on a per transaction basis from the contract-given set of participants.

The flow returns the same transactions, in the same order, with the additional signatures.

### Parameters

`transactions` - What to commit.

`extraRecipients` - A list of additional participants to inform of the transaction.