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: Party, 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`
notary | `val notary: Party`
otherSide | `open val otherSide: Party`
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.
sessionID | `open val sessionID: Long`

### Inherited Properties

topic | `open val topic: String` The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. Note that this is temporary until protocol sessions are properly implemented.

### 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.