58e84fbeca
Minor: Unit testing: InMemoryNetwork.Node.stop, running = false after thread shutdown not before.
2016-02-17 17:19:36 +01:00
55989a8e92
Minor: add logging to the RecordingMap unit test utility
2016-02-17 17:19:36 +01:00
b2b51183b8
Minor: logging - allow multiple package specs to be passed to BriefLogFormatter.initVerbose()
2016-02-17 17:19:36 +01:00
299e1af15e
Protocol frameworks: separate the fiber object from the logic object to make it easier to compose subprotocols together.
2016-02-17 17:19:36 +01:00
dc520392b8
Protocol framework: tweak error handling a bit and add unit test for it.
2016-02-17 17:19:36 +01:00
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
f92455442d
Minor: Unit testing: don't always require a lambda when running the network synchronously.
2016-02-17 17:19:36 +01:00
40d9b7686b
Minor: tweak IntelliJ run configs so trader demo nodes check Quasar instrumentation when run in IntelliJ
2016-02-17 17:19:36 +01:00
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
de4427c240
Minor: add a few utilities for working with listenable futures
2016-02-16 17:39:02 +01:00
1f8fd4b578
Kotlin 1.0 (huzzah)
2016-02-16 17:26:12 +01:00
8c72f68736
Minor: fix a minor merge issue that broke pretty output in the trader demo
2016-02-16 17:17:15 +01:00
994abb3edb
Added new project core.
...
Project Contracts depends only on core.
2016-02-16 17:14:17 +01:00
00977c0d83
build.gradle edited online with Bitbucket
2016-02-16 17:14:17 +01:00
e34731bad7
Sorting of files. Create build.gradle in contracts. Comments.
2016-02-16 17:14:17 +01:00
cbfcac994a
New separate project for contracts. Canonicalization.
2016-02-16 17:14:17 +01:00
8bd54dfc74
Merged in tests-with-signing-improvements (pull request #19 )
...
Improve unit tests to support signatures, refactor transaction classes a bit
2016-02-12 20:01:55 +01:00
a01746a04b
Minor: use DummyTimestampingAuthority key/identity in the InMemoryNetwork
2016-02-12 16:50:44 +01:00
b7fd0ce0ed
Minor: move InMemoryNetwork to tests directory
2016-02-12 16:47:45 +01:00
9f4897f7c4
Simplifies two-party trade protocol to return SignedTransaction instead of a pair of other forms.
2016-02-12 15:49:18 +01:00
6deef5b598
Minor: rename SignedWireTransaction to just SignedTransaction
2016-02-12 15:47:23 +01:00
a42d7e64ef
Minor: add a TODO to Kryo.kt about lazy properties.
2016-02-12 15:41:36 +01:00
ea18e239d9
Testing: rework TransactionGroupDSL to work with WireTransactions instead of LedgerTransactions and simplify original hash/serialised bits tracking.
2016-02-12 15:41:22 +01:00
fc000ec03c
Testing: more utilities on Transaction and TransactionGroupForTest to help with testing signed transactions.
2016-02-12 14:55:11 +01:00
48192d8d9d
Merged in PLT-60-misc-code-cleanups (pull request #17 )
...
Misc code cleanups
2016-02-10 17:59:53 +01:00
5b473be79c
Minor: fix test breakage under Gradle due to some horrible stuff Gradle does with injecting things into our environment.
2016-02-10 17:59:28 +01:00
ae6309a113
Minor: make SecureHash c'tor private so it's not possible to instantiate directly.
2016-02-10 17:59:28 +01:00
31964f8695
Introduce ContractFactory to replace Map<SecureHash, Contract>. It allows for lazy loading of contracts.
2016-02-10 17:59:28 +01:00
2ccbd5db3e
Minor: code cleanup on ArtemisMessagingService.
...
- Use fixes in Kotlin 1.0 RC to clean up property access a bit (fewer set* calls)
- Note that we currently won't notice if Artemis throws an exception during startup, as it happens async. There is a fix to Artemis pending.
2016-02-10 17:59:28 +01:00
d98a3871da
Refactor the 2-party trading protocol
...
- Fix a security bug/TODO by having seller send back the signatures rather than a full blown transaction (which would allow a malicious seller to try and confuse the buyer by sending back a completely different TX to the one he proposed)
- Introduce an UntrustworthyData<T> wrapper as an (inefficient) form of taint tracking, to make it harder to forget that data has come from an untrustworthy source and may be malicious.
- Split the giant {Buyer, Seller}.call() methods into a set of smaller methods that make it easier to unit test various kinds of failure/skip bits in tests that aren't needed.
2016-02-10 17:59:28 +01:00
28daae5bd4
Minor: in CashTests make editIssuedBy into an infix fun with a space in the name, like owned by
.
...
Makes the code read a bit more like English.
2016-02-10 16:30:21 +01:00
bd8d056466
Minor: remove duplicated copyright header from CashTests.kt
2016-02-10 16:30:21 +01:00
52172c5f95
Minor: in TraderDemo comments point to docsite instead of duplicating
2016-02-10 16:30:21 +01:00
e426e784b4
Minor: Use exitProcess rather than System.exit, as the former interacts better with flow typing.
2016-02-10 16:30:21 +01:00
55646104b4
Minor: tweak StateMachineManager to work around a cosmetic issue in Quasar, where it prints exception details to stderr twice. We'd rather log it ourselves.
2016-02-10 16:30:21 +01:00
0665492645
Minor: introduce a generateKeyPair() function that wraps the Java API, so we can switch algorithm more easily later.
2016-02-10 16:30:21 +01:00
8d1b318370
Minor: some more renamings for concision and consistency
2016-02-10 16:30:21 +01:00
6f3b07a600
Minor: move and api doc the Node.DEFAULT_PORT field
2016-02-10 16:30:20 +01:00
5d0d926568
Node: if the node is started twice, abort and tell the sysadmin the PID of the other instance.
2016-02-10 16:30:20 +01:00
7a70cdd4de
Minor: rename InMemoryNetwork.Node to InMemoryNetwork.InMemoryNode
...
Makes IDE class navigation easier by avoiding having two classes with the same name.
2016-02-10 16:30:20 +01:00
262124385d
Move Crypto.kt into core/crypto/CryptoUtilities.kt
2016-02-10 16:30:20 +01:00
b023e570fc
Docs: update contracts tutorial to talk about generation instead of crafting
2016-02-10 16:29:44 +01:00
1bc57085c8
Rename ContractStateRef -> StateRef. Rename craft* methods to generate*
2016-02-10 16:29:44 +01:00
5f9e140545
Put "buyer" and "seller" directories in .gitignore
2016-02-10 16:28:37 +01:00
5e30e1b94b
Fix build.
2016-02-10 16:28:22 +01:00
ea2b18eb41
Merged in rg_work_in_progress (pull request #16 )
...
Updated as comments per previous pull request, now generic tests run both Kotlin and Java CommercialPaper class tests.
2016-02-10 15:04:13 +00:00
201803ff36
Now runs Java CommercialPaper unit tests
...
Acted upon comments from last pull request.
Added an interface to enable the usage of the same tests for both the Kotlin and Java example CommercialPaper class - did appropriate refactoring to enable.
Added javadoc, removed public modifier from interfaces.
Various fixes from code review comments.
2016-02-10 14:56:11 +00:00
88e02440d4
Kotlin 1.0 RC
...
Hopefully this is the last time they break backwards compatibility.
2016-02-08 19:35:30 +01:00
ac56ea2495
Regen docsite
2016-02-05 15:54:38 +01:00
c0e1b87f7e
Merged in artemis (pull request #15 )
...
Artemis
2016-02-05 15:53:15 +01:00