Patrick Kuo
9b4bf32fdc
client certificate signing utility
2016-09-20 10:51:09 +01:00
rick.parker
236a47104f
Persitent network map and key service. Temporary persistence workaround for scheduler.
2016-09-16 12:14:56 +01:00
Mike Hearn
4d83f1489f
Add a client library that provides an RPC mechanism for talking to the Corda node.
...
The RPC mechanism uses message queues and is essentially conventional except for the fact that it supports marshalling observables. An observable encapsulates a stream of ongoing events, and server-side observables sent to the client are automatically bound to message queues and managed by Artemis.
2016-09-16 10:13:21 +01:00
Shams Asari
8ea20dd0d2
Removed session IDs from the send and receive methods of ProtocolLogic and are now partially managed by HandshakeMessage
2016-09-14 15:26:55 +01:00
Matthew Nesbit
bf0721868e
Move Interest Rate related classes out of :node to reduce dependency of :node module on any specific contract. (Currently only WalletMonitorService and CashBalanceAsMetricsObserver stop me removing the compil dependency of :node on :contracts rather than :core). This has required that I modify fixing protocol to require information on what class of Oracle to use.
2016-09-09 11:31:08 +01:00
Mike Hearn
31f3bb28bb
Fix build
2016-09-09 11:47:40 +02:00
Mike Hearn
34890b7678
Merged in james-encumbrances (pull request #289 )
...
Encumbrances implemented by reference to an index of an output state
2016-09-09 11:32:03 +02:00
jamescarlyle
b7e6c210d9
Merge with master
...
# Conflicts:
# docs/build/html/_sources/index.txt
# docs/build/html/_sources/protocol-state-machines.txt
# docs/build/html/_sources/tutorial-contract-clauses.txt
# docs/build/html/index.html
# docs/build/html/protocol-state-machines.html
# docs/build/html/searchindex.js
# docs/build/html/tutorial-contract-clauses.html
# docs/build/html/tutorial-contract.html
2016-09-09 09:43:14 +01:00
jamescarlyle
e187c4d91d
Further tweaks based on feedback - simplified the embedded timelock contract
2016-09-08 22:49:24 +01:00
Mike Hearn
34ee44b532
Minor: move ErrorOr into the core module and tweak its API a bit. Add a Path div operator.
2016-09-08 13:12:15 +02:00
Mike Hearn
d8d639f192
Merged in mike-small-tweaks (pull request #337 )
...
A few small tweaks
2016-09-08 12:40:14 +02:00
Andras Slemmer
fcd477e332
core: Address topo sort style suggestions
2016-09-08 10:17:00 +01:00
Andras Slemmer
8e6198cf91
core: Make topological sort result deterministic
2016-09-08 10:15:59 +01:00
Andras Slemmer
5596ced5c3
core: Make topological sort more efficient
2016-09-08 10:04:18 +01:00
Andras Slemmer
d6f82637ad
core: Fix tx resolution bug by topological sorting of downloaded transactions
2016-09-07 18:34:20 +01:00
Mike Hearn
8a9350fc93
Address review comments
2016-09-07 13:09:39 +02:00
Mike Hearn
fa4b503f81
Minor: rename UntrustworthyData.validate to UntrustworthyData.unwrap to better indicate its purpose and deprecate the old name.
2016-09-07 13:09:39 +02:00
Mike Hearn
a030a45019
Address review comments
2016-09-07 13:09:39 +02:00
Mike Hearn
49a0fd8fdd
Improve the usability of SignedTransaction.verifySignatures taking into account how it is typically used.
2016-09-07 13:09:39 +02:00
Mike Hearn
2af6a70b9a
Minor: rename BaseTransaction.signers to mustSign to make it a bit clearer what this field is.
2016-09-07 13:09:39 +02:00
Mike Hearn
1d272f89c2
Check the tx type in NotaryChangeProtocol and add a TODO to write a test for this once the protocol framework propagates exceptions.
2016-09-07 13:09:39 +02:00
Mike Hearn
793e912324
State replacement protocols: preserve the UntrustworthyData<T> marker for longer to try and get subclass authors in the right frame of mind.
2016-09-07 13:09:39 +02:00
Matthew Nesbit
2e1952a8a7
Get rid of the fake NodeInfo used to identify the NetworkMapService node.
...
Remove old comment
2016-09-06 18:25:12 +01:00
jamescarlyle
cdb2c3efa6
updated following review
2016-09-06 17:56:01 +01:00
Mike Hearn
86267e880d
Minor: add a log.debug {} utility same as log.trace {} to do lazy message construction
2016-09-06 18:44:25 +02:00
Mike Hearn
5a28b29a7e
Merged in mike-tx-types-refactoring-september (pull request #332 )
...
Refactor common fields from WireTransaction/LedgerTransaction out into BaseTransaction. Put some field invariants into the constructors.
2016-09-06 18:03:39 +02:00
Mike Hearn
e398b6e17b
Refactor common fields from WireTransaction/LedgerTransaction out into BaseTransaction. Put some field invariants into the constructors.
2016-09-06 17:30:52 +02:00
Andras Slemmer
63e2ec32cf
core: Suppress cast warnings
2016-09-06 15:18:41 +01:00
Andras Slemmer
0f29067680
contracts, core: Fix compiler errors
2016-09-06 14:30:03 +01:00
Andras Slemmer
9e993c5b86
Merged in aslemmer-generators-fixes (pull request #300 )
...
Aslemmer generators fixes
2016-09-06 14:19:28 +01:00
Mike Hearn
f3fa54ebef
Minor: add field-level documentation to WireTransaction and TODO a few things that don't seem right.
2016-09-06 15:06:29 +02:00
Mike Hearn
8a19e6bbfb
Minor: delete dead code in SignedTransaction.verifySignatures as it's not required.
2016-09-06 15:06:28 +02:00
Mike Hearn
210ea2ed95
Minor: remove the TODO about the notary signing last. It is not important at this level as the notary signature does not cover the other signatures. Also a small formatting change to the withAdditionalSignatures methods.
2016-09-06 15:06:28 +02:00
Mike Hearn
99f8477bf1
Minor: move code from TransactionTools.kt into the respective classes, and add some @Throws annotations that were missing (matters for java users)
2016-09-06 15:06:28 +02:00
Andras Slemmer
bd59022e8f
Revert "core, contracts: Rewrite Generators to use functions instead of classes"
...
This reverts commit deddcc91c7f6ad436c44daf69b4cb81a406cb28e.
2016-09-06 13:54:59 +01:00
Andras Slemmer
abdc45176d
Revert "core: Small Generator fix"
...
This reverts commit c57731a978fe41f38b91dbe97dd1e1ddc9e274d1.
2016-09-06 13:54:59 +01:00
Andras Slemmer
fd3707fd24
core: Small Generator fix
2016-09-06 13:54:59 +01:00
Andras Slemmer
2ac31a53b5
core, contracts: Rewrite Generators to use functions instead of classes
2016-09-06 13:54:59 +01:00
Andras Slemmer
491b1abd4a
contracts, core, node: Use entropyToKeyPair in Generators instead of manually creating keys
2016-09-06 13:54:59 +01:00
Andras Slemmer
f11a587382
core, contracts: Add Generator<>.generateList to reduce boilerplate
2016-09-06 13:54:59 +01:00
Andras Slemmer
6faf19cccc
contracts: Add comment explaining Generators
2016-09-06 13:54:59 +01:00
Andras Slemmer
89a5448c39
node, core: Add quickcheck generators for basic types, transactions
2016-09-06 13:54:58 +01:00
Mike Hearn
f3c2bd6748
Minor: split Transactions.kt file into one file per transaction class
2016-09-06 14:21:37 +02:00
Mike Hearn
9d83a9b6d2
Minor: move transaction types out of the contracts package and into a new transactions package
2016-09-06 14:20:32 +02:00
Mike Hearn
cbf6aa0e27
Minor: make TransactionBuilder.signWith return the builder for ease of use from Java.
2016-09-06 14:20:32 +02:00
Mike Hearn
ad6c59d742
Minor: note in the DummyState doc that it's not a part of DummyContract despite the name.
2016-09-06 14:20:32 +02:00
Andrius Dagys
9cccb11967
Add comment explaining signers
2016-09-06 10:07:08 +01:00
Andrius Dagys
2676e8878d
Remove a @Deprecated as the code has been changed since its introduction anyway
2016-09-05 18:50:53 +01:00
Andrius Dagys
84247128b4
Remove addInputState(stateRef, notary) from TransactionBuilder API, as it might lead to issues where someone accidentally provides a different notary than the one in the state
2016-09-05 18:47:51 +01:00
Andrius Dagys
aa166518a0
Remove unused val
2016-09-05 18:41:35 +01:00
Shams Asari
97e1a59770
Refactored FiberRequest into cleaner ProtocolIORequest and fixed checkpoint regression
2016-09-05 14:42:54 +01:00
Ross Nicoll
9cccc7a2b7
Correct warnings
2016-09-01 16:15:15 +01:00
Ross Nicoll
b913b18e02
Merged in rnicoll-simulations (pull request #314 )
...
Move test code from node to test-utils
2016-09-01 15:21:34 +01:00
Ross Nicoll
07f44e9e2a
Move test code from node to test-utils
2016-09-01 11:15:05 +01:00
Ross Nicoll
203c4fb3d8
Merge ConcreteClause into Clause
...
Change Clause to an abstract class, and merge ConcreteClause into it. CompositeClause now
overrides defaults provided in Clause which are more suitable for composition of clauses.
2016-08-31 17:55:36 +01:00
Ross Nicoll
232db9a1fd
Move test utilities into their own package
...
This moves a lot of the test support code into its own package which is only imported for tests,
so it's not shipped as a part of core Corda. The node currently depends on this support code to
compile, although future work could try to separate this out. This change highlights that parts
of production code is dependent on test elements (i.e. dummy keys), and makes it harder for
such accidental crosses to occur later.
An integration test category is also added as part of this work, to contribute towards COR-345.
2016-08-31 15:40:54 +01:00
Matthew Nesbit
8756b49794
Add switchable HTTPS to Node web server
...
Explain change of cipher
Include extracted Dev Corda Root certificate so that it can be installed by HTTPS users.
2016-08-30 13:07:40 +01:00
Ross Nicoll
13b040ecd6
Rework clauses to use composition
...
Rework clauses so that rather than defining match/no-match behaviour themselves, they are
now composed by nesting them within clauses that understand how to match their child clauses.
This unifies a lot of the structure of clauses and removes corner cases needed for the first
design, as well as moving towards a model which is easier to prove.
2016-08-26 17:35:52 +01:00
Ross Nicoll
ad8ffca0b4
Add CommitTransactionProtocol
...
Add new protocol which manages the entire process of taking a signed transaction ready
for notarisation, through notarisation and onto recording it both locally and informing
remote nodes.
This protocol also optionally can include the ClientToServiceCommand which triggered a transaction
being created, to give the remote nodes context on why a change occurred (i.e. "You are being sent
£100")
2016-08-25 16:30:39 +01:00
Matthew Nesbit
089ba2cb69
Only NetworkMapServer addresses can be publicly manufactured. Use identity publick key as addressing, with only bridges using the HostAndPort information
...
Fixup after rebase and fix issue with checking previous deployment of bridges
Correct comments on ArtemisMessagingClient constructor
Fixup rates fix demo
Get rid of when statements
Make NetworkMapCache send modify as well as add//remove events. Make inboxes for nodes persistent.
Suppress warnings
Fix message acknowledgement so that it actually consumes messages properly.
Change queueName to SimpleString to stop lots of wasted conversions
Get rid of spurious import
Tidy up and add comments
Update to include comments on PR
Remove unnecessary import
2016-08-25 15:56:50 +01:00
Ross Nicoll
59d3cbdece
Add documentation around Commodity and CommodityContract
2016-08-23 17:40:45 +01:00
Ross Nicoll
03e120d04b
Add default values for ifMatched/ifNotMatched/requiredCommands
2016-08-23 11:23:47 +01:00
jamescarlyle
ee65d4490b
Updated based on feedback to check that the encumbered state does not refer to itself as the encumbrance.
2016-08-19 17:49:53 +01:00
jamescarlyle
6ba301b6b8
Updated based on feedback to check that the encumbered state does not refer to itself as the encumbrance.
2016-08-19 17:45:25 +01:00
jamescarlyle
fec2134555
Updated comment on why the encumbrance is an index (Integer).
2016-08-19 12:42:09 +01:00
Matthew Nesbit
413060aa6d
Don't use single line style for verify
2016-08-19 12:05:32 +01:00
Matthew Nesbit
696b9741dd
Remove ClashingThreads exception by tightening up unique id on LinearState to be a secure random value, with constraints that it cannot be duplicated. Also, rename to linearId rather than the confusing thread.
...
Try providing a helper interface to encourage enforcing LinearState rules
Fixup after rebase
Change to using Clauses for verifying LinearState standard properties
Fix whitespace change
Tidy up ClauseVerifier after PR comments
Change from SecureHash to a TradeIdentifier class
Change TradeIdentifier to UniqueIdentifier
2016-08-19 11:52:16 +01:00
jamescarlyle
2c7d6fc053
Encumbrances implemented by reference to an index of an output state
2016-08-18 20:39:34 +01:00
jamescarlyle
ff1a1c4848
Encumbrances implemented by reference to an index of an output state
2016-08-18 19:41:17 +01:00
Clinton Alexander
43625308fa
Merged in clint-immutable-kryo-serialisers (pull request #274 )
...
Added immatuable serialisers to Kyro.
2016-08-17 14:50:33 +01:00
Ross Nicoll
a9ec3c253e
Merged in rnicoll-notify-tx (pull request #282 )
...
Add observable for transactions being stored
2016-08-16 14:50:55 +01:00
Mike Hearn
a451000623
Merged in mike-fix-artemis-threading (pull request #276 )
...
Messaging layer improvements
2016-08-12 19:07:54 +02:00
Mike Hearn
3d391ec8c2
Add unit tests for the resolve transactions protocol
2016-08-12 17:14:54 +02:00
Mike Hearn
709fe096b3
Minor: add a rootCause property to Throwable
2016-08-12 17:13:41 +02:00
Mike Hearn
b8dc755926
Minor: a couple of small usability improvements to TransactionBuilder
2016-08-12 17:13:41 +02:00
Mike Hearn
c60c333ba9
Minor: add a utility to OpaqueBytes
2016-08-12 17:13:41 +02:00
Ross Nicoll
a3d37a4d00
Require notary to be explicitely stated on each transaction
2016-08-12 15:51:04 +01:00
Ross Nicoll
a2dff5488f
Add debugging information in case of missing signatures
2016-08-12 13:51:34 +01:00
Ross Nicoll
17ae349f4d
Remove support for timestamp commands
2016-08-12 13:51:34 +01:00
Ross Nicoll
f0aa5a30d4
Deprecate existing timestamp infrastructure
2016-08-12 13:51:34 +01:00
Ross Nicoll
8346c58d4c
Add observable for transactions being stored
...
Add observable for transactions being stored, so the UI can show transactions as they're received, rather than being
limited to the summarised version available from the wallet service.
2016-08-12 11:58:17 +01:00
Ross Nicoll
162d19deeb
Change how clause verification is called
...
Change away from extending ClauseVerifier for contracts which support clauses, and explicitely call
clause verification code in the verify() function. This should make the flow of control easier to understand.
2016-08-11 15:39:11 +01:00
Mike Hearn
ac81d2aa32
Messaging layer improvements:
...
- Fix thread safety issues in ArtemisMessagingClient. The Artemis API isn't thread safe, but that isn't well documented and it will happily invoke callbacks in parallel.
- Add discussion of how we tackle threading currently in the codebase and make a few other improvements.
- Add a shutdown hook so we stop properly when the user presses ctrl-c
2016-08-11 14:16:05 +02:00
Clinton Alexander
10035860eb
Added immatuable serialisers to Kyro.
2016-08-10 16:17:14 +01:00
Clinton Alexander
9fb8061ba4
Replaced array with list to fix comparisons.
2016-08-10 11:10:38 +01:00
Andrius Dagys
8386100677
Remove BriefLogFormatter as the formatting is now handled by Log4j configuration. Introduce LogHelpers which now handles the custom log level setting for specific loggers.
2016-08-09 17:31:27 +01:00
rick.parker
d883b3f134
First working hand-rolled persistent wallet
...
First working Exposed-assisted persistent wallet
Cleaned up Exposed-based persistent wallet
Cleaned up warnings
Fixed up some generic types
Improved comments
Fix up TODO comment
Hikari and config integration
Fix existing tests
Clean up after looking at PR
Clean up commented out lines
Fix initialisation of IRS demo leaving database open
Fix up after rebase
Review feedback. Main change is lazy wallet iteration.
Rebased and incorporated config changes.
Use standardised config loading. Make wallet cash test use persistent wallet.
Added test to ensure wallet retains state in database across instance creation.
Tidy up whitespace and fix bug in test.
2016-08-09 16:41:32 +01:00
Mike Hearn
7357597501
Fix build. Delete a couple of dead parameters that escaped the last cleanup.
2016-08-09 16:25:35 +02:00
Mike Hearn
87047c8996
Minor: fix various inspector warnings and delete some dead code.
2016-08-09 11:55:40 +02:00
Mike Hearn
2bc77ae095
Minor: suppress bogus "cast never succeeds" compiler warning in whitelist manager unit test
2016-08-08 18:05:02 +02:00
Mike Hearn
da63ad57a4
Minor: run intellij "code cleanup" on all but javascript files.
2016-08-08 18:05:02 +02:00
Mike Hearn
8c00b5284d
Merged in mike-ledgertx-refactoring (pull request #264 )
...
Refactor the core transaction types
2016-08-08 18:02:32 +02:00
Mike Hearn
befff71252
Address review comments.
2016-08-08 11:44:59 +02:00
Matthew Nesbit
8e8a7ea60b
Separate WhitelistTrustManager registration from object creation, so that adding entries to the whitelist doesn't cause partial registration errors.
2016-08-05 14:52:30 +01:00
Mike Hearn
1f94335850
Address review comments.
2016-08-05 15:38:29 +02:00
Mike Hearn
25f65a60c7
Address review comments.
2016-08-05 14:04:07 +02:00
Mike Hearn
d61356ca9e
Don't let Kryo crawl into Rx subscriptions, and add a unit test to ensure this doesn't regress, as the rule is not intuitive.
2016-08-04 17:19:10 +02:00
Andras Slemmer
845f2bdd64
Merged in pubkey-base58-serialisation (pull request #257 )
...
Pubkey base58 serialisation
2016-08-04 13:58:57 +01:00
Clinton Alexander
b640524bf3
Merged in clint-auto-identity (pull request #261 )
...
Identity service now updates with the network map.
2016-08-04 13:29:54 +01:00
Andras Slemmer
4fb8a38122
core, node: Rename Stirng.toPublicKey to parsePublicKeyBase58
2016-08-04 12:14:40 +01:00