Commit Graph

165 Commits

Author SHA1 Message Date
Katelyn Baker
95f062e8ff
CORDA-904 - Fix evolver to work with setter instantiated classses (#2463)
* CORDA-904 - Make evolver work with classes that use setters

* review comments

* review comments

* small fixs

* don't include systemTest in compiler.xml
2018-02-06 12:55:49 +00:00
Tommy Lillehagen
f3d2a7674c Add module for end-to-end testing library 2018-02-02 12:20:14 +00:00
Michele Sollecito
142f52fa82
[CORDA:936]: Enable RPC layer to work with SSL 2018-01-23 16:23:37 +00:00
Shams Asari
00a5e3db6b CORDA-830 Introducing the network bootstrapper
Copying of the node-info files moved out of Cordform and into NetworkParametersGenerator (which is now called NetworkBootstrapper). This class becomes an external tool to enable deployment of nodes in a test setup on a single filesystem.
2017-12-17 23:49:57 +00:00
Shams Asari
5c53a91785 Overhaul of the Bank of Corda demo to fix two problems it had:
1. The runRPCCashIssue and runWebCashIssue gradle tasks didn't work because they were using the wrong ports
2. Notary lookup was failing because the lookup name didn't include the correct CN for the notary name (this slipped through when reverting the network parameters)

The ports change occurred in #1922 which was attempting the fix the runIssuer gradle task. This is actually a misleading and redundant task as all it does is start up the nodes, which is what the documented deployNodes already does. The ports runIssuer allocated to the nodes were different to the ones specified in deployNodes.

To make sure we have integration tests which closely match deployNodes, the BoC demo has been updated to make use of CordformDefinition. This keeps the node definitions in one place, removing the need to have disparate files in sync. runIssuer has been removed.
2017-11-29 14:48:05 +00:00
Shams Asari
1705df4d1f Made the database config option typesafe, rather than relying on String properties 2017-11-27 13:51:53 +00:00
Shams Asari
953a4a3790 Revert "Introducing network parameters."
This reverts commit d04e487
2017-11-17 10:04:38 +00:00
Shams Asari
2fe41715cc On exit, the driver will automaticallly shutdown any nodes which weren't waited for.
The motivation for this came with the recent change that a default notary is started by the driver, which if ignored will leak the notary process.

Also, waitForAllNodesToFinish() has been replaced by a driver parameter.
2017-11-14 20:20:00 +00:00
Christian Sailer
219433c3cd Hooks for PublicKeySerializer 2017-11-09 14:49:23 +00:00
Shams Asari
a4be26a296 Removed unnecessary calls to MockNetwork.runNetwork (b/c there is no more P2P node registration) and removed redundant entries in cordappPackages 2017-11-06 21:28:20 +00:00
Shams Asari
837e8800e8 Checking that the smoke tests don't have the node on their classpath. 2017-11-02 20:58:03 +00:00
Shams Asari
6ebba9dea1 Removed the startNotary methods from NodeBasedTest, and moved it into an internal package
This commit is in preparation for the upcoming network parameters work.
2017-10-31 11:49:33 +00:00
Maksymilian Pawlak
02a5ddb7df
Remove Bower dependencies from repo and download them on demand (#1959)
Bower dependencies installed by Gradle as a part of deployment
2017-10-30 16:51:38 +00:00
Shams Asari
cde1587ac7 Cleaned up devModeOptions 2017-10-28 13:26:06 +01:00
Mike Hearn
d7e4aa1783 Add more formal support for observer/regulator nodes. This is a simplistic
approach which assumes a dedicated node for observers: states that are
reported to the node will appear in the database and update feeds as
normal. Apps that expect all updates to be relevant to themselves may
need adjusting if they run on an observer node too, but this is likely
to be rare.
2017-10-26 18:05:24 +02:00
Maksymilian Pawlak
44a7d872d8 IRS Demo - split IRS Demo into two separate applications to showcase … (#1638)
* IRS Demo - split IRS Demo into two separate applications to showcase the separation and usage of RPC client
2017-10-25 16:40:21 +01:00
Viktor Kolomeyko
cbb5135097 Fixing Bank-Of-Corda Demo in master (#1922)
* Fix-up: Bank Of Corda sample

Use correct CorDapp packages to scan

(cherry picked from commit 2caa134)

* Set adequate permissions for the nodes such that NodeExplorer can connect

(cherry picked from commit ae88242)

* Set adequate permissions for the nodes such that NodeExplorer can connect

(cherry picked from commit ae88242)

* Correct run configuration

* Fix-up port numbers
2017-10-23 15:04:25 +01:00
Viktor Kolomeyko
99b509cb68 Attempting to make VerifierTests more stable (#1883)
* Attempting to make VerifierTests more stable

Main point: Alice node will always be faster to locate Alice by name than NotaryNode. Especially given that it may take some time
for Alice node to get reflected on the Notary's NetworkMap.

Also additional logging which might be helpful during debug and IntelliJ changed project structure reflection.

* Introduce a way for nodes to reliably learn about each other existence in the NetworkMap

Plus minor refactoring of the Driver code.
2017-10-16 09:16:40 +01:00
Shams Asari
bd53a22efa Removed extraAdvertisedServiceIds config
The remaining use for it was the finance CorDapp for permissioning CCY issuers. Instead this is now taken from a custom config in node.conf.
2017-10-10 13:47:37 +01:00
Clinton
484cf75420 CORDA-686 - Split Cordapp gradle plugin from cordformation (#1817)
Added CorDapp gradle plugin written in Kotlin and bumped the version of gradle plugins to 2.0.0 to reflect that this backwards incompatible change is a part of the on going stabilisation of the Corda gradle plugin suite.
2017-10-09 20:08:08 +01:00
Viktor Kolomeyko
20a30b30da Initial stub for IntelliJ Code Style settings (#1832)
* Initial stub for IntelliJ Code Style settings

* Added exclusion to ".gitignore"
2017-10-09 13:24:17 +01:00
Clinton
334164aa86 Fixed several bugs in the contract constraints work (#1695)
* Added schedulable flows to cordapp scanning
* Fixed a bug where the core flows are included in every cordapp. 
* Added a test to prove the scheduled flows are loaded correctly. 
* Enabled a negative test to prove that we are not currently dynamically loading attachment classes from the network.
2017-09-27 18:34:17 +01:00
Mike Hearn
7a082a6598 Add an IntelliJ scope that covers the currently supported Corda API.
This is useful when used in combination with the "Highlight public
declarations with missing KDoc" inspection.
2017-09-27 11:47:34 +02:00
Viktor Kolomeyko
f43702fe3d CORDA-611: Improve documentation for Node Explorer (#1615)
Also align the name for run configuration for Node Explorer GUI
2017-09-22 17:36:03 +01:00
Ross Nicoll
22be9fd6df CORDA-579: Move X509EdDSAEngine into net.corda.core.internal package (#1563)
* Add reflection based X509EdDSAEngine

* Rewrite X509EdDSAEngine to use public API rather than the direct equivalent functions

* Add unit tests for X509EdDSAEngine

* Remove unused imports

* Add unit tests for X509Key verification

* Add explicit x509 construct from eddsa key

This allows testing of conversion engine

* Review Comments
2017-09-21 18:18:37 +01:00
Shams Asari
8e0b8477af Changed FlowLogic.ourIdentity to return Party and added FlowLogic.ourIdentityAndCert which returns PartyAndCertificate. (#1537)
Updated code base to make use of these instead of chooseIdentity(). Also improved the serialisation of fiber checkpoints so that it doesn't store the entire cert parth of this identity.
2017-09-18 15:28:23 +01:00
Michele Sollecito
ea61e6e9d5 [CORDA-461] Remove deprecated APIs. (#1480)
https://r3-cev.atlassian.net/browse/CORDA-461
2017-09-13 15:39:39 +01:00
Clinton
1ef4cec0cd Add Cordapp class to define CorDapps inside Corda and encapsulate Cordapp loading (#1494)
Introduced a Cordapp class which contains all relevant information about a Cordapp. The Cordapp loader now produces Cordapps instead of lists of classes and services without any relation to the original Cordapp. 

Added new static constructor to CordappLoader to be able to take arbitrary paths to load cordapps from in dev mode. 

Moved the CordappLoader into the cordapp package.
2017-09-13 14:07:50 +01:00
Clinton
bc6628a072 ContractState now references contract by class name (#1407)
* ContractState's contract type has been moved to TransactionState and is now a string representing the class name of the contract class to allow classloading of arbitrary contracts from custom classloaders.

* Upgraded isolated JAR to new version.
2017-09-11 16:44:18 +01:00
Shams Asari
c293d6b18a Added check to receive and sendAndReceive to make sure the primitive classes aren't used (#1400) 2017-09-07 11:46:35 +01:00
Andrzej Cichocki
579abda044 Group test scope modules in testing dir (#1419) 2017-09-05 18:27:26 +01:00
Viktor Kolomeyko
a01f390515 CORDA-540: Upgrade version of "org.apache.qpid:proton-j" used and minor project files changes 2017-09-05 16:50:04 +01:00
Andrzej Cichocki
15f741f315 Spinoff driver into own project with demorun (#1401) 2017-09-05 09:50:51 +01:00
josecoll
b63df0ea39 Vault Service API final clean-up (#1348)
* Remove notify/notifyAll from public Vault Service API.

* 1st pass - remove ContractUpgrade public API calls from VaultService into self contained ContractUpgradeService.

* Fix compile error caused by cut'n'paste refactoring.
2017-08-31 14:01:10 +01:00
Andras Slemmer
e9f3b92e97 Add alwaysExcluded flag to quasar-hook, run config for generating exclude pattern 2017-08-30 17:14:01 +01:00
Shams Asari
1a879df0e7 Attempting to initiate flow that's not in the destination's classpath returns back a session reject 2017-07-28 10:22:26 +01:00
Andrzej Cichocki
0aadc037ef Make logging available in IntelliJ between gradle clean and assemble (#929)
* Enforce absence of node from client rpc smokeTest classpath
2017-06-28 09:54:09 +01:00
Shams Asari
b52d3706eb Moved Driver.kt to net.corda.testing.driver in the test-utils module 2017-06-14 15:12:39 +01:00
Shams Asari
afa3efb308 Fixes relating to testing flows and services.
Fixed issue where Corda services installed in unit tests were not being marked as serialise as singleton. Also the driver now automatically picks up the scanning annotations. This required moving the NodeFactory used in smoke tests into a separate module.
2017-06-06 15:22:43 +01:00
Andrzej Cichocki
bbe4c170c2 BFT notary demo (#725)
* Rename raft-notary-demo project to notary-demo
* Refactor serialisation filtering to allow BFT SMaRt to work, it no longer relies on the jdk.serialFilter system property
* In NodeBasedTest remove whitespace in node directory names for consistency with cordform and driver
2017-05-24 12:25:06 +01:00
Andrzej Cichocki
c8d71a96f5 One demo definition for both IntelliJ and gradle (#697)
* Raft notary demo now defined in one place that both IntelliJ/driver and gradle/runnodes can run
* New module cordform-common for code common to cordformation and corda
* Add single notary demo
2017-05-18 15:58:35 +01:00
Shams Asari
fe03680fdd Cleanup of the irs demo 2017-05-18 12:16:35 +01:00
Shams Asari
47c6b9c135 Making use of latest FastClasspathScanner version and cleanup of CollectSignaturesFlow.kt 2017-05-12 10:33:43 +01:00
Mike Hearn
b5dea88b39 Sync .idea/compiler.xml with Gradle 2017-05-08 14:11:34 +02:00
Rick Parker
18a0df4239 AMQP serialisation: Part 1 (#581)
Also turns on `-parameters` for java compiler
2017-05-05 12:14:02 +01:00
Chris Rankin
b597f05bd4 Delete IntelliJ RunConfiguration files for the demos. (#584) 2017-04-25 14:22:04 +01:00
Ross Nicoll
486368d926 Clean up messaging/RPC port configuration and docs (#296)
* Non-ssl artemis acceptor for RPC connection. (#271)

* New non-ssl acceptor in artemis server for RPC connection.

* Rename artemisAddress with messagingAddress

Rename artemisAddress with messagingAddress so that the node configuration file properties match
the code variable names.
Rename artemisPort to messagingPort in Gradle configuration to match node configuration naming.

* Add rpcPort configuration option for Gradle

* Update docs to reflect changes to RPC port configuration

* Renumber ports in example CorDapp to match numbering used elsewhere

* Restructure upgrade guide

* added config file checks on corda startup to make the upgrade path a bit smoother.
2017-03-17 10:32:14 +00:00
Shams Asari
b4b0e63c0d Removed Intellij dictionary file 2017-03-08 10:19:41 +00:00
Andrius Dagys
bbcaf5d98c Demo bug fixes (#217)
* Add webAddress back to NMS as it shifts the port allocation for all subsequent nodes and causes all demos to break.

* Attachment demo: fix node names

* Notary demo: fix certificate paths & ports

* IRS demo: role decider fixed to allocate roles properly. Previously it used to pick current node as the Fixer, causing both nodes to initiate the trade flow, resulting in double spend exceptions..
2017-02-07 17:18:21 +00:00
Clinton Alexander
e6da4909d3 Trader demo IntelliJ configurations and driver updated to work with the new RPC style demo. 2017-01-17 14:17:31 +00:00
Mike Hearn
b3fa9d62c1 Make the attachments demo IntelliJ run configs work again. 2017-01-09 15:55:02 +01:00
Mike Hearn
9a75adb0ab Simplify the attachments demo by getting rid of the web API and just using the RPC interface directly. The web API in this case wasn't actually adding anything that had to be server side. 2017-01-06 16:58:34 +01:00
Clinton Alexander
8a33b6b223 Renamed distributed and notary demo to 'Raft Notary Demo' to improve consistency in naming. 2017-01-05 11:43:24 +00:00
josecoll
eac2cb1cc6 Bank of Corda integration with Trader Demo and Explorer
Initial conversion of Explorer to use IssuerFlow (from BankOfCorda)

Initial conversion of TraderDemo to use IssuerFlow (from BankOfCorda)

Updated TraderDemo to use IssuerFlow (from BankOfCorda)

Fixed TraderDemo integration text (added new BankOfCorda node)

Updated Explorer with changes IssuerRequest params

Explorer now correctly displaying transaction id upon Issue.

Moved IssuerFlow into finance package so can be reused across multiple demos (TraderDemo) and applications (eg Explorer)

Refactored BankOfCorda demo to use Finance package and TestUtil constants

Updated TraderDemo to use IssuerFlow

Updated Explorer to use finance package IssuerFlow.

Advertised BankOfCorda as Issuer for usage by Explorer.

Explorer no longer depends on BankOfCorda demo since IssuerFlow promoted to Finance module

Added IssuerFlow to AbstractNode whitelist.
Explicit declarations of IssuerFlow no longer required.

Added plugin registration of IssuerFlow at bootstrap.

Revert whitelisting of IssuerFlow (plugin configured)

Refactored to use constant BOC definition.

Added gradle RPC security config.

Updated documentation

Fixed incorrect references.

Renamed Issuer banks.
Added new permission set (for Issuer nodes)
Added node nearestCity info
Added new Issuer Event Generator for Issuer nodes only

Associated currency with issuer using ServiceType naming structure.

Added argument flag (-S) to trigger event generator simulation node.

Fixed problem with issuers not resolving from network map.

Updated perms on Issuer rpc proxy nodes.

Fixed minor in cash generateExit identified by Explorer.

Changes applied in prep for AWG demo.

Added IntelliJ run-configurations for launching Explorer demo nodes (with and without simulation)

Updated documentation (and added additional gradle task to launch Explorer nodes in simulation mode).

Fix following rebase.

Addressed review items from PR.

Updated TraderDemo readme.

Updated TraderDemo gradle file to launch Bank of Corda node.

Updated JRE properties.

Updated IssuerModel to incorporate correct JFX Observable handling.
Fixed bug with Exit command not displaying any currency.

Added TODO's for revisiting correct Exception handling strategy.

Optimization for when issuing cash to self.

Minor updates following PR review.

Remove old refs to Royal Mint and Federal Reserve
2016-12-22 15:55:50 +00:00
Jose Coll
453f7cd223 Bank of Corda demo - Issuer of Cash
Resolve BankOfCorda through NMS in protocol

Fixes following Integration testing.

Register custom RPC Kryo classes.

Protocol -> Flow renaming

Bank of Corda demo - Issuer of Cash

Resolve BankOfCorda through NMS in protocol

Fixes following Integration testing.

Protocol -> Flow renaming

Addressed all comments in PR review.

Removed bank lines.

Updated minor inconsistency in README.md

All protocol references changed to flow.

changed protocol -> flow in TODO comment.

changed startProtocolPermission -> startFlowPermission in README.md

Added transaction id to IssuerFlow Success response.
Removed explicit call to record Cash Move transaction (as already recorded in subflow)

Removed quasar dependency.

Addressed comment in PR.

Updated to use CompositeKey.

Added arguments to pass in Currency and Amount.

Updated run configurations to pass in Currency and Amount values

Added additional parameter to IssuerFlow request: issueToPartyReference

Added Vault updates verification in RPC Integration test.

Fixed RPC Integration test (Vault assertions)

Updated run-time dependencies in line with other demos.

Applied changes following PR review (exception handling, party resolution handling, docs)

Updated gradle client run configs with new parameters.

Main driver app now uses standard out for display (was using logger info() but nothing was being displayed because of restrictive config)

Fixed formatting display problems.

Updated Web Api code to use new CordaRPCOps interface (and new partyFromName() exposed method)

Removed unused import.
2016-12-08 17:38:21 +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
Mike Hearn
22198c06b5 Add back the SIMM run config 2016-11-23 13:07:49 +01:00
Mike Hearn
dcf7a8022f Fix some run configurations I broke without realising when I add a @file:JvmName annotation to the IRS demo 2016-11-22 15:04:15 +01:00
Mike Hearn
3743438b57 Cleanup: Delete a couple of run configs we don't need any more. 2016-11-22 15:04:14 +01:00
Mike Hearn
7c80971436 Remove .idea/modules.xml 2016-11-21 15:55:40 +01:00
Mike Hearn
859542b2df Samples: make the IRS demo usable from the command line again 2016-11-18 13:02:12 +01:00
Mike Hearn
b3a70c7acb Samples: make the attachment demo runnable from the command line again. 2016-11-18 13:02:11 +01:00
Mike Hearn
7265614d5c Samples: trader-demo can now be run from the command line with gradle 2016-11-18 13:02:11 +01:00
Mike Hearn
f630e15528 Fix build 2016-11-17 16:33:06 +01:00
Mike Hearn
90b083926f Reimport samples to main repo 2016-11-17 15:51:28 +01:00
Mike Hearn
02a90014e7 Delete duplicate module lines in modules.xml 2016-11-16 17:41:20 +01:00
Patrick Kuo
af899a98f4 Explorer corda branding 2016-11-16 13:26:05 +00:00
Mike Hearn
8a680b3726 Minor style tweaks to the universal contract. 2016-11-15 19:17:30 +01:00
Andras Slemmer
07df9f17b3 loadtest: Add loadtest code 2016-11-15 17:21:26 +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
Clinton Alexander
70cf57f736 Added correct modules.xml for the finance project. 2016-11-04 13:38:46 +00:00
Clinton Alexander
7e198e7cf3 Renamed contracts project to finance to better reflect the purpose of the project. 2016-11-04 13:35:25 +00:00
Patrick Kuo
7d465999d6 Merged in pat-explorer-move (pull request #443)
move explorer to tools folder
2016-11-04 11:44:16 +00:00
Patrick Kuo
e29f281cfd Changed / to : to align with gradle include directive. 2016-11-04 11:20:02 +00:00
Clinton Alexander
30f7eadcd1 Renamed publishToMavenLocal to install in run configs. 2016-11-04 10:37:38 +00:00
Patrick Kuo
3cd8562b3b move explorer to tools folder 2016-11-03 17:28:38 +00:00
Clinton Alexander
54dfced4ab Added publish to maven local run config and added publish to the install run configuration. 2016-11-03 09:54:41 +00:00
Clinton Alexander
1e6cca4d5d Removed dead installDist configurations and moved Jolokia access to the correct resources dir. 2016-11-01 16:09:13 +00:00
Clinton Alexander
810a5eb899 Removed the plugin registry that pointed to non-existent classes. 2016-10-13 11:26:49 +01:00
Clinton Alexander
3ea7d382a2 Removed IRS demo and network simulator and placed them in separate repos. 2016-10-12 16:33:05 +01:00
Andras Slemmer
3b77de67b6 docs: add docs/source/example-code module, tutorial on the Client RPC API 2016-10-05 10:40:18 +01:00
Ross Nicoll
16a014e45a Add further words to dictionary 2016-09-21 10:50:28 +01:00
Ross Nicoll
89ead30e82 Add custom dictionary 2016-09-21 10:50:28 +01:00
Ross Nicoll
ae4513c8eb Update modules.xml to reflect rename of network explorer to simulator 2016-09-20 17:14:45 +01:00
Andras Slemmer
a5774adba1 .idea: Share explorer configuration 2016-09-20 13:42:01 +01:00
Andras Slemmer
9877299ba8 .idea: Remove superfluous lines 2016-09-19 15:05:22 +01:00
Andras Slemmer
91de256dcc explorer: reactfx->rx 2016-09-19 15:05:22 +01:00
Andras Slemmer
1ec89e07c4 explorer: Add explorer subproject with javafx screens for cash and transactions 2016-09-19 15:05:22 +01:00
Mike Hearn
e27a61ffe6 Make the name of the Network Map Visualiser tool consistent in the code and module naming. 2016-09-19 11:53:41 +01:00
rick.parker
0b1c3a09a9 Remove non-gradle "All tests" as seems to hang and add several Gradle based run configurations.
Added buildCordaJAR to install step.
2016-09-12 15:17:54 +01:00
Matthew Nesbit
9518c38f29 Ensure integration tests in modules are in separate configurations and not directly called from build or installDist. 2016-09-08 15:28:04 +01:00
Andras Slemmer
9cda99bbcc client: Add client submodule 2016-09-01 09:36:05 +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
Clinton Alexander
9375cd21c1 All Tests can now be run on Windows as tests are now forked by class. 2016-07-20 14:27:24 +01:00
Clinton Alexander
5bf5e37572 Demos now fully handle process managment except in the case where the process is killed with something like pkill or the JVM being ended by task manager. 2016-06-28 14:03:32 +01:00
Clinton Alexander
ad45b5deaf Tests now fail if spawned processes take too long to finish. 2016-06-28 14:03:32 +01:00
Clinton Alexander
609d80e630 Integration test module set correctly. 2016-06-28 14:03:32 +01:00
Mike Hearn
809d1c5dcd Add an experimental module. 2016-06-22 18:00:36 +02:00
Ross Nicoll
795fba1165 Add buildSrc module to IntelliJ 2016-06-17 16:33:45 +01:00
Matthew Nesbit
ab5fc4a1d5 Fix up default IntelliJ run configuration 2016-05-23 15:10:45 +01:00