protocols

## Package protocols

### Types

AbstractStateReplacementProtocol | `abstract class AbstractStateReplacementProtocol<T>` Abstract protocol to be used for replacing one state with another, for example when changing the notary of a state. Notably this requires a one to one replacement of states, states cannot be split, merged or issued as part of these protocols.
NotaryChangeProtocol | `object NotaryChangeProtocol : AbstractStateReplacementProtocol<Party>` A protocol to be used for changing a states Notary. This is required since all input states to a transaction must point to the same notary.
StateReplacementRefused | `class StateReplacementRefused` Thrown when a participant refuses proposed the state replacement

### Exceptions

StateReplacementException | `class StateReplacementException : Exception`