Commit Graph

2937 Commits

Author SHA1 Message Date
Mike Hearn
89ba996a3c Two party trading: big changes to support and test serialisation, refactorings ... 2015-12-11 15:19:13 +01:00
Mike Hearn
65c5fa7502 Messaging: (mock) in memory network implementation improvements.
- Now supports simulated restart of nodes
- Messages sent to non-running nodes are queued for delivery
- Messages received by a node that don't match any topics are queued until handlers are registered

These improvements help us unit test various robustness features and ensure things work in truly concurrent context where there can be race conditions like receiving a message before the node had a chance to register the right handlers.
2015-12-11 15:19:13 +01:00
Mike Hearn
0ca47156bc Trading protocol work in progress 2015-12-11 15:19:13 +01:00
Mike Hearn
fed0ae5629 Add placeholder interfaces for various service submodules. 2015-12-11 15:17:44 +01:00
Mike Hearn
2df8153cda Minor: rename wallet -> cashStates in the Cash contract spending function. 2015-12-11 15:17:28 +01:00
Mike Hearn
f13b9b00e4 Minor: fix Arrays.asList serialisation by adding the extra serialisers lib as a dependency 2015-12-10 17:14:49 +01:00
Mike Hearn
4c87dc2981 First draft of a basic messaging module interface (VERY ROUGH). Ideally, is something that can have an e.g. Kafka backend, with a full P2P implementation later. 2015-12-10 15:08:11 +01:00
Mike Hearn
7881be07ed Delete a lot of Kryo/serialisation related boilerplate.
This is/was an attempt to be secure against malicious streams, but as Kryo is just a temporary bit of scaffolding and isn't intended to be actually used in any real product, it was just a waste of time and the registration requirement was getting increasingly awkward.
2015-12-10 15:03:34 +01:00
Mike Hearn
951912f8e7 Minor: rename Kryo.registerDataClass to Kryo.registerImmutableClass 2015-12-10 14:27:53 +01:00
Mike Hearn
65f1e52d12 Bump Dokka version, it has to be kept in sync with the Kotlin compiler. 2015-12-08 17:23:39 +01:00
Mike Hearn
b915a30dee Docs: mention what to do if IntelliJ complains about lack of a jdk 2015-12-08 16:47:45 +01:00
Mike Hearn
67c810e315 Make Amount use 64 bit precision and overflow checked operations. 2015-12-08 14:58:16 +01:00
Mike Hearn
f7e04e1078 Docs: Mention the crowdfunding in the "in the box" page, regen html 2015-12-07 20:55:03 +01:00
Mike Hearn
eb3c4118ea Update README 2015-12-07 19:52:12 +01:00
Mike Hearn
73cbd41a09 Misc fixes:
- Use the OpaqueBytes wrapper (a box for byte[]) inside TimestampedWireTransaction to avoid array comparison issues.
- Introduce a few utility functions to make OpaqueBytes less painful.
- Make StateAndRef serialisable
- Introduce the notion of an OwnedState which abstracts out the owner field.
2015-12-07 17:53:01 +01:00
Mike Hearn
f4ddbc9e82 Bump Kotlin version to 1.0-beta-3594 2015-12-07 13:35:19 +01:00
Mike Hearn
a656e210c4 Merged in crowdfund-tweaks (pull request #7)
Crowdfunding contract: some cleanups and add some discussion at the top of the different possible models.
2015-12-04 12:34:03 +00:00
Mike Hearn
41f54b8555 Crowdfunding contract: some cleanups and add some discussion at the top of the different possible models. 2015-12-04 12:33:42 +00:00
Mike Hearn
ea4a6d8f06 Add logging utilities using slf4j 2015-12-03 18:24:26 +00:00
Mike Hearn
e5a36580da Visualiser: reorganise, make it easier to invoke, document it. 2015-12-03 12:00:49 +00:00
Mike Hearn
58c526c68b Visualiser: reorganise, make it easier to invoke, document it. 2015-12-03 11:54:49 +00:00
Mike Hearn
2193dced0a Minor: add docs for the cash DSL extensions 2015-12-03 11:07:25 +00:00
Mike Hearn
0e34779fce Merged in mod-crowdfund-close (pull request #5)
Updated close method
2015-12-03 10:20:18 +00:00
Mike Hearn
f98ebce58b Update copyrights 2015-12-02 18:53:16 +00:00
Mike Hearn
a95cd056ea Implement a simple transaction graph visualiser tool. 2015-12-02 09:50:45 +00:00
Mike Hearn
31ca78533b Docs: regen HTML 2015-12-02 09:50:31 +00:00
Mike Hearn
3573695553 Merged in docs-roadmap-welcome-page (pull request #6)
Docs roadmap welcome page
2015-12-01 16:34:32 +00:00
Mike Hearn
2f7da660c2 Fill out roadmap doc page and state the core hypothesis that the prototype is exploring on the welcome page. 2015-12-01 14:05:08 +00:00
Mike Hearn
1c1736ff9f Minor: SecureHash.toString + SecureHash.prefixChars methods 2015-12-01 13:36:58 +00:00
jamescarlyle
91a9b08e7d Updated close method 2015-11-30 19:16:25 +00:00
Mike Hearn
1f68727f31 Cash: add an onlyParties parameter to the spend crafting method. This allows you to restrict the wallet to only cash issued by particular parties. 2015-11-30 17:58:58 +00:00
Mike Hearn
513b2a0b8b README.md edited online with Bitbucket 2015-11-30 17:20:50 +00:00
Mike Hearn
c4d383bf67 Docs: rename institution to party 2015-11-30 17:07:09 +00:00
Mike Hearn
8ea4ac8b15 Rename 'playground' to 'R3 Prototyping' 2015-11-30 17:00:25 +00:00
Mike Hearn
50c3956988 Rename 'institution' to 'party'.
ADP-39 #resolve
2015-11-30 16:51:20 +00:00
Mike Hearn
52288bede1 Add copyright header (not open source for now) 2015-11-30 16:46:26 +00:00
Mike Hearn
9780f6254a Crowdfund contract: update to latest style for defining commands (singletons don't play nice with serialisation) 2015-11-30 16:39:03 +00:00
Mike Hearn
b3f7e307c7 Reformat the crowdfund contract 2015-11-30 16:36:12 +00:00
Mike Hearn
b8a50a65cf Merge branch 'finish-timestamping'
# Conflicts:
#	docs/build/html/searchindex.js
#	src/core/serialization/Kryo.kt
2015-11-30 16:35:10 +00:00
Mike Hearn
eb4670b536 Merged in crafting-docs (pull request #3)
Crafting docs
2015-11-30 16:27:01 +00:00
Mike Hearn
09ed50d1ab Docs: address review comments from Richard. 2015-11-30 16:26:09 +00:00
jamescarlyle
4e933f6d51 Added basic Crowdfunding contract. 2015-11-27 23:55:47 +00:00
Mike Hearn
42eed3e0a3 Flesh out timestamping logic and fix various serialisation related bugs that it exposes. Timestamps are optional, so update the CommercialPaper contract and tutorial to reflect that. 2015-11-27 18:33:17 +01:00
Mike Hearn
57118d46a8 Docs: Regen HTML 2015-11-27 16:23:32 +01:00
Mike Hearn
e9c60c2722 Docs: finish off the tutorial by adding a section on crafting functions. 2015-11-27 16:23:19 +01:00
Mike Hearn
dacfe299f8 Minor: improve realism of the CP tests by having Alice pay for the CP 2015-11-27 16:11:08 +01:00
Mike Hearn
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
Mike Hearn
d3c15ab7de Minor: tighten generic bound on StateAndRef 2015-11-27 15:44:06 +01:00
Mike Hearn
a98bc241ae Early start on support for timestamping (incomplete) and addition of a helper method on LedgerTransaction 2015-11-27 15:43:48 +01:00
Mike Hearn
60f29339ee Minor: add a convenience extension function to convert from byte arrays to SHA256 hashes. 2015-11-27 15:42:55 +01:00