Commit Graph

6987 Commits

Author SHA1 Message Date
1f835a3496 Add package namespace ownership design doc to toc tree 2018-10-15 17:35:56 +01:00
380a942954 CORDA-2030: Prevent kotlin-stdlib-jre8 from becoming an accidental transitive dependency. (#4073) 2018-10-15 13:44:02 +01:00
6d4bdb84b9 Code cleanup, mostly shortening long lines (#4070) 2018-10-15 12:01:15 +01:00
8e590cfc55 Attempt to improve the explanation at the start. 2018-10-15 11:41:19 +01:00
1949694777 Add design doc on package namespace ownership 2018-10-15 11:41:19 +01:00
af48612d46 ENT-1906: Fix JavaDoc error for DJVM. (#4063) 2018-10-15 10:40:58 +01:00
acd3490cde Updates docs structure. (#4072) 2018-10-15 11:40:10 +02:00
2c9a942e1a CORDA-2088: Simplified the TestCordapp public API (#4064)
The entry point to the API has been simplified to just requireing a list of packages to scan, with sensible defaults provided for the metadata. Because of the wither methods, having parameters for the metadata (with default values) seems unnecessary. Also the ability to scan just individual classes has been made internal, as it seems unlikely app developers would need that level of control when testing their apps.

TestCordappImpl is a data class and thus acts as a natural key for the Jar caching, where previously the key was the package names. This fixes an issue where it was not possible to create two CorDapp Jars of the same package but different metadata.
2018-10-15 10:11:18 +01:00
b769ad80bd CORDA-195 When collecting JAR Signatures allow META-INF/*.EC block signature to follow jarsinger tool capabilities (#4065)
jarsigner can produce META-INF/*.EC block signature for EC algorithm (https://docs.oracle.com/javase/8/docs/technotes/tools/windows/jarsigner.html) even if this is contrary to JAR File spec (https://docs.oracle.com/javase/8/docs/technotes/guides/jar/jar.html). Allow block signature be also in *.EC file.
2018-10-12 16:54:39 +01:00
aced03df54 CORDA-1274: Migrated usage of FastClasspathScanner to ClassGraph (#4060)
FastClasspathScanner was renamed to ClassGraph for the version 4 release
2018-10-11 19:50:26 +01:00
8c41ae208d CORDA-535: Remove BFT-Smart related migration parts 2018-10-11 17:54:00 +01:00
e3685f5e81 Make blobinspector not log to console by default (#4059) 2018-10-11 18:01:54 +02:00
825c544cac ENT-1906: Modify the DJVM to wrap Java primitive types. (#4035)
* WIP - sandbox classloading
* Fix handling of Appendable in the sandbox.
* WIP - Load wrapped Java types into SandboxClassLoader.
* Add explicit toDJVM() invocation after invoking Object.toString().
* Add simple ThreadLocal to the sandbox to complete AbstractStringBuilder.
* Add support for Enum types inside the sandbox.
* Simplify type conversions into and out of the sandbox.
* Small refactors and comments to tidy up code.
* Fix Enum support to include EnumSet and EnumMap.
* Fix use of "$" in whitelist regexps.
* Add extra methods (i.e. bridges) to stitched interfaces.
* Rename ToDJVMStringWrapper to StringReturnTypeWrapper.
* Support lambdas within the sandbox.
* Fix mapping of java.lang.System into the sandbox.
* Don't remap exception classes that we catch into sandbox classes.
* Remove unnecessary "bootstrap" classes from the DJVM jar.
* Ensure that Character.UnicodeScript is available inside the sandbox.
* Tweak sandboxed implementations of System and Runtime.
* Ensure that Character.UnicodeScript is loaded correctly as Enum type.
* Disallow invoking methods of ClassLoader inside the sandbox.
* Apply updates after review.
* More review fixes.
2018-10-11 13:48:32 +01:00
0e68f26c0f ENT-2569: Clean-up content of registeredShutdowns. (#4048)
Please see comment for more info.
2018-10-10 17:52:00 +01:00
b8b2cc772d CORDA-535: Remove the old mechanism for loading custom notary service implementations.
All notary service implementations are now assumed to be loaded from CorDapps.
2018-10-10 17:16:57 +01:00
554b1fa371 [CORDA-2084] EdDSA, SPHINCS-256 and RSA PKCS#1 are deterministic, no RNG required. (#4051) 2018-10-10 10:35:18 +01:00
9ebeac1ad8 CORDA-535: Extract notary implementations into CorDapps (#3978)
* Move Raft and BFT notaries into separate modules

* Move schemas

* Fix tests & demos

* Modified logic for creating notary services:

Added a new field 'className' to the notary configuration. The node now
loads the specified implementation via reflection. The default className
value points to the simple notary implementation for backwards compatibility.
Relevant schemas are loaded in a similar fashion.

For backwards compatibility purposes the default SimpleNotaryService will
remain built-in to node, but its cordapp will be generated on startup – so
the loading of notary services is streamlined.

* Move test namedcache factory to test utils
2018-10-10 10:04:22 +01:00
b6f2532ce6 Corda 1922 serialize states with calculated values (#3938)
* Introduce SerializeForCarpenter annotation

* Apply SerializableComputedProperty annotation to Cash.exitKeys, fix bugs

* info -> trace

* Remove annotation from FungibleAsset, as we do not know whether all implementing classes will provide the property as a calculated value

* Remove redundant import

* Explicit lambda params

* Restore explicit import for Enum valueOf

* Moving and rescoping

* More meaningful error message

* Add java test and documentation

* Fix accidentally broken unit test

* Ignore superclass annotation if property not calculated in implementing class

* Exclude calculated properties from Jackson serialisation

* Fix broken test
2018-10-09 14:54:31 +01:00
9c8a1cd14a CORDA-2028 - Fix use of required paramers/options on command line (#4040)
* Make required parameters work with --install-shell-extensions and make errors look a bit more errorey

* Make blobinspector required parameter work the way it used to

* Fix compilation Error
2018-10-09 15:49:24 +02:00
5d84640d1f Add missing validation in the OpaqueBytesSubSequence.init (#4047) 2018-10-09 09:48:54 +01:00
d1adb09ca9 NOTICK Python 3 compat, ENM version name, skip closed tests (#4046) 2018-10-08 15:26:44 +01:00
b8e88232b4 NOTICK Create semantic version numbers (#4045) 2018-10-08 14:19:56 +01:00
d987f18871 Gradle cache friendly Junit test fix. (#4044) 2018-10-08 13:56:02 +01:00
d9ea19855f CORDA-2006: Simplify checkpoint serialization (#4042)
* CORDA-2006: Simplify checkpoint serialization

* Supply rule to KryoTest
2018-10-08 13:39:28 +01:00
c88d3d8c1b CORDA-2030: Resolve build warnings about kotlin-stdlib-jre8 in unit tests too. (#4043) 2018-10-08 12:49:05 +01:00
39434dcbec Assorted set of clean ups (#4039) 2018-10-05 18:05:10 +01:00
0621efe7c6 Do not remove entropyToKeyPair from DJVM (it is deterministic anyway and we might use it in tests) (#4036) 2018-10-05 14:11:56 +01:00
fa4c54a080 [CORDA-2063] Ensure signatures and BC operations always use newSecureRandom (#4020)
* special handling for Sphincs due a BC implementation issue

* delete all sign operations from DJVM and stub out BC's default RNG

* copy Crypto signing functions to deterministic.crypto.CryptoSignUtils as they are required for testing transaction signatures.
2018-10-05 12:01:16 +01:00
d75fd7bd8a CORDA-2030: Resolve build warnings created by adding kotlin-stdlib-jre8 to node. (#4033) 2018-10-05 11:01:27 +01:00
bffac331a3 Moved the PLATFORM_VERSION constant to core and added some missing usages (#4026) 2018-10-05 09:28:00 +01:00
962e111389 Make the reference states design doc render better and more consistently with the other design docs. 2018-10-04 18:33:32 +02:00
85d2a85e85 Safe parsing of min platform version and target version from CorDapp MANIFEST files (#4031)
Also includes some cleanup
2018-10-04 16:00:07 +01:00
064c72dfb1 ENT-2554: Add back hibernate dependency as required by explorer runDemoNodes (#4029) 2018-10-04 11:55:18 +01:00
5d03a03ec4 CORDA-2030 - ensure the correct kotlin runtime library is used to resolve AutoCloseable (#4028)
Fixes compatibility issue surfaced as "java.lang.NoClassDefFoundError: kotlin/jdk7/AutoCloseableKt"
2018-10-04 11:48:24 +01:00
febe737a7a Updates homepage link. (#4027) 2018-10-04 10:45:55 +01:00
3cf1450fc1 [CORDA-2066]: setting-up-a-corda-network docs file is misleading (fixed). (#4025) 2018-10-03 18:16:07 +02:00
8629316dd1 [CORDA-2021]: Error message in log when keyStorePassword is incorrect is not accurately describing the problem (fixed). (#4022) 2018-10-03 17:27:04 +02:00
6f241b69fc [CORDA-2064]: Add "extraNetworkMapKeys" to node startup log. (#4021) 2018-10-03 17:24:03 +02:00
d78056a5b2 Merge pull request #6 from corda/feature/ENT-2222/constraints_propagation_private
ENT-2222 Constraints propagation
2018-10-03 13:41:54 +01:00
3110c75847 Network bootstrapper tool: optional configuration setting to specify the minimum plat… (#4005)
* Provide an optional configuration setting to specify the minimum platform version to use in the network params file.

* Leave Cordform signature intact.

* Leave previous Gradle Plugin called signature intact.

* Incorporating feedback from PR review.

* Added minimum platform version validation check.

* Removed final 2 references to "default"

* Added changelog entry.
2018-10-03 13:41:52 +01:00
7edc18f85d CORDA-1997 Added constraint type information to vault states table. (#3975)
* Added constraint type information to vault states table.

* Added Vault Query criteria support for constraint data.

* Added documentation and changelog entry.

* Added missing @CordaSerializable.

* Fix minor bug in test setup and parsing code.

* Use binary encoding data types instead of serialize/deserialize.

* Optimized storage of constraints data.
Additional assertions on Vault Query constraint data contents (to validate encoding/decoding).
Tested with CompositeKey containing 10 keys.

* Addressing PR review feedback.

* Query by constraints type and data.

* Revert back accidentally removed code for contractStateType filtering.

* Incorporating final PR review feedback. Use @JvmOverloads on constructor.

* Make sure constraintInfo is class evolution friendly.
2018-10-03 13:41:25 +01:00
beb4dc008f [ENT-2545]: Fixed broken unit test. (#4019) 2018-10-03 12:31:20 +02:00
8fb05b26e3 Merge branch 'private_master' into feature/ENT-2222/constraints_propagation_private 2018-10-03 10:28:04 +01:00
ff9bf68e37 [ENT-2545]: Failing flow sent to Hospital does not log any ERROR's (fixed). (#4015) 2018-10-03 11:18:28 +02:00
149b6034e1 CORDA-2016 Add unit tests to ensure SNI header generation will not be changed by accident (#4014)
* Add test for SNI header to prevent changing it accidentally.

* added hardcoded values test to ensure hashing function and corda x500 name format can't be changed
2018-10-03 08:59:31 +01:00
1e72298a46 CORDA-1915 Update to Network Bootstrapper for signed JARs (#4008)
The cordapp and cordformation plugins (from v4.0.30) are going to have ability to sign JARs (in cordformation signing will be by default), to enable signature constraints to work out of box Network Bootstrapper will not whitelist contracts form signed JARs.
For unsigned JARs the Network Bootstrapper behaviour is unchanged.
2018-10-02 20:45:50 +01:00
fa8761793f NOTICK - Python script for creating test tickets in JIRA (#3979)
Python script for creating 'Platform Test' and 'Platform Test Run'
instances in JIRA for use in release testing.
2018-10-02 17:55:22 +01:00
020a292383 Merge pull request #7 from corda/tudor_merge_os_master
Tudor merge os master
2018-10-02 17:16:17 +01:00
bc6ef74c6a CordaPersistence class minor refactoring to align with Enterprise repo. (#4012) 2018-10-02 16:49:31 +01:00
6f05f639fb Added more docs for reference states to key concepts and api docs. (#4013)
* Added more docs for reference states to key concepts and api docs.

* Updated with requested changes
2018-10-02 16:29:19 +01:00