Commit Graph

621 Commits

Author SHA1 Message Date
gary-rowe
108f171e03 Replace 'by' with 'using' to avoid overloading Kotlin keyword in contracts DSL. Deprecates 'by' with offered replacement. 2017-04-12 12:27:02 +02:00
kasiastreich
36d5d0d7b2 Refactor of CompositeKeys to implement PublicKey interface. (#433)
* Make CompositeKey implement PublicKey

The initial implementation of composite keys as their own distinct class separate from PublicKey
means that the keys cannot be used on standard classes such as Certificate. This work is a beginning
to modifying CompositeKey to being a PublicKey implementation, although significant further work
is required to integrate this properly with the standard Java APIs, especially around verifying
signatures using the new key type.

* First stage of making CompositeKey implement PublicKey interface. Revert to using PublicKey everywhere we expect a key.

* Move algorithm and format into companion object (#432)

Move algorithm and format into companion object so that they can be referenced from other
classes (i.e. the upcoming signature class).

* Add simple invariants to construction of CompositeKey.
Builder emits CompositeKeys in simplified normalised form. Forbid keys with single child node, force ordering on children and forbid duplicates on the same level. It's not full semantical normalisation.

* Make constructor of CompositeKey private, move NodeWeight inside the class.
Add utility function for Kryo deserialization to read list with length constraints.
2017-04-12 11:13:20 +01:00
Charles
cb84f7b707 Doc changes 2017-04-12 11:48:34 +02:00
Andrzej Cichocki
ba902f1549 Make quasar unit test setup work if there is whitespace in $PROJECT_DIR$ (#523) 2017-04-11 13:39:08 +01:00
Roger Willis
43459789ee Merge pull request #510 from corda/andr3ej-runConfigurations
Fix always-failing command in Getting set up documentation
2017-04-11 13:20:21 +01:00
Shams Asari
c17fe29a62 Converted FullNodeConfiguration into a data class and added ability to parse Configs into data classes 2017-04-07 17:54:03 +01:00
Patrick Kuo
dd7bb61b68 M10 contributors 2017-04-07 17:33:45 +01:00
Patrick Kuo
f4bdb00f70 Bump version to M10.1 in docs for release (#517) 2017-04-07 16:28:18 +01:00
Chris Rankin
2c5247d1cf Update DemoBench documentation. (#499)
* Document DemoBench's download link and the location of its log file.
* Document locations of DemoBench's runtime dependencies.
* Initial changes following review from Richard Brown.
2017-04-07 12:19:15 +01:00
Patrick Kuo
7b216d6dc3 M10 release note (#509) 2017-04-07 10:12:01 +01:00
Andrzej Cichocki
8dbd0d2e25 Improve Quasar agent config instructions for unit testing (#512)
Procedure to get IntelliJ to automatically add quasar agent to all new unit test configs.
2017-04-06 15:37:18 +01:00
Andrzej Cichocki
8853a6069c
Command fails as .idea/runConfiguration doesn't exist in version control, should be .idea/runConfigurations . 2017-04-05 15:19:37 +01:00
Clinton
b5c6f6053a Changed dependencies of deployNodes everywhere to depend on the jar task and not build to reduce build time. (#502) 2017-04-04 15:45:41 +01:00
Clinton Alexander
c0d2e3ec04 Fixed docsite building on Ubuntu by explicitly calling bash. Due to sh mapping to dash and not bash. 2017-04-03 16:45:55 +01:00
Shams Asari
e0c548d4fa Cleaned up code causing build warnings 2017-04-03 13:52:51 +01:00
Matthew Nesbit
51c7f6ca30 Merge pull request #453 from corda/mnesbit-amount-improvements
Modify the Amount concept to allow conversion to from displayable formats
2017-03-31 14:37:32 +01:00
Patrick Kuo
d8370a41b5 Reduce occurrence of flow exception in explorer demo (#467)
* changed event generator to reduce flow exception due to wrongly generated event
2017-03-31 14:19:02 +01:00
Chris Rankin
0bbc330a04 CORDA-307: Initial DemoBench documentation. (#408)
* CORDA-307: Initial DemoBench documentation.
* CORDA-307: Update with review comments.
* CORDA-307: Update local installation instructions and download site.
* CORDA-307: Remove download link because it's not ready yet.
* CORDA-307: Mention that the node.conf files within the profiles can be edited by the user.
* CORDA-307: Add DemoBench section to the appendix.
2017-03-31 14:16:32 +01:00
Clinton
fcdcb0bdcf Merge pull request #469 from corda/clint-reducebuildsize
Webserver no longer depends on node.
2017-03-31 11:54:13 +01:00
Clinton Alexander
e201569ac9 Made casing of h2Port more consistent with other node properties in Cordformation. 2017-03-31 10:36:34 +01:00
Clinton Alexander
da88a43e40 Moved webserver to root project. 2017-03-30 17:34:32 +01:00
Clinton Alexander
76eb713777 Added a h2 port configuration to Cordformation. 2017-03-30 17:10:49 +01:00
Matthew Nesbit
cedfc4e1ad Add a concept of token size to Amount<T> so that conversion to/from indicative and displayable BigDecimal works sensibly
Add an AmountTransfer type to express the concept of asset flows.

Unify the currency amount creators and fix a few old style display conversions in teh explorer cash dialogs.

Modifications according to PR comments.

Change TransferAmount display string as it may not always be a payment.

Update docs
2017-03-30 16:16:11 +01:00
Clinton Alexander
d4e0ab52fe Moved the webserver from being a subproject of node to a subproject of client. 2017-03-30 14:43:18 +01:00
Clinton Alexander
e9cfbde287 Kapt now must be run manually in order for IntelliJ to compile Corda.
Replaced compileKotlin with kaptKotlin in docs to reduce build times for users following documentation.
2017-03-30 14:18:27 +01:00
Clinton Alexander
796d475e0b Removed repositories from docs build.gradle. 2017-03-30 12:24:06 +01:00
Clinton Alexander
5ef66d8fd6 Removed old information about Dokka from the building docs documentation.
Make docsite no longer cleans. Now gradle should be used for cleaning the docs.

Corrected docs building gradle script.
2017-03-30 12:23:20 +01:00
Clinton Alexander
1b5182fe24 Removed robots.txt from repo and added docs/build back to the gitignore list. 2017-03-30 12:23:14 +01:00
Clinton Alexander
8862920f9a Removed docs build directory from repo.
Make docsite is back in a shell file due to issues invokving outside of the virtualenv.
2017-03-30 12:22:59 +01:00
Clinton Alexander
b80aaa0e9d Moved the build docs functionality into build.gradle.
Removed redundant parts of the docsite generator.

Gradle now calls the docsite requirements installation script when building docs via buildDocs

Added docs build script and moved all docs building related code into it

Corrected directories for build.
2017-03-30 12:22:15 +01:00
Patrick Kuo
78a0024e00 Fix various deprecated warnings
* Changed deprecated kotlin.reflect.primaryConstructor to kotlin.reflect.full.primaryConstructor
* Changed deprecated kotlin.reflect.memberProperties to kotlin.reflect.full.memberProperties
* Changed deprecated kotlin.reflect.declaredMemberProperties to kotlin.reflect.full.declaredMemberProperties
* Changed deprecated AllComposition to AllOf
* Changed deprecated AnyComposition to AnyOf
* Changed deprecated kotlin.reflect.KotlinReflectionInternalError to kotlin.reflect.jvm.internal.KotlinReflectionInternalError
* Changed deprecated HostAndPort.hostText to HostAndPort.host
* Removed duplicated method net.corda.core.node.recordTransactions
2017-03-30 10:00:46 +01:00
Richard Green
86b5915ae7 changed reference from r3prototyping to corda 2017-03-29 17:45:41 +01:00
Patrick Kuo
a47a45037d added protocol design to the permissioning doc (#448) 2017-03-28 16:27:53 +01:00
Qian Hong
aca00700aa docs: Create users separately for different parties with minimum required permission. (#440) 2017-03-28 12:57:36 +01:00
Mike Hearn
dcbfe7bb5d Typo fix to the intro white paper source code. 2017-03-28 10:53:07 +02:00
Andras Slemmer
48952dfc02 Add node-api, split minimal node functionality, OutOfProcessTransactionVerifierService 2017-03-27 17:42:51 +01:00
josecoll
0280299104 Soft locking implementation using database coin selection
Fix broken IssuerFlowTest

Fix IssuerFlowTests after rebase.

Resolve conflicts after rebase.

Soft locking converted to use persistent store.
Added additional optional 'includeLockStates' parameter in VaultService states API call.
Added Vault softLocked states query API call.

Fixed commercial paper failing test.
Improved exception handling on soft locking UPDATE statement.

Using SELECT FOR UPDATE to ensure correct soft locking data visibility.
Db query operations moved out of mutex code (as locking managed by underlying DB)

Adjusted logging severity levels.

Adjusted logging severity levels.

GenerateSpending now performing fine grained query for unconsumed states by joining with contract_cash_states table.
Using H2 proprietary cummulative counting feature (using sessioni SET variables)
Refactored and simplified HibernateObserver constructor to enable usage in JUnit tests.

Event generator issues larger random amounts (10,000..1,000,000) to those than are spent (0..10,000)
Adjusted Issue (5:1) and Exit (10:1) generation frequency vs spending.

Minor fixes: added optional lockid into select for spending criteria, set notary, additional trace logging.

Generate Cash Schema by default upon node start-up (as part of NodeSchemaService initialisation).

Explicitly close JDBC statements in finally() blocks.

Tightened HibernateObserver constructor.

Fix CommercialPaper test (was missing auto-generation of CONTRACT_CASH table)

Revert default JVM size back to 200Mb.

Revert default number of iterations in Explorer Node Simulation mode (back to 10000 with .5 sec sleep interval).

Remove redundant setter function.

Added TODO messages indicating Requery / H2 restrictions & caveats.

Consumed states lock updates now performed in general consumed state Update.

Updated/added Soft Locking documentation.

Addressed initial PR comments: use THREAD_LOCAL_KRYO, use AbstractParty, extract helper method, improve readability, address some doc typos

Addressed PR comment: removed lockId from WireTransaction.

Fixed soft locking UPDATE statements.

Improvements to VaultSoftLockManager for auto-registration of soft locks for flows with spendable states (as notifications from vault).
Other optimisations (IssuerFlow no longer explicitly reserve/release issued state) and improvements (soft lock release management of soft locks, docs update)

Performance update: now using Requery for UPDATE in release soft locking (non-composite key statement)

Removed redundant TODO messages (TODO: revisit Kryo bug when using THREAD_LOCAL_KYRO)

Minor fixes following rebase

Fixed failing JUnit following rebase

Addressed MH PR review items (1st pass)

Fix broken JUnit

Significant changes to RDBMS operations within coin selection and soft locking as requested by PR review.
(Removed SELECT FOR UPDATE; added RETRY upon coin selection; reverting partial soft locks)

Addressed a number of PR review requests added by MH (comments/spelling, lockID instantiation, HibernateObserver instantiation, cash schema white-listing usage)

Addressed latest PR review comments from RP.

Minor fixes following rebase from master.

Fixed final failing JUnit (issuer flow concurrent).

Updated TraderDemo to trigger concurrent issuance of cash.

Fixed compiler warning on lockId null check.

Fixed subtle bug in coin selection intermittently surfaced in IntegrationTestTutorial.

Fixed small memory leak.

Removed stray } in logger trace message.

Slight rewording of description of Soft Locking in docs.

Renamed NoStatesAvailableException to StatesNotAvailableException.
generateSpend is now Suspendable (calls sleep method on flow upon coin selection retry).

Added companion function to enable a Strand to sleep but without locking transactional context.

Improved logging, changed to StateNotAvailableException, using Flow sleep upon retry, tweaked SELECT criteria in coin selection, fixed bug when insufficient states selectable, generateSpend is now @suspendable

Improved handling and logging of flow results in Simulation Mode.

Fixed minor error in sleep when not an active flow.

Retry coin selection when unavailable states (as these may become available as new states).
Additional debug logging to highlight and identify H2 coin selection sporadic bug.

Inlined sleep method due to intermittent Quasar error.

Re-introduce selection clause that prevents selection and temporary locking of already locked states (by other flows).
Improved trace logging for coin selection (SQL row level info).
Correctly calling FlowStateMachineImpl sleep (now inlined and working correctly)

Fixed rebase error.

Remove redundant TODO message.
2017-03-27 17:12:33 +01:00
Clinton Alexander
a40d55df84 Updated docs to refer to the latest M9.2 release. 2017-03-27 16:33:33 +02:00
Mike Hearn
e29d41a82a Regen docsite 2017-03-24 12:52:32 +01:00
Mike Hearn
68ff33549a Address review comments 2017-03-24 12:44:54 +01:00
Mike Hearn
ac90fe724e Shell: add support for uploading and downloading attachments. 2017-03-24 12:44:54 +01:00
Marek Skocovsky
262c87a5c6 Integrate CRaSH shell (SSHD). Joint effort between Mike Hearn and Marek Skocovsky.
The shell is embedded in the node and offers the ability to monitor
and control the node via the launching terminal.

Still to do:

* Switch to a fork of CRaSH that we can maintain ourselves, and merge in Marek's SSH patch so we can enable SSH access.
* Add persistent command history that survives restarts.
* Tab completion for the 'flow' and 'run' commands.
* Remove the 'jul' command and replace it with a command that lets you see and tail the log4j logs instead.
* Fix or remove the other crash commands that have bitrotted since 2015.
2017-03-24 12:44:54 +01:00
Chris Rankin
98266da41c Refactor CordaRPCClient into new :client:rpc Gradle module. (#405)
* CORDA-305: Refactor CordaRPCClient into :client:rpc module

* CORDA-305: Remove the Kotlin test framework from the artifacts.

* CORDA-305: Migrate serialisation whitelist into node-api module.

* CORDA-305: Clean up unused RPC observables.

* CORDA-305: Add :client:rpc module to documentation tasks.

* CORDA-305: Include :finance into :client:rpc for its serialisable classes.

* CORDA-305: Move test classes into the correct directory.

* CORDA-305: Migrate :finance dependency from :client:rpc into DemoBench.

* CORDA-305: Update wording of TODO about handling Observables.
2017-03-22 15:52:54 +00:00
Ross Nicoll
4f0e8b73bb Update port numbers in explorer docs 2017-03-22 12:25:36 +01:00
Chris Rankin
9e43df36d3 Refactor :client module into :client:javafx and :client:mock (#388)
* CORDA-304: Refactor :client modules into :client:javafx and :client:mock.

* CORDA-304: Add :client:mock to Dokka tasks, and remove unused integrationTest task.

* CORDA-304: Migrate DriverBasedTest from node into test-utils.

* CORDA-304: Rename .fx. package to .jfx. to prevent confusion with "exchange rate".

* CORDA-304: Rename module to ':client:jfx'.
2017-03-21 19:45:12 +00:00
Mike Hearn
d281fe82b5 Docs: misc fixes and tweaks to the docsite. 2017-03-21 18:01:17 +01:00
Mike Hearn
afbc8f9b5c De-issuerify the cash payment flow. This makes it easier to use the payment flow from the shell. 2017-03-20 15:14:28 +01:00
Ross Nicoll
a2db6d0f5d Correct code paths in tutorial docs 2017-03-17 16:13:29 +00: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
David Lee
525607441b Merge pull request #365 from corda/intro-whitepaper-jp
Added Japanese translation of intro white paper, by Munetoshi Yamada
2017-03-16 12:04:20 +00:00