Mike Hearn
31fbf5e1eb
Improve the transactions API a small amount with lazily deserialized access to the WireTransaction inside a SignedTransaction, and id/hash fields (again lazily calculated).
...
This required bringing back the ImmutableClassSerializer and registration of classes that need it, to ensure the constructors run.
2015-12-22 16:41:25 +00:00
Mike Hearn
3c23c4f53d
Minor: move TransactionForVerification to be next to TransactionGroup and rename the file to be more descriptive.
2015-12-22 15:30:49 +00:00
Mike Hearn
049f0aa3b3
Rename PartialTransaction -> TransactionBuilder. The term "partial transaction" should be reserved to mean a transaction that is lacking some signatures as it's in the process of being built up by multiple parties.
2015-12-22 15:28:38 +00:00
Mike Hearn
89b1a5648b
Docs: regen HTML + reorganise left hand menu a bit.
2015-12-22 15:15:38 +00:00
Mike Hearn
c217702606
Merged tx-simplifications into master
2015-12-22 15:07:51 +00:00
Mike Hearn
ef12d474d5
Refresh 'overview' page with info about the latest data model.
2015-12-22 15:03:25 +00:00
Mike Hearn
bcc56859af
Add a unit test to check before/after processing by the dummy timestamper.
...
Tweak the timestamping API a bit.
2015-12-22 15:03:11 +00:00
Mike Hearn
77554d619c
Merged in Frederic_Dalibard/r3prototyping (pull request #11 )
...
Minor change in doc source (getting-set-up.rst):
2015-12-22 09:36:25 +00:00
Frederic_Dalibard
ba99bfde7c
Minor:
...
- changed Kotlin version
- changed "playground.git" into "r3repository.git"
2015-12-21 22:16:19 +01:00
Mike Hearn
784452ac50
Reorganise how time is handled: timestamping authorities are now oracles who sign the entire transaction.
...
As a result, TimestampedWireTransaction is gone. Timestamp fields are gone. Timestamp commands contain before/after fields. The notion of time tolerance is now a part of the timestamping interface and timestamp data.
TODO:
- Unit tests to verify the notBefore/notAfter logic
- Documentation update
2015-12-18 19:14:33 +01:00
Mike Hearn
6144ccc2c7
Small cleanup of commands.
...
1. Rename Command -> CommandData, WireCommand -> Command, PartialTransaction.addArg -> addCommand
2. Add some helper functions to PartialTransaction to make creation of transactions simpler.
2015-12-18 12:38:26 +01:00
Mike Hearn
4cec5dac02
Minor: remove ambiguous c'tor in PartialTransaction and rename addItems -> withItems
2015-12-16 16:25:58 +01:00
Mike Hearn
ab9e026053
Minor: some small serialisation type safety improvements
2015-12-16 15:24:52 +01:00
Mike Hearn
5863d489bc
Minor: misc comment/whitespace fixes.
2015-12-15 18:54:22 +01:00
Mike Hearn
d6cdc8b8de
Delete the notes directory, it is long since obsoleted by the wiki and the docs site.
2015-12-15 17:19:54 +01:00
Mike Hearn
e3cfe0ae49
Docs: fix a few typos and rewrap a few code samples in the state machines article.
2015-12-15 15:52:07 +01:00
Mike Hearn
bf647f6c15
Docs: regen all docs
2015-12-15 14:27:06 +01:00
jamescarlyle
b38b80b98a
Updated README.md with "Cheat-Sheet" pre-requisite details
2015-12-15 13:22:35 +01:00
Mike Hearn
1bb729d329
Merged in asset-trade-protocol (pull request #9 )
...
Asset trade protocol
2015-12-15 13:17:58 +01:00
Mike Hearn
c4549a5ecb
Docs: regen HTML
2015-12-15 13:16:20 +01:00
Mike Hearn
06ee9db3f6
Minor: provide a random63BitValue() function and use it instead of the previously duplicated code. Update docs.
2015-12-15 13:16:13 +01:00
Mike Hearn
020a594a60
State machines: thread safety and a few more comments.
2015-12-15 13:01:57 +01:00
Mike Hearn
3c578550a9
State machines: don't leak references to completed state machines. Add an extension function for working with futures.
2015-12-14 21:41:57 +01:00
Mike Hearn
62f7237364
Docs: regen HTML
2015-12-14 18:22:54 +01:00
Mike Hearn
4198de7ff0
Messaging: add docs on the messaging and protocol state machine systems.
2015-12-14 18:22:21 +01:00
Mike Hearn
d43bbe8faa
Trading: move session ID into the initial args to avoid possible confusion at the start.
2015-12-14 18:22:00 +01:00
Mike Hearn
f15e24e7be
Messaging: Rename MessagingSystem to MessagingService for consistency with other interfaces.
2015-12-14 17:39:48 +01:00
Mike Hearn
3f19e68b3f
Messaging: another minor simplification to the state machines framework. This is not the end!
2015-12-14 17:35:20 +01:00
Mike Hearn
9720d4e404
Messaging: more huge simplifications to the state machine framework.
...
The usage now looks straightforward enough to document and put into a tutorial.
2015-12-11 20:21:22 +01:00
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