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
dc0925840a
Make AbstractNode more customisable and upgrade the MockNode implementation.
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
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
1bd63c030c
Minor: delete dead test-related code from Services.kt
2016-03-01 15:20:03 +01:00
Mike Hearn
3f19842632
Minor: logging, two more utility methods.
2016-03-01 15:13:43 +01:00
Mike Hearn
1330f33aba
First pass trivial wallet: basic tracking of relevant states.
2016-02-29 22:14:25 +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
e2deea598e
Minor: tweak the mock key management service a bit.
2016-02-29 22:06:18 +01:00
Mike Hearn
49b20df6cd
Minor: add a couple of utilities to BriefLogFormatter to help cut down on unit test log spew.
2016-02-29 22:06:18 +01:00
Mike Hearn
a7e407bd74
Merged in PLT-52-attachments (pull request #24 )
...
Attachments support: part one
2016-02-29 22:03:49 +01:00
Mike Hearn
620116b01b
Minor: use UNIX config for JimFS, to fix unit test build on Windows.
2016-02-29 19:05:06 +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
48b2e561b7
Minor: make NodeAttachmentStorage open streams lazily to avoid resource leaks and to make checking for attachment existence fast.
2016-02-29 19:05:06 +01:00
Mike Hearn
a6835c4c04
Add unit tests for attachment fetch.
2016-02-29 19:05:06 +01:00
Mike Hearn
cb52ff09b8
Add a mock Node implementation to simplify unit testing.
2016-02-29 19:05:06 +01:00
Mike Hearn
5bd8a3408b
Minor: rename InMemoryNetwork/Node to talk more about messaging, to deconflict with the new mock node (which ties together all the various node services).
2016-02-29 19:05:06 +01:00
Mike Hearn
6bdfbb2a4f
Refactor Node into AbstractNode+Node, to make it easier to introduce a MockNode for unit testing purposes.
2016-02-29 19:05:06 +01:00
Mike Hearn
37f1de8a4d
Refactor FetchTransactionsProtocol into FetchDataProtocol and add support for fetching attachments.
2016-02-29 19:05:05 +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
0064f7c254
Minor: add a unit testing utility to unwrap exceptions to their root cause.
2016-02-26 15:47:12 +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
dfc15a6bab
Regen docsite
2016-02-25 13:29:28 +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
8f27c35f18
Minor: compile->testCompile dependency in core/build.gradle
2016-02-24 14:50:21 +01:00
Mike Hearn
0d9f5a955b
Minor: fix IntelliJ build config so it runs tests in submodules too.
2016-02-24 14:49:25 +01:00
Mike Hearn
fb962399ca
Merged in PLT-68-protocol-progress (pull request #23 )
...
Progress framework for protocols
2016-02-24 12:59:22 +01:00
Mike Hearn
478b6c5fba
Trader demo: use a start script instead of Gradle, which simplifies setup.
...
It also stops Gradle messing with the console output.
2016-02-24 12:58:37 +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
c35d7794d8
Minor: make BriefLogFormatter.initVerbose take a set of flags saying what logging to activate vs silence.
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
9de104df7b
Refactor the protocol framework out into separate files.
2016-02-23 18:28:06 +01:00
Richard Green
9b28521389
Merged in rg_codeadmin_wip (pull request #22 )
...
Minor: Moved JavaCommercialPaper.java from src/main... to contracts/src/main
2016-02-23 15:58:34 +00:00
Richard Green
bc8962b0dc
Minor: Moved JavaCommercialPaper.java from src/main... to contracts/src/main
2016-02-23 14:14:01 +00:00
Mike Hearn
7832fd0f93
Merged in PLT-61-resolve-deps (pull request #21 )
...
Resolve and verify transaction dependencies, many other improvements
2016-02-23 12:31:00 +01:00
Mike Hearn
027068b998
Minor: version -> "latest" in docsite
2016-02-18 17:55:11 +01:00
Mike Hearn
d420b1e785
Minor: widen the doc area in the docsite by 200px, stops code overflowing and results in more space for text.
2016-02-18 17:54:41 +01:00
Mike Hearn
ba62330a6e
Minor: fix a small bug in the tutorial.rst doc file
2016-02-18 17:47:20 +01:00
Mike Hearn
02f5dc5948
Update the protocol framework documentation
2016-02-18 17:47:05 +01:00
Mike Hearn
adda2bbe6b
Minor: move ExcessivelyLargeTransactionGraph exception into the right place
2016-02-18 17:29:44 +01:00
Mike Hearn
54a73166c3
Merge branch 'master' into PLT-61-resolve-deps
2016-02-18 17:22:35 +01:00
Mike Hearn
f6167cbe12
Minor: tweak build file to describe how to activate Dokka API docs
2016-02-18 13:43:15 +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
eb47d8af4d
Minor: Unit testing: allow a subset of transactions in a group to be signed.
2016-02-17 17:19:37 +01:00
Mike Hearn
bdadaffbc0
Minor: Logging of how many transactions were validated in TransactionGroup.verify()
2016-02-17 17:19:37 +01:00