corda / net.corda.core.flows / ContractUpgradeFlow


object ContractUpgradeFlow

A flow to be used for authorising and upgrading state objects of an old contract to a new contract.

This assembles the transaction for contract upgrade and sends out change proposals to all participants of that state. If participants agree to the proposed change, they each sign the transaction. Finally, the transaction containing all signatures is sent back to each participant so they can record it and use the new updated state for future transactions.



class Authorise : FlowLogic<Void?>

Authorise a contract state upgrade.


class Deauthorise : FlowLogic<Void?>

Deauthorise a contract state upgrade. This will remove the upgrade authorisation from persistent store (and prevent any further upgrade)


class Initiate<OldState : ContractState, out NewState : ContractState> : Instigator<OldState, NewState, Class<out UpgradedContract<OldState, NewState>>>

This flow begins the contract upgrade process.

Extension Functions


fun Any.contextLogger(): Logger

When called from a companion object, returns the logger for the enclosing class.