Commit Graph

773 Commits

Author SHA1 Message Date
Shams Asari
2e63ca6264
ENT-11065: Remove the need for JVM flags in client code (#7635) 2024-01-03 11:22:03 +00:00
Shams Asari
406f7ff292
ENT-11056: Compile the external verifier using Kotlin 1.2 (#7622)
This requires Kotlin 1.2 versions of core and serialization (core-1.2 and serialization-1.2 respectively), which are just "shell" modules and which compile the existing source code with Kotlin 1.2. The 1.2 plugin does not work with the current version of Gradle and so the 1.2 compiler has to be called directly.

Now with two versions of Kotlin in the code base, each module needs to have its version manually specified to ensure a clean separation. Otherwise, the default Kotlin version can override 1.2 when needed.

Some of the code was tidied-up or improved to enable it to be cross-compiled. For post-1.2 APIs being used, they have been copied into core-1.2 with the same method signatures. OpenTelemetryComponent was moved to node-api, along with the dependency, to avoid also having a 1.2 version for the opentelemetry module.
2024-01-02 17:02:20 +00:00
Jose Coll
fb6c4f6a3d
ENT-11003 [CRAFT][Sample CorDapp] simm-demo fails to create a trade (#7604)
* Reference tiny contract-states jar (do this also gets deployed to node cordapps)
* Update artifact publishing.
* Add explicit compileKotlin pendency to sub-project shrink task.
2023-12-19 11:14:35 +00:00
Shams Asari
61a05a90eb
ENT-11155: Remove internal Kotlin utilities which have since been added after 1.2 (#7585)
This is mostly the `Path` extension functions in `PathUtils.kt`.
2023-12-18 12:05:08 +00:00
Arshad Mahmood
6dd33fb8f7 Upgrade to gradle 7.6, kotlin 1.8 and jdk 17
Major changes due to JDK 17:
1. JDK17 JCE Provider now has built-in support for eddsas, corda uses
   the bouncycastle (i2p) implementation. This PR removes the conflicting
   algorithms from the built-in JCE provider.

2. JavaScript scripting has been removed from the JDK, the corda log4j config was using
   scripting to conditionally output additional diagnostic info if the MDC
   was populated. This PR has removed the scripting.

3. The artifactory plug-ins used are now deprecated, this PR has removed them
   and uses the same code as Corda 5 for publishing to artifactory.

4. Javadoc generation has been modified to use the latest dokka plug-ins.

5. Gradle 7.6 has implemented an incredibly annoying change where transitive
   dependencies are not put on the compile classpath, so that they have to be
   explicitly added as dependencies to projects.

6. Mockito has been updated, which sadly meant that quite a few source files
   have to changes to use the new (org.mockito.kotlin) package name. This makes
   this PR appear much larger than it is.

7. A number of tests have been marked as ignored to get a green, broadly they fall
   into 3 classes.

   The first is related to crypto keypair tests, it appears some logic
   in the JDK prefers to use the SunJCE implementation and we prefer to use
   bouncycastle. I believe this issue can be fixed with better test setup.

   The second group is related to our use of a method called "uncheckedCast(..)",
   the purpose of this method was to get rid of the annoying unchecked cast compiler
   warning that would otherwise exist. It looks like the Kotlin 1.9 compiler type
   inference differs and at runtime sometimes the type it infers is "Void" which causes
   an exception at runtime. The simplest solution is to use an explicit cast instead of
   unchecked cast, Corda 5 have removed unchecked cast from their codebase.

   The third class are a number of ActiveMQ tests which appear to have a memory leak somewhere.
2023-11-06 10:24:17 +00:00
Jose Coll
17a1e149fa Update notary demo to ensure txn signed by all before recording. 2023-08-24 16:56:11 +01:00
Ronan Browne
ee8eac4516 NOTICK: release support optionally exclude shell dependency 2022-03-08 10:50:59 +00:00
Rick Parker
1e227fdfc4
ENT-6711 - Fix for upgrade to Jackson 2.12 and beyond (actual upgrade to 2.13.1) (#7096)
* NOTICK - Don't know what the JIRA is but wanted to share.

* Updates to resolve bukld issues

* NOTICK: Fixed JDK11 version to prevent capsule version error

* ENT-6711: Added comment for use of jackson_kotlin_version.

* ENT-6711: Avoid deprecation warning, switched to the default method.

Co-authored-by: Chris Cochrane <chris.cochrane@r3.com>
Co-authored-by: Adel El-Beik <adel.el-beik@r3.com>
2022-03-07 11:08:06 +00:00
Adel El-Beik
96576a7278 ENT-6687: Updated build.gradle so corda-shell is copied into drivers directory. 2022-03-01 12:35:46 +00:00
Chris Cochrane
9dfdd71c22
ENT-6631 - upgrade jackson version to get rid of databind vulnerability, keeping jackson-module-kotlin the same 2022-02-24 13:26:37 +00:00
Ramzi El-Yafi
30786fb681
CORDA-4195 Fix attachment demo notarisation (#7050) 2022-01-31 10:23:14 +00:00
Viktor Kolomeyko
78aed771b2
NOTICK: Change repository for ghostdriver library (#7015)
Since SCI Java repository is no longer available, the library has been copied to the internal `corda-dependencies` repository.
2022-01-11 12:57:20 +00:00
Dimos Raptis
b0889e0201
ENT-6374 - Fix slf4j warning in trader-demo (#6971) 2021-10-18 11:59:51 +01:00
Dimos Raptis
84000e0794
ENT-3644: Upgrade Netty (#6957) 2021-09-15 08:52:14 +01:00
Waldemar Zurowski
b7560b9793 Merge branch 'release/os/4.6' into wz/merge-os-46-47-2021-08-06 2021-08-06 19:50:58 +02:00
Waldemar Zurowski
5017885b0f Merge branch 'release/os/4.5' into wz/merge-os-45-46-2021-08-06 2021-08-06 19:23:51 +02:00
Waldemar Zurowski
4e4ef3691f Merge branch 'release/os/4.4' into wz/merge-os-44-45-2021-08-06 2021-08-06 17:50:27 +02:00
Waldemar Zurowski
c1d5038d16 Merge branch 'release/os/4.3' into wz/merge-os-43-44-2021-08-06 2021-08-06 15:43:12 +02:00
Waldemar Żurowski
16fdc289d7
INFRA-1549: added SCIJAVA repo (#6939)
* `com.github.detro:ghostdriver` is gone from repositories configured
  already
* SCI Java public repo has it, and it is configured to resolve
  `com.github.detro` group only
2021-08-05 20:19:16 +02:00
Waldemar Zurowski
ad83074e6d NOTICK: Merging forward updates from OS 4.6 to OS 4.7 (2021/07/19) 2021-07-19 22:14:03 +02:00
Waldemar Zurowski
f3065b81b5 NOTICK: Merging forward updates from OS 4.5 to OS 4.6 (2021/07/19)
Conflicts:
	samples/irs-demo/build.gradle
2021-07-19 22:07:31 +02:00
Waldemar Zurowski
c60f72d927 NOTICK: Merging forward updates from OS 4.4 to OS 4.5 (2021/07/19) 2021-07-19 21:56:48 +02:00
Waldemar Zurowski
e07ec2e7bd NOTICK: Merging forward updates from OS 4.3 to OS 4.4 (2021/07/19) 2021-07-19 17:47:41 +02:00
Waldemar Żurowski
9e790c4767
INFRA-1309: migrate docker-compose-rule-junit4 from Bintray to Maven Central (#6927)
docker-compose-rule-junit4 is available from Maven Central, but from
version 1.0.0 onwards

Bumping version number to 1.5.0 introduces following list of
dependencies:

* com.fasterxml.jackson.core:jackson-annotations:2.4.4 (Apache 2.0)
* com.fasterxml.jackson.core:jackson-core:2.9.7 (Apache 2.0)
* com.fasterxml.jackson.core:jackson-databind:2.11.0 (Apache 2.0)
* com.fasterxml.jackson.core:jackson-databind:2.9.7 (Apache 2.0)
* com.fasterxml.jackson.core:jackson-databind:2.9.8 (Apache 2.0)
* com.fasterxml.jackson.core:jackson-databind:2.9.9 (Apache 2.0)
* com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:2.9.8 (Apache
  2.0)
* com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.10.2
  (Apache 2.0)
* com.fasterxml.jackson.datatype:jackson-datatype-guava:2.9.8 (Apache
  2.0)
* com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.9.8 (Apache
  2.0)
* com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.9.8 (Apache
  2.0)
* com.fasterxml.jackson.module:jackson-module-afterburner:2.9.8 (Apache
  2.0)
* com.github.zafarkhaja:java-semver:0.9.0 (MIT)
* com.google.code.findbugs:jsr305:3.0.2 (Apache 2.0)
* com.google.errorprone:error_prone_annotations:2.3.3 (Apache 2.0)
* com.google.guava:guava:18.0 (Apache 2.0)
* com.google.guava:guava:21.0  (Apache 2.0)
* commons-io:commons-io:2.6  (Apache 2.0)
* com.palantir.conjure.java.api:errors:2.12.0 (Apache 2.0)
* com.palantir.conjure.java:conjure-lib:5.15.0 (Apache 2.0)
* com.palantir.conjure.java.runtime:conjure-java-jackson-serialization:
  4.18.1 (Apache 2.0)
* com.palantir.docker.compose:docker-compose-rule-core:1.5.0 (Apache
  2.0)
* com.palantir.docker.compose:docker-compose-rule-events-api-objects:
  1.5.0 (Apache 2.0)
* com.palantir.docker.compose:docker-compose-rule-junit4:1.5.0 (Apache
  2.0)
* com.palantir.ri:resource-identifier:1.1.0 (Apache 2.0)
* com.palantir.safe-logging:preconditions:1.11.0 (Apache 2.0)
* com.palantir.safe-logging:preconditions:1.13.0 (Apache 2.0)
* com.palantir.safe-logging:preconditions:1.9.0 (Apache 2.0)
* com.palantir.safe-logging:safe-logging:1.11.0 (Apache 2.0)
* com.palantir.safe-logging:safe-logging:1.13.0 (Apache 2.0)
* com.palantir.tokens:auth-tokens:3.6.1  (Apache 2.0)
* jakarta.annotation:jakarta.annotation-api:1.3.5 (EPL 2.0)
* jakarta.ws.rs:jakarta.ws.rs-api:2.1.6 (EPL 2.0)
* joda-time:joda-time:2.10.3 (Apache 2.0)
* junit:junit:4.13 (EPL 1.0)
* one.util:streamex:0.7.2 (Apache 2.0)
* org.apache.commons:commons-lang3:3.7 (Apache 2.0)
* org.awaitility:awaitility:4.0.2 (Apache 2.0)
* org.hamcrest:hamcrest:2.1 (BSD 3-clause)
* org.hamcrest:hamcrest-core:2.1 (BSD 3-clause)
* org.slf4j:slf4j-api:1.7.25 (MIT)
2021-07-19 15:02:33 +02:00
Edoardo Ierina
82a114a329
[DRAFT] feat/CORDA-3823-hash-agility-qa-ready (#6789)
* wip

* wip

* wip (need to review IEE comments)

* wip

* wip

* Small refactoring, fixed network-verifier's TestNotaryFlow

* Added command line option to explicitly enable hash agility support

* wip-do-not-push

* wip

* wip

* wip

* aligned merkletree/transaction hash algorithms

* wip

* Added mixed algorithm support for nodes vs leaves and corrected mixed algorithm tests

* moved global computeNonce and componentHash to DigestService

* added comment for failing test to fix

* wip

* Minor cleanups, added deprecated componentHash/computeNonce

* restored exploratory changes to failing SignedTransaction test

* cleaned up and minor rafactoring

* Fixed some tests with hardcoded hash algorithm

* some changes and cleanups following code review

* WIP commit before large change

* WIP Fixed 3 tests

* WIP removed direct references to randomSHA256() and sha256()

* Updated/added liquibase migrations to support larger hash algorithms

* Reviewed, cleanups, comments, fixes

* removing direct references to sha256()

* WIP verifying obligations test errors

* reviewing obligation/attachment issues with sha3_256

* Full review before PR - intermediate commits

* Reviewed and cleaned up

* Futher cleanup

* Fixed partial tree backward compatible json and cleanups

* all tests passing

* Removed couple of unused imports

* Reworked global componentHash function to avoid deprecated warnings

* replaced SHA3s with some alternate SHA2s

* Removed SHA3-256 and SHA3-512 references

* fixed some tests using non ubiquitous hash algorithms

* Fixed ABI compatibility (not for TransactionBuilder)

* Fixed ABI compatibility to TransactionBuilder

* couple of fixes

* fixed DigestService's randomHash

* Removed constructor with loosely typed args for private constructor of LedgerTransaction class (API removal)

* re-introduced LedgerTransaction deprecated ctor for deserialization

* Add possibility to load CustomMessageDigest bypassing JCA (#6798)

* Change api-current for DigestAlgorithm

* disable flaky tests

Co-authored-by: Denis Rekalov <denis.rekalov@r3.com>
2020-11-05 22:05:29 +00:00
Denis Rekalov
551b3f0811
CORDA-4054: combine different identities of the same notary after its key rotation (#6734) 2020-10-16 13:53:04 +01:00
filipesoliveira
d8eb117104 Fixed an issue caused by the irs-demo project that would prevent builds from succeed.
Build command that would fail every time: “./gradlew clean build slowIntegrationTest”.

Notes:
The evaluationDependsOn lines inside the build.gradle file under the irs-demo folder where moved above the dependencies for best practices and to avoid weird errors.

The archiveClassifier added to the build.gradle file under irs-demo/web folder is the actual fix. The archive classifier accepts a string that is appended to the jar file. By changing the filename of the jar, Boot Spring is prevented from overwriting the jar and causing build issues.
2020-08-20 16:46:41 +01:00
Jonathan Locke
badfcf7f07
CORDA-3942: Disable IRSDemoTest (#6564)
Temporarily disable IRSDemoTest as it is breaking many OS builds.
2020-08-05 15:49:12 +01:00
Christian Sailer
377c3f9d78 Merge remote-tracking branch 'origin/release/os/4.6' into christians/ENT-5273-update-from-os-4.6 2020-07-21 14:17:27 +01:00
Oliver Knowles
a500084d38
CORDA-3201 - Enforce separate key for notary identity (#6308) 2020-07-20 10:59:08 +01:00
Chris Rankin
16eb9dfc08
NOTICK: Fix some Gradle technical debt. (#6430) 2020-07-07 09:08:58 +01:00
Christian Sailer
836dd559e8
ENT-5316 split schema migration
* ENT-5273 Split schema migration into separate core and app schema migration, with separate command line flags
2020-06-15 15:52:31 +01:00
James Higgs
ab023d0b07 Merge branch 'release/os/4.5' into jamesh/os-4.5-4.6-merge-11062020 2020-06-11 09:40:39 +01:00
Ryan Fowler
48ed9dbc6b
NOTICK: Fix IRSDemo code to wait for a response when updating day (#6329) 2020-06-10 18:30:00 +01:00
LankyDan
4ccd0fd3df Merge branch 'release/os/4.6' into dan/4.6-into-checkpoint-feature-branch-2020-05-05
# Conflicts:
#	node/src/main/kotlin/net/corda/node/services/statemachine/Event.kt
#	node/src/main/kotlin/net/corda/node/services/statemachine/FlowStateMachineImpl.kt
#	node/src/main/kotlin/net/corda/node/services/statemachine/SingleThreadedStateMachineManager.kt
#	node/src/main/kotlin/net/corda/node/services/statemachine/transitions/TopLevelTransition.kt
2020-05-05 17:05:23 +01:00
Chris Rankin
7e13491a25
CORDA-3716: Fix Enum serializers to handle enums that override toString()
* CORDA-3716: Fix SandboxEnumSerializer to handle enums that override toString().

* Remove more uses of Enum.toString() from the Corda serializer.

* Add test coverage for this case to standard enum serializer.

* Increase maxWaitTimeout in IRSDemoTest to 150 seconds.
2020-04-20 17:49:12 +01:00
Chris Rankin
6f437b5b09
CORDA-3716: Fix SandboxEnumSerializer to handle enums that override toString(). (#6159)
* CORDA-3716: Fix SandboxEnumSerializer to handle enums that override toString().

* Remove more uses of Enum.toString() from the Corda serializer.

* Add test coverage for this case to standard enum serializer.

* Increase maxWaitTimeout in IRSDemoTest to 150 seconds.
2020-04-19 23:29:08 +01:00
Adel El-Beik
27ea570fbb
CORDA-3696: JDK 11 Testing branch (#6131)
* CORDA-3696: Temporary update to enable JDK11 build and test. Will eventually be switchable.

* CORDA-3696: Filter out the Nashorn warning.

* CORDA-3696: Add JDK11 classifier.

* CORDA-3696: Updated match string to cope with JDK11.

* CORDA-3696: Filtering out SPHINCS256_SHA256 where failing due to JDK11.

* CORDA-3696: Now remove SPHINCS256_SHA256 only if JDK11.

* CORDA-3696: Fix test failure - switch to regex matching.

* CORDA-3696: Hide the illegal access warnings.

* CORDA-3696: Check for Java11 when disabling Java11 warnings.

* CORDA-3696: Fix unneccessary non null check.

* CORDA-3696: Reverting build env to JDK8

* CORDA-3696: Revert hiding of illegal access warnings via Unsafe class.

* CORDA-3696: Remove internal access warnings and new JDK11 version checker.

* CORDA-3696: Updated build file for OS

* CORDA-3696: Removed typo

* CORDA-3696: Fixed space typo.

* CORDA-3696: Open modules to remove the illegal access warnings.

Co-authored-by: Adel El-Beik <adelel-beik@19LDN-MAC108.local>
2020-04-16 10:20:30 +01:00
Chris Rankin
e93e5f28a1
CORDA-3689: Fix scanning AppClassLoader on Java 11. (#6121)
* Upgrade ClassGraph to 4.6.68 to fix scanning AppClassLoader on JDK11.
* Revert CORDA-1575 to prevent CordaRPCClient logs from being clobbered.
2020-04-06 11:00:10 +01:00
LankyDan
8941cf7b8f Merge branch 'feature/checkpoint_table_improvements' into dan/merge-4.5-into-feature-branch
# Conflicts:
#	node/src/test/kotlin/net/corda/node/services/statemachine/FlowFrameworkTests.kt
2020-03-13 14:29:18 +00:00
williamvigorr3
499b6cf17e
CORDA-3603 Save completed flow information (#6034)
When a flow is finished do not delete the checkpoint from the DB.

Instead, the FlowStatus is marked as Completed in the DB.

Updated numerous tests which relied on the flow being removed
when finished.
2020-03-12 11:45:30 +00:00
Chris Rankin
ffa2caed32 Merge branch 'release/os/4.4' into chrisr3-44-merge 2020-03-04 16:27:44 +00:00
Chris Rankin
e006b871c8
CORDA-3644: Scan the CorDapp classloader directly for SerializationWhitelist. (#6014)
* CORDA-3644: Scan the CorDapp classloader directly for SerializationWhitelist.

* CORDA-3644: Filter CorDapps from out-of-process node classpaths by their manifest attributes. Also exclude directories and blatant test artifacts.

* Fix IRS Demo - its "tests" artifact had a non-standard classifier of "test".
2020-03-04 10:09:40 +00:00
Christian Sailer
e38cd9ec63
ENT-5043 separate out test utils (#5998)
* Remove unused dependencies from test-common

* Explicit imports and formatting

* Add core-test-utils project

* Add dependency

* Move Kryo serialization context to node-api (not serialization as we do not want to pull kryo into the serialization lib)

* Move AMQP server serialization scheme to node api

* Move serialization tests to node-api

* Move internal test helpers without further dependencies.

* Move out some types from RPCClientProxyHandler to node-api in preparation for moving the AMQP scheme

* Move client AMQP context to node-api so we can move the test serialization rule out.

* Move InternalSerializationTestHelpers to core-test-utils

* Moved testing.core to core-test-utils

* Make detekt happy

* Add api-scanner to core-test-utils

* Remove inlined package names introduced by IntelliJ refactoring

* Update api-current.txt to account for reordering.

* Add core-test-utils to list of published artifacts.

* Add missing import

* Location of things in api text has moved again (publish name of artefact?)

* Revert all additions to the API, leaving just the reordering

* Code review: fix up core-test-utils build.gradle and introduce kryo version constant.

* Remove OpenSsl flag from ssl config stub (can't be used from node-api)

* Suppress detekt warning

* Move core test util tests to the right module

* Expose kotlin test as a transient dependency - projects have come to rely on that.

* Fix typo in package name
2020-03-03 15:55:17 +00:00
Razvan Codreanu
30167fd2e8
TM-204 Fixing regression builds (#6009)
* TM-204 attempting to fix regression builds

* TM-204 attempting to fix regression builds

* TM-204 reverting spring boot version and only removing missing dependency

* TM-204 reverting to original build.gradle

* TM-204 re applying dependency

* TM-204 consolidating dependencies

* TM-204 setting spring boot dependency

* TM-204 reverting and upgrading dependency management plugin version in parent gradle file

* TM-204 apply dependency plugin differently

* TM-204 new gradle files

* TM-204 try and fix corda rpc evaluation

* TM-204 try and fix corda rpc evaluation

* TM-204 separate slow integration and smoke test
2020-03-02 14:50:01 +00:00
Chris Rankin
d419faa185 ENT-4652: Tighten Groovy code for writing Cordapp-Dependencies. 2020-02-13 19:43:30 +00:00
Stefano Franz
b23af5f0d2
add timeouts to all tests (#5875) 2020-02-11 10:14:05 +00:00
Chris Rankin
08925ee0a5 ENT-4911: Split network verifier's sealed CorDapps into separate packages. (#5900) 2020-01-27 15:20:08 +00:00
Chris Rankin
a7147c1ffd ENT-4652: Provide an "attachment fixup" mechanism to repair broken transactions. (#5825)
* Do not register cordapp custom serialisers when using attachment classloader.

* Record the URLs of CorDapp JARs that contain custom serialisers. Include these JARs as extra attachments if we discover that we're missing a custom serialiser during transaction verification.

* Check for disabled serializer when explicitly requesting a custom serializer.
Refactor test case to force use of a custom serializer.

* Tidy up basic custom serializer test.

* Also test that TransactionBuilder rejects missing custom serializers.

* Remove test whitelists, which should not be needed with custom serialisers.

* Add changelog entry. Also align TestCordappImpl.findRoots() with OS backports.

* Second approach based around CorDapps inside AttachmentStorage - report missing type descriptor or any non-composable types.

* Initial implementation of Corda-Fixup rules inside a CorDapp jar.

* Replace original "automatic attachment fixing" mechanism completely.

* First review comments: restore "missing class" logic to TransactionBuilder.

* Restore "missing class" mechanism as fallback for SignedTransaction too.
2020-01-14 15:18:51 +00:00
Christian Sailer
06f97cfed5 ENT-4610 Move tx signing to the Uniqueness provider (#5773)
* ENT-4610 Move tx signing to the Uniqueness provider

* Make detekt happy

* Remove unused imports

* Address review comment
2019-11-29 17:30:33 +00:00