Applied JD changes

This commit is contained in:
ChrissyAtWork 2019-04-29 18:16:20 +01:00 committed by Mike Hearn
parent a2ed8cb374
commit 97bf11d607

View File

@ -4,7 +4,7 @@ Contracts
.. topic:: Summary .. topic:: Summary
* *A transaction is contractually valid if all of its input and output states are acceptable according to the contract.* * *A transaction is contractually valid if all of its input and output states are acceptable according to the contract.*
* *Contracts are written in a JVM programming language such as Java or Kotlin.* * *Contracts are written in Java or Kotlin.*
* *Contract execution is deterministic, and transaction acceptance is based on the transaction's contents alone.* * *Contract execution is deterministic, and transaction acceptance is based on the transaction's contents alone.*
.. only:: htmlmode .. only:: htmlmode
@ -36,10 +36,11 @@ We can picture this situation as follows:
:scale: 25% :scale: 25%
:align: center :align: center
The contract code can be written in any JVM language, and has access to the full capabilities of the language, The contract code has access to the full capabilities of the language,
including: including:
* Checking the number of inputs, outputs, commands, time-windows or attachments * Checking the number of inputs, outputs, commands, or attachments
* Checking whether there is a time window or not
* Checking the contents of any of these components * Checking the contents of any of these components
* Looping constructs, variable assignment, function calls, helper methods, and so on * Looping constructs, variable assignment, function calls, helper methods, and so on
* Grouping similar states to validate them as a group; for example, imposing a rule on the combined value of all the cash * Grouping similar states to validate them as a group; for example, imposing a rule on the combined value of all the cash
@ -62,7 +63,7 @@ that provide the current time, random number generators, libraries that provide
libraries, for example. Ultimately, the only information available to the contract when verifying the transaction is libraries, for example. Ultimately, the only information available to the contract when verifying the transaction is
the information included in the transaction itself. the information included in the transaction itself.
**Tip:** Developers can pre-verify that their CorDapps are determinsitic by linking their CorDapps against the deterministic modules **Tip:** Developers can pre-verify that their CorDapps are deterministic by linking their CorDapps against the deterministic modules
(see the :doc:`Deterministic Corda Modules <deterministic-modules>`). (see the :doc:`Deterministic Corda Modules <deterministic-modules>`).
Contract limitations Contract limitations