OldState
- the old contract state (can be interface ContractState
or other common supertype if this supports upgrading
more than one state).NewState
- the upgraded contract state.public UpgradedContract<OldState extends ContractState,NewState extends ContractState> extends Contract
Interface which can upgrade state objects issued by a contract to a new state object issued by a different contract. The upgraded contract should specify the legacy contract class name, and provide an upgrade function that will convert legacy contract states into states defined by this contract.
In addition to the legacy contract class name, you can also specify the legacy contract constraint by implementing
interface UpgradedContractWithLegacyConstraint
instead. Otherwise, the default class WhitelistedByZoneAttachmentConstraint
will
be used for verifying the validity of an upgrade transaction.
Modifier and Type | Method and Description |
---|---|
java.lang.String |
getLegacyContract()
Name of the contract this is an upgraded version of, used as part of verification of upgrade transactions.
|
NewState |
upgrade(OldState state)
Upgrade contract's state object to a new state object.
|
java.lang.String getLegacyContract()
Name of the contract this is an upgraded version of, used as part of verification of upgrade transactions.
NewState upgrade(OldState state)
Upgrade contract's state object to a new state object.