com.r3corda.protocols / TwoPartyDealProtocol / Acceptor

# Acceptor

`class Acceptor<T : DealState> : Secondary<T>`

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

### Constructors

<init> | `Acceptor(otherSide: SingleMessageRecipient, notary: Party, dealToBuy: T, sessionID: Long, progressTracker: ProgressTracker = Secondary.tracker())` One side of the protocol for inserting a pre-agreed deal.

### Properties

dealToBuy | `val dealToBuy: T`
progressTracker | `open val progressTracker: ProgressTracker` Override this to provide a ProgressTracker. If one is provided and stepped, the framework will do something helpful with the progress reports. If this protocol is invoked as a sub-protocol of another, then the tracker will be made a child of the current step in the parent. If its null, this protocol doesnt track progress.

### Inherited Properties

notary | `val notary: Party`
otherSide | `val otherSide: SingleMessageRecipient`
sessionID | `val sessionID: Long`

### Functions

assembleSharedTX | `open fun assembleSharedTX(handshake: Handshake<T>): <ERROR CLASS><TransactionBuilder, List<PublicKey>>`
validateHandshake | `open fun validateHandshake(handshake: Handshake<T>): Handshake<T>`

### Inherited Functions

call | `open fun call(): SignedTransaction` This is where you fill out your business logic.