Skip to content

Commit e296d31

Browse files
Update 2023-08-08.23 (#106)
Reference commit: f6ef202479 Co-authored-by: Canton <canton@digitalasset.com>
1 parent 8117dac commit e296d31

File tree

493 files changed

+5052
-25067
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

493 files changed

+5052
-25067
lines changed

community-build.sbt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,6 @@ lazy val `daml-copy-testing-0` = DamlProjects.`daml-copy-testing-0`
3737
lazy val `daml-copy-testing-1` = DamlProjects.`daml-copy-testing-1`
3838
lazy val `ledger-api-core` = CommunityProjects.`ledger-api-core`
3939
lazy val `ledger-json-api` = CommunityProjects.`ledger-json-api`
40-
lazy val `ledger-api-bench-tool` = CommunityProjects.`ledger-api-bench-tool`
41-
lazy val `ledger-api-it` = CommunityProjects.`ledger-api-it`
4240
lazy val `ledger-api-tools` = CommunityProjects.`ledger-api-tools`
4341
lazy val `ledger-api-string-interning-benchmark` =
4442
CommunityProjects.`ledger-api-string-interning-benchmark`

community/app-base/src/main/scala/com/digitalasset/canton/admin/api/client/commands/EnterpriseMediatorAdministrationCommands.scala

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import com.digitalasset.canton.admin.api.client.commands.GrpcAdminCommand.{
1010
TimeoutType,
1111
}
1212
import com.digitalasset.canton.config.RequireTypes.PositiveInt
13-
import com.digitalasset.canton.crypto.PublicKey
13+
import com.digitalasset.canton.crypto.{Fingerprint, PublicKey}
1414
import com.digitalasset.canton.data.CantonTimestamp
1515
import com.digitalasset.canton.domain.admin.v0.EnterpriseMediatorAdministrationServiceGrpc
1616
import com.digitalasset.canton.domain.admin.{v0, v2}
@@ -64,6 +64,7 @@ object EnterpriseMediatorAdministrationCommands {
6464
topologyState: Option[StoredTopologyTransactions[TopologyChangeOp.Positive]],
6565
domainParameters: StaticDomainParameters,
6666
sequencerConnections: SequencerConnections,
67+
signingKeyFingerprint: Option[Fingerprint],
6768
) extends BaseMediatorInitializationCommand[
6869
v0.InitializeMediatorRequest,
6970
v0.InitializeMediatorResponse,
@@ -77,6 +78,7 @@ object EnterpriseMediatorAdministrationCommands {
7778
topologyState,
7879
domainParameters,
7980
sequencerConnections,
81+
signingKeyFingerprint,
8082
).toProtoV0
8183
)
8284

community/app-base/src/main/scala/com/digitalasset/canton/admin/api/client/commands/ParticipantAdminCommands.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -512,7 +512,7 @@ object ParticipantAdminCommands {
512512
val requestObserver = service.upload(responseObserver)
513513

514514
request.acsSnapshot.toByteArray
515-
.grouped(GrpcParticipantRepairService.defaultChunkSize)
515+
.grouped(GrpcParticipantRepairService.DefaultChunkSize.value)
516516
.foreach { bytes =>
517517
blocking {
518518
requestObserver.onNext(UploadRequest(ByteString.copyFrom(bytes), gzip))

community/app-base/src/main/scala/com/digitalasset/canton/config/CantonConfig.scala

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,11 @@ import com.digitalasset.canton.domain.DomainNodeParameters
4242
import com.digitalasset.canton.domain.config.*
4343
import com.digitalasset.canton.domain.sequencing.sequencer.*
4444
import com.digitalasset.canton.environment.CantonNodeParameters
45+
import com.digitalasset.canton.ledger.runner.common.PureConfigReaderWriter.Secure.{
46+
commandConfigurationConvert,
47+
dbConfigPostgresDataSourceConfigConvert,
48+
userManagementServiceConfigConvert,
49+
}
4550
import com.digitalasset.canton.logging.ErrorLoggingContext
4651
import com.digitalasset.canton.metrics.{MetricsConfig, MetricsPrefix, MetricsReporterConfig}
4752
import com.digitalasset.canton.participant.ParticipantNodeParameters
@@ -422,7 +427,7 @@ trait CantonConfig {
422427
),
423428
uniqueContractKeys = participantConfig.init.parameters.uniqueContractKeys,
424429
ledgerApiServerParameters = participantParameters.ledgerApiServerParameters,
425-
maxDbConnections = participantConfig.storage.maxConnectionsCanton(true, false, false).value,
430+
maxDbConnections = participantConfig.storage.maxConnectionsCanton(true, false, false),
426431
excludeInfrastructureTransactions = participantParameters.excludeInfrastructureTransactions,
427432
enableEngineStackTrace = participantParameters.enableEngineStackTraces,
428433
enableContractUpgrading = participantParameters.enableContractUpgrading,
@@ -543,13 +548,13 @@ object CantonConfig {
543548
)
544549

545550
class ConfigReaders(implicit private val elc: ErrorLoggingContext) {
546-
import DeprecatedConfigUtils.*
547551
import CantonConfigUtil.*
552+
import DeprecatedConfigUtils.*
548553
import ParticipantInitConfig.DeprecatedImplicits.*
549554
import com.digitalasset.canton.config.CheckConfig.IsActive.DeprecatedImplicits.*
555+
import com.digitalasset.canton.metrics.MetricsReporterConfig.DeprecatedImplicits.*
550556
import com.digitalasset.canton.participant.config.ActiveContractsServiceConfig.DeprecatedImplicits.*
551557
import com.digitalasset.canton.participant.config.LedgerApiServerConfig.DeprecatedImplicits.*
552-
import com.digitalasset.canton.metrics.MetricsReporterConfig.DeprecatedImplicits.*
553558

554559
lazy implicit val lengthLimitedStringReader: ConfigReader[LengthLimitedString] = {
555560
ConfigReader.fromString[LengthLimitedString] { str =>
@@ -600,6 +605,8 @@ object CantonConfig {
600605
implicit val tracingConfigZipkinSpanExporterReader
601606
: ConfigReader[TracingConfig.Exporter.Zipkin] =
602607
deriveReader[TracingConfig.Exporter.Zipkin]
608+
implicit val tracingConfigOtlpSpanExporterReader: ConfigReader[TracingConfig.Exporter.Otlp] =
609+
deriveReader[TracingConfig.Exporter.Otlp]
603610
implicit val tracingConfigSpanExporterReader: ConfigReader[TracingConfig.Exporter] =
604611
deriveReader[TracingConfig.Exporter]
605612
implicit val tracingConfigAlwaysOnSamplerReader: ConfigReader[TracingConfig.Sampler.AlwaysOn] =
@@ -612,6 +619,9 @@ object CantonConfig {
612619
deriveReader[TracingConfig.Sampler.TraceIdRatio]
613620
implicit val tracingConfigSamplerReader: ConfigReader[TracingConfig.Sampler] =
614621
deriveReader[TracingConfig.Sampler]
622+
implicit val tracingConfigBatchSpanProcessorReader
623+
: ConfigReader[TracingConfig.BatchSpanProcessor] =
624+
deriveReader[TracingConfig.BatchSpanProcessor]
615625
implicit val tracingConfigTracerReader: ConfigReader[TracingConfig.Tracer] =
616626
deriveReader[TracingConfig.Tracer]
617627
// treat TracingConfig.Propagation as an enum as we currently only have case object types in the sealed family
@@ -784,8 +794,6 @@ object CantonConfig {
784794
deriveReader[AuthServiceConfig.Wildcard.type]
785795
lazy implicit val authServiceConfigReader: ConfigReader[AuthServiceConfig] =
786796
deriveReader[AuthServiceConfig]
787-
lazy implicit val postgresDataSourceConfigReader: ConfigReader[PostgresDataSourceConfigCanton] =
788-
deriveReader[PostgresDataSourceConfigCanton]
789797
lazy implicit val rateLimitConfigReader: ConfigReader[RateLimitingConfig] =
790798
deriveReader[RateLimitingConfig]
791799
lazy implicit val ledgerApiServerConfigReader: ConfigReader[LedgerApiServerConfig] =
@@ -819,10 +827,6 @@ object CantonConfig {
819827
: ConfigReader[FlatTransactionStreamsConfig] = deriveReader[FlatTransactionStreamsConfig]
820828
lazy implicit val treeTransactionStreamsConfigReader
821829
: ConfigReader[TreeTransactionStreamsConfig] = deriveReader[TreeTransactionStreamsConfig]
822-
lazy implicit val commandServiceConfigReader: ConfigReader[CommandServiceConfig] =
823-
deriveReader[CommandServiceConfig]
824-
lazy implicit val userManagementServiceConfigReader: ConfigReader[UserManagementServiceConfig] =
825-
deriveReader[UserManagementServiceConfig]
826830
lazy implicit val indexerConfigReader: ConfigReader[IndexerConfig] =
827831
deriveReader[IndexerConfig]
828832
lazy implicit val packageMetadataViewConfigReader: ConfigReader[PackageMetadataViewConfig] =
@@ -1016,6 +1020,8 @@ object CantonConfig {
10161020
implicit val tracingConfigZipkinSpanExporterWriter
10171021
: ConfigWriter[TracingConfig.Exporter.Zipkin] =
10181022
deriveWriter[TracingConfig.Exporter.Zipkin]
1023+
implicit val tracingConfigOtlpSpanExporterWriter: ConfigWriter[TracingConfig.Exporter.Otlp] =
1024+
deriveWriter[TracingConfig.Exporter.Otlp]
10191025
implicit val tracingConfigSpanExporterWriter: ConfigWriter[TracingConfig.Exporter] =
10201026
deriveWriter[TracingConfig.Exporter]
10211027
implicit val tracingConfigAlwaysOnSamplerWriter: ConfigWriter[TracingConfig.Sampler.AlwaysOn] =
@@ -1028,6 +1034,9 @@ object CantonConfig {
10281034
deriveWriter[TracingConfig.Sampler.TraceIdRatio]
10291035
implicit val tracingConfigSamplerWriter: ConfigWriter[TracingConfig.Sampler] =
10301036
deriveWriter[TracingConfig.Sampler]
1037+
implicit val tracingConfigBatchSpanProcessorWriter
1038+
: ConfigWriter[TracingConfig.BatchSpanProcessor] =
1039+
deriveWriter[TracingConfig.BatchSpanProcessor]
10311040
implicit val tracingConfigTracerWriter: ConfigWriter[TracingConfig.Tracer] =
10321041
deriveWriter[TracingConfig.Tracer]
10331042
// treat TracingConfig.Propagation as an enum as we currently only have case object types in the sealed family
@@ -1164,8 +1173,6 @@ object CantonConfig {
11641173
deriveWriter[AuthServiceConfig.Wildcard.type]
11651174
lazy implicit val authServiceConfigWriter: ConfigWriter[AuthServiceConfig] =
11661175
deriveWriter[AuthServiceConfig]
1167-
lazy implicit val postgresDataSourceWriter: ConfigWriter[PostgresDataSourceConfigCanton] =
1168-
deriveWriter[PostgresDataSourceConfigCanton]
11691176
lazy implicit val rateLimitConfigWriter: ConfigWriter[RateLimitingConfig] =
11701177
deriveWriter[RateLimitingConfig]
11711178
lazy implicit val ledgerApiServerConfigWriter: ConfigWriter[LedgerApiServerConfig] =
@@ -1194,10 +1201,6 @@ object CantonConfig {
11941201
: ConfigWriter[FlatTransactionStreamsConfig] = deriveWriter[FlatTransactionStreamsConfig]
11951202
lazy implicit val treeTransactionStreamsConfigWriter
11961203
: ConfigWriter[TreeTransactionStreamsConfig] = deriveWriter[TreeTransactionStreamsConfig]
1197-
lazy implicit val commandServiceConfigWriter: ConfigWriter[CommandServiceConfig] =
1198-
deriveWriter[CommandServiceConfig]
1199-
lazy implicit val userManagementServiceConfigWriter: ConfigWriter[UserManagementServiceConfig] =
1200-
deriveWriter[UserManagementServiceConfig]
12011204
lazy implicit val packageMetadataViewConfigWriter: ConfigWriter[PackageMetadataViewConfig] =
12021205
deriveWriter[PackageMetadataViewConfig]
12031206
lazy implicit val indexerConfigWriter: ConfigWriter[IndexerConfig] =

community/app-base/src/main/scala/com/digitalasset/canton/console/ConsoleEnvironment.scala

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
package com.digitalasset.canton.console
55

66
import ammonite.util.Bind
7-
import com.digitalasset.canton.DomainAlias
87
import com.digitalasset.canton.admin.api.client.data.CantonStatus
98
import com.digitalasset.canton.config.CantonRequireTypes.InstanceName
109
import com.digitalasset.canton.config.RequireTypes.{NonNegativeInt, PositiveDouble, PositiveInt}
@@ -28,8 +27,9 @@ import com.digitalasset.canton.lifecycle.{FlagCloseable, Lifecycle}
2827
import com.digitalasset.canton.logging.{NamedLoggerFactory, NamedLogging}
2928
import com.digitalasset.canton.sequencing.{GrpcSequencerConnection, SequencerConnection}
3029
import com.digitalasset.canton.time.SimClock
31-
import com.digitalasset.canton.topology.{Identifier, ParticipantId}
30+
import com.digitalasset.canton.topology.{Identifier, ParticipantId, PartyId}
3231
import com.digitalasset.canton.tracing.{NoTracing, TraceContext, TracerProvider}
32+
import com.digitalasset.canton.{DomainAlias, LfPartyId}
3333
import com.typesafe.scalalogging.Logger
3434
import io.opentelemetry.api.trace.Tracer
3535

@@ -538,6 +538,9 @@ object ConsoleEnvironment {
538538
): LocalInstancesExtensions =
539539
new LocalInstancesExtensions.Impl(instances)
540540

541+
/** Implicit maps an LfPartyId to a PartyId */
542+
implicit def toPartId(lfPartyId: LfPartyId): PartyId = PartyId.tryFromLfParty(lfPartyId)
543+
541544
/** Extensions for many instance references
542545
*/
543546
implicit def toLocalDomainExtensions(

community/app-base/src/main/scala/com/digitalasset/canton/console/commands/MediatorAdministrationGroup.scala

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import com.digitalasset.canton.console.{
2424
Help,
2525
Helpful,
2626
}
27-
import com.digitalasset.canton.crypto.PublicKey
27+
import com.digitalasset.canton.crypto.{Fingerprint, PublicKey}
2828
import com.digitalasset.canton.data.CantonTimestamp
2929
import com.digitalasset.canton.domain.admin.v0.EnterpriseMediatorAdministrationServiceGrpc
3030
import com.digitalasset.canton.domain.admin.v0.EnterpriseMediatorAdministrationServiceGrpc.EnterpriseMediatorAdministrationServiceStub
@@ -159,6 +159,7 @@ class MediatorAdministrationGroupWithInit(
159159
domainParameters: StaticDomainParameters,
160160
sequencerConnections: SequencerConnections,
161161
topologySnapshot: Option[StoredTopologyTransactions[TopologyChangeOp.Positive]],
162+
signingKeyFingerprint: Option[Fingerprint] = None,
162163
): PublicKey = consoleEnvironment.run {
163164
runner.adminCommand(
164165
Initialize(
@@ -167,6 +168,7 @@ class MediatorAdministrationGroupWithInit(
167168
topologySnapshot,
168169
domainParameters.toInternal,
169170
sequencerConnections,
171+
signingKeyFingerprint,
170172
)
171173
)
172174
}
@@ -178,6 +180,7 @@ class MediatorAdministrationGroupWithInit(
178180
domainParameters: StaticDomainParameters,
179181
sequencerConnection: SequencerConnection,
180182
topologySnapshot: Option[StoredTopologyTransactions[TopologyChangeOp.Positive]],
183+
signingKeyFingerprint: Option[Fingerprint],
181184
): PublicKey = consoleEnvironment.run {
182185
runner.adminCommand(
183186
Initialize(
@@ -186,6 +189,7 @@ class MediatorAdministrationGroupWithInit(
186189
topologySnapshot,
187190
domainParameters.toInternal,
188191
SequencerConnections.single(sequencerConnection),
192+
signingKeyFingerprint,
189193
)
190194
)
191195
}

community/app-base/src/main/scala/com/digitalasset/canton/console/commands/VaultAdministration.scala

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -226,11 +226,19 @@ class SecretKeyAdministration(
226226
topologyAdmin match {
227227
case t: TopologyAdministrationGroup =>
228228
t.owner_to_key_mappings
229-
.list(filterStore = AuthorizedStore.filterName, filterKeyOwnerUid = owner.filterString)
229+
.list(
230+
filterStore = AuthorizedStore.filterName,
231+
filterKeyOwnerUid = owner.filterString,
232+
filterKeyOwnerType = Some(owner.code),
233+
)
230234
.map(_.item.key)
231235
case tx: TopologyAdministrationGroupX =>
232236
tx.owner_to_key_mappings
233-
.list(filterStore = AuthorizedStore.filterName, filterKeyOwnerUid = owner.filterString)
237+
.list(
238+
filterStore = AuthorizedStore.filterName,
239+
filterKeyOwnerUid = owner.filterString,
240+
filterKeyOwnerType = Some(owner.code),
241+
)
234242
.flatMap(_.item.keys)
235243
case _ =>
236244
throw new IllegalStateException(

community/app-base/src/main/scala/com/digitalasset/canton/environment/Environment.scala

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import com.digitalasset.canton.environment.CantonNodeBootstrap.HealthDumpFunctio
2626
import com.digitalasset.canton.environment.Environment.*
2727
import com.digitalasset.canton.environment.ParticipantNodes.{ParticipantNodesOld, ParticipantNodesX}
2828
import com.digitalasset.canton.health.{HealthCheck, HealthServer}
29+
import com.digitalasset.canton.ledger.error.LedgerApiErrors
2930
import com.digitalasset.canton.lifecycle.Lifecycle
3031
import com.digitalasset.canton.logging.{NamedLoggerFactory, NamedLogging}
3132
import com.digitalasset.canton.metrics.MetricsConfig.Prometheus
@@ -62,6 +63,11 @@ import scala.util.control.NonFatal
6263
*/
6364
trait Environment extends NamedLogging with AutoCloseable with NoTracing {
6465

66+
// TODO(i14111): Remove this, once the cyclic class initialization has been fixed upstream.
67+
// https://github.com/DACH-NY/canton/issues/14111
68+
// Background: https://www.farside.org.uk/201510/deadlocks_in_java_class_initialisation
69+
LedgerApiErrors.discard
70+
6571
type Config <: CantonConfig
6672
type Console <: ConsoleEnvironment
6773

@@ -80,6 +86,7 @@ trait Environment extends NamedLogging with AutoCloseable with NoTracing {
8086
isPrometheusEnabled,
8187
config.monitoring.tracing.tracer,
8288
config.monitoring.metrics.histograms,
89+
loggerFactory,
8390
)
8491
}
8592

community/app/src/pack/examples/06-messaging/contact/daml.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
sdk-version: 2.7.0-snapshot.20230719.11983.0.vd999a21a
1+
sdk-version: 2.8.0-snapshot.20230807.12017.0.v7ba1e675
22
sandbox-options:
33
- --wall-clock-time
44
name: contact

community/app/src/pack/examples/06-messaging/message/daml.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
sdk-version: 2.7.0-snapshot.20230719.11983.0.vd999a21a
1+
sdk-version: 2.8.0-snapshot.20230807.12017.0.v7ba1e675
22
sandbox-options:
33
- --wall-clock-time
44
name: message

0 commit comments

Comments
 (0)