net.corda.protocols / TwoPartyDealProtocol

TwoPartyDealProtocol

object TwoPartyDealProtocol

Classes for manipulating a two party deal or agreement.

TODO: The subclasses should probably be broken out into individual protocols rather than making this an ever expanding collection of subclasses.

TODO: Also, the term Deal is used here where we might prefer Agreement.

TODO: Consider whether we can merge this with TwoPartyTradeProtocol





Types

Acceptor class Acceptor : Secondary<AutoOffer>

One side of the protocol for inserting a pre-agreed deal.

AutoOffer data class AutoOffer
Handshake data class Handshake<out T>
Instigator class Instigator : Primary

One side of the protocol for inserting a pre-agreed deal.

MarkerForBogusRegulatorProtocol interface MarkerForBogusRegulatorProtocol

Primary at the end sends the signed tx to all the regulator parties. This a seperate workflow which needs a sepearate session with the regulator. This interface is used to do that in Primary.getCounterpartyMarker.

Primary abstract class Primary : ProtocolLogic<SignedTransaction>

Abstracted bilateral deal protocol participant that initiates communication/handshake.

Secondary abstract class Secondary<U> : ProtocolLogic<SignedTransaction>

Abstracted bilateral deal protocol participant that is recipient of initial communication.

SignaturesFromPrimary class SignaturesFromPrimary

Exceptions

DealMismatchException class DealMismatchException : Exception
DealRefMismatchException class DealRefMismatchException : Exception