Commit Graph

5225 Commits

Author SHA1 Message Date
Mike Hearn
8a2b8072e6 Contracts: include a string reference to the legal contract that the code is supposed to implement. Suggestion from Richard. 2015-11-08 13:38:51 +01:00
Mike Hearn
03aaf07f70 Cash: alter description of the state to talk about cash claims. Suggestion from Richard. 2015-11-08 13:34:52 +01:00
Mike Hearn
5022f11d9e More moving around and renaming, to have a consistent style between contracts. 2015-11-08 13:34:24 +01:00
Mike Hearn
0856894047 README: Add a brief into to Kotlin syntax used so far. 2015-11-08 13:20:19 +01:00
Mike Hearn
83eb45732f Some renaming and moving around (Children's Paper becomes Comedy Paper to make it clearer that it's sort of a joke implementation) 2015-11-08 12:30:02 +01:00
Mike Hearn
fa626fc5d7 Mark ChildrensPaper as really incomplete more visibly. 2015-11-06 19:00:44 +01:00
Mike Hearn
0131c2cc1d CP: check in a "childrens paper" contract that is sort of like commercial paper, but not really. Tests are incomplete. 2015-11-06 17:55:20 +01:00
Mike Hearn
1298c4b8ed Add a time parameter to the contract verify function. 2015-11-06 16:39:33 +01:00
Mike Hearn
163175860d Improve the contracts DSL, make the Cash contract extend the DSL in a small way to make working with arrays of cash outputs easier. 2015-11-06 16:35:51 +01:00
Mike Hearn
f09c624c0f Move DepositPointer into Structures 2015-11-06 14:57:16 +01:00
Mike Hearn
847770ed2e Move Cash into new contracts subfolder, move base code into core 2015-11-06 14:56:00 +01:00
Mike Hearn
d7a5289c3d Build/git stuff: minor tweaks 2015-11-06 13:56:04 +01:00
Mike Hearn
c0238b1f21 Cash: add a TODO comment 2015-11-06 13:01:22 +01:00
Mike Hearn
aeca56df72 Add a README 2015-11-05 16:32:55 +01:00
Mike Hearn
7e7d3ba3bf Move contracts DSL related stuff into a dedicated ContractsDSL.kt file, to emphasise that there is one :) 2015-11-04 15:47:42 +01:00
Mike Hearn
2455776b43 Cash contract: Implement example of spend crafting. 2015-11-04 15:14:56 +01:00
Mike Hearn
a09120d445 Cash contract: Introduce a DepositPointer abstraction for easier grouping
In this current model, you cannot mix up money from different deposits: they must always be kept separate.
2015-11-03 18:05:21 +01:00
Mike Hearn
fd67a85c29 TDD: Cash contract: Some basic tests of spend crafting. 2015-11-03 17:54:18 +01:00
Mike Hearn
e012d2c2f5 TestUtils: add some formatting toString methods to make test failures easier to read. 2015-11-03 17:54:18 +01:00
Mike Hearn
0c6c2df483 Cash contract: don't allow merging of two different origin deposits together. 2015-11-03 17:54:18 +01:00
Mike Hearn
8f46fb4406 Introduce OpaqueBytes, a simple wrapper around the JVM level byte[] which fixes hashCode and equals to use value-type identity rather than instance identity. Allows for more natural code. 2015-11-03 17:54:18 +01:00
Mike Hearn
12f5ddb0aa Cash contract: multi-issuer support
You can now take deposits from multiple different institutions and move/combine/split them appropriately. The issuers are kept separate, you cannot merge 3 different input states from 3 different institutions down to one, but you can merge/split within that specific issuer. Deposit refs are not currently being kept separate, but they should be also (this is coming next).
2015-11-03 17:54:18 +01:00
Mike Hearn
ce3d339c62 Give nicer backtraces in tests by just throwing AssertionError directly, document the test DSL 2015-11-03 17:54:18 +01:00
Mike Hearn
983003a562 Amount: split out of Structures.kt and into a separate file, add operator overloads. 2015-11-03 17:54:18 +01:00
Mike Hearn
c60db5544b Initial import 2015-11-03 17:54:17 +01:00