protocols / NotaryChangeProtocol / Instigator

# Instigator

`class Instigator<T : ContractState> : Instigator<T, Party>`

### Constructors

<init> | `Instigator(originalState: StateAndRef<T>, newNotary: Party, progressTracker: ProgressTracker = tracker())`

### Properties

TOPIC_CHANGE | `val TOPIC_CHANGE: String`
TOPIC_INITIATE | `val TOPIC_INITIATE: String`

### Inherited Properties

modification | `val modification: T`
originalState | `val originalState: StateAndRef<S>`
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(): StateAndRef<S>` This is where you fill out your business logic.