578 Commits

Author SHA1 Message Date
Thomas Schroeter
61d2212840 Merge remote-tracking branch 'open-source/master' into thomas-merge
experimental/behave/src/main/kotlin/net/corda/behave/logging/LogUtilities.kt
node/src/main/kotlin/net/corda/node/services/config/NodeConfiguration.kt
node/src/test/kotlin/net/corda/node/services/config/NodeConfigurationImplTest.kt
node/src/test/kotlin/net/corda/node/services/messaging/ArtemisMessagingTest.kt
2018-04-26 14:47:29 +01:00
Joel Dudley
486441c383
Changes flow tests used in flow testing tutorial to use MockNetwork instead of InternalMockNetwork. 2018-04-25 13:53:22 +01:00
Shams Asari
5f781193b6 Merge remote-tracking branch 'open/master' into os-merge-d3446e2
# Conflicts:
#	node/src/integration-test/kotlin/net/corda/node/BootTests.kt
#	node/src/integration-test/kotlin/net/corda/node/services/AttachmentLoadingTests.kt
#	node/src/main/kotlin/net/corda/node/services/statemachine/FlowStateMachineImpl.kt
#	testing/smoke-test-utils/src/main/kotlin/net/corda/smoketesting/NodeProcess.kt
#	tools/demobench/src/main/kotlin/net/corda/demobench/model/NodeController.kt
2018-04-23 15:50:24 +01:00
Andras Slemmer
ce5fb66260 StateMachine rewrite 2018-04-23 15:36:16 +01:00
Shams Asari
d3446e213c
Introduced a few more extension methods to Path, which are clearer than the static methods in Files. (#2985)
Also migrated code away from the old File API.
2018-04-23 14:31:49 +01:00
josecoll
15c015e0d6 Merge branch 'master' into colljos-merge-230418 2018-04-23 12:12:16 +01:00
Anthony Keenan
247a97f1a5
Remove superfluous registerInitiatedFlow calls from tutorial and example tests (#2944) 2018-04-20 16:56:27 +01:00
Shams Asari
a97abbc8c0 Merge remote-tracking branch 'open/master' into os-merge-1b37cef 2018-04-05 17:23:03 +01:00
Shams Asari
1b37cef822
Minor: use of ByteArray.inputStream() and introduced PublicKey.hash (#2931) 2018-04-05 17:18:27 +01:00
Shams Asari
53a0aae489
Introduced a few helper methods around InputStream.readBytes (#2928) 2018-04-05 14:27:42 +01:00
sollecitom
ca3ecb97cb Merge remote-tracking branch 'remotes/open/master' into merges/march-23-11-47
# Conflicts:
#	node/src/integration-test/kotlin/net/corda/node/NodeStartAndStopTest.kt
#	node/src/integration-test/kotlin/net/corda/node/NodeStatePersistenceTests.kt
#	node/src/main/kotlin/net/corda/node/services/statemachine/StateMachineManagerImpl.kt
2018-03-23 12:17:00 +00:00
Michele Sollecito
975b81c2c4
[CORDA-1243]: Avoid drain-related deadlocks between 2 nodes. (#2866) 2018-03-23 11:45:19 +00:00
Andrzej Cichocki
96d976d555
ENT-1439 Delegate SecureRandom to thread-local (#575)
while minimising CryptoUtils diff
2018-03-20 17:56:32 +00:00
sollecitom
8a561cddbf Merge remote-tracking branch 'remotes/open/master' into merges/march-19-14-41
# Conflicts:
#	client/rpc/src/test/kotlin/net/corda/client/rpc/RPCPerformanceTests.kt
#	node-api/src/main/kotlin/net/corda/nodeapi/internal/persistence/CordaPersistence.kt
#	node/src/integration-test/kotlin/net/corda/node/modes/draining/P2PFlowsDrainingModeTest.kt
#	node/src/main/java/CordaCaplet.java
#	node/src/main/kotlin/net/corda/node/internal/AbstractNode.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/node/MockServices.kt
2018-03-19 15:17:49 +00:00
Michele Sollecito
7a077e76f0
CORDA-1099: Orchestrated clean shutdown from Shell (#2831) 2018-03-19 14:20:10 +00:00
Andrzej Cichocki
48ab7193f4
Revert "ENT-1439 Delegate SecureRandom to thread-local (#551)" (#574)
This reverts commit 58e0e8c1f5e0abfe4ff7b160d6476b25d1502c28.
2018-03-16 17:48:27 +00:00
Andrzej Cichocki
58e0e8c1f5
ENT-1439 Delegate SecureRandom to thread-local (#551)
* Use SHA1PRNG only
* Minimise CryptoUtils diff
2018-03-16 16:26:14 +00:00
Andrius Dagys
0d1e9694ae Merge remote-tracking branch 'open/master' into andrius-merge-1503 2018-03-15 15:07:55 +00:00
Andrius Dagys
e31d2b0cad
CORDA-1208: Notary service should persist the notarisation request si… (#2823)
* CORDA-1208: Notary service should persist the notarisation request signature along with the committed input states.

This required modifying the uniqueness provider interface to accept the signature in addition to input states.
Until now the committed state log used to be stored as a map of (state reference -> (tranasction id, consuming party)).
Adding the serialized signature would mean inflating each state entry by around 700 bytes, which would be grossly inefficient.
Instead, two tables are now used: one for storing (state referece -> transaction id) map, and another for storing the notarisation
request details (transaction id, consuming party, date, signature).

* Update api - all of these changes are only related to custom notaries
2018-03-15 13:29:42 +00:00
Andrzej Cichocki
6b80072b18
ENT-1439 Use thread-local MessageDigest. (#541) 2018-03-13 10:20:22 +00:00
Michele Sollecito
da1afd9c55
Introduced copyright in all source files. (#519) 2018-03-06 17:29:21 +00:00
Tudor Malene
ad4bed779d
Merge pull request #515 from corda/merge/tudor_network_bootstrap
Merge/tudor network bootstrap
2018-03-06 15:15:00 +00:00
Andrzej Cichocki
00c171cd61
CORDA-973 Turn on compression for checkpoints and tx storage (#490) 2018-03-06 15:01:30 +00:00
tudor.malene@gmail.com
98a4fe1ce3 Merge remote-tracking branch 'open/master' into merge/tudor_network_bootstrap
# Conflicts:
#	node/src/integration-test/kotlin/net/corda/node/amqp/AMQPBridgeTest.kt
2018-03-06 11:37:30 +00:00
Katelyn Baker
d116b5e9f4
CORDA-1140 - FOR RPC Client P2P context use AMQP (#2716)
* CORDA-1140 - FOR RPC Client P2P context use AMQP

* Review comments

* Review comments

* review comments

* review comments
2018-03-05 18:05:32 +00:00
Shams Asari
a59083ceb2 Merge remote-tracking branch 'open/master' into os-merge-020318
# Conflicts:
#	node/src/main/kotlin/net/corda/node/internal/AbstractNode.kt
#	node/src/main/kotlin/net/corda/node/internal/Node.kt
2018-03-02 10:42:03 +00:00
Mike Hearn
14cafee66e
Fix the serialisability of TransactionVerificationException and subtypes. (#2689)
Add KDocs for the exceptions in this file, and deprecate exceptions that aren't actually used.
2018-03-01 19:03:54 +01:00
Anthony Keenan
9dc5ce2161 Apply new test api to enterprise tests 2018-02-28 17:07:49 +00:00
Anthony Keenan
c72b3ad4fa Merge remote-tracking branch 'open/master' into anthony-os-merge-2
# Conflicts:
#	.ci/api-current.txt
#	client/jfx/src/integration-test/kotlin/net/corda/client/jfx/NodeMonitorModelTest.kt
#	client/rpc/src/integration-test/kotlin/net/corda/client/rpc/FlowsExecutionModeRpcTest.kt
#	docs/source/example-code/src/integration-test/kotlin/net/corda/docs/IntegrationTestingTutorial.kt
#	docs/source/example-code/src/main/kotlin/net/corda/docs/tutorial/mocknetwork/TutorialMockNetwork.kt
#	finance/src/test/kotlin/net/corda/finance/flows/CashPaymentFlowTests.kt
#	node/src/integration-test/kotlin/net/corda/node/CordappScanningDriverTest.kt
#	node/src/integration-test/kotlin/net/corda/node/NodePerformanceTests.kt
#	node/src/integration-test/kotlin/net/corda/node/services/BFTNotaryServiceTests.kt
#	node/src/integration-test/kotlin/net/corda/node/services/RaftNotaryServiceTests.kt
#	node/src/integration-test/kotlin/net/corda/node/services/network/NetworkMapTest.kt
#	node/src/integration-test/kotlin/net/corda/node/services/rpc/RpcSslTest.kt
#	node/src/integration-test/kotlin/net/corda/node/services/statemachine/FlowVersioningTest.kt
#	node/src/integration-test/kotlin/net/corda/node/services/statemachine/LargeTransactionsTest.kt
#	node/src/integration-test/kotlin/net/corda/services/messaging/MQSecurityTest.kt
#	node/src/integration-test/kotlin/net/corda/services/messaging/P2PMessagingTest.kt
#	node/src/integration-test/kotlin/net/corda/test/node/NodeStatePersistenceTests.kt
#	node/src/test/kotlin/net/corda/node/CordaRPCOpsImplTest.kt
#	node/src/test/kotlin/net/corda/node/modes/draining/ScheduledFlowsDrainingModeTest.kt
#	node/src/test/kotlin/net/corda/node/services/messaging/ArtemisMessagingTest.kt
#	node/src/test/kotlin/net/corda/node/services/statemachine/FlowFrameworkTests.kt
#	node/src/test/kotlin/net/corda/node/services/transactions/MaxTransactionSizeTests.kt
#	samples/trader-demo/src/integration-test/kotlin/net/corda/traderdemo/TraderDemoTest.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/node/InMemoryMessagingNetwork.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/node/MockServices.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/NodeBasedTest.kt
#	verifier/src/integration-test/kotlin/net/corda/verifier/VerifierTests.kt
2018-02-28 16:55:15 +00:00
Anthony Keenan
577033441a
[CORDA-1035] Testing api KDoc Updates (#2584)
* Testing api KDoc Updates

* Update after code review

* Update api-current

* Revert changes to compiler.xml

* Made comment changes from review

* Fixing merge conflict

* Don't expose net.corda.node through test API (first pass)

* Fixing merge conflicts

* Update api-current

* Addressing review commits

* Fix exposure of internal implementation of MessageHandlerRegistration

* Make InProcess expose ServiceHub instead of internal StartedNodeServices

* Move InternalMockMessaginService interface to internal namespace

* Move MOCK_VERSION_INFO to internal namespace to avoid exposing VersionInfo

* Don't expose WritableTransactionStorage via testing api

* Create public VerifierType enum

* Update api-current and modify check-api-changes to check for net.corda.node exposures

* Fix merge conflicts

* Fixing another merge conflict

* Fix accidentally broken unit tests

* Make getInternalServices a property

* Fix failing unit tests

* Add todo to check-api-changes

* Fix rpc sender thread busy looping

* Fix tests

* Fixing tests

* Address mike's comments

* Fixing tests

* Make random port allocation internal

* Update api
2018-02-28 13:26:49 +00:00
Thomas Schroeter
c7e03633c7 Merge remote-tracking branch 'open-source/master' into thomas-merge 2018-02-27 12:01:49 +00:00
Andrzej Cichocki
3391810101
CORDA-1004 Quasar-friendly ThreadLocal solution (#2594)
* Use FastThreadLocalThread in fiber scheduler
* Test that thread locals aren't serialized
2018-02-27 10:22:30 +00:00
Andrius Dagys
cc8e38922e Merge remote-tracking branch 'open/master' into andrius-merge-02-26 2018-02-26 11:55:17 +00:00
Andrius Dagys
0edfef2409 CORDA-696 - Create separate transaction types for contract upgrade transactions (#2589)
* CORDA-986 and CORDA-985 CompositeKey and Signature verification performance fixes (#2467)

* CORDA-696: Create separate transaction types for contract upgrade transactions.

Add rationale around upgrade transactions

Move contract upgrade transaction resolution logic into internal until it's stabilised.

Throw a better exception when contract attachment not found

Default legacy contract constraint to always accepting - needs to be changed to whitelist constraint before merging

Introduce a new upgraded contract interface that allows specifying the legacy constraint.

Remove StateLoader, make all tx resolution functions take in ServicesForResolution

Contract upgrade transactions can handle whitelist by zone constraints

When creating a contract upgrade transaction, make sure the attachment of the old cordapp gets attached when using hash constraints.
Attachment lookup for a given contract class name only scans currently loaded cordapps, and we don't load old versions of cordapps.

CORDA-696: Update upgrade docs
2018-02-26 11:29:25 +00:00
sollecitom
d41b9a0299 merged OS into master 2018-02-23 15:47:07 +00:00
Michele Sollecito
5be0e4b39e
[CORDA-941]: Add NetworkParameters contract implementation whitelist. (#2580) 2018-02-23 14:29:02 +00:00
Andras Slemmer
66cbe8c56d CORDA-1043 2018-02-21 15:56:29 +00:00
Andras Slemmer
25263c20c7 Merge remote-tracking branch 'open/master' into aslemmer-merge-19-Feb 2018-02-20 15:52:09 +00:00
Andras Slemmer
6b2b7b6a3c Merge commit 'fa4b5d16ba6249f85b50851c2f52dc697eebdee6' into aslemmer-merge-19-Feb 2018-02-20 13:26:31 +00:00
Andras Slemmer
1d7b0fc499 Merge commit '86fb1ed852c69121f989c9eeea92cfb4c27f9d13' into aslemmer-merge-19-Feb 2018-02-19 16:14:43 +00:00
Mike Hearn
4f0c692831 Minor: reduce the size of the MockNetwork API a bit, add some better documentation 2018-02-19 16:58:28 +01:00
Anthony Keenan
3e8d76334e
CORDA-939 Modify Api Scanner to check api for internal exposures (#2510)
* Update check api changes to look for internals

* Update several more uses of internal

* Make check-api-changes script filter out internal class usages

* Make CordaClock part of API

* Update api-current.txt

* Remove exclusion of nodeapi.internal

* Remove access to CordaPersistence from public api

* Don't expose DB Connection from StartedMockNode and remove unnecessary transaction from CustomVaultQueryTest

* Make internal tests that use need db access use InternalMockNetwork

* Make test certificates internal

* Address further review comments

* Revert some accidental changes to api-current.txt

* Address Shams' review comments

* Update Api Scanner to filter out CordaInternal attribute

* Update api-current.txt

* Remove superfluous brackets

* Add transaction to StartedMockNode

* More leaky transaction fixes
2018-02-14 16:42:56 +00:00
Joel Dudley
ad1be79900
Reorders params to put non-default args first. Creates simpler default constructors. 2018-02-12 17:02:34 +00:00
Konstantinos Chalkias
fa4b5d16ba
CORDA-1009 Remove X509EdDSAEngine dependency on X509Key (#2506) 2018-02-12 16:13:04 +00:00
Anthony Keenan
7b65b7971a
CORDA-939 - Don't expose StartedNode and AbstractNode as part of public test api (#2472)
* Don't expose StartedNode via Node Driver

* Dont expose StartedNode/Abstract Node via MockNetwork

* Remove internal var from constructor as it doesn't hide from public api and change to internal initialisation method

* Update api

* Rename MockNode to StartedMockNode to avoid confusion
Update documentation
Update api-current.txt

* Fix typo

* Fix test failure

* Modify flow tests to use internal mock network and remove additional internal exposures from StartedMockNode

* Fix api-current

* Change InProcess and OutOfProcess to interfaces

* Explicitly declare MockNetwork parameters
Dont expose StateMachineManager
Move affected tests to use internal mock network

* Fix api-current

* Changes requested via review

* Fix IRS Demo address

* Fix api

* Remove internal attribute from classes in internal package

* Remove accidentally added code

* Move useHttps into NodeHandleInternal

* Remove duplicated code

* Update api-current

* Make webAddress internal on NodeHandle

* Make sure parameters in public api are explicitly specified

* Use correct address in IRS Demo

* Get webaddress from webserver handle

* Update api-current
2018-02-12 10:09:59 +00:00
Konstantinos Chalkias
86fb1ed852
CORDA-967 Multi-tx signature verification (#2488) 2018-02-09 15:33:48 +00:00
Patrick Kuo
c8cf46c657
CORDA-961 Wire up and enforce max transaction size (#2465)
* wire up and enforce max transaction size

* fixup after rebase
moved network parameter from AbstractNode to NodeProperties

* removed TODO

* fix broken import

* address PR issues

* remove API breaking change
address PR issue

* added max transaction size to driver and mock network.
address PR issues

* fix failing test

* added TODO

* fix verifier test

* fix spring driver build error
2018-02-09 14:48:45 +00:00
Andrzej Cichocki
1902a4f11e
CORDA-973 Refactoring for serialization compression support (#2466)
* Use constant for empty byte array
* Less byte array copying
* Fix InputStreamSerializer trailing garbage
* More OO kryo streams
* Introduce SerializationMagic
* Introduce non-copying slice on ByteSequence
2018-02-09 11:54:07 +00:00
Anthony Keenan
8081ee42ad
CORDA-939 - Dont expose FlowStateMachine via public API (#2438)
* Create CordaInternal attribute for properties on public classes that are not part of the api and apply to FlowLogic.stateMachine

* Remove startFlow from public test api and replace with startFlowAndReturnFuture

* Update api-current with changed signature

* Change test used in documentation to use public test methods

* Remove the rest of the unneccessary usages of the startFlow test utility

* Remove extra whitespace

* Rename startFlowAndReturnFuture back to startFlow

* Update api

* The annotation doesn't appear unless its marked as on the actual getter and setter

* Updated docs and removed pointless attribute

* Deleted whitespace
2018-02-07 11:55:06 +00:00
Patrick Kuo
941429d3a7
Remove word restriction in corda x500 name (#2439)
* Remove word restriction in x500 name https://github.com/corda/corda/issues/2326

* remove unused const

* address PR issue

* address PR issue

* address PR issue
2018-01-31 17:05:52 +00:00