Commit Graph

620 Commits

Author SHA1 Message Date
kasiastreich
036b1b4964 Fix double spending of inputs issue on ledger level in test dsl. (#15)
* Fix double spending of inputs issue on ledger level in test dsl.

* Address PR comments.
2016-12-08 10:15:33 +00:00
Matthew Nesbit
f63e6cd2a6 Add some hooks to StateMachineManager and NodeSchedulerService so that unit tests of flows with scheduled actions can safely test for completion of their test activities. Typically this is done using a while loop whilst there are active fibers, or schedules and then blocking on the ReusuableLatches until the status changes and can be re-evaluated.
Add unit tests of ScheduledFlow running on simulated network.

Just use existing DumyContract in test

DummyContract requires value equality so that assertEquals over states works as expected.

Remove blank line.

Add TODO on waitQuiescent.

Fix minor build error
2016-12-07 16:11:55 +00:00
joeldudleyr3
432015ddfe Adds JvmName annotations where necessary to improve interop when developing CorDapps in java. 2016-12-07 12:12:18 +00:00
Clinton Alexander
b24c628e34 Publications now publish JARs again. Install task now publishes again. 2016-12-06 16:06:16 +00:00
Clinton Alexander
bf49dda731 Corda now publishes with updated publish utils. 2016-12-06 16:06:16 +00:00
Clinton Alexander
6ecbe1f1fd Added finance publishing. 2016-12-06 16:06:16 +00:00
Clinton Alexander
57f2be51b8 Added core publishing. 2016-12-06 16:06:16 +00:00
Andras Slemmer
ed14c95d6f Merge pull request #25 from corda/aslemmer-fix-X509-on-linux
core: Remove CN from X509 subjectAlternativeNames, always add hostname
2016-12-05 17:16:22 +00:00
Andras Slemmer
948e3f3932 core: Remove CN from X509 subjectAlternativeNames, always add hostname 2016-12-05 13:17:52 +00:00
Shams Asari
10360ae8cf Converted MapChange into a sealed data structure so that only Modified has the previous node property 2016-12-05 10:04:31 +00:00
Shams Asari
4addb91f80 Added security to RPC and P2P systems. 2016-12-02 18:11:08 +00:00
Shams Asari
5432905b4a Clean up NetworkMapCache and InMemoryNetworkMapCache 2016-12-02 14:45:54 +00:00
Andrius Dagys
84c127bfff Merge pull request #12 from corda/andrius-txverify-refactor 2016-12-01 13:54:59 +00:00
Andrius Dagys
cef2c906ab Minor transaction verification logic refactoring 2016-12-01 12:07:37 +00:00
Joel Dudley
110864f19a Adds a JvmName annotation to Utils.kt for better java interop. 2016-12-01 11:31:03 +00:00
Andrius Dagys
053dd9a1fe Merge pull request #5 from corda/composite-key-serializer 2016-12-01 10:17:40 +00:00
Andrius Dagys
ea04ebe311 Added a TODO to follow Crypto-conditions spec 2016-11-30 17:07:39 +00:00
Mike Hearn
d500bf8f50 Address review comments. 2016-11-30 15:11:35 +00:00
Mike Hearn
7b40be8361 Run the IntelliJ reformatter across the Kotlin code. Did not reformat JS/web code. 2016-11-30 14:40:34 +00:00
Andrius Dagys
acaeca5814 Added a custom CompositeKey serializer for a more compact serialized form 2016-11-30 14:18:18 +00:00
Ross Nicoll
f5ecddb4b2 Add get() method to identity service 2016-11-28 18:01:03 +00:00
Shams Asari
38876e3984 Introducing Future.getOrThrow() which throws the cause of the ExecutionException 2016-11-28 15:21:22 +00:00
Andras Slemmer
811b0e6a8d Merged in aslemmer-warn-on-double-tx-record (pull request #546)
Check for duplicate transaction records
2016-11-28 10:34:34 +00:00
Andrius Dagys
946cfda03e Added a distributed notary demo that runs a notary cluster and gets several transactions notarised 2016-11-25 17:09:57 +00:00
Andras Slemmer
87bd97d0c7 Check for duplicate transaction records 2016-11-24 18:00:04 +00:00
Rick Parker
699710b736 Merged in parkri-remove-quasar-scan (pull request #540)
quasarScan removal.  It's no longer required by our code base.
2016-11-24 16:28:44 +00:00
rick.parker
8ec21eedb3 quasarScan removal. 2016-11-24 16:27:51 +00:00
rick.parker
492005bcfe Fix up and improve some docs 2016-11-24 15:06:10 +00:00
Mike Hearn
a1759016a8 Minor: simplify the implementation of requireThat{} a little bit (reviewed by Roger). 2016-11-23 18:27:08 +01:00
rick.parker
f68529d1fd Rename protocol to flow. 2016-11-22 17:17:14 +00:00
Roger Willis
81b9cd6840 Merged in rog-party-participants-comment (pull request #510)
Added comment around usage of 'parties' in DealStates.
2016-11-22 09:47:40 +00:00
Andrius Dagys
93505d5e2e Merged in andrius-rename-bits (pull request #508) 2016-11-22 08:26:37 +00:00
Mike Hearn
235cee6727 Add a startup banner and suppress console logging unless --log-to-console is passed on the command line. 2016-11-21 16:08:36 +01:00
RogerWillis
1be32da0f5 Added comment around usage of 'parties' in DealStates. 2016-11-21 15:00:55 +00:00
Andrius Dagys
dce290f8ec Recompile isolated.jar 2016-11-21 14:47:19 +00:00
Andrius Dagys
64299591c3 Rename PublicKeyTree -> CompositeKey and unify terminology across documentation. 2016-11-21 14:47:19 +00:00
Andrius Dagys
635ee8df79 Rename bits -> bytes, as it normally indicates a byte array 2016-11-21 13:02:27 +00:00
Clinton Alexander
063dbec505 Merged in clint-bintray (pull request #496)
Removed duplicate gradle plugins and added bintray publishing tasks
2016-11-21 11:20:13 +00:00
Roger Willis
31dd93523b Merged in rog-additional-compiler-warning-fixes (pull request #502)
Fixed an additional 2 compiler warnings.
2016-11-21 11:07:03 +00:00
RogerWillis
33c80a7091 Fixed an additional 2 compiler warnings. 2016-11-19 18:46:41 +00:00
Andrius Dagys
0d56846b1b Added a distributed notary that uses the Raft consensus algorithm (implemented by Copycat).
The notary operates by storing committed input states in a map state machine which is replicated across the Copycat cluster.
2016-11-18 18:13:19 +00:00
rick.parker
6abb5750bf RPC Kryo plugin functionality. 2016-11-18 17:38:05 +00:00
Clinton Alexander
bf70091172 Now depending on the plugins in jcenter and not buildsrc. 2016-11-18 14:41:06 +00:00
Clinton Alexander
14ca7847d0 Publishing to jcenter possible via bintrayUpload (with the correct credentials) and corda now has a dependency on the published gradle plugin to allow the split. 2016-11-18 13:02:04 +00:00
Jose Coll
876b17bb12 Transaction notes now stored individually per row. 2016-11-17 17:57:07 +00:00
Andras Slemmer
cae9b758ff core: Fix ErrorOr.combine 2016-11-16 14:43:54 +00:00
Jose Coll
5dfffb1b84 Re-applied changes following net.corda rebase. 2016-11-16 14:07:16 +00:00
Andras Slemmer
3c09056e22 Remove :Any restriction from ErrorOr's type parameter 2016-11-15 18:05:00 +00:00
Andras Slemmer
07df9f17b3 loadtest: Add loadtest code 2016-11-15 17:21:26 +00:00
Andras Slemmer
dcd7a8a08a Address PR 465 comments 2016-11-15 16:51:07 +00:00
Andras Slemmer
7f0dd1ab5b Generic startProtocol and typesafe wrappers, per-protocol permissions, CashProtocol, remove executeCommand, move almost all Cash-related things to :finance 2016-11-15 16:46:37 +00:00
Andrius Dagys
9b8f00ef84 Stop using "legally-Identifiable" signatures for the notary protocol 2016-11-15 16:08:42 +00:00
Shams Asari
c326a9ae46 Moved the RPC user config out of the properties file and into the main config file 2016-11-15 12:52:08 +00:00
Andrius Dagys
f4925c0fa9 Remove unnecessary TODO 2016-11-15 11:52:58 +00:00
Ross Nicoll
cf6a3050c3 Add sanity check on SignedTransaction.id
Add sanity check on SignedTransaction.id when deserializing the wrapped transaction. This
check is already done when verifying signatures, this moves it up to an earlier step and
adds a more specific error message to aid diagnosis.
2016-11-14 16:25:41 +00:00
Andrius Dagys
d00163e29d Stop using "legally-Identifiable" signatures for the notary protocol, as notary nodes will use their service identity to sign (and not the legal one). It also doesn't make sense to attach an identity on the signature if it's a group identity and the signer holds only 1 out of many keys. 2016-11-14 16:02:20 +00:00
Andrius Dagys
d855b10817 Nodes part of a group identity (e.g. notary) now advertise the whole group Party on the network. When sending a message to a group, a representative node advertising the group identity is first chosen (at random), and its legal identity is used for communication. Currently we assume that a single legal identity can't be advertised by more than one node (the PublicKeyTree of an identity is used for Artemis queue names and we need to do more work to properly map a single queue to multiple nodes) 2016-11-14 14:57:16 +00:00
Andrius Dagys
c33c55eb20 Replace PublicKey with PublicKeyTree in Party. A single entity can now be identified by more than one key. 2016-11-14 14:57:16 +00:00
Katarzyna Streich
79ecd03413 Add serialization without refrences to all leaves of transaction (for Merkle tree calculation). 2016-11-11 13:34:09 +00:00
Mike Hearn
0c7662d53a Fix up a move problem 2016-11-11 11:45:40 +01:00
Mike Hearn
ce99f354cb Rename com.r3corda -> net.corda 2016-11-10 17:14:24 +01:00
Katarzyna Streich
103817ec57 Add signing of transaction merkle root hash. 2016-11-08 17:41:32 +00:00
Katarzyna Streich
71965b0792 Add serialization workaround for HashMaps inside states. Fix tests. 2016-11-04 17:21:11 +00:00
Katarzyna Streich
023ba380a0 Style changes. 2016-11-04 17:15:59 +00:00
Katarzyna Streich
a5dfaa255d Code cleanup, add comments and tests to reflect changes. 2016-11-04 17:15:59 +00:00
Katarzyna Streich
e7cb47ecd0 Add cached Merkle tree structure to wire transaction and root hash as transaction id. 2016-11-04 17:15:59 +00:00
Katarzyna Streich
6af7573955 Build Partial Merkle Tree as recursive data structure. 2016-11-04 17:15:59 +00:00
Katarzyna Streich
cd59dfd2af Build Merkle Tree as a recursive data structure instead of heap like structure. 2016-11-04 17:15:59 +00:00
Katarzyna Streich
6749555996 Change transaction filtering, remove sorting. 2016-11-04 17:15:59 +00:00
Katarzyna Streich
a38e7e54a0 Minor style changes in tests. 2016-11-04 17:15:59 +00:00
Katarzyna Streich
79fc47f0ec Add comments and minor changes. 2016-11-04 17:15:59 +00:00
Katarzyna Streich
b31598b801 Change tests to reflect changes in code structure. 2016-11-04 17:15:59 +00:00
Katarzyna Streich
e823e11e85 Change places in code where instead of transaction id hash is used. 2016-11-04 17:15:59 +00:00
Katarzyna Streich
6b5ad92f9b Substitute WireTransaction id property getter with calculated merkle root. 2016-11-04 17:15:59 +00:00
Katarzyna Streich
ea826988af Add leaves filtering and building trees with different leaves types. 2016-11-04 17:15:59 +00:00
Katarzyna Streich
2ce21842f8 Add simple filtering and ordering of command leaves. 2016-11-04 17:15:59 +00:00
Katarzyna Streich
7f6f1807b1 Code cleanup and add comments. 2016-11-04 17:15:59 +00:00
Katarzyna Streich
0c573c76e2 Add simple partial tree building and verification tests (also on transactions). 2016-11-04 17:15:59 +00:00
Katarzyna Streich
930f6bbb24 Add initial test for testing Partial Merkle Tree building. 2016-11-04 17:15:59 +00:00
Katarzyna Streich
b5fd359c0a Add Partial Merkle Tree verification.
Not tested.
2016-11-04 17:15:59 +00:00
Katarzyna Streich
e8bdfa5691 Build Partial Merkle Tree for filtered transactions. 2016-11-04 17:15:59 +00:00
Katarzyna Streich
1a8e47fcaa Filter, build and verify merklized transaction from a wire transaction.
Initial structure for a merkleized transaction, with full Merkle tree building.
2016-11-04 17:15:59 +00:00
Ross Nicoll
9d254bd924 Use UUID only for UniqueIdentifier equality
The UniqueIdentifier class exists to ensure any external ID for a state is kept coupled to a
proper unique ID, however in doing so it requires both UUID and external ID to find linear head
states in the vault. This modifies the equality and hashing algorithms to use the UUID only,
so that lookup can be done without knowing the external ID.
2016-11-04 16:16:43 +00:00
Shams Asari
bd89da458b Added nice extension methods for Path, which are more readable than the static methods from Files 2016-11-04 15:36:14 +00:00
Clinton Alexander
cf4b91d7c7 Removed redundant file. 2016-11-03 11:03:54 +00:00
Clinton Alexander
acaa9f82a5 Rewrote some documentation about the simm demo. Moved a util function to the main utils file. 2016-11-03 11:03:54 +00:00
Clinton Alexander
73a2215747 Added core changes and docs required for simm valuation demo. 2016-11-03 11:01:36 +00:00
Shams Asari
6d39b71bf9 Simple RPC access control, with a demo control on the cash RPCs 2016-11-03 10:46:25 +00:00
Jose Coll
1d25d23b73 Merge from master 2016-11-02 14:20:51 +00:00
Jose Coll
012dc9ec10 Merge branch 'master' into colljos-vault-code-clean-up-refactor 2016-11-02 11:20:21 +00:00
Jose Coll
a38b363e9d Fixed subtle bug in Cash Spending when processing for same Issuer with multiple refs. 2016-11-02 11:15:09 +00:00
Jose Coll
7e3c00c1ff Merged in colljos-pluginservicehub (pull request #427)
Added PluginServiceHub for use by Corda plugin service extensions.
2016-11-01 17:12:52 +00:00
Jose Coll
f415c497d9 Minor changes to address PR feedback and comments 2016-11-01 16:47:50 +00:00
Jose Coll
253a70f55e Fixed bug in generateSpending whereby Issuer Ref was not being checked. 2016-11-01 16:12:19 +00:00
Ross Nicoll
613a86c5d9 Remove deposit and issuanceDef fields
Remove deposit field from the FungibleAsset interface, and moved it into a fixed reference to
amount.token.issuer.
Remove issuanceDef field and replace it with amount.token.
2016-11-01 14:49:57 +00:00
Jose Coll
d9f0a161e4 Addressed comments in PR review. 2016-11-01 12:05:48 +00:00
Clinton Alexander
276683e053 Merged in clint-attachmentdemosample (pull request #421)
Moved attachment demo to another repo. Added ApiUtils.
2016-11-01 11:54:59 +00:00
Clinton Alexander
7d08c0b068 Removed attachment demo.
Added ApiUtils - a library for managing api lifecycles with less boilerplate.

Added default values to http api and improved the api utils.

Fixed spacing and comments.

Removed withName and added a bad request response to handle error cases.

Replaced use of 400 error with a 404 and error message as per HTTP spec.
2016-11-01 11:53:49 +00:00
Jose Coll
c5500caf98 Minor changes to address PR feedback and comments 2016-11-01 11:39:11 +00:00
Jose Coll
308d7c1df7 Added PluginServiceHub for use by Corda plugin service extensions. 2016-10-31 17:15:06 +00:00