Mike Hearn
8d041a6b1a
Minor: yet another small move
2016-03-08 11:12:45 +01:00
Mike Hearn
bf3aed11e7
Minor: another small move
2016-03-08 11:10:31 +01:00
Mike Hearn
e9fddbc709
Reorganise the file hierarchy a bit.
2016-03-08 11:06:16 +01:00
Mike Hearn
d26b06c35c
Allow download of attachments, and files within attachments, over HTTP.
2016-03-04 15:56:25 +01:00
Mike Hearn
6cb86ab840
Plumb attachments through to the contract verify functions (no contract uses them yet).
...
The right way to do this is probably to put the contracts onto the classpath before execution of the contract. However, this interacts closely with the sandboxing work, which isn't yet started, so for now this will do.
2016-03-02 15:35:46 +01:00
Mike Hearn
1123c28f02
Make the trader demo attach a PDF to the commercial paper self-issuance and then scan for it on the buyer side, print out the path on the filesystem where the PDF can be found.
2016-03-02 15:08:55 +01:00
Mike Hearn
8d906c703d
Support auto-expansion of attachment jars on disk.
2016-03-02 14:51:42 +01:00
Mike Hearn
7fd9b43e50
Add a simple TransactionGraphSearch class that can be used to query transaction graphs recursively loaded from storage. Right now it only supports a single type of query.
2016-03-02 14:51:42 +01:00
Mike Hearn
f0fa9e3097
Resolve and insert attachments to the local store when resolving transactions. Attachments aren't yet exposed to contract code.
2016-03-02 14:51:42 +01:00
Mike Hearn
7f5eb5bf2f
Minor: make TwoPartyTradeProtocolTests use the new MockNode infrastructure
2016-03-02 14:51:42 +01:00
Mike Hearn
a69a663354
Minor: add a paperclip icon to the Emoji library
2016-03-02 14:51:42 +01:00
Mike Hearn
c52f1e096f
Minor: a serialisation related fix and an additional explainer comment in SerializedBytes
2016-03-02 14:51:42 +01:00
Mike Hearn
42cd9a14cb
Minor: fix bug in SecureHash.parse()
2016-03-02 14:51:42 +01:00
Mike Hearn
02e9473201
Minor: add a simple List<T>.indexOfOrThrow() utility and use it in a new LedgerTransaction.outRef helper.
2016-02-29 22:06:18 +01:00
Mike Hearn
bab3c609c1
Minor: provide a specialisation of SerializedBytes<WireTransaction>.deserialize() which caches the bytes properly.
2016-02-29 19:05:06 +01:00
Mike Hearn
0224bca1a9
Add a simple file backed attachment store, with tests.
2016-02-29 19:04:41 +01:00
Mike Hearn
105f9e1069
Add Apache JEXL as a dependency, as part of an exploration of on-the-fly contract specialisation (this solution may not be taken forward but suffices to unblock other work)
2016-02-29 18:56:03 +01:00
Mike Hearn
c24d991a7e
Introduce a NamedByHash interface, for things that are identified via secure hash.
2016-02-25 19:24:18 +01:00
Mike Hearn
f32c83b8b3
Protocols: fix unit tests for progress tracker and don't emit UNSTARTED to all subscribers.
2016-02-24 14:51:04 +01:00
Mike Hearn
c3f86f6557
Integrate a simple progress tracking system into the protocol framework.
...
The progress tracker API lets you model a tree of steps, along the same structure as protocols and subprotocols. Each step has an (optionally changing) label, and thus progress trackers can be arranged in a tree. Updates to the progress at each level flow up the tree via an RxJava observable (I guess we will use this more in future).
A simple console renderer is provided that uses ANSI escapes and Emoji to show animated progress through a protocol.
The trader demo is enhanced to use this framework, when run outside of Gradle.
2016-02-24 12:58:37 +01:00
Mike Hearn
ab2b447a5e
Minor: add a TransientProperty utility class.
...
It makes it a bit easier to define properties that don't survive serialisation and are reconstructed each time.
2016-02-23 18:28:06 +01:00
Mike Hearn
96eacfeda8
Minor: another emoji
2016-02-23 18:28:06 +01:00
Mike Hearn
6c4825aeb2
Minor: fix typo in file name
2016-02-23 18:28:06 +01:00
Mike Hearn
1243ca2066
Trading: in the two party trade protocol, check that the proposed transaction is contract-valid, and that the missing signatures are what is expected.
2016-02-17 18:38:24 +01:00
Mike Hearn
cd28733360
Major: Separate out the dep resolution protocol into a couple of sub protocols and use on both sides of the trade.
...
* Dependency resolution/checking is now working on both sides of the two party trading protocol.
* The commercial paper contract was changed to check timestamping authority identities by name instead of key.
* The trader demo has been rewritten to use the protocol framework, which simplifies the code.
2016-02-17 18:11:37 +01:00
Mike Hearn
df4d926bca
First pass at implementing dependency resolution and checking in the two-party trade protocol.
...
This commit is incomplete: only the seller side currently checks. The code will be refactored out into subprotocols in further commits.
Note that timeouts are currently unhandled.
2016-02-17 17:19:36 +01:00
Mike Hearn
ed72e9b997
Unit tests: fix a couple of threading issues for async unit tests that use the in memory network
2016-02-16 17:39:08 +01:00
Mike Hearn
de4427c240
Minor: add a few utilities for working with listenable futures
2016-02-16 17:39:02 +01:00
Sofus Mortensen
994abb3edb
Added new project core.
...
Project Contracts depends only on core.
2016-02-16 17:14:17 +01:00