Update docs relating to the multiple notary support work

This commit is contained in:
Andrius Dagys
2016-06-20 16:47:26 +01:00
parent a16ae677ed
commit 9f1a4e9254
4 changed files with 117 additions and 67 deletions

View File

@ -8,6 +8,20 @@ Unreleased
Here are changes in git master that haven't yet made it to a snapshot release:
* Made the ``NotaryService`` extensible, we now have both validating and non-validating notaries.
* Added a protocol for changing the notary for a state.
* Every ``ContractState`` now has to specify a *participants* field, which is a list of parties that are able to
consume this state in a valid transaction. This is used for e.g. making sure all relevant parties obtain the updated
state when changing a notary.
* Introduced ``TransactionState``, which wraps ``ContractState``, and is used when defining a transaction output.
The notary field is moved from ``ContractState`` into ``TransactionState``.
* Every transaction now has a *type* field, which specifies custom build & validation rules for that transaction type.
Currently two types are supported:
- **General**. Runs the default build and validation logic.
- **NotaryChange**. Contract code is not run during validation, checks that the notary field is the only difference
between the inputs and outputs.
* The cash contract has moved from com.r3corda.contracts to com.r3corda.contracts.cash.
* Amount class is now generic, to support non-currency types (such as assets, or currency with additional information).
* Refactored the Cash contract to have a new FungibleAsset superclass, to model all countable assets that can be merged