Release 0.73.0

The sic Gradle plugin no longer creates a CorDapp

Relevant for projects that use sic generated CorDapps.

The sic Gradle plugin no longer creates a CorDapp, instead it builds a plain jar file that contains:

  • The class files from the generated code.

  • Files with the serialized representations of the ontology, signature, and abstract syntax tree, zipped to be used in the CorDapp.

Steps to migrate

  1. Instead of deploying the flows and states jar files as a CorDapp, instead deploy com.deondigital:csl-cordapp and com.deondigital:csl-contracts-states.

  2. Upload the required files as an attachment to the contract manager by using the sic generated attachment value (located in CordaContractOperations):

val attachmentId: SecureHash = attachment.uploadIfNotExists(cordaRPCOps)
  1. Update the csl { } block in your build.gradle file to match the new signature. See Gradle plugin.

QueryMonitor responds to contract authorization requests in a non-blocking fashion using its own threadpool

Relevant for projects that use CordaContractOperations to interact with the underlying Corda ledger.

QueryMonitor which is used to authorize contract requests (e.g., contract instantiations, participant changes) on the client no longer responds to these requests using the observation threadpool but instead uses its dedicated threadpool whose size is configurable. It also responds to the requests in a non-blocking fashion to prevent concurrency issues. The API of QueryMonitor has also been simplified.

Steps to migrate

  1. The QueryMonitor constructor now requires a CordaContractOperations object instead of the specification of the tracking feed and ledger answering mechanism to respond to the query service.

val queryMonitor: QueryMonitor = QueryMonitor(cordaContractOps)
  1. The size of the threadpool used by the QueryMonitor can also be configured using the constructor. In case the size is not specified, it defaults to 1.

val queryMonitor: QueryMonitor = QueryMonitor(
    cordaContractOps,
    responseHandlerThreadPoolSize = 5
)

The URL to Deon Digital’s public Maven repository has changed

Relevant for all projects.

All JAR artifacts are now hosted at https://repository.deon.digital.

Steps to migrate

  1. Change the URL used in build.gradle for Deon Digital’s Maven repository to https://repository.deon.digital/artifactory/releases:

maven {
  url "https://repository.deon.digital/artifactory/releases"
  username DEON_REPOSITORY_USER // Set in 'gradle.properties'
  password DEON_REPOSITORY_PASSWORD // Set in 'gradle.properties'
}
  1. If necessary, acquire login credentials to the new repository. Credentials from the old repository solution should work on the new one, though.