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.



Authorise a contract state upgrade.

class Authorise : FlowLogic<Void?>


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

class Deauthorise : FlowLogic<Void?>


This flow begins the contract upgrade process.

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