Upgraded 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 UpgradedContractWithLegacyConstraint instead. Otherwise, the default WhitelistedByZoneAttachmentConstraint will be used for verifying the validity of an upgrade transaction.
Parameters
the old contract state (can be ContractState or other common supertype if this supports upgrading more than one state).
the upgraded contract state.
Inheritors
Properties
Functions
Takes an object that represents a state transition, and ensures the inputs/outputs/commands make sense. Must throw an exception if there's a problem that should prevent state transition. Takes a single object rather than an argument so that additional data can be added without breaking binary compatibility with existing contract code.