net.corda.protocols / TwoPartyDealProtocol / Instigator

# Instigator

`class Instigator : Primary`

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

### Constructors

<init> | `Instigator(otherParty: Party, payload: AutoOffer, myKeyPair: KeyPair, progressTracker: ProgressTracker = Primary.tracker())` One side of the protocol for inserting a pre-agreed deal.

### Properties

myKeyPair | `open val myKeyPair: KeyPair`
notaryNode | `open val notaryNode: NodeInfo`
otherParty | `open val otherParty: Party`
payload | `open val payload: AutoOffer`
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 Functions

call | `open fun call(): SignedTransaction` This is where you fill out your business logic.
computeOurSignature | `open fun computeOurSignature(partialTX: SignedTransaction): WithKey`
getCounterpartyMarker | `open fun getCounterpartyMarker(party: Party): Class<*>` Return the marker Class which party has used to register the counterparty protocol that is to execute on the other side. The default implementation returns the class object of this ProtocolLogic, but any Class instance will do as long as the other side registers with it.
getPartialTransaction | `fun getPartialTransaction(): UntrustworthyData<SignedTransaction>`
verifyPartialTransaction | `fun verifyPartialTransaction(untrustedPartialTX: UntrustworthyData<SignedTransaction>): SignedTransaction`