Commit Graph

7493 Commits

Author SHA1 Message Date
e9c60c2722 Docs: finish off the tutorial by adding a section on crafting functions. 2015-11-27 16:23:19 +01:00
dacfe299f8 Minor: improve realism of the CP tests by having Alice pay for the CP 2015-11-27 16:11:08 +01:00
1628c1e17a Implement and test crafting/generate methods for CommercialPaper.
Rename test keys and use real EC keys instead of dummies.
2015-11-27 15:44:43 +01:00
d3c15ab7de Minor: tighten generic bound on StateAndRef 2015-11-27 15:44:06 +01:00
a98bc241ae Early start on support for timestamping (incomplete) and addition of a helper method on LedgerTransaction 2015-11-27 15:43:48 +01:00
60f29339ee Minor: add a convenience extension function to convert from byte arrays to SHA256 hashes. 2015-11-27 15:42:55 +01:00
19cd2069c7 Minor: clarify the distinction between sighash and txid hash. Fix Cash contract to not expect keys to be sortable. 2015-11-27 14:56:36 +01:00
de40a2082d Minor: introduce Institution.ref() to get an InstitutionReference 2015-11-27 14:49:08 +01:00
88793644c8 Minor: move @Suppress("UNCHECKED_CAST") to file level to work around KT-10210 2015-11-27 14:04:38 +01:00
472d57e262 Testing: Allow "label".output inside typed TransactionGroupForTest 2015-11-27 13:50:44 +01:00
8f5170a8b2 Merged in initial-documentation (pull request #2)
Initial prototype documentation, with incomplete tutorial
2015-11-27 12:50:43 +01:00
85c4f9d514 Minor: provide the cause when an exception doesn't match expected in TestUtils 2015-11-26 19:10:40 +01:00
58ce060211 Regen the HTML 2015-11-25 19:04:35 +01:00
b4a3008302 Docs: tutorial typo fixes 2015-11-25 19:04:28 +01:00
b6b50f0e7b Docs: tutorial doesn't actually show you how to do a hello world contract, CP is enough 2015-11-25 18:51:37 +01:00
2f1a91c101 Docs: regenerate the HTML 2015-11-25 18:49:58 +01:00
1ce9bdeba0 Docs: add unit testing to the tutorial 2015-11-25 18:49:44 +01:00
ecf70efd2e Update tutorial to reflect code changes in CommercialPaper.kt 2015-11-25 18:17:51 +01:00
3172b0b86a Contracts: commercial paper issue command doesn't need a nonce, and fix a bug in the unit tests. 2015-11-25 18:14:33 +01:00
86a523dd59 Apply review changes suggested by Richard 2015-11-25 18:05:10 +01:00
766040da57 Documentation HTML build 2015-11-25 18:01:38 +01:00
3dd10714df Introduce documentation of the current prototype with a contract programming tutorial (incomplete), using the Sphinx docs engine.
Actual generated HTML will follow in the next commit.
2015-11-25 18:01:37 +01:00
ff05cb4a4c Contract: rewrite and finish off tests for commercial paper, using improved test DSL 2015-11-25 17:40:27 +01:00
c026e90067 Contracts: JavaCommercialPaper should implement equals/hashCode on its version of the state class and use the same grouping logic as the Kotlin version. 2015-11-25 14:26:17 +01:00
5285d3bb47 Minor: define contracts as regular classes instead of using the kotlin singleton syntax 2015-11-24 15:22:19 +01:00
af4aa3dedc Minor: remove funktionale from build.gradle, it's unused 2015-11-24 15:21:59 +01:00
564fce7e99 Minor: set Java 8 as a requirement in gradle build file 2015-11-23 13:13:46 +01:00
5c1e4a0e35 Minor: fix kdoc in Structures.kt, spotted by Richard 2015-11-23 11:53:31 +01:00
fa32935e77 legalContractRef changed String to SecureHash (of contract contents) 2015-11-23 10:59:28 +01:00
25a28a0a28 Minor: suppress unused parameter warnings in TestUtils 2015-11-21 13:17:05 +01:00
92c92db33d Minor: bump Dokka version to fix build 2015-11-21 13:14:53 +01:00
b0b8c74c25 Minor: move the groupBy method to TransactionForVerification where it belongs. 2015-11-20 19:36:20 +01:00
a8e34a2bb2 Contracts API: move the notion of grouping into a utility file, and modify the commercial paper contract (java+kotlin) to use it.
This resolves several open TODO list items around the composability of contracts.

The current CP tests pass, but they aren't complete, so this doesn't prove the changes are correct. That'll come soon.
2015-11-20 19:25:15 +01:00
d6cfa9b9ef Cash: refactor to allow multi-currency swaps by introducing a notion of grouping. 2015-11-20 18:19:24 +01:00
9681f97502 Minor: add a unit test to verify that duplicated inputs are forbidden (conflict) and delete the TODO for it. 2015-11-19 13:09:46 +01:00
7f13b8ab4a Minor: a few misc cleanups 2015-11-19 11:56:07 +01:00
a4aef06e41 Major: introduce TransactionGroup for verifying subgraphs. 2015-11-18 19:22:31 +01:00
636279ced9 Minor: test dsl, rename recursive transaction method to 'tweak' to better describe what it does. 2015-11-18 13:45:04 +01:00
03ddf454c7 Minor: make LedgerTransaction keep track of the hash of the original serialised tx 2015-11-18 13:35:24 +01:00
f0557e106d Minor: reorganise the test directory to match the src directory 2015-11-18 13:29:18 +01:00
508ce2819f Minor: fix wording in Cash contract, suggestion from Richard. 2015-11-17 16:29:42 +01:00
fa1c6cb01b Minor: Rename args to commands for consistency 2015-11-17 13:08:18 +01:00
5e604a5b0a Minor: fix bug in JavaCommercialPaper 2015-11-16 21:01:38 +01:00
28bd2053cc Contracts: add an issue crafting function to the cash contract. 2015-11-16 20:50:31 +01:00
aecc1de0cf Contracts: make the Cash craftSpend/generate function update a mutable transaction instead of returning a unit test structure.
Tests: move TestUtils into the test package now the cash contract generate function works the right way.

Transactions: various refactorings to support partially signed transactions.
2015-11-16 20:36:27 +01:00
1f17053263 Introduce a PartialTransaction class to represent a mutable transaction that we're in the process of building/signing. 2015-11-16 20:08:45 +01:00
853b37a6e1 Cash: add a notion of state construction based on Richard's suggestion of a nonce+simply checking the output states are for deposits owned by the signer. No genesis tx is used. 2015-11-16 19:29:11 +01:00
5f30684805 Minor: add a kdoc to the select function. 2015-11-16 19:27:39 +01:00
0aa643d4c2 Minor: note to self, remember to check for duplicated inputs when converting LedgerTransaction into TransactionForVerification 2015-11-16 19:26:43 +01:00
2c27a07c8b Minor: OpaqueBytes should never be empty. May catch certain types of simple mistake. 2015-11-16 19:23:50 +01:00