diff --git a/sdk/BAZEL.md b/sdk/BAZEL.md
index 53f76f6076..fea325481b 100644
--- a/sdk/BAZEL.md
+++ b/sdk/BAZEL.md
@@ -60,7 +60,7 @@ using `da_scala_binary` as shown below.
```
da_scala_binary(
name = "daml-script-binary",
- main_class = "com.daml.lf.engine.script.ScriptMain",
+ main_class = "com.digitalasset.daml.lf.engine.script.ScriptMain",
resources = glob(["src/main/resources/**/*"]),
scala_runtime_deps = [
"@maven//:org_apache_pekko_pekko_slf4j",
diff --git a/sdk/canton/community/admin-api/src/main/protobuf/com/digitalasset/canton/admin/participant/v30/traffic_control_service.proto b/sdk/canton/community/admin-api/src/main/protobuf/com/digitalasset/canton/admin/participant/v30/traffic_control_service.proto
index 1a8011101f..0e54114e08 100644
--- a/sdk/canton/community/admin-api/src/main/protobuf/com/digitalasset/canton/admin/participant/v30/traffic_control_service.proto
+++ b/sdk/canton/community/admin-api/src/main/protobuf/com/digitalasset/canton/admin/participant/v30/traffic_control_service.proto
@@ -31,10 +31,8 @@ message TrafficState {
int64 extra_traffic_consumed = 2;
// Amount of base traffic remaining
int64 base_traffic_remainder = 3;
- // Cost deducted at `timestamp`, only present when traffic was consumed at `timestamp`, otherwise is set to 0
- uint64 last_consumed_cost = 4;
// Timestamp at which the state is valid
- int64 timestamp = 5;
+ int64 timestamp = 4;
// Optional serial of the balance update that updated the extra traffic limit
- google.protobuf.UInt32Value serial = 6;
+ google.protobuf.UInt32Value serial = 5;
}
diff --git a/sdk/canton/community/app-base/src/main/scala/com/digitalasset/canton/admin/api/client/commands/LedgerApiCommands.scala b/sdk/canton/community/app-base/src/main/scala/com/digitalasset/canton/admin/api/client/commands/LedgerApiCommands.scala
index d9f4b0b2b9..6b9f80000f 100644
--- a/sdk/canton/community/app-base/src/main/scala/com/digitalasset/canton/admin/api/client/commands/LedgerApiCommands.scala
+++ b/sdk/canton/community/app-base/src/main/scala/com/digitalasset/canton/admin/api/client/commands/LedgerApiCommands.scala
@@ -4,14 +4,6 @@
package com.digitalasset.canton.admin.api.client.commands
import cats.syntax.either.*
-import cats.syntax.traverse.*
-import com.daml.ledger.api.v2.admin.command_inspection_service.CommandInspectionServiceGrpc.CommandInspectionServiceStub
-import com.daml.ledger.api.v2.admin.command_inspection_service.{
- CommandInspectionServiceGrpc,
- CommandState,
- GetCommandStatusRequest,
- GetCommandStatusResponse,
-}
import com.daml.ledger.api.v2.admin.identity_provider_config_service.IdentityProviderConfigServiceGrpc.IdentityProviderConfigServiceStub
import com.daml.ledger.api.v2.admin.identity_provider_config_service.*
import com.daml.ledger.api.v2.admin.metering_report_service.MeteringReportServiceGrpc.MeteringReportServiceStub
@@ -143,7 +135,6 @@ import com.digitalasset.canton.ledger.client.services.admin.IdentityProviderConf
import com.digitalasset.canton.logging.ErrorLoggingContext
import com.digitalasset.canton.logging.pretty.{Pretty, PrettyPrinting}
import com.digitalasset.canton.networking.grpc.ForwardingStreamObserver
-import com.digitalasset.canton.platform.apiserver.execution.CommandStatus
import com.digitalasset.canton.protocol.LfContractId
import com.digitalasset.canton.serialization.ProtoConverter
import com.digitalasset.canton.topology.{DomainId, PartyId}
@@ -361,34 +352,6 @@ object LedgerApiCommands {
}
}
-
- object CommandInspectionService {
- abstract class BaseCommand[Req, Resp, Res] extends GrpcAdminCommand[Req, Resp, Res] {
- override type Svc = CommandInspectionServiceStub
-
- override def createService(channel: ManagedChannel): CommandInspectionServiceStub =
- CommandInspectionServiceGrpc.stub(channel)
- }
-
- final case class GetCommandStatus(commandIdPrefix: String, state: CommandState, limit: Int)
- extends BaseCommand[GetCommandStatusRequest, GetCommandStatusResponse, Seq[CommandStatus]] {
- override def createRequest(): Either[String, GetCommandStatusRequest] = Right(
- GetCommandStatusRequest(commandIdPrefix = commandIdPrefix, state = state, limit = limit)
- )
-
- override def submitRequest(
- service: CommandInspectionServiceStub,
- request: GetCommandStatusRequest,
- ): Future[GetCommandStatusResponse] = service.getCommandStatus(request)
-
- override def handleResponse(
- response: GetCommandStatusResponse
- ): Either[String, Seq[CommandStatus]] = {
- response.commandStatus.traverse(CommandStatus.fromProto).leftMap(_.message)
- }
- }
- }
-
object ParticipantPruningService {
abstract class BaseCommand[Req, Resp, Res] extends GrpcAdminCommand[Req, Resp, Res] {
override type Svc = ParticipantPruningServiceStub
diff --git a/sdk/canton/community/app-base/src/main/scala/com/digitalasset/canton/admin/api/client/commands/LedgerApiTypeWrappers.scala b/sdk/canton/community/app-base/src/main/scala/com/digitalasset/canton/admin/api/client/commands/LedgerApiTypeWrappers.scala
index 735c03789c..18f2d204be 100644
--- a/sdk/canton/community/app-base/src/main/scala/com/digitalasset/canton/admin/api/client/commands/LedgerApiTypeWrappers.scala
+++ b/sdk/canton/community/app-base/src/main/scala/com/digitalasset/canton/admin/api/client/commands/LedgerApiTypeWrappers.scala
@@ -12,7 +12,7 @@ import com.daml.ledger.api.v2.state_service.{
IncompleteUnassigned,
}
import com.daml.ledger.api.v2.value.{Record, RecordField, Value}
-import com.daml.lf.data.Time
+import com.digitalasset.daml.lf.data.Time
import com.digitalasset.canton.admin.api.client.data.TemplateId
import com.digitalasset.canton.crypto.Salt
import com.digitalasset.canton.protocol.LfContractId
diff --git a/sdk/canton/community/app-base/src/main/scala/com/digitalasset/canton/config/CantonConfig.scala b/sdk/canton/community/app-base/src/main/scala/com/digitalasset/canton/config/CantonConfig.scala
index 3413c7810c..df01fec8aa 100644
--- a/sdk/canton/community/app-base/src/main/scala/com/digitalasset/canton/config/CantonConfig.scala
+++ b/sdk/canton/community/app-base/src/main/scala/com/digitalasset/canton/config/CantonConfig.scala
@@ -70,7 +70,6 @@ import com.digitalasset.canton.participant.ParticipantNodeParameters
import com.digitalasset.canton.participant.admin.AdminWorkflowConfig
import com.digitalasset.canton.participant.config.ParticipantInitConfig.ParticipantLedgerApiInitConfig
import com.digitalasset.canton.participant.config.*
-import com.digitalasset.canton.participant.sync.CommandProgressTrackerConfig
import com.digitalasset.canton.platform.apiserver.SeedService.Seeding
import com.digitalasset.canton.platform.apiserver.configuration.{
EngineLoggingConfig,
@@ -389,7 +388,6 @@ trait CantonConfig {
disableUpgradeValidation = participantParameters.disableUpgradeValidation,
allowForUnauthenticatedContractIds =
participantParameters.allowForUnauthenticatedContractIds,
- commandProgressTracking = participantParameters.commandProgressTracker,
)
}
@@ -973,12 +971,9 @@ object CantonConfig {
deriveReader[EngineLoggingConfig]
lazy implicit val cantonEngineConfigReader: ConfigReader[CantonEngineConfig] =
deriveReader[CantonEngineConfig]
- @nowarn("cat=unused") lazy implicit val participantNodeParameterConfigReader
- : ConfigReader[ParticipantNodeParameterConfig] = {
- implicit val commandProgressTrackerConfigReader: ConfigReader[CommandProgressTrackerConfig] =
- deriveReader[CommandProgressTrackerConfig]
+ lazy implicit val participantNodeParameterConfigReader
+ : ConfigReader[ParticipantNodeParameterConfig] =
deriveReader[ParticipantNodeParameterConfig]
- }
lazy implicit val timeTrackerConfigReader: ConfigReader[DomainTimeTrackerConfig] =
deriveReader[DomainTimeTrackerConfig]
lazy implicit val timeRequestConfigReader: ConfigReader[TimeProofRequestConfig] =
@@ -1390,12 +1385,9 @@ object CantonConfig {
deriveWriter[EngineLoggingConfig]
lazy implicit val cantonEngineConfigWriter: ConfigWriter[CantonEngineConfig] =
deriveWriter[CantonEngineConfig]
- @nowarn("cat=unused") lazy implicit val participantNodeParameterConfigWriter
- : ConfigWriter[ParticipantNodeParameterConfig] = {
- implicit val commandProgressTrackerConfigWriter: ConfigWriter[CommandProgressTrackerConfig] =
- deriveWriter[CommandProgressTrackerConfig]
+ lazy implicit val participantNodeParameterConfigWriter
+ : ConfigWriter[ParticipantNodeParameterConfig] =
deriveWriter[ParticipantNodeParameterConfig]
- }
lazy implicit val timeTrackerConfigWriter: ConfigWriter[DomainTimeTrackerConfig] =
deriveWriter[DomainTimeTrackerConfig]
lazy implicit val timeRequestConfigWriter: ConfigWriter[TimeProofRequestConfig] =
diff --git a/sdk/canton/community/app-base/src/main/scala/com/digitalasset/canton/console/ConsoleMacros.scala b/sdk/canton/community/app-base/src/main/scala/com/digitalasset/canton/console/ConsoleMacros.scala
index ead1232ae6..50cb9e9e57 100644
--- a/sdk/canton/community/app-base/src/main/scala/com/digitalasset/canton/console/ConsoleMacros.scala
+++ b/sdk/canton/community/app-base/src/main/scala/com/digitalasset/canton/console/ConsoleMacros.scala
@@ -20,7 +20,7 @@ import com.daml.ledger.api.v2.value.{
RecordField,
Value,
}
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.value.Value.ContractId
import com.daml.nonempty.NonEmpty
import com.daml.nonempty.NonEmptyReturningOps.*
import com.digitalasset.canton.admin.api.client.commands.LedgerApiTypeWrappers.ContractData
diff --git a/sdk/canton/community/app-base/src/main/scala/com/digitalasset/canton/console/commands/LedgerApiAdministration.scala b/sdk/canton/community/app-base/src/main/scala/com/digitalasset/canton/console/commands/LedgerApiAdministration.scala
index b4e8bbc1ce..8a8e429282 100644
--- a/sdk/canton/community/app-base/src/main/scala/com/digitalasset/canton/console/commands/LedgerApiAdministration.scala
+++ b/sdk/canton/community/app-base/src/main/scala/com/digitalasset/canton/console/commands/LedgerApiAdministration.scala
@@ -8,7 +8,6 @@ import cats.syntax.functorFilter.*
import cats.syntax.traverse.*
import com.daml.jwt.JwtDecoder
import com.daml.jwt.domain.Jwt
-import com.daml.ledger.api.v2.admin.command_inspection_service.CommandState
import com.daml.ledger.api.v2.admin.package_management_service.PackageDetails
import com.daml.ledger.api.v2.admin.party_management_service.PartyDetails as ProtoPartyDetails
import com.daml.ledger.api.v2.checkpoint.Checkpoint
@@ -40,7 +39,7 @@ import com.daml.ledger.javaapi.data.{
TransactionTree,
}
import com.daml.ledger.javaapi as javab
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.daml.metrics.api.MetricsContext
import com.daml.scalautil.Statement.discard
import com.digitalasset.canton.admin.api.client.commands.LedgerApiCommands.CompletionWrapper
@@ -84,7 +83,6 @@ import com.digitalasset.canton.ledger.client.services.admin.IdentityProviderConf
import com.digitalasset.canton.logging.NamedLogging
import com.digitalasset.canton.networking.grpc.{GrpcError, RecordingStreamObserver}
import com.digitalasset.canton.participant.ledger.api.client.JavaDecodeUtil
-import com.digitalasset.canton.platform.apiserver.execution.CommandStatus
import com.digitalasset.canton.protocol.LfContractId
import com.digitalasset.canton.topology.{DomainId, ParticipantId, PartyId}
import com.digitalasset.canton.tracing.NoTracing
@@ -556,36 +554,6 @@ trait BaseLedgerApiAdministration extends NoTracing {
}
}
- @Help.Summary("Investigate successful and failed commands", FeatureFlag.Testing)
- @Help.Description(
- """Find the status of commands. Note that only recent commands which are kept in memory will be returned."""
- )
- def status(
- commandIdPrefix: String = "",
- state: CommandState = CommandState.COMMAND_STATE_UNSPECIFIED,
- limit: PositiveInt = PositiveInt.tryCreate(10),
- ): Seq[CommandStatus] = check(FeatureFlag.Preview) {
- consoleEnvironment.run {
- ledgerApiCommand(
- LedgerApiCommands.CommandInspectionService.GetCommandStatus(
- commandIdPrefix = commandIdPrefix,
- state = state,
- limit = limit.unwrap,
- )
- )
- }
- }
-
- @Help.Summary("Investigate failed commands", FeatureFlag.Testing)
- @Help.Description(
- """Same as status(..., state = CommandState.Failed)."""
- )
- def failed(commandId: String = "", limit: PositiveInt = PositiveInt.tryCreate(10)): Seq[
- CommandStatus
- ] = check(FeatureFlag.Preview) {
- status(commandId, CommandState.COMMAND_STATE_FAILED, limit)
- }
-
@Help.Summary(
"Submit assign command and wait for the resulting reassignment, returning the reassignment or failing otherwise",
FeatureFlag.Testing,
@@ -828,36 +796,6 @@ trait BaseLedgerApiAdministration extends NoTracing {
)
})
- @Help.Summary("Investigate successful and failed commands", FeatureFlag.Testing)
- @Help.Description(
- """Find the status of commands. Note that only recent commands which are kept in memory will be returned."""
- )
- def status(
- commandIdPrefix: String = "",
- state: CommandState = CommandState.COMMAND_STATE_UNSPECIFIED,
- limit: PositiveInt = PositiveInt.tryCreate(10),
- ): Seq[CommandStatus] = check(FeatureFlag.Preview) {
- consoleEnvironment.run {
- ledgerApiCommand(
- LedgerApiCommands.CommandInspectionService.GetCommandStatus(
- commandIdPrefix = commandIdPrefix,
- state = state,
- limit = limit.unwrap,
- )
- )
- }
- }
-
- @Help.Summary("Investigate failed commands", FeatureFlag.Testing)
- @Help.Description(
- """Same as status(..., state = CommandState.Failed)."""
- )
- def failed(commandId: String = "", limit: PositiveInt = PositiveInt.tryCreate(10)): Seq[
- CommandStatus
- ] = check(FeatureFlag.Preview) {
- status(commandId, CommandState.COMMAND_STATE_FAILED, limit)
- }
-
@Help.Summary("Read active contracts", FeatureFlag.Testing)
@Help.Group("Active Contracts")
object acs extends Helpful {
diff --git a/sdk/canton/community/app-base/src/main/scala/com/digitalasset/canton/console/commands/PartiesAdministration.scala b/sdk/canton/community/app-base/src/main/scala/com/digitalasset/canton/console/commands/PartiesAdministration.scala
index e0857864c2..be19e77cd9 100644
--- a/sdk/canton/community/app-base/src/main/scala/com/digitalasset/canton/console/commands/PartiesAdministration.scala
+++ b/sdk/canton/community/app-base/src/main/scala/com/digitalasset/canton/console/commands/PartiesAdministration.scala
@@ -309,7 +309,7 @@ class ParticipantPartiesAdministrationGroup(
TopologyAdminCommands.Write.Propose(
// TODO(#14048) properly set the serial or introduce auto-detection so we don't
// have to set it on the client side
- mapping = PartyToParticipant.create(
+ mapping = PartyToParticipant(
partyId,
None,
threshold,
@@ -326,8 +326,6 @@ class ParticipantPartiesAdministrationGroup(
serial = None,
store = AuthorizedStore.filterName,
mustFullyAuthorize = mustFullyAuthorize,
- change = TopologyChangeOp.Replace,
- forceChanges = ForceFlags.none,
)
)
}
diff --git a/sdk/canton/community/app-base/src/main/scala/com/digitalasset/canton/console/commands/TopologyAdministration.scala b/sdk/canton/community/app-base/src/main/scala/com/digitalasset/canton/console/commands/TopologyAdministration.scala
index d08443cefe..2fee18ad9d 100644
--- a/sdk/canton/community/app-base/src/main/scala/com/digitalasset/canton/console/commands/TopologyAdministration.scala
+++ b/sdk/canton/community/app-base/src/main/scala/com/digitalasset/canton/console/commands/TopologyAdministration.scala
@@ -4,7 +4,7 @@
package com.digitalasset.canton.console.commands
import cats.syntax.either.*
-import com.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.data.Ref.PackageId
import com.daml.nameof.NameOf.functionFullName
import com.daml.nonempty.NonEmpty
import com.digitalasset.canton.admin.api.client.commands.{GrpcAdminCommand, TopologyAdminCommands}
@@ -1209,29 +1209,6 @@ class TopologyAdministrationGroup(
@Help.Group("Party to participant mappings")
object party_to_participant_mappings extends Helpful {
- private def findCurrent(party: PartyId, store: String) = {
- TopologyStoreId(store) match {
- case TopologyStoreId.DomainStore(domainId, _) =>
- expectAtMostOneResult(
- list(
- domainId,
- filterParty = party.filterString,
- // fetch both REPLACE and REMOVE to correctly determine the next serial
- operation = None,
- )
- )
-
- case TopologyStoreId.AuthorizedStore =>
- expectAtMostOneResult(
- list_from_authorized(
- filterParty = party.filterString,
- // fetch both REPLACE and REMOVE to correctly determine the next serial
- operation = None,
- )
- )
- }
- }
-
@Help.Summary("Change party to participant mapping")
@Help.Description("""Change the association of a party to hosting participants.
party: The unique identifier of the party whose set of participants or permission to modify.
@@ -1267,7 +1244,27 @@ class TopologyAdministrationGroup(
store: String = AuthorizedStore.filterName,
): SignedTopologyTransaction[TopologyChangeOp, PartyToParticipant] = {
- val currentO = findCurrent(party, store)
+ val currentO = TopologyStoreId(store) match {
+ case TopologyStoreId.DomainStore(domainId, _) =>
+ expectAtMostOneResult(
+ list(
+ domainId,
+ filterParty = party.filterString,
+ // fetch both REPLACE and REMOVE to correctly determine the next serial
+ operation = None,
+ )
+ )
+
+ case TopologyStoreId.AuthorizedStore =>
+ expectAtMostOneResult(
+ list_from_authorized(
+ filterParty = party.filterString,
+ // fetch both REPLACE and REMOVE to correctly determine the next serial
+ operation = None,
+ )
+ )
+ }
+
val (existingPermissions, newSerial, threshold, groupAddressing) = currentO match {
case Some(current) if current.context.operation == TopologyChangeOp.Remove =>
(
@@ -1364,7 +1361,7 @@ class TopologyAdministrationGroup(
}
val command = TopologyAdminCommands.Write.Propose(
- mapping = PartyToParticipant.create(
+ mapping = PartyToParticipant(
partyId = party,
domainId = domainId,
threshold = threshold,
@@ -1376,7 +1373,6 @@ class TopologyAdministrationGroup(
change = op,
mustFullyAuthorize = mustFullyAuthorize,
store = store,
- forceChanges = ForceFlags.none,
)
synchronisation.runAdminCommand(synchronize)(command)
@@ -1973,16 +1969,13 @@ class TopologyAdministrationGroup(
),
): SignedTopologyTransaction[TopologyChangeOp, AuthorityOf] = {
- val authorityOf = AuthorityOf
- .create(
+ val command = TopologyAdminCommands.Write.Propose(
+ AuthorityOf(
partyId,
domainId,
PositiveInt.tryCreate(threshold),
parties,
- )
- .valueOr(error => consoleEnvironment.run(GenericCommandError(error)))
- val command = TopologyAdminCommands.Write.Propose(
- authorityOf,
+ ),
signedBy = signedBy.toList,
serial = serial,
store = store,
diff --git a/sdk/canton/community/app-base/src/main/scala/com/digitalasset/canton/environment/Environment.scala b/sdk/canton/community/app-base/src/main/scala/com/digitalasset/canton/environment/Environment.scala
index 409835ad1c..c530e6bd9b 100644
--- a/sdk/canton/community/app-base/src/main/scala/com/digitalasset/canton/environment/Environment.scala
+++ b/sdk/canton/community/app-base/src/main/scala/com/digitalasset/canton/environment/Environment.scala
@@ -82,7 +82,6 @@ trait Environment extends NamedLogging with AutoCloseable with NoTracing {
histogramInventory = histogramInventory,
histogramFilter = baseFilter,
histogramConfigs = config.monitoring.metrics.histograms,
- config.monitoring.metrics.cardinality.unwrap,
loggerFactory,
)
}
diff --git a/sdk/canton/community/app-base/src/main/scala/com/digitalasset/canton/metrics/MetricsRegistry.scala b/sdk/canton/community/app-base/src/main/scala/com/digitalasset/canton/metrics/MetricsRegistry.scala
index 638c3ec174..2066c2b7f8 100644
--- a/sdk/canton/community/app-base/src/main/scala/com/digitalasset/canton/metrics/MetricsRegistry.scala
+++ b/sdk/canton/community/app-base/src/main/scala/com/digitalasset/canton/metrics/MetricsRegistry.scala
@@ -12,14 +12,13 @@ import com.daml.metrics.api.{MetricQualification, MetricsContext, MetricsInfoFil
import com.daml.metrics.grpc.DamlGrpcServerMetrics
import com.daml.metrics.{HealthMetrics, HistogramDefinition, MetricsFilterConfig}
import com.digitalasset.canton.config.NonNegativeFiniteDuration
-import com.digitalasset.canton.config.RequireTypes.{Port, PositiveInt}
+import com.digitalasset.canton.config.RequireTypes.Port
import com.digitalasset.canton.discard.Implicits.DiscardOps
import com.digitalasset.canton.domain.metrics.{MediatorMetrics, SequencerMetrics}
import com.digitalasset.canton.logging.{NamedLoggerFactory, NamedLogging}
import com.digitalasset.canton.metrics.MetricsConfig.JvmMetrics
import com.digitalasset.canton.metrics.MetricsReporterConfig.{Csv, Logging, Prometheus}
import com.digitalasset.canton.participant.metrics.ParticipantMetrics
-import com.digitalasset.canton.telemetry.OpenTelemetryFactory
import com.typesafe.scalalogging.LazyLogging
import io.opentelemetry.api.OpenTelemetry
import io.opentelemetry.api.metrics.Meter
@@ -27,7 +26,6 @@ import io.opentelemetry.exporter.prometheus.PrometheusHttpServer
import io.opentelemetry.instrumentation.runtimemetrics.java8.*
import io.opentelemetry.sdk.metrics.SdkMeterProviderBuilder
import io.opentelemetry.sdk.metrics.`export`.{MetricExporter, MetricReader, PeriodicMetricReader}
-import io.opentelemetry.sdk.metrics.internal.state.MetricStorage
import java.io.File
import java.util.concurrent.ScheduledExecutorService
@@ -45,7 +43,6 @@ final case class MetricsConfig(
reporters: Seq[MetricsReporterConfig] = Seq.empty,
jvmMetrics: Option[JvmMetrics] = None,
histograms: Seq[HistogramDefinition] = Seq.empty,
- cardinality: PositiveInt = PositiveInt.tryCreate(MetricStorage.DEFAULT_MAX_CARDINALITY),
qualifiers: Seq[MetricQualification] = Seq[MetricQualification](
MetricQualification.Errors,
MetricQualification.Latency,
@@ -270,15 +267,10 @@ object MetricsRegistry extends LazyLogging {
}
.zip(config.reporters)
- .foreach { case (reader, readerConfig) =>
- OpenTelemetryFactory
- .registerMetricsReaderWithCardinality(
- sdkMeterProviderBuilder,
- FilteringMetricsReader.create(readerConfig.filters, reader),
- config.cardinality.unwrap,
- )
+ .foreach { case (reader, config) =>
+ sdkMeterProviderBuilder
+ .registerMetricReader(FilteringMetricsReader.create(config.filters, reader))
.discard
-
}
sdkMeterProviderBuilder
}
diff --git a/sdk/canton/community/base/src/main/protobuf/com/digitalasset/canton/protocol/v30/traffic_control_parameters.proto b/sdk/canton/community/base/src/main/protobuf/com/digitalasset/canton/protocol/v30/traffic_control_parameters.proto
index 00178cb423..273c58215b 100644
--- a/sdk/canton/community/base/src/main/protobuf/com/digitalasset/canton/protocol/v30/traffic_control_parameters.proto
+++ b/sdk/canton/community/base/src/main/protobuf/com/digitalasset/canton/protocol/v30/traffic_control_parameters.proto
@@ -52,10 +52,8 @@ message TrafficConsumed {
uint64 extra_traffic_consumed = 2;
// Remaining free base traffic
uint64 base_traffic_remainder = 3;
- // Cost deducted at `timestamp`, only present when traffic was consumed at `timestamp`, otherwise is set to 0
- uint64 last_consumed_cost = 4;
// Timestamp at which this state is valid - this timestamp is used to compute the base traffic remainder above
- int64 sequencing_timestamp = 5; // in microseconds of UTC time since Unix epoch
+ int64 sequencing_timestamp = 4; // in microseconds of UTC time since Unix epoch
}
// Message representing a traffic purchase made on behalf of a member
@@ -79,12 +77,10 @@ message TrafficState {
int64 extra_traffic_consumed = 2;
// Amount of base traffic remaining
int64 base_traffic_remainder = 3;
- // Cost deducted at `timestamp`, only present when traffic was consumed at `timestamp`, otherwise is set to 0
- uint64 last_consumed_cost = 4;
// Timestamp at which the state is valid
- int64 timestamp = 5;
+ int64 timestamp = 4;
// Optional serial of the balance update that updated the extra traffic limit
- google.protobuf.UInt32Value serial = 6;
+ google.protobuf.UInt32Value serial = 5;
}
message SetTrafficPurchasedMessage {
diff --git a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/config/CantonRequireTypes.scala b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/config/CantonRequireTypes.scala
index aa03af360c..06b8bf6cc7 100644
--- a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/config/CantonRequireTypes.scala
+++ b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/config/CantonRequireTypes.scala
@@ -348,11 +348,11 @@ object CantonRequireTypes {
/** Length limitation for an [[com.digitalasset.canton.protocol.LfTemplateId]].
* A [[com.digitalasset.canton.protocol.LfTemplateId]] consists of
- * - The module name ([[com.daml.lf.data.Ref.DottedName]])
- * - The template name ([[com.daml.lf.data.Ref.DottedName]])
+ * - The module name ([[com.digitalasset.daml.lf.data.Ref.DottedName]])
+ * - The template name ([[com.digitalasset.daml.lf.data.Ref.DottedName]])
* - The package ID
* - Two separating dots
- * Each [[com.daml.lf.data.Ref.DottedName]] can have 1000 chars ([[com.daml.lf.data.Ref.DottedName.maxLength]]).
+ * Each [[com.digitalasset.daml.lf.data.Ref.DottedName]] can have 1000 chars ([[com.digitalasset.daml.lf.data.Ref.DottedName.maxLength]]).
* So a [[com.digitalasset.canton.protocol.LfTemplateId]] serializes to 1000 + 1000 + 64 + 2 = 2066 chars.
*
* 2066 is beyond the string size for Oracle's `NVARCHAR2` column type unless `max_string_size` is set to `extended`.
diff --git a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/data/ActionDescription.scala b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/data/ActionDescription.scala
index 2e41825713..f7e4729cb0 100644
--- a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/data/ActionDescription.scala
+++ b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/data/ActionDescription.scala
@@ -5,7 +5,7 @@ package com.digitalasset.canton.data
import cats.syntax.either.*
import cats.syntax.traverse.*
-import com.daml.lf.value.{Value, ValueCoder, ValueOuterClass}
+import com.digitalasset.daml.lf.value.{Value, ValueCoder, ValueOuterClass}
import com.digitalasset.canton.ProtoDeserializationError.{
FieldNotSet,
OtherError,
diff --git a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/data/DeduplicationPeriod.scala b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/data/DeduplicationPeriod.scala
index a1bfd921de..24b73fb006 100644
--- a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/data/DeduplicationPeriod.scala
+++ b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/data/DeduplicationPeriod.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.data
-import com.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.data.Time.Timestamp
import com.daml.logging.entries.{LoggingValue, ToLoggingValue}
import java.time.Duration
@@ -19,9 +19,9 @@ sealed trait DeduplicationPeriod extends Product with Serializable
object DeduplicationPeriod {
- /** Transforms the `period` into a [[com.daml.lf.data.Time.Timestamp]] to be used for deduplication into the future(deduplicateUntil).
+ /** Transforms the `period` into a [[com.digitalasset.daml.lf.data.Time.Timestamp]] to be used for deduplication into the future(deduplicateUntil).
* Only used for backwards compatibility
- * @param time The time to use for calculating the [[com.daml.lf.data.Time.Timestamp]]. It can either be submission time or current time, based on usage
+ * @param time The time to use for calculating the [[com.digitalasset.daml.lf.data.Time.Timestamp]]. It can either be submission time or current time, based on usage
* @param period The deduplication period
*/
def deduplicateUntil(
diff --git a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/data/Offset.scala b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/data/Offset.scala
index cb77320856..e16c2feb71 100644
--- a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/data/Offset.scala
+++ b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/data/Offset.scala
@@ -3,13 +3,11 @@
package com.digitalasset.canton.data
-import com.daml.lf.data.{Bytes, Ref}
+import com.digitalasset.daml.lf.data.{Bytes, Ref}
import com.daml.logging.entries.{LoggingValue, ToLoggingValue}
-import com.digitalasset.canton.data.Offset.beforeBegin
import com.google.protobuf.ByteString
import java.io.InputStream
-import java.nio.{ByteBuffer, ByteOrder}
/** Offsets into streams with hierarchical addressing.
*
@@ -33,16 +31,10 @@ final case class Offset(bytes: Bytes) extends Ordered[Offset] {
def toByteArray: Array[Byte] = bytes.toByteArray
def toHexString: Ref.HexString = bytes.toHexString
-
- def toLong: Long =
- if (this == beforeBegin) 0L
- else ByteBuffer.wrap(bytes.toByteArray).getLong(1)
}
object Offset {
val beforeBegin: Offset = new Offset(Bytes.Empty)
- private val longBasedByteLength: Int = 9 // One byte for the version plus 8 bytes for Long
- private val versionUpstreamOffsetsAsLong: Byte = 0
def fromByteString(bytes: ByteString) = new Offset(Bytes.fromByteString(bytes))
@@ -52,21 +44,6 @@ object Offset {
def fromHexString(s: Ref.HexString) = new Offset(Bytes.fromHexString(s))
- def fromLong(l: Long): Offset =
- if (l == 0L) beforeBegin
- else
- Offset(
- com.daml.lf.data.Bytes.fromByteString(
- ByteString.copyFrom(
- ByteBuffer
- .allocate(longBasedByteLength)
- .order(ByteOrder.BIG_ENDIAN)
- .put(0, versionUpstreamOffsetsAsLong)
- .putLong(1, l)
- )
- )
- )
-
implicit val `Offset to LoggingValue`: ToLoggingValue[Offset] = value =>
LoggingValue.OfString(value.toHexString)
}
diff --git a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/data/ProcessedDisclosedContract.scala b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/data/ProcessedDisclosedContract.scala
index 9d57646040..dc2fb515f8 100644
--- a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/data/ProcessedDisclosedContract.scala
+++ b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/data/ProcessedDisclosedContract.scala
@@ -3,9 +3,9 @@
package com.digitalasset.canton.data
-import com.daml.lf.data.{Bytes, Ref, Time}
-import com.daml.lf.transaction.{GlobalKeyWithMaintainers, Node, TransactionVersion}
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.data.{Bytes, Ref, Time}
+import com.digitalasset.daml.lf.transaction.{GlobalKeyWithMaintainers, Node, TransactionVersion}
+import com.digitalasset.daml.lf.value.Value
/** An explicitly-disclosed contract that has been used during command interpretation
* and enriched with additional contract metadata.
diff --git a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/data/SubmitterMetadata.scala b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/data/SubmitterMetadata.scala
index 6bb8d1ab42..aab5e1d985 100644
--- a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/data/SubmitterMetadata.scala
+++ b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/data/SubmitterMetadata.scala
@@ -5,7 +5,7 @@ package com.digitalasset.canton.data
import cats.syntax.either.*
import cats.syntax.traverse.*
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.daml.nonempty.NonEmpty
import com.digitalasset.canton.*
import com.digitalasset.canton.crypto.*
diff --git a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/data/TransactionView.scala b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/data/TransactionView.scala
index a7bd0bf0c2..baa834abc7 100644
--- a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/data/TransactionView.scala
+++ b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/data/TransactionView.scala
@@ -158,7 +158,7 @@ final case class TransactionView private (
subviews = Some(subviews.toProtoV30),
)
- /** The global key inputs that the [[com.daml.lf.transaction.ContractStateMachine]] computes
+ /** The global key inputs that the [[com.digitalasset.daml.lf.transaction.ContractStateMachine]] computes
* while interpreting the root action of the view, enriched with the maintainers of the key and the
* [[com.digitalasset.canton.protocol.LfTransactionVersion]] to be used for serializing the key.
*
diff --git a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/data/ViewParticipantData.scala b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/data/ViewParticipantData.scala
index 4a0010c46d..436cc30476 100644
--- a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/data/ViewParticipantData.scala
+++ b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/data/ViewParticipantData.scala
@@ -56,13 +56,13 @@ import com.google.protobuf.ByteString
* For [[com.digitalasset.canton.protocol.WellFormedTransaction]]s, the creation therefore is not rolled
* back either as the archival can only refer to non-rolled back creates.
* @param resolvedKeys
- * Specifies how to resolve [[com.daml.lf.engine.ResultNeedKey]] requests from DAMLe (resulting from e.g., fetchByKey,
+ * Specifies how to resolve [[com.digitalasset.daml.lf.engine.ResultNeedKey]] requests from DAMLe (resulting from e.g., fetchByKey,
* lookupByKey) when interpreting the view. The resolved contract IDs must be in the [[coreInputs]].
* Stores only the resolution difference between this view's global key inputs
* [[com.digitalasset.canton.data.TransactionView.globalKeyInputs]]
* and the aggregated global key inputs from the subviews
* (see [[com.digitalasset.canton.data.TransactionView.globalKeyInputs]] for the aggregation algorithm).
- * In [[com.daml.lf.transaction.ContractKeyUniquenessMode.Strict]],
+ * In [[com.digitalasset.daml.lf.transaction.ContractKeyUniquenessMode.Strict]],
* the [[com.digitalasset.canton.data.FreeKey]] resolutions must be checked during conflict detection.
* @param actionDescription The description of the root action of the view
* @param rollbackContext The rollback context of the root action of the view.
@@ -355,7 +355,7 @@ object ViewParticipantData
* and the key is not in [[ViewParticipantData.resolvedKeys]].
* @throws com.digitalasset.canton.serialization.SerializationCheckFailed if this instance cannot be serialized
*/
- @throws[SerializationCheckFailed[com.daml.lf.value.ValueCoder.EncodeError]]
+ @throws[SerializationCheckFailed[com.digitalasset.daml.lf.value.ValueCoder.EncodeError]]
def tryCreate(hashOps: HashOps)(
coreInputs: Map[LfContractId, InputContract],
createdCore: Seq[CreatedContract],
diff --git a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/lifecycle/FutureUnlessShutdown.scala b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/lifecycle/FutureUnlessShutdown.scala
index 51c12fc051..045f089cb2 100644
--- a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/lifecycle/FutureUnlessShutdown.scala
+++ b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/lifecycle/FutureUnlessShutdown.scala
@@ -18,7 +18,6 @@ import com.digitalasset.canton.{
DoNotTraverseLikeFuture,
}
-import java.util.concurrent.CompletionException
import scala.concurrent.{Awaitable, ExecutionContext, Future}
import scala.util.chaining.*
import scala.util.{Failure, Success, Try}
@@ -82,14 +81,8 @@ object FutureUnlessShutdown {
apply(f.transform({
case Success(value) => Success(UnlessShutdown.Outcome(value))
case Failure(AbortedDueToShutdownException(_)) => Success(UnlessShutdown.AbortedDueToShutdown)
- case Failure(ce: CompletionException) =>
- ce.getCause match {
- case AbortedDueToShutdownException(_) => Success(UnlessShutdown.AbortedDueToShutdown)
- case _ => Failure(ce)
- }
case Failure(other) => Failure(other)
}))
-
}
/** Monad combination of `Future` and [[UnlessShutdown]]
diff --git a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/logging/pretty/PrettyInstances.scala b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/logging/pretty/PrettyInstances.scala
index 85b41deca6..c125462c4e 100644
--- a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/logging/pretty/PrettyInstances.scala
+++ b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/logging/pretty/PrettyInstances.scala
@@ -5,12 +5,12 @@ package com.digitalasset.canton.logging.pretty
import cats.Show.Shown
import com.daml.error.utils.DecodedCantonError
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.{DottedName, PackageId, QualifiedName}
-import com.daml.lf.transaction.ContractStateMachine.ActiveLedgerState
-import com.daml.lf.transaction.TransactionErrors.*
-import com.daml.lf.transaction.Versioned
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.{DottedName, PackageId, QualifiedName}
+import com.digitalasset.daml.lf.transaction.ContractStateMachine.ActiveLedgerState
+import com.digitalasset.daml.lf.transaction.TransactionErrors.*
+import com.digitalasset.daml.lf.transaction.Versioned
+import com.digitalasset.daml.lf.value.Value
import com.daml.nonempty.{NonEmpty, NonEmptyUtil}
import com.digitalasset.canton.config.RequireTypes.{Port, RefinedNumeric}
import com.digitalasset.canton.data.DeduplicationPeriod
@@ -189,10 +189,10 @@ trait PrettyInstances {
implicit def prettyLfQualifiedName: Pretty[QualifiedName] =
prettyOfString(qname => show"${qname.module}:${qname.name}")
- implicit def prettyLfIdentifier: Pretty[com.daml.lf.data.Ref.Identifier] =
+ implicit def prettyLfIdentifier: Pretty[com.digitalasset.daml.lf.data.Ref.Identifier] =
prettyOfString(id => show"${id.packageId}:${id.qualifiedName}")
- implicit def prettyLfPackageName: Pretty[com.daml.lf.data.Ref.PackageName] =
+ implicit def prettyLfPackageName: Pretty[com.digitalasset.daml.lf.data.Ref.PackageName] =
prettyOfString(packageName => show"${packageName.toString}")
implicit def prettyLfContractId: Pretty[LfContractId] = prettyOfString {
diff --git a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/package.scala b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/package.scala
index 106b7c5287..f3a575473c 100644
--- a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/package.scala
+++ b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/package.scala
@@ -3,10 +3,10 @@
package com.digitalasset
-import com.daml.lf.command.ReplayCommand
-import com.daml.lf.data.{IdString, Ref, Time}
-import com.daml.lf.transaction.{ContractStateMachine, Versioned}
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.command.ReplayCommand
+import com.digitalasset.daml.lf.data.{IdString, Ref, Time}
+import com.digitalasset.daml.lf.transaction.{ContractStateMachine, Versioned}
+import com.digitalasset.daml.lf.value.Value
import com.digitalasset.canton.data.{Counter, CounterCompanion}
import com.digitalasset.canton.serialization.DeterministicEncoding.encodeLong
import com.google.protobuf.ByteString
diff --git a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/protocol/CantonContractIdVersion.scala b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/protocol/CantonContractIdVersion.scala
index f281ca340a..a124e38fb9 100644
--- a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/protocol/CantonContractIdVersion.scala
+++ b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/protocol/CantonContractIdVersion.scala
@@ -4,7 +4,7 @@
package com.digitalasset.canton.protocol
import cats.syntax.either.*
-import com.daml.lf.data.Bytes
+import com.digitalasset.daml.lf.data.Bytes
import com.digitalasset.canton.checked
import com.digitalasset.canton.config.CantonRequireTypes.String255
import com.digitalasset.canton.config.RequireTypes.NonNegativeInt
diff --git a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/protocol/DomainParameters.scala b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/protocol/DomainParameters.scala
index e8273cdafc..5e07a04462 100644
--- a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/protocol/DomainParameters.scala
+++ b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/protocol/DomainParameters.scala
@@ -293,13 +293,13 @@ object OnboardingRestriction {
* Must be greater than `maxSequencingTime` specified by a participant,
* practically also requires extra slack to allow clock skew between participant and sequencer.
* @param onboardingRestriction current onboarding restrictions for participants
- * @param acsCommitmentsCatchUpConfig Optional parameters of type [[com.digitalasset.canton.protocol.AcsCommitmentsCatchUpConfig]].
- * Defined starting with protobuf version v2 and protocol version v30.
- * If None, the catch-up mode is disabled: the participant does not trigger the
- * catch-up mode when lagging behind.
- * If not None, it specifies the number of reconciliation intervals that the
- * participant skips in catch-up mode, and the number of catch-up intervals
- * intervals a participant should lag behind in order to enter catch-up mode.
+ * @param catchUpParameters Optional parameters of type [[com.digitalasset.canton.protocol.AcsCommitmentsCatchUpConfig]].
+ * Defined starting with protobuf version v2 and protocol version v30.
+ * If None, the catch-up mode is disabled: the participant does not trigger the
+ * catch-up mode when lagging behind.
+ * If not None, it specifies the number of reconciliation intervals that the
+ * participant skips in catch-up mode, and the number of catch-up intervals
+ * intervals a participant should lag behind in order to enter catch-up mode.
*
* @throws DynamicDomainParameters$.InvalidDynamicDomainParameters
* if `mediatorDeduplicationTimeout` is less than twice of `ledgerTimeRecordTimeTolerance`.
diff --git a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/protocol/DriverContractMetadata.scala b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/protocol/DriverContractMetadata.scala
index f7fe67e32c..3348c96bdb 100644
--- a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/protocol/DriverContractMetadata.scala
+++ b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/protocol/DriverContractMetadata.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.protocol
-import com.daml.lf.data.Bytes as LfBytes
+import com.digitalasset.daml.lf.data.Bytes as LfBytes
import com.digitalasset.canton.crypto.Salt
import com.digitalasset.canton.logging.pretty.{Pretty, PrettyPrinting}
import com.digitalasset.canton.serialization.ProtoConverter
diff --git a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/protocol/GlobalKeySerialization.scala b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/protocol/GlobalKeySerialization.scala
index 97b113c0b8..7817e0a490 100644
--- a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/protocol/GlobalKeySerialization.scala
+++ b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/protocol/GlobalKeySerialization.scala
@@ -4,8 +4,8 @@
package com.digitalasset.canton.protocol
import cats.syntax.either.*
-import com.daml.lf.data.Ref
-import com.daml.lf.value.{ValueCoder, ValueOuterClass}
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.value.{ValueCoder, ValueOuterClass}
import com.digitalasset.canton.serialization.ProtoConverter
import com.digitalasset.canton.serialization.ProtoConverter.ParsingResult
import com.digitalasset.canton.{LfVersioned, ProtoDeserializationError}
diff --git a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/protocol/LfHashSyntax.scala b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/protocol/LfHashSyntax.scala
index d6ca960990..8bdea76a31 100644
--- a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/protocol/LfHashSyntax.scala
+++ b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/protocol/LfHashSyntax.scala
@@ -4,7 +4,7 @@
package com.digitalasset.canton.protocol
import cats.syntax.either.*
-import com.daml.lf.data.Bytes
+import com.digitalasset.daml.lf.data.Bytes
import com.digitalasset.canton.ProtoDeserializationError.ValueDeserializationError
import com.digitalasset.canton.serialization.ProtoConverter.ParsingResult
import com.google.protobuf.ByteString
diff --git a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/protocol/RefIdentifierSyntax.scala b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/protocol/RefIdentifierSyntax.scala
index 4c6ec37c4d..88d01226ee 100644
--- a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/protocol/RefIdentifierSyntax.scala
+++ b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/protocol/RefIdentifierSyntax.scala
@@ -4,8 +4,8 @@
package com.digitalasset.canton.protocol
import cats.syntax.either.*
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.Identifier
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.Identifier
import com.digitalasset.canton.ProtoDeserializationError.ValueDeserializationError
object RefIdentifierSyntax {
diff --git a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/protocol/SerializableContract.scala b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/protocol/SerializableContract.scala
index 4f957c3fff..ed5f86b205 100644
--- a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/protocol/SerializableContract.scala
+++ b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/protocol/SerializableContract.scala
@@ -5,7 +5,7 @@ package com.digitalasset.canton.protocol
import cats.implicits.toTraverseOps
import cats.syntax.either.*
-import com.daml.lf.value.ValueCoder
+import com.digitalasset.daml.lf.value.ValueCoder
import com.digitalasset.canton.ProtoDeserializationError.ValueConversionError
import com.digitalasset.canton.crypto.Salt
import com.digitalasset.canton.data.{CantonTimestamp, ProcessedDisclosedContract}
diff --git a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/protocol/SerializableDeduplicationPeriod.scala b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/protocol/SerializableDeduplicationPeriod.scala
index 3403439a62..36e1ded723 100644
--- a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/protocol/SerializableDeduplicationPeriod.scala
+++ b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/protocol/SerializableDeduplicationPeriod.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.protocol
-import com.daml.lf.data.Bytes as LfBytes
+import com.digitalasset.daml.lf.data.Bytes as LfBytes
import com.digitalasset.canton.ProtoDeserializationError
import com.digitalasset.canton.data.{DeduplicationPeriod, Offset}
import com.digitalasset.canton.serialization.ProtoConverter.{DurationConverter, ParsingResult}
diff --git a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/protocol/SerializableRawContractInstance.scala b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/protocol/SerializableRawContractInstance.scala
index 8dfc38d658..16b928afe7 100644
--- a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/protocol/SerializableRawContractInstance.scala
+++ b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/protocol/SerializableRawContractInstance.scala
@@ -4,8 +4,8 @@
package com.digitalasset.canton.protocol
import cats.syntax.either.*
-import com.daml.lf.transaction.{TransactionCoder, TransactionOuterClass}
-import com.daml.lf.value.ValueCoder
+import com.digitalasset.daml.lf.transaction.{TransactionCoder, TransactionOuterClass}
+import com.digitalasset.daml.lf.value.ValueCoder
import com.digitalasset.canton.ProtoDeserializationError.ValueConversionError
import com.digitalasset.canton.serialization.ProtoConverter.ParsingResult
import com.digitalasset.canton.serialization.{
diff --git a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/protocol/Unicum.scala b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/protocol/Unicum.scala
index 36bbd8a0ed..a2a8ef5506 100644
--- a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/protocol/Unicum.scala
+++ b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/protocol/Unicum.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.protocol
-import com.daml.lf.data.Bytes
+import com.digitalasset.daml.lf.data.Bytes
import com.digitalasset.canton.crypto.Hash
/** A hash-based identifier for contracts.
diff --git a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/protocol/messages/RootHashMessageRecipients.scala b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/protocol/messages/RootHashMessageRecipients.scala
index c1c884f554..f722f73547 100644
--- a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/protocol/messages/RootHashMessageRecipients.scala
+++ b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/protocol/messages/RootHashMessageRecipients.scala
@@ -12,22 +12,12 @@ import com.digitalasset.canton.topology.client.TopologySnapshot
import com.digitalasset.canton.topology.{ParticipantId, PartyId}
import com.digitalasset.canton.tracing.TraceContext
import com.digitalasset.canton.util.ShowUtil.*
-import com.digitalasset.canton.util.{Checked, ErrorUtil, SetCover}
+import com.digitalasset.canton.util.{Checked, ErrorUtil}
import scala.concurrent.{ExecutionContext, Future}
object RootHashMessageRecipients extends HasLoggerName {
- /** Computes the list of recipients for the root hash messages of a confirmation request.
- * Each recipient returned is either a participant or a group address
- * [[com.digitalasset.canton.sequencing.protocol.ParticipantsOfParty]].
- * The group addresses can be overlapping, but a participant member recipient will only be present if it is
- * not included in any of the group addresses.
- *
- * @param informees informees of the confirmation request
- * @param ipsSnapshot topology snapshot used at submission time
- * @return list of root hash message recipients
- */
def rootHashRecipientsForInformees(
informees: Set[LfPartyId],
ipsSnapshot: TopologySnapshot,
@@ -47,10 +37,10 @@ object RootHashMessageRecipients extends HasLoggerName {
)
)
)
- participantsOfGroupAddressedInformees <- ipsSnapshot
- .activeParticipantsOfPartiesWithGroupAddressing(
- informeesList
- )
+ groupAddressedInformees <- ipsSnapshot.partiesWithGroupAddressing(informeesList)
+ participantsOfGroupAddressedInformees <- ipsSnapshot.activeParticipantsOfParties(
+ groupAddressedInformees.toList
+ )
} yield {
// If there are several group-addressed informees with overlapping participants,
// we actually look for a set cover. It doesn't matter which one we pick.
@@ -96,45 +86,28 @@ object RootHashMessageRecipients extends HasLoggerName {
} ++ directlyAddressedParticipants.map { participant =>
MemberRecipient(participant) -> Set(participant)
}
- SetCover.greedy(sets)
+ // TODO(#13883) Use a set cover for the recipients instead of all of them
+ // SetCover.greedy(sets.toMap)
+ sets.map { case (recipient, _) => recipient }.toSeq
}
}
- /** Validate the recipients of root hash messages received by a participant in Phase 3.
- */
def validateRecipientsOnParticipant(recipients: Recipients): Checked[Nothing, String, Unit] = {
- // group members must be of size 2, which must be participant and mediator, due to previous checks
- val validGroups = recipients.trees.collect {
- case RecipientsTree(group, Seq()) if group.sizeCompare(2) == 0 => group
+ recipients.asSingleGroup match {
+ case Some(group) if group.sizeCompare(2) == 0 =>
+ // group members must be participantId and mediator, due to previous checks
+ Checked.unit
+ case Some(group) =>
+ val hasGroupAddressing = group.collect { case ParticipantsOfParty(party) =>
+ party.toLf
+ }.nonEmpty
+ if (hasGroupAddressing) Checked.unit
+ else Checked.continue(s"The root hash message has an invalid recipient group.\n$recipients")
+ case _ =>
+ Checked.continue(s"The root hash message has more than one recipient group.\n$recipients")
}
-
- if (validGroups.size == recipients.trees.size) {
- val allUseGroupAddressing = validGroups.forall {
- _.exists {
- case ParticipantsOfParty(_) => true
- case _ => false
- }
- }
-
- // Due to how rootHashRecipientsForInformees() computes recipients, if there is more than one group,
- // they must all address the participant using group addressing.
- if (allUseGroupAddressing || validGroups.sizeCompare(1) == 0) Checked.unit
- else
- Checked.continue(
- s"The root hash message has more than one recipient group, not all using group addressing.\n$recipients"
- )
- } else Checked.continue(s"The root hash message has invalid recipient groups.\n$recipients")
}
- /** Validate the recipients of root hash messages received by a mediator in Phase 2.
- *
- * A recipient is valid if each recipient tree:
- * - contains only a single recipient group (no children)
- * - the recipient group is if size 2
- * - the recipient group contains:
- * - the mediator group recipient
- * - either a participant member recipient or a PartyOfParticipant group recipient
- */
def wrongAndCorrectRecipients(
recipientsList: Seq[Recipients],
mediator: MediatorGroupRecipient,
@@ -142,14 +115,18 @@ object RootHashMessageRecipients extends HasLoggerName {
val (wrongRecipients, correctRecipients) = recipientsList.flatMap { recipients =>
recipients.trees.toList.map {
case tree @ RecipientsTree(group, Seq()) =>
- val hasMediator = group.contains(mediator)
- val hasParticipantOrPop = group.exists {
- case MemberRecipient(_: ParticipantId) | ParticipantsOfParty(_) => true
+ val participantCount = group.count {
+ case MemberRecipient(_: ParticipantId) => true
case _ => false
}
-
+ val groupAddressCount = group.count {
+ case ParticipantsOfParty(_) => true
+ case _ => false
+ }
+ val groupAddressingBeingUsed = groupAddressCount > 0
Either.cond(
- group.sizeCompare(2) == 0 && hasMediator && hasParticipantOrPop,
+ ((group.size == 2) || (groupAddressingBeingUsed && group.size >= 2)) &&
+ group.contains(mediator) && (participantCount + groupAddressCount > 0),
group,
tree,
)
diff --git a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/protocol/package.scala b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/protocol/package.scala
index 2d0e13ee25..8d02646012 100644
--- a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/protocol/package.scala
+++ b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/protocol/package.scala
@@ -3,10 +3,10 @@
package com.digitalasset.canton
-import com.daml.lf.crypto.Hash
-import com.daml.lf.data.Ref
-import com.daml.lf.transaction.*
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.crypto.Hash
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.transaction.*
+import com.digitalasset.daml.lf.value.Value
import com.daml.nonempty.NonEmpty
import com.digitalasset.canton.data.ViewType
import com.digitalasset.canton.protocol.messages.EncryptedViewMessage
diff --git a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/sequencing/protocol/SubmissionRequest.scala b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/sequencing/protocol/SubmissionRequest.scala
index 6a491fa544..6ec7083e3b 100644
--- a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/sequencing/protocol/SubmissionRequest.scala
+++ b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/sequencing/protocol/SubmissionRequest.scala
@@ -59,16 +59,15 @@ final case class SubmissionRequest private (
@VisibleForTesting
def isConfirmationRequest: Boolean = {
- val hasParticipantOrPopRecipient = batch.allRecipients.exists {
- case MemberRecipient(_: ParticipantId) => true
- case ParticipantsOfParty(_) => true
- case _ => false
+ val hasParticipantRecipient = batch.allMembers.exists {
+ case _: ParticipantId => true
+ case _: Member => false
}
val hasMediatorRecipient = batch.allRecipients.exists {
case _: MediatorGroupRecipient => true
case _: Recipient => false
}
- hasParticipantOrPopRecipient && hasMediatorRecipient
+ hasParticipantRecipient && hasMediatorRecipient
}
// Caches the serialized request to be able to do checks on its size without re-serializing
diff --git a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/sequencing/protocol/TrafficState.scala b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/sequencing/protocol/TrafficState.scala
index 102a9dd0ef..b77c4f49ba 100644
--- a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/sequencing/protocol/TrafficState.scala
+++ b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/sequencing/protocol/TrafficState.scala
@@ -25,35 +25,31 @@ final case class TrafficState(
extraTrafficPurchased: NonNegativeLong,
extraTrafficConsumed: NonNegativeLong,
baseTrafficRemainder: NonNegativeLong,
- lastConsumedCost: NonNegativeLong,
timestamp: CantonTimestamp,
serial: Option[PositiveInt],
) extends PrettyPrinting {
def extraTrafficRemainder: Long = extraTrafficPurchased.value - extraTrafficConsumed.value
- // Need big decimal here because it could overflow a long especially if extraTrafficPurchased == Long.MAX
- lazy val availableTraffic: BigDecimal =
- BigDecimal(extraTrafficRemainder) + BigDecimal(baseTrafficRemainder.value)
+ def availableTraffic: Long = extraTrafficRemainder + baseTrafficRemainder.value
def toProtoV30: v30.TrafficState = v30.TrafficState(
extraTrafficPurchased = extraTrafficPurchased.value,
extraTrafficConsumed = extraTrafficConsumed.value,
baseTrafficRemainder = baseTrafficRemainder.value,
- lastConsumedCost = lastConsumedCost.value,
timestamp = timestamp.toProtoPrimitive,
serial = serial.map(_.value),
)
- def toTrafficConsumed(member: Member): TrafficConsumed =
- TrafficConsumed(
- member = member,
- sequencingTimestamp = timestamp,
- extraTrafficConsumed = extraTrafficConsumed,
- baseTrafficRemainder = baseTrafficRemainder,
- lastConsumedCost = lastConsumedCost,
- )
+ def toTrafficConsumed(member: Member): TrafficConsumed = TrafficConsumed(
+ member = member,
+ sequencingTimestamp = timestamp,
+ extraTrafficConsumed = extraTrafficConsumed,
+ baseTrafficRemainder = baseTrafficRemainder,
+ )
- def toTrafficReceipt: TrafficReceipt = TrafficReceipt(
- consumedCost = lastConsumedCost,
+ def toTrafficReceipt(
+ consumedCost: NonNegativeLong
+ ): TrafficReceipt = TrafficReceipt(
+ consumedCost = consumedCost,
extraTrafficConsumed = extraTrafficConsumed,
baseTrafficRemainder = baseTrafficRemainder,
)
@@ -71,7 +67,6 @@ final case class TrafficState(
param("extraTrafficLimit", _.extraTrafficPurchased),
param("extraTrafficConsumed", _.extraTrafficConsumed),
param("baseTrafficRemainder", _.baseTrafficRemainder),
- param("lastConsumedCost", _.lastConsumedCost),
param("timestamp", _.timestamp),
paramIfDefined("serial", _.serial),
)
@@ -83,15 +78,13 @@ object TrafficState {
pp >> Some(v.extraTrafficPurchased.value)
pp >> Some(v.extraTrafficConsumed.value)
pp >> Some(v.baseTrafficRemainder.value)
- pp >> Some(v.lastConsumedCost.value)
pp >> v.timestamp
pp >> v.serial.map(_.value)
}
implicit val getResultTrafficState: GetResult[Option[TrafficState]] = {
GetResult
- .createGetTuple6(
- nonNegativeLongOptionGetResult,
+ .createGetTuple5(
nonNegativeLongOptionGetResult,
nonNegativeLongOptionGetResult,
nonNegativeLongOptionGetResult,
@@ -105,7 +98,6 @@ object TrafficState {
NonNegativeLong.zero,
NonNegativeLong.zero,
NonNegativeLong.zero,
- NonNegativeLong.zero,
CantonTimestamp.Epoch,
Option.empty,
)
@@ -114,7 +106,6 @@ object TrafficState {
NonNegativeLong.zero,
NonNegativeLong.zero,
NonNegativeLong.zero,
- NonNegativeLong.zero,
timestamp,
Option.empty,
)
@@ -125,14 +116,12 @@ object TrafficState {
extraTrafficLimit <- ProtoConverter.parseNonNegativeLong(trafficStateP.extraTrafficPurchased)
extraTrafficConsumed <- ProtoConverter.parseNonNegativeLong(trafficStateP.extraTrafficConsumed)
baseTrafficRemainder <- ProtoConverter.parseNonNegativeLong(trafficStateP.baseTrafficRemainder)
- lastConsumedCost <- ProtoConverter.parseNonNegativeLong(trafficStateP.lastConsumedCost)
timestamp <- CantonTimestamp.fromProtoPrimitive(trafficStateP.timestamp)
serial <- trafficStateP.serial.traverse(ProtoConverter.parsePositiveInt)
} yield TrafficState(
extraTrafficLimit,
extraTrafficConsumed,
baseTrafficRemainder,
- lastConsumedCost,
timestamp,
serial,
)
diff --git a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/sequencing/traffic/TrafficConsumed.scala b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/sequencing/traffic/TrafficConsumed.scala
index 77833d2d53..8e9666c113 100644
--- a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/sequencing/traffic/TrafficConsumed.scala
+++ b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/sequencing/traffic/TrafficConsumed.scala
@@ -24,18 +24,18 @@ import slick.jdbc.GetResult
* @param sequencingTimestamp sequencing timestamp at which this traffic consumed state is valid
* @param extraTrafficConsumed extra traffic consumed at this sequencing timestamp
* @param baseTrafficRemainder base traffic remaining at this sequencing timestamp
- * @param lastConsumedCost last cost deducted from the traffic balance (base and if not enough, extra)
*/
final case class TrafficConsumed(
member: Member,
sequencingTimestamp: CantonTimestamp,
extraTrafficConsumed: NonNegativeLong,
baseTrafficRemainder: NonNegativeLong,
- lastConsumedCost: NonNegativeLong,
) extends PrettyPrinting {
- def toTrafficReceipt: TrafficReceipt = TrafficReceipt(
- consumedCost = lastConsumedCost,
+ def toTrafficReceipt(
+ consumedCost: NonNegativeLong
+ ): TrafficReceipt = TrafficReceipt(
+ consumedCost = consumedCost,
extraTrafficConsumed,
baseTrafficRemainder,
)
@@ -48,7 +48,6 @@ final case class TrafficConsumed(
trafficPurchased.map(_.extraTrafficPurchased).getOrElse(NonNegativeLong.zero),
extraTrafficConsumed,
baseTrafficRemainder,
- lastConsumedCost,
trafficPurchased
.map(_.sequencingTimestamp.max(sequencingTimestamp))
.getOrElse(sequencingTimestamp),
@@ -106,7 +105,6 @@ final case class TrafficConsumed(
copy(
baseTrafficRemainder = baseTrafficRemainderAtCurrentTime,
sequencingTimestamp = timestamp,
- lastConsumedCost = NonNegativeLong.zero,
)
}
@@ -129,7 +127,6 @@ final case class TrafficConsumed(
baseTrafficRemainder = baseTrafficRemainderAfterConsume,
extraTrafficConsumed = this.extraTrafficConsumed + extraTrafficConsumed,
sequencingTimestamp = sequencingTimestamp,
- lastConsumedCost = cost,
)
}
@@ -160,7 +157,6 @@ final case class TrafficConsumed(
param("member", _.member),
param("extraTrafficConsumed", _.extraTrafficConsumed),
param("baseTrafficRemainder", _.baseTrafficRemainder),
- param("lastConsumedCost", _.lastConsumedCost),
param("sequencingTimestamp", _.sequencingTimestamp),
)
@@ -170,7 +166,6 @@ final case class TrafficConsumed(
extraTrafficConsumed = extraTrafficConsumed.value,
baseTrafficRemainder = baseTrafficRemainder.value,
sequencingTimestamp = sequencingTimestamp.toProtoPrimitive,
- lastConsumedCost = lastConsumedCost.value,
)
}
}
@@ -182,13 +177,7 @@ object TrafficConsumed {
/** TrafficConsumed object for members the first time they submit a submission request
*/
def init(member: Member): TrafficConsumed =
- TrafficConsumed(
- member,
- CantonTimestamp.MinValue,
- NonNegativeLong.zero,
- NonNegativeLong.zero,
- NonNegativeLong.zero,
- )
+ TrafficConsumed(member, CantonTimestamp.MinValue, NonNegativeLong.zero, NonNegativeLong.zero)
def empty(
member: Member,
@@ -199,18 +188,16 @@ object TrafficConsumed {
timestamp,
NonNegativeLong.zero,
baseTraffic,
- NonNegativeLong.zero,
)
implicit val trafficConsumedOrdering: Ordering[TrafficConsumed] =
Ordering.by(_.sequencingTimestamp)
implicit val trafficConsumedGetResult: GetResult[TrafficConsumed] =
- GetResult
- .createGetTuple5[Member, CantonTimestamp, NonNegativeLong, NonNegativeLong, NonNegativeLong]
- .andThen { case (member, ts, trafficConsumed, baseTraffic, lastConsumedCost) =>
- TrafficConsumed(member, ts, trafficConsumed, baseTraffic, lastConsumedCost)
- }
+ GetResult.createGetTuple4[Member, CantonTimestamp, NonNegativeLong, NonNegativeLong].andThen {
+ case (member, ts, trafficConsumed, baseTraffic) =>
+ TrafficConsumed(member, ts, trafficConsumed, baseTraffic)
+ }
def fromProtoV30(trafficConsumedP: TrafficConsumedP): ParsingResult[TrafficConsumed] =
for {
@@ -224,14 +211,10 @@ object TrafficConsumed {
sequencingTimestamp <- CantonTimestamp.fromProtoPrimitive(
trafficConsumedP.sequencingTimestamp
)
- lastConsumedCost <- ProtoConverter.parseNonNegativeLong(
- trafficConsumedP.lastConsumedCost
- )
} yield TrafficConsumed(
member = member,
extraTrafficConsumed = extraTrafficConsumed,
baseTrafficRemainder = baseTrafficRemainder,
sequencingTimestamp = sequencingTimestamp,
- lastConsumedCost = lastConsumedCost,
)
}
diff --git a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/sequencing/traffic/TrafficConsumedManager.scala b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/sequencing/traffic/TrafficConsumedManager.scala
index a55f4a621f..1757072eb2 100644
--- a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/sequencing/traffic/TrafficConsumedManager.scala
+++ b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/sequencing/traffic/TrafficConsumedManager.scala
@@ -43,7 +43,6 @@ class TrafficConsumedManager(
current.copy(
extraTrafficConsumed = trafficReceipt.extraTrafficConsumed,
baseTrafficRemainder = trafficReceipt.baseTrafficRemainder,
- lastConsumedCost = trafficReceipt.consumedCost,
sequencingTimestamp = timestamp,
)
case current => current
@@ -102,7 +101,7 @@ class TrafficConsumedManager(
}.discard
Left(value)
case Right(_) =>
- val newState = updateAndGet {
+ val newState = trafficConsumed.updateAndGet {
_.consume(timestamp, params, eventCost, logger)
}
logger.debug(s"Consumed ${eventCost.value} for $member at $timestamp: new state $newState")
diff --git a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/serialization/ProtoConverter.scala b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/serialization/ProtoConverter.scala
index efd224f3e1..978ee40667 100644
--- a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/serialization/ProtoConverter.scala
+++ b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/serialization/ProtoConverter.scala
@@ -5,7 +5,7 @@ package com.digitalasset.canton.serialization
import cats.syntax.either.*
import cats.syntax.traverse.*
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.daml.nonempty.NonEmpty
import com.daml.nonempty.catsinstances.*
import com.digitalasset.canton.ProtoDeserializationError.{
diff --git a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/TopologyManagerError.scala b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/TopologyManagerError.scala
index 3f1e81bb16..d35a6937cf 100644
--- a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/TopologyManagerError.scala
+++ b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/TopologyManagerError.scala
@@ -435,6 +435,23 @@ object TopologyManagerError extends TopologyManagerErrorGroup {
with TopologyManagerError
}
+ @Explanation(
+ "This error indicates that a threshold in the submitted transaction was higher than the number of members that would have to satisfy that threshold."
+ )
+ @Resolution(
+ """Submit the topology transaction with a lower threshold.
+ |The metadata details of this error contain the expected maximum in the field ``expectedMaximum``."""
+ )
+ object InvalidThreshold
+ extends ErrorCode(id = "INVALID_THRESHOLD", ErrorCategory.InvalidIndependentOfSystemState) {
+ final case class ThresholdTooHigh(actual: Int, expectedMaximum: Int)(implicit
+ override val loggingContext: ErrorLoggingContext
+ ) extends CantonError.Impl(
+ cause = s"Threshold must not be higher than $expectedMaximum, but was $actual."
+ )
+ with TopologyManagerError
+ }
+
@Explanation(
"This error indicates that members referenced in a topology transaction have not declared at least one signing key or at least 1 encryption key or both."
)
@@ -456,20 +473,6 @@ object TopologyManagerError extends TopologyManagerErrorGroup {
with TopologyManagerError
}
- object PartyExceedsHostingLimit
- extends ErrorCode(
- id = "PARTY_EXCEEDS_HOSTING_LIMIT",
- ErrorCategory.InvalidIndependentOfSystemState,
- ) {
- final case class Reject(party: PartyId, limit: Int, numParticipants: Int)(implicit
- override val loggingContext: ErrorLoggingContext
- ) extends CantonError.Impl(
- cause =
- s"Party $party exceeds hosting limit of $limit with desired number of $numParticipants hosting participant."
- )
- with TopologyManagerError
- }
-
@Explanation(
"This error indicates that the topology transaction references members that are currently unknown."
)
@@ -569,7 +572,7 @@ object TopologyManagerError extends TopologyManagerErrorGroup {
object InvalidTopologyMapping
extends ErrorCode(
id = "INVALID_TOPOLOGY_MAPPING",
- ErrorCategory.InvalidIndependentOfSystemState,
+ ErrorCategory.InvalidGivenCurrentSystemStateOther,
) {
final case class Reject(
description: String
@@ -602,36 +605,7 @@ object TopologyManagerError extends TopologyManagerErrorGroup {
}
)
with TopologyManagerError
-
- final case class MissingDomainParameters(effectiveTime: EffectiveTime)(implicit
- override val loggingContext: ErrorLoggingContext
- ) extends CantonError.Impl(
- cause = s"Missing domain parameters at $effectiveTime"
- )
- with TopologyManagerError
}
-
- @Explanation(
- """This error indicates that the namespace is already used by another entity."""
- )
- @Resolution(
- """Change the namespace used in the submitted topology transaction."""
- )
- object NamespaceAlreadyInUse
- extends ErrorCode(
- id = "NAMESPACE_ALREADY_IN_USE",
- ErrorCategory.InvalidGivenCurrentSystemStateResourceExists,
- ) {
- final case class Reject(
- namespace: Namespace
- )(implicit
- override val loggingContext: ErrorLoggingContext
- ) extends CantonError.Impl(
- cause = s"The namespace $namespace is already in use by another entity."
- )
- with TopologyManagerError
- }
-
abstract class DomainErrorGroup extends ErrorGroup()
abstract class ParticipantErrorGroup extends ErrorGroup()
diff --git a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/TopologyStateProcessor.scala b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/TopologyStateProcessor.scala
index cdc8f7e7e5..19cc7e442e 100644
--- a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/TopologyStateProcessor.scala
+++ b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/TopologyStateProcessor.scala
@@ -167,7 +167,6 @@ class TopologyStateProcessor(
s"${enqueuingOrStoring} topology transaction ${idx + 1}/$ln ${tx.operation} ${tx.mapping} with ts=$effective (epsilon=${epsilon} ms)"
)
case (ValidatedTopologyTransaction(tx, Some(r), _), idx) =>
- // TODO(i19737): we need to emit a security alert, if the rejection is due to a malicious broadcast
logger.info(
s"Rejected transaction ${idx + 1}/$ln ${tx.operation} ${tx.mapping} at ts=$effective (epsilon=${epsilon} ms) due to $r"
)
@@ -297,13 +296,18 @@ class TopologyStateProcessor(
authValidator
.validateAndUpdateHeadAuthState(
effective.value,
- toValidate,
- inStore,
+ Seq(toValidate),
+ inStore.map(tx => tx.mapping.uniqueKey -> tx).toList.toMap,
expectFullAuthorization,
)
)
- .subflatMap { case (_, tx) =>
- tx.rejectionReason.toLeft(tx.transaction)
+ .subflatMap { case (_, txs) =>
+ // TODO(#12390) proper error
+ txs.headOption
+ .toRight[TopologyTransactionRejection](
+ TopologyTransactionRejection.Other("expected validation result doesn't exist")
+ )
+ .flatMap(tx => tx.rejectionReason.toLeft(tx.transaction))
}
}
diff --git a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/client/CachingDomainTopologyClient.scala b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/client/CachingDomainTopologyClient.scala
index 00bcdeadfe..bf24b0b074 100644
--- a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/client/CachingDomainTopologyClient.scala
+++ b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/client/CachingDomainTopologyClient.scala
@@ -4,7 +4,7 @@
package com.digitalasset.canton.topology.client
import cats.data.EitherT
-import com.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.data.Ref.PackageId
import com.digitalasset.canton.concurrent.FutureSupervisor
import com.digitalasset.canton.config.{BatchingConfig, CachingConfigs, ProcessingTimeout}
import com.digitalasset.canton.crypto.SigningPublicKey
diff --git a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/client/IdentityProvidingServiceClient.scala b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/client/IdentityProvidingServiceClient.scala
index 0a5ef93c1b..7b4b02a86d 100644
--- a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/client/IdentityProvidingServiceClient.scala
+++ b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/client/IdentityProvidingServiceClient.scala
@@ -8,7 +8,7 @@ import cats.data.EitherT
import cats.syntax.functor.*
import cats.syntax.functorFilter.*
import cats.syntax.parallel.*
-import com.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.data.Ref.PackageId
import com.digitalasset.canton.concurrent.HasFutureSupervision
import com.digitalasset.canton.config.RequireTypes.PositiveInt
import com.digitalasset.canton.crypto.{EncryptionPublicKey, SigningPublicKey}
@@ -299,10 +299,6 @@ trait PartyTopologySnapshotClient {
parties: Seq[LfPartyId]
)(implicit traceContext: TraceContext): Future[Set[LfPartyId]]
- def activeParticipantsOfPartiesWithGroupAddressing(
- parties: Seq[LfPartyId]
- )(implicit traceContext: TraceContext): Future[Map[LfPartyId, Set[ParticipantId]]]
-
/** Returns a list of all known parties on this domain */
def inspectKnownParties(
filterParty: String,
@@ -845,11 +841,6 @@ private[client] trait PartyTopologySnapshotLoader
): Future[Set[LfPartyId]] =
loadAndMapPartyInfos(parties, identity, _.groupAddressing).map(_.keySet)
- final override def activeParticipantsOfPartiesWithGroupAddressing(
- parties: Seq[LfPartyId]
- )(implicit traceContext: TraceContext): Future[Map[LfPartyId, Set[ParticipantId]]] =
- loadAndMapPartyInfos(parties, _.participants.keySet, _.groupAddressing)
-
final override def consortiumThresholds(
parties: Set[LfPartyId]
)(implicit traceContext: TraceContext): Future[Map[LfPartyId, PositiveInt]] =
diff --git a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/client/StoreBasedDomainTopologyClient.scala b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/client/StoreBasedDomainTopologyClient.scala
index 85aa12430d..31ffd07360 100644
--- a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/client/StoreBasedDomainTopologyClient.scala
+++ b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/client/StoreBasedDomainTopologyClient.scala
@@ -5,7 +5,7 @@ package com.digitalasset.canton.topology.client
import cats.data.EitherT
import cats.syntax.functor.*
-import com.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.data.Ref.PackageId
import com.daml.nameof.NameOf.functionFullName
import com.digitalasset.canton.SequencerCounter
import com.digitalasset.canton.concurrent.FutureSupervisor
diff --git a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/client/StoreBasedTopologySnapshot.scala b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/client/StoreBasedTopologySnapshot.scala
index 6f2563d364..b39e1d5342 100644
--- a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/client/StoreBasedTopologySnapshot.scala
+++ b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/client/StoreBasedTopologySnapshot.scala
@@ -5,7 +5,7 @@ package com.digitalasset.canton.topology.client
import cats.data.EitherT
import cats.syntax.functorFilter.*
-import com.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.data.Ref.PackageId
import com.digitalasset.canton.LfPartyId
import com.digitalasset.canton.crypto.{KeyPurpose, SigningPublicKey}
import com.digitalasset.canton.data.CantonTimestamp
diff --git a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/processing/AuthorizationGraph.scala b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/processing/AuthorizationGraph.scala
index 328b67e09a..c17daa5d22 100644
--- a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/processing/AuthorizationGraph.scala
+++ b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/processing/AuthorizationGraph.scala
@@ -8,12 +8,12 @@ import com.digitalasset.canton.crypto.{Fingerprint, SigningPublicKey}
import com.digitalasset.canton.logging.{NamedLoggerFactory, NamedLogging}
import com.digitalasset.canton.topology.Namespace
import com.digitalasset.canton.topology.processing.AuthorizedTopologyTransaction.AuthorizedNamespaceDelegation
-import com.digitalasset.canton.topology.transaction.TopologyChangeOp.{Remove, Replace}
import com.digitalasset.canton.topology.transaction.*
import com.digitalasset.canton.tracing.TraceContext
import com.digitalasset.canton.util.ErrorUtil
import com.digitalasset.canton.util.ShowUtil.*
+import scala.annotation.tailrec
import scala.collection.concurrent.TrieMap
import scala.math.Ordering.Implicits.*
@@ -35,8 +35,8 @@ object AuthorizedTopologyTransaction {
/** Returns true if the namespace delegation is a root certificate
*
- * A root certificate is defined by a namespace delegation that authorizes the
- * key f to act on the namespace spanned by f, authorized by f.
+ * A root certificate is defined by the namespace delegation that authorizes the
+ * key f to act on namespace spanned by f, authorized by f.
*/
def isRootCertificate(namespaceDelegation: AuthorizedNamespaceDelegation): Boolean = {
NamespaceDelegation.isRootCertificate(namespaceDelegation.transaction)
@@ -44,7 +44,11 @@ object AuthorizedTopologyTransaction {
/** Returns true if the namespace delegation is a root certificate or a root delegation
*
- * A root delegation is a namespace delegation whose target key may be used to authorize other namespace delegations.
+ * A root certificate is defined by the namespace delegation that authorizes the
+ * key f to act on namespace spanned by f, authorized by f.
+ *
+ * A root delegation is defined by the namespace delegation the authorizes the
+ * key g to act on namespace spanned by f.
*/
def isRootDelegation(namespaceDelegation: AuthorizedNamespaceDelegation): Boolean = {
NamespaceDelegation.isRootDelegation(namespaceDelegation.transaction)
@@ -52,45 +56,49 @@ object AuthorizedTopologyTransaction {
}
-/** Stores a set of namespace delegations, tracks dependencies and
- * determines which keys are authorized to sign on behalf of a namespace.
+/** maintain a dependency graph for the namespace delegations
*
- * Namespace delegations are a bit tricky as there can be an arbitrary number of delegations between the namespace key
- * and the key that will be used for authorizations. Think of it as a certificate chain where we get a
+ * namespace delegations are a bit tricky as there can be an arbitrary number of delegations before we reach
+ * the actual key that will be used for authorizations. think of it as a certificate chain where we get a
* series of certificates and we need to figure out a path from one certificate to the root certificate.
*
* NOTE: this class is not thread-safe
*
- * Properties of the graph:
- * - Each node corresponds to a target key
- * - The node with key fingerprint of the namespace is the root node
- * - The edges between nodes are namespace delegations.
- * If key A signs a namespace delegation with target key B, then key A authorizes key B to act on the namespace.
- * In this case, the edge is outgoing from node A and incoming into node B.
- * - The graph may have cycles. The implementation does not get confused by this.
+ * properties of the graph:
+ * - the nodes are the target key fingerprints
+ * - the node with fingerprint of the namespace is the root node
+ * - the edges between the nodes are the authorizations where key A authorizes key B to act on the namespace
+ * in this case, the authorization is outgoing from A and incoming to B.
+ * - the graph SHOULD be a directed acyclic graph, but we MIGHT have cycles (i.e. key A authorizing B, B authorizing A).
+ * we don't need to make a fuss about cycles in the graph. we just ignore / report them assuming it was an admin
+ * mistake, but we don't get confused.
+ * - root certificates are edges pointing to the node itself. they are separate such that they don't show up
+ * in the list of incoming / outgoing.
+ * - we track for each node the set of outgoing edges and incoming edges. an outgoing edge is a delegation where
+ * the source node is authorizing a target node. obviously every outgoing edge is also an incoming edge.
*
- * Computation task:
- * The graph maintains a set of nodes that are connected to the root node. Those correspond to the keys that are
- * authorized to sign on behalf of the namespace.
+ * computation task:
+ * - once we've modified the graph, we compute the nodes that are somehow connected to the root node.
*
- * Limitation: clients need to ensure that the namespace delegations added have valid signatures.
- * If delegations with invalid signatures are added, authorization will break.
+ * purpose:
+ * - once we know which target keys are actually authorized to act on this particular namespace, we can then use
+ * this information to find out which resulting mapping is properly authorized and which one is not.
*
- * @param extraDebugInfo whether to log the authorization graph at debug level on every recomputation
+ * authorization checks:
+ * - when adding "single transactions", we do check that the transaction is properly authorized. otherwise we
+ * "ignore" it (returning false). this is used during processing.
+ * - when adding "batch transactions", we don't check that all of them are properly authorized, as we do allow
+ * temporarily "nodes" to be unauthorized (so that errors can be fixed by adding a replacement certificate)
+ * - when removing transactions, we do check that the authorizing key is authorized. but note that the authorizing
+ * key of an edge REMOVAL doesn't need to match the key used to authorized the ADD.
*/
class AuthorizationGraph(
val namespace: Namespace,
extraDebugInfo: Boolean,
- override protected val loggerFactory: NamedLoggerFactory,
+ val loggerFactory: NamedLoggerFactory,
) extends AuthorizationCheck
with NamedLogging {
- /** @param root the last active root certificate for `target`
- * @param outgoing all active namespace delegations (excluding root certificates) authorized by `target`
- * @param incoming all active namespace delegations for the namespace `target`
- *
- * All namespace delegations are for namespace `this.namespace`.
- */
private case class GraphNode(
target: Fingerprint,
root: Option[AuthorizedNamespaceDelegation] = None,
@@ -105,9 +113,9 @@ class AuthorizationGraph(
private abstract class AuthLevel(val isAuth: Boolean, val isRoot: Boolean)
private object AuthLevel {
- private object NotAuthorized extends AuthLevel(false, false)
- private object Standard extends AuthLevel(true, false)
- private object RootDelegation extends AuthLevel(true, true)
+ object NotAuthorized extends AuthLevel(false, false)
+ object Standard extends AuthLevel(true, false)
+ object RootDelegation extends AuthLevel(true, true)
implicit val orderingAuthLevel: Ordering[AuthLevel] =
Ordering.by[AuthLevel, Int](authl => Seq(authl.isAuth, authl.isRoot).count(identity))
@@ -121,30 +129,23 @@ class AuthorizationGraph(
}
- /** GraphNodes by GraphNode.target */
private val nodes = new TrieMap[Fingerprint, GraphNode]()
- /** Authorized namespace delegations for namespace `this.namespace`, grouped by target */
- private val cache =
- new TrieMap[Fingerprint, AuthorizedNamespaceDelegation]()
-
- /** Check if `item` is authorized and, if so, add its mapping to this graph.
+ /** temporary cache for the current graph authorization check results
*
- * @throws java.lang.IllegalArgumentException if `item` does not refer to `namespace` or the operation is not REPLACE.
+ * if a fingerprint is empty, then we haven't yet computed the answer
*/
+ private val cache =
+ new TrieMap[Fingerprint, Option[AuthorizedNamespaceDelegation]]()
+
def add(item: AuthorizedNamespaceDelegation)(implicit traceContext: TraceContext): Boolean = {
ErrorUtil.requireArgument(
item.mapping.namespace == namespace,
- s"unable to add namespace delegation for ${item.mapping.namespace} to graph for $namespace",
+ s"added namespace ${item.mapping.namespace} to $namespace",
)
- ErrorUtil.requireArgument(
- item.operation == Replace,
- s"unable to add namespace delegation with operation ${item.operation} to graph for $namespace",
- )
-
if (
AuthorizedTopologyTransaction.isRootCertificate(item) ||
- this.existsAuthorizedKeyIn(item.signingKeys, requireRoot = true)
+ this.areValidAuthorizationKeys(item.signingKeys, requireRoot = true)
) {
doAdd(item)
recompute()
@@ -152,12 +153,6 @@ class AuthorizationGraph(
} else false
}
- /** Add the mappings in `items` to this graph, regardless if they are authorized or not.
- * If an unauthorized namespace delegation is added to the graph, the graph will contain nodes that are not connected to the root.
- * The target key of the unauthorized delegation will still be considered unauthorized.
- *
- * @throws java.lang.IllegalArgumentException if `item` does not refer to `namespace` or the operation is not REPLACE.
- */
def unauthorizedAdd(
items: Seq[AuthorizedNamespaceDelegation]
)(implicit traceContext: TraceContext): Unit = {
@@ -168,15 +163,6 @@ class AuthorizationGraph(
private def doAdd(
item: AuthorizedNamespaceDelegation
)(implicit traceContext: TraceContext): Unit = {
- ErrorUtil.requireArgument(
- item.mapping.namespace == namespace,
- s"unable to add namespace delegation for ${item.mapping.namespace} to graph for $namespace",
- )
- ErrorUtil.requireArgument(
- item.operation == Replace,
- s"unable to add namespace delegation with operation ${item.operation} to graph for $namespace",
- )
-
val targetKey = item.mapping.target.fingerprint
val curTarget = nodes.getOrElse(targetKey, GraphNode(targetKey))
// if this is a root certificate, remember it separately
@@ -195,38 +181,32 @@ class AuthorizationGraph(
}
}
- /** Check if `item` is authorized and, if so, remove its mapping from this graph.
- * Note that addition and removal of a namespace delegation can be authorized by different keys.
- *
- * @throws java.lang.IllegalArgumentException if `item` does not refer to `namespace` or the operation is not REMOVE.
- */
- def remove(item: AuthorizedNamespaceDelegation)(implicit traceContext: TraceContext): Boolean = {
- ErrorUtil.requireArgument(
- item.mapping.namespace == namespace,
- s"unable to remove namespace delegation for ${item.mapping.namespace} from graph for $namespace",
- )
-
- ErrorUtil.requireArgument(
- item.operation == Remove,
- s"unable to remove namespace delegation with operation ${item.operation} from graph for $namespace",
- )
-
- if (existsAuthorizedKeyIn(item.signingKeys, requireRoot = true)) {
+ def remove(item: AuthorizedNamespaceDelegation)(implicit traceContext: TraceContext): Boolean =
+ if (areValidAuthorizationKeys(item.signingKeys, requireRoot = true)) {
doRemove(item)
true
} else false
+
+ def unauthorizedRemove(
+ items: Seq[AuthorizedNamespaceDelegation]
+ )(implicit traceContext: TraceContext): Unit = {
+ items.foreach(doRemove)
}
/** remove a namespace delegation
*
- * The implementation is a bit tricky as the removal might have been authorized
- * by a different key than the addition. This complicates the book-keeping,
+ * note that this one is a bit tricky as the removal might have been authorized
+ * by a different key than the addition. this is fine but it complicates the book-keeping,
* as we need to track for each target key what the "incoming authorizations" were solely for the
- * purpose of being able to clean them up.
+ * purpose of being able to clean them up
*/
private def doRemove(
item: AuthorizedNamespaceDelegation
)(implicit traceContext: TraceContext): Unit = {
+ ErrorUtil.requireArgument(
+ item.mapping.namespace == namespace,
+ s"removing namespace ${item.mapping.namespace} from $namespace",
+ )
def myFilter(existing: AuthorizedNamespaceDelegation): Boolean = {
// the auth key doesn't need to match on removals
existing.mapping != item.mapping
@@ -268,9 +248,10 @@ class AuthorizationGraph(
updateRemove(targetKey, curTarget.copy(incoming = curTarget.incoming.filter(myFilter)))
}
recompute()
-
- case None => logger.warn(s"Superfluous removal of namespace delegation $item")
+ case None =>
+ logger.warn(s"Superfluous removal of namespace delegation $item")
}
+
}
protected def recompute()(implicit traceContext: TraceContext): Unit = {
@@ -288,12 +269,12 @@ class AuthorizationGraph(
fingerprint: Fingerprint,
incoming: AuthorizedNamespaceDelegation,
): Unit = {
- val current = cache.get(fingerprint)
+ val current = cache.getOrElseUpdate(fingerprint, None)
val currentLevel = AuthLevel.fromDelegationO(current)
val incomingLevel = AuthLevel.fromDelegationO(Some(incoming))
// this inherited level is higher than current, propagate it
if (incomingLevel > currentLevel) {
- cache.update(fingerprint, incoming)
+ cache.update(fingerprint, Some(incoming))
// get the graph node of this fingerprint
nodes.get(fingerprint).foreach { graphNode =>
// iterate through all edges that depart from this node
@@ -329,7 +310,7 @@ class AuthorizationGraph(
}
if (extraDebugInfo && logger.underlying.isDebugEnabled) {
val str =
- cache.values
+ authorizedDelegations()
.map(aud =>
show"auth=${aud.signingKeys}, target=${aud.mapping.target.fingerprint}, root=${AuthorizedTopologyTransaction
.isRootCertificate(aud)}"
@@ -339,99 +320,144 @@ class AuthorizationGraph(
}
} else
logger.debug(
- s"Namespace $namespace has no root certificate, making all ${nodes.size} un-authorized"
+ s"Namespace ${namespace} has no root certificate, making all ${nodes.size} un-authorized"
)
- override def existsAuthorizedKeyIn(
+ override def areValidAuthorizationKeys(
authKeys: Set[Fingerprint],
requireRoot: Boolean,
- ): Boolean = authKeys.exists(getAuthorizedKey(_, requireRoot).nonEmpty)
+ ): Boolean = {
+ authKeys.exists { authKey =>
+ val authLevel = AuthLevel.fromDelegationO(cache.getOrElse(authKey, None))
+ authLevel.isRoot || (authLevel.isAuth && !requireRoot)
+ }
+ }
- private def getAuthorizedKey(
- authKey: Fingerprint,
+ override def getValidAuthorizationKeys(
+ authKeys: Set[Fingerprint],
requireRoot: Boolean,
- ): Option[SigningPublicKey] =
+ ): Set[SigningPublicKey] = authKeys.flatMap(authKey =>
cache
- .get(authKey)
- .filter { delegation =>
- val authLevel = AuthLevel.fromDelegationO(Some(delegation))
- authLevel.isRoot || (authLevel.isAuth && !requireRoot)
- }
+ .getOrElse(authKey, None)
.map(_.mapping.target)
+ .filter(_ => areValidAuthorizationKeys(Set(authKey), requireRoot))
+ )
- override def keysSupportingAuthorization(
- authKeys: Set[Fingerprint],
+ def authorizationChain(
+ startAuthKey: Fingerprint,
requireRoot: Boolean,
- ): Set[SigningPublicKey] = authKeys.flatMap(getAuthorizedKey(_, requireRoot))
+ ): Option[AuthorizationChain] = {
+ @tailrec
+ def go(
+ authKey: Fingerprint,
+ requireRoot: Boolean,
+ acc: List[AuthorizedNamespaceDelegation],
+ ): List[AuthorizedNamespaceDelegation] = {
+ cache.getOrElse(authKey, None) match {
+ // we've terminated with the root certificate
+ case Some(delegation) if AuthorizedTopologyTransaction.isRootCertificate(delegation) =>
+ delegation :: acc
+ // cert is valid, append it
+ case Some(delegation) if delegation.mapping.isRootDelegation || !requireRoot =>
+ go(delegation.signingKeys.head1, delegation.mapping.isRootDelegation, delegation :: acc)
+ // return empty to indicate failure
+ case _ => List.empty
+ }
+ }
+ go(startAuthKey, requireRoot, List.empty) match {
+ case Nil => None
+ case rest =>
+ Some(
+ AuthorizationChain(
+ identifierDelegation = Seq.empty,
+ namespaceDelegations = rest,
+ Seq.empty,
+ )
+ )
+ }
+ }
+
+ def authorizedDelegations(): Seq[AuthorizedNamespaceDelegation] =
+ cache.values.flatMap(_.toList).toSeq
override def toString: String = s"AuthorizationGraph($namespace)"
+
+ def debugInfo() = s"$namespace => ${nodes.mkString("\n")}"
}
trait AuthorizationCheck {
+ def areValidAuthorizationKeys(authKeys: Set[Fingerprint], requireRoot: Boolean): Boolean
- /** Determines if a subset of the given keys is authorized to sign on behalf of the (possibly decentralized) namespace.
- *
- * @param requireRoot whether the authorization must be suitable to authorize namespace delegations
- */
- def existsAuthorizedKeyIn(authKeys: Set[Fingerprint], requireRoot: Boolean): Boolean
-
- /** Returns those keys that are useful for signing on behalf of the (possibly decentralized) namespace.
- * Only keys with fingerprint in `authKeys` will be returned.
- * The returned keys are not necessarily sufficient to authorize a transaction on behalf of the namespace;
- * in case of a decentralized namespace, additional signatures may be required.
- */
- def keysSupportingAuthorization(
+ def getValidAuthorizationKeys(
authKeys: Set[Fingerprint],
requireRoot: Boolean,
): Set[SigningPublicKey]
+
+ def authorizationChain(
+ startAuthKey: Fingerprint,
+ requireRoot: Boolean,
+ ): Option[AuthorizationChain]
+
+ def authorizedDelegations(): Seq[AuthorizedNamespaceDelegation]
}
object AuthorizationCheck {
- val empty: AuthorizationCheck = new AuthorizationCheck {
- override def existsAuthorizedKeyIn(
+ val empty = new AuthorizationCheck {
+ override def areValidAuthorizationKeys(
authKeys: Set[Fingerprint],
requireRoot: Boolean,
): Boolean = false
- override def keysSupportingAuthorization(
+ override def authorizationChain(
+ startAuthKey: Fingerprint,
+ requireRoot: Boolean,
+ ): Option[AuthorizationChain] = None
+
+ override def getValidAuthorizationKeys(
authKeys: Set[Fingerprint],
requireRoot: Boolean,
): Set[SigningPublicKey] = Set.empty
+ override def authorizedDelegations(): Seq[AuthorizedNamespaceDelegation] = Seq.empty
+
override def toString: String = "AuthorizationCheck.empty"
}
}
-/** Authorization graph for a decentralized namespace.
- *
- * @throws java.lang.IllegalArgumentException if `dnd` and `direct` refer to different namespaces.
- */
final case class DecentralizedNamespaceAuthorizationGraph(
dnd: DecentralizedNamespaceDefinition,
direct: AuthorizationGraph,
ownerGraphs: Seq[AuthorizationGraph],
) extends AuthorizationCheck {
- require(
- dnd.namespace == direct.namespace,
- s"The direct graph refers to the wrong namespace (expected: ${dnd.namespace}, actual: ${direct.namespace}).",
- )
-
- override def existsAuthorizedKeyIn(
+ override def areValidAuthorizationKeys(
authKeys: Set[Fingerprint],
requireRoot: Boolean,
): Boolean = {
- val viaNamespaceDelegation = direct.existsAuthorizedKeyIn(authKeys, requireRoot)
+ val viaNamespaceDelegation = direct.areValidAuthorizationKeys(authKeys, requireRoot)
val viaCollective =
- ownerGraphs.count(_.existsAuthorizedKeyIn(authKeys, requireRoot)) >= dnd.threshold.value
+ ownerGraphs.count(_.areValidAuthorizationKeys(authKeys, requireRoot)) >= dnd.threshold.value
viaNamespaceDelegation || viaCollective
}
- override def keysSupportingAuthorization(
+ import cats.syntax.foldable.*
+
+ override def getValidAuthorizationKeys(
authKeys: Set[Fingerprint],
requireRoot: Boolean,
): Set[SigningPublicKey] = {
(direct +: ownerGraphs)
- .flatMap(_.keysSupportingAuthorization(authKeys, requireRoot))
+ .flatMap(_.getValidAuthorizationKeys(authKeys, requireRoot))
.toSet
}
+
+ override def authorizationChain(
+ startAuthKey: Fingerprint,
+ requireRoot: Boolean,
+ ): Option[AuthorizationChain] =
+ direct
+ .authorizationChain(startAuthKey, requireRoot)
+ .orElse(ownerGraphs.map(_.authorizationChain(startAuthKey, requireRoot)).combineAll)
+
+ override def authorizedDelegations(): Seq[AuthorizedNamespaceDelegation] =
+ direct.authorizedDelegations() ++ ownerGraphs.flatMap(_.authorizedDelegations())
}
diff --git a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/processing/IncomingTopologyTransactionAuthorizationValidator.scala b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/processing/IncomingTopologyTransactionAuthorizationValidator.scala
index 5f0d7a9ed3..e509b2ac7f 100644
--- a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/processing/IncomingTopologyTransactionAuthorizationValidator.scala
+++ b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/processing/IncomingTopologyTransactionAuthorizationValidator.scala
@@ -5,8 +5,7 @@ package com.digitalasset.canton.topology.processing
import cats.Monoid
import cats.data.EitherT
-import cats.syntax.bifunctor.*
-import cats.syntax.foldable.*
+import cats.syntax.parallel.*
import com.digitalasset.canton.config.RequireTypes.PositiveInt
import com.digitalasset.canton.crypto.CryptoPureApi
import com.digitalasset.canton.data.CantonTimestamp
@@ -21,10 +20,14 @@ import com.digitalasset.canton.topology.processing.AuthorizedTopologyTransaction
import com.digitalasset.canton.topology.store.ValidatedTopologyTransaction.GenericValidatedTopologyTransaction
import com.digitalasset.canton.topology.store.*
import com.digitalasset.canton.topology.transaction.SignedTopologyTransaction.GenericSignedTopologyTransaction
-import com.digitalasset.canton.topology.transaction.TopologyMapping.RequiredAuthAuthorizations
+import com.digitalasset.canton.topology.transaction.TopologyMapping.{
+ MappingHash,
+ RequiredAuthAuthorizations,
+}
import com.digitalasset.canton.topology.transaction.TopologyTransaction.GenericTopologyTransaction
import com.digitalasset.canton.topology.transaction.*
import com.digitalasset.canton.tracing.TraceContext
+import com.digitalasset.canton.util.FutureInstances.*
import scala.concurrent.{ExecutionContext, Future}
@@ -127,14 +130,17 @@ class IncomingTopologyTransactionAuthorizationValidator(
*/
def validateAndUpdateHeadAuthState(
timestamp: CantonTimestamp,
- toValidate: GenericSignedTopologyTransaction,
- inStore: Option[GenericSignedTopologyTransaction],
+ transactionsToValidate: Seq[GenericSignedTopologyTransaction],
+ transactionsInStore: Map[MappingHash, GenericSignedTopologyTransaction],
expectFullAuthorization: Boolean,
)(implicit
traceContext: TraceContext
- ): Future[(UpdateAggregation, GenericValidatedTopologyTransaction)] = {
+ ): Future[(UpdateAggregation, Seq[GenericValidatedTopologyTransaction])] = {
for {
- authCheckResult <- determineRelevantUidsAndNamespaces(toValidate, inStore.map(_.transaction))
+ authCheckResult <- determineRelevantUidsAndNamespaces(
+ transactionsToValidate,
+ transactionsInStore.view.mapValues(_.transaction).toMap,
+ )
(updateAggregation, targetDomainVerified) = authCheckResult
loadGraphsF = loadAuthorizationGraphs(timestamp, updateAggregation.authNamespaces)
loadUidsF = loadIdentifierDelegationsCascading(
@@ -147,11 +153,11 @@ class IncomingTopologyTransactionAuthorizationValidator(
} yield {
logger.debug(s"Update aggregation yielded ${updateAggregation}")
- val validated = targetDomainVerified match {
+ val validated = targetDomainVerified.map {
case ValidatedTopologyTransaction(tx, None, _) =>
processTransaction(
tx,
- inStore,
+ transactionsInStore.get(tx.mapping.uniqueKey),
expectFullAuthorization,
)
case v => v
@@ -167,124 +173,101 @@ class IncomingTopologyTransactionAuthorizationValidator(
}
}
- /** Validates a topology transaction as follows:
- *
- * - check that the transaction has valid signatures and is sufficiently authorized. if not, reject.
- * - if there are no missing authorizers, as is the case for proposals, we update internal caches for NSD, IDD, and DND
- * - if this validation is run to determine a final verdict, as is the case for processing topology transactions coming from the domain,
- * automatically clear the proposal flag for transactions with sufficent authorizing signatures.
- *
- */
private def processTransaction(
toValidate: GenericSignedTopologyTransaction,
inStore: Option[GenericSignedTopologyTransaction],
expectFullAuthorization: Boolean,
)(implicit traceContext: TraceContext): GenericValidatedTopologyTransaction = {
- // See validateRootCertificate why we need to check the removal of a root certificate explicitly here.
- val signatureCheckResult = validateRootCertificate(toValidate)
- .getOrElse(validateSignaturesAndDetermineMissingAuthorizers(toValidate, inStore))
+ val processedNs = toValidate.selectMapping[NamespaceDelegation].forall { sigTx =>
+ processNamespaceDelegation(
+ toValidate.operation,
+ AuthorizedTopologyTransaction(sigTx),
+ )
+ }
- signatureCheckResult match {
+ val processedIdent = toValidate.selectMapping[IdentifierDelegation].forall { sigTx =>
+ processIdentifierDelegation(
+ toValidate.operation,
+ AuthorizedTopologyTransaction(sigTx),
+ )
+ }
+
+ val resultDns = toValidate.selectMapping[DecentralizedNamespaceDefinition].map { sigTx =>
+ processDecentralizedNamespaceDefinition(
+ sigTx.operation,
+ AuthorizedTopologyTransaction(sigTx),
+ )
+ }
+ val processedDns = resultDns.forall(_._1)
+ val mappingSpecificCheck = processedNs && processedIdent && processedDns
+
+ // the transaction is fully authorized if either
+ // 1. it's a root certificate, or
+ // 2. there is no authorization error and there are no missing authorizers
+ // We need to check explicitly for the root certificate here, because a REMOVE operation
+ // removes itself from the authorization graph, and therefore `isCurrentlyAuthorized` cannot validate it.
+ val authorizationResult =
+ if (NamespaceDelegation.isRootCertificate(toValidate))
+ Right(
+ (
+ toValidate,
+ RequiredAuthAuthorizations.empty, // no missing authorizers
+ )
+ )
+ else isCurrentlyAuthorized(toValidate, inStore)
+
+ authorizationResult match {
// propagate the rejection reason
case Left(rejectionReason) => ValidatedTopologyTransaction(toValidate, Some(rejectionReason))
// if a transaction wasn't outright rejected, run some additional checks
case Right((validatedTx, missingAuthorizers)) =>
- handleSuccessfulSignatureChecks(
- validatedTx,
- missingAuthorizers,
- expectFullAuthorization,
- )
- }
- }
+ // The mappingSpecificCheck is a necessary condition for having sufficient authorizers.
+ val isFullyAuthorized =
+ mappingSpecificCheck && missingAuthorizers.isEmpty
- private def handleSuccessfulSignatureChecks(
- toValidate: GenericSignedTopologyTransaction,
- missingAuthorizers: RequiredAuthAuthorizations,
- expectFullAuthorization: Boolean,
- )(implicit
- traceContext: TraceContext
- ): ValidatedTopologyTransaction[TopologyChangeOp, TopologyMapping] = {
- // if there are no missing authorizers, we can update the internal caches
- val isFullyAuthorized = if (missingAuthorizers.isEmpty) {
- val processedNSD = toValidate
- .selectMapping[NamespaceDelegation]
- .forall { sigTx => processNamespaceDelegation(AuthorizedTopologyTransaction(sigTx)) }
-
- val processedIDD = toValidate.selectMapping[IdentifierDelegation].forall { sigTx =>
- processIdentifierDelegation(AuthorizedTopologyTransaction(sigTx))
- }
-
- val processedDND =
- toValidate.selectMapping[DecentralizedNamespaceDefinition].forall { sigTx =>
- processDecentralizedNamespaceDefinition(AuthorizedTopologyTransaction(sigTx))
+ // If a decentralizedNamespace transaction is fully authorized, reflect so in the decentralizedNamespace cache.
+ // Note: It seems a bit unsafe to update the caches on the assumption that the update will also be eventually
+ // persisted by the caller (a few levels up the call chain in TopologyStateProcessor.validateAndApplyAuthorization
+ // as the caller performs additional checks such as the numeric value of the serial number).
+ // But at least this is safer than where the check was previously (inside processDecentralizedNamespaceDefinition before even
+ // `isCurrentlyAuthorized` above had finished all checks).
+ if (isFullyAuthorized) {
+ resultDns.foreach { case (_, updateDecentralizedNamespaceCache) =>
+ updateDecentralizedNamespaceCache()
+ }
}
- val mappingSpecificCheck = processedNSD && processedIDD && processedDND
- if (!mappingSpecificCheck) {
- logger.debug(s"Mapping specific check failed")
- }
- mappingSpecificCheck
- } else { false }
- val acceptMissingAuthorizers =
- toValidate.isProposal && !expectFullAuthorization
+ val acceptMissingAuthorizers =
+ validatedTx.isProposal && !expectFullAuthorization
- // if the result of this validation is final (when processing transactions for the authorized store
- // or sequenced transactions from the domain) we set the proposal flag according to whether the transaction
- // is fully authorized or not.
- // This must not be done when preliminarily validating transactions via the DomainTopologyManager, because
- // the validation outcome might change when validating the transaction again after it has been sequenced.
- val finalTransaction =
- if (validationIsFinal) toValidate.copy(isProposal = !isFullyAuthorized)
- else toValidate
+ // if the result of this validation is final (when processing transactions for the authorized store
+ // or sequenced transactions from the domain) we set the proposal flag according to whether the transaction
+ // is fully authorized or not.
+ // This must not be done when preliminarily validating transactions via the DomainTopologyManager, because
+ // the validation outcome might change when validating the transaction again after it has been sequenced.
+ val finalTransaction =
+ if (validationIsFinal) validatedTx.copy(isProposal = !isFullyAuthorized)
+ else validatedTx
- // Either the transaction is fully authorized or the request allows partial authorization
- if (isFullyAuthorized || acceptMissingAuthorizers) {
- ValidatedTopologyTransaction(finalTransaction, None)
- } else {
- if (!missingAuthorizers.isEmpty) {
- logger.debug(s"Missing authorizers: $missingAuthorizers")
- }
- ValidatedTopologyTransaction(
- toValidate,
- Some(TopologyTransactionRejection.NotAuthorized),
- )
+ // Either the transaction is fully authorized or the request allows partial authorization
+ if (isFullyAuthorized || acceptMissingAuthorizers) {
+ ValidatedTopologyTransaction(finalTransaction, None)
+ } else {
+ if (!missingAuthorizers.isEmpty) {
+ logger.debug(s"Missing authorizers: $missingAuthorizers")
+ }
+ if (!mappingSpecificCheck) {
+ logger.debug(s"Mapping specific check failed")
+ }
+ ValidatedTopologyTransaction(
+ toValidate,
+ Some(TopologyTransactionRejection.NotAuthorized),
+ )
+ }
}
}
- /** Validates the signature of the removal of a root certificate.
- * This check is done separately from the mechanism used for other topology transactions (ie isCurrentlyAuthorized),
- * because removing a root certificate removes it from the authorization graph and therefore
- * isCurrentlyAuthorized would not find the key to validate it.
- */
- private def validateRootCertificate(
- toValidate: GenericSignedTopologyTransaction
- ): Option[Either[
- TopologyTransactionRejection,
- (GenericSignedTopologyTransaction, RequiredAuthAuthorizations),
- ]] = {
- toValidate
- .selectMapping[NamespaceDelegation]
- .filter(NamespaceDelegation.isRootCertificate)
- .map { rootCert =>
- val result = rootCert.signatures.toSeq.forgetNE
- .traverse_(
- pureCrypto
- .verifySignature(
- rootCert.hash.hash,
- rootCert.mapping.target,
- _,
- )
- )
- .bimap(
- TopologyTransactionRejection.SignatureCheckFailed,
- _ => (toValidate, RequiredAuthAuthorizations.empty /* no missing authorizers */ ),
- )
- result
- }
-
- }
-
/** loads all identifier delegations into the identifier delegation cache
*
* This function has two "modes". On a cascading update affecting namespaces, we have
@@ -308,15 +291,16 @@ class IncomingTopologyTransactionAuthorizationValidator(
}
private def processIdentifierDelegation(
- tx: AuthorizedIdentifierDelegation
+ op: TopologyChangeOp,
+ tx: AuthorizedIdentifierDelegation,
): Boolean = {
// check authorization
val check = getAuthorizationCheckForNamespace(tx.mapping.identifier.namespace)
- val keysAreValid = check.existsAuthorizedKeyIn(tx.signingKeys, requireRoot = false)
+ val keysAreValid = check.areValidAuthorizationKeys(tx.signingKeys, requireRoot = false)
// update identifier delegation cache if necessary
if (keysAreValid) {
val updateOp: Set[AuthorizedIdentifierDelegation] => Set[AuthorizedIdentifierDelegation] =
- tx.operation match {
+ op match {
case TopologyChangeOp.Replace =>
x => x + tx
case TopologyChangeOp.Remove =>
@@ -329,11 +313,12 @@ class IncomingTopologyTransactionAuthorizationValidator(
}
private def processNamespaceDelegation(
- tx: AuthorizedNamespaceDelegation
+ op: TopologyChangeOp,
+ tx: AuthorizedNamespaceDelegation,
)(implicit traceContext: TraceContext): Boolean = {
val graph = getAuthorizationGraphForNamespace(tx.mapping.namespace)
// add or remove including authorization check
- tx.operation match {
+ op match {
case TopologyChangeOp.Replace => graph.add(tx)
case TopologyChangeOp.Remove => graph.remove(tx)
}
@@ -345,8 +330,9 @@ class IncomingTopologyTransactionAuthorizationValidator(
* by the caller once the mapping is to be committed.
*/
private def processDecentralizedNamespaceDefinition(
- tx: AuthorizedDecentralizedNamespaceDefinition
- )(implicit traceContext: TraceContext): Boolean = {
+ op: TopologyChangeOp,
+ tx: AuthorizedDecentralizedNamespaceDefinition,
+ )(implicit traceContext: TraceContext): (Boolean, () => Unit) = {
val decentralizedNamespace = tx.mapping.namespace
val dnsGraph = decentralizedNamespaceCache
.get(decentralizedNamespace)
@@ -374,30 +360,26 @@ class IncomingTopologyTransactionAuthorizationValidator(
)
newDecentralizedNamespaceGraph
}
- val isAuthorized = dnsGraph.existsAuthorizedKeyIn(tx.signingKeys, requireRoot = false)
+ val isAuthorized = dnsGraph.areValidAuthorizationKeys(tx.signingKeys, false)
- if (isAuthorized) {
- tx.operation match {
- case TopologyChangeOp.Remove =>
- decentralizedNamespaceCache.remove(decentralizedNamespace).discard
-
- case TopologyChangeOp.Replace =>
- val ownerGraphs = tx.mapping.owners.forgetNE.toSeq.map(getAuthorizationGraphForNamespace)
- decentralizedNamespaceCache
- .put(
- decentralizedNamespace,
- (tx.mapping, dnsGraph.copy(dnd = tx.mapping, ownerGraphs = ownerGraphs)),
- )
- .discard
- }
- }
- isAuthorized
+ (
+ isAuthorized,
+ () => {
+ val ownerGraphs = tx.mapping.owners.forgetNE.toSeq.map(getAuthorizationGraphForNamespace)
+ decentralizedNamespaceCache
+ .put(
+ decentralizedNamespace,
+ (tx.mapping, dnsGraph.copy(dnd = tx.mapping, ownerGraphs = ownerGraphs)),
+ )
+ .discard
+ },
+ )
}
private def determineRelevantUidsAndNamespaces(
- toValidate: GenericSignedTopologyTransaction,
- inStore: Option[GenericTopologyTransaction],
- ): Future[(UpdateAggregation, GenericValidatedTopologyTransaction)] = {
+ transactionsToValidate: Seq[GenericSignedTopologyTransaction],
+ transactionsInStore: Map[MappingHash, GenericTopologyTransaction],
+ ): Future[(UpdateAggregation, Seq[GenericValidatedTopologyTransaction])] = {
def verifyDomain(
tx: GenericSignedTopologyTransaction
): Either[TopologyTransactionRejection, Unit] =
@@ -413,19 +395,22 @@ class IncomingTopologyTransactionAuthorizationValidator(
// we need to figure out for which namespaces and uids we need to load the validation checks
// and for which uids and namespaces we'll have to perform a cascading update
- EitherT
- .fromEither[Future](verifyDomain(toValidate))
- .fold(
- rejection =>
- (UpdateAggregation(), ValidatedTopologyTransaction(toValidate, Some(rejection))),
- _ =>
- (
- UpdateAggregation().add(
- toValidate.mapping,
- inStore,
+ import UpdateAggregation.monoid
+ transactionsToValidate.parFoldMapA { toValidate =>
+ EitherT
+ .fromEither[Future](verifyDomain(toValidate))
+ .fold(
+ rejection =>
+ (UpdateAggregation(), Seq(ValidatedTopologyTransaction(toValidate, Some(rejection)))),
+ _ =>
+ (
+ UpdateAggregation().add(
+ toValidate.mapping,
+ transactionsInStore.get(toValidate.mapping.uniqueKey),
+ ),
+ Seq(ValidatedTopologyTransaction(toValidate, None)),
),
- ValidatedTopologyTransaction(toValidate, None),
- ),
- )
+ )
+ }
}
}
diff --git a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/processing/TransactionAuthorizationValidator.scala b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/processing/TransactionAuthorizationValidator.scala
index 0363df9410..af8fd3bf95 100644
--- a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/processing/TransactionAuthorizationValidator.scala
+++ b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/processing/TransactionAuthorizationValidator.scala
@@ -43,7 +43,7 @@ trait TransactionAuthorizationValidator {
protected def pureCrypto: CryptoPureApi
- def validateSignaturesAndDetermineMissingAuthorizers(
+ def isCurrentlyAuthorized(
toValidate: GenericSignedTopologyTransaction,
inStore: Option[GenericSignedTopologyTransaction],
)(implicit
@@ -72,41 +72,41 @@ trait TransactionAuthorizationValidator {
val namespaceWithRootAuthorizations =
required.namespacesWithRoot.map { ns =>
val check = getAuthorizationCheckForNamespace(ns)
- val keysUsed = check.keysSupportingAuthorization(
+ val keysWithDelegation = check.getValidAuthorizationKeys(
signingKeys,
requireRoot = true,
)
val keysAuthorizeNamespace =
- check.existsAuthorizedKeyIn(signingKeys, requireRoot = true)
- (ns -> (keysAuthorizeNamespace, keysUsed))
+ check.areValidAuthorizationKeys(signingKeys, requireRoot = true)
+ (ns -> (keysAuthorizeNamespace, keysWithDelegation))
}.toMap
// Now let's determine which namespaces and uids actually delegated to any of the keys
val namespaceAuthorizations = required.namespaces.map { ns =>
val check = getAuthorizationCheckForNamespace(ns)
- val keysUsed = check.keysSupportingAuthorization(
+ val keysWithDelegation = check.getValidAuthorizationKeys(
signingKeys,
requireRoot = false,
)
- val keysAuthorizeNamespace = check.existsAuthorizedKeyIn(signingKeys, requireRoot = false)
- (ns -> (keysAuthorizeNamespace, keysUsed))
+ val keysAuthorizeNamespace = check.areValidAuthorizationKeys(signingKeys, requireRoot = false)
+ (ns -> (keysAuthorizeNamespace, keysWithDelegation))
}.toMap
val uidAuthorizations =
required.uids.map { uid =>
val check = getAuthorizationCheckForNamespace(uid.namespace)
- val keysUsed = check.keysSupportingAuthorization(
+ val keysWithDelegation = check.getValidAuthorizationKeys(
signingKeys,
requireRoot = false,
)
val keysAuthorizeNamespace =
- check.existsAuthorizedKeyIn(signingKeys, requireRoot = false)
+ check.areValidAuthorizationKeys(signingKeys, requireRoot = false)
val keyForUid =
getAuthorizedIdentifierDelegation(check, uid, toValidate.signatures.map(_.signedBy))
.map(_.mapping.target)
- (uid -> (keysAuthorizeNamespace || keyForUid.nonEmpty, keysUsed ++ keyForUid))
+ (uid -> (keysAuthorizeNamespace || keyForUid.nonEmpty, keysWithDelegation ++ keyForUid))
}.toMap
val extraKeyAuthorizations = {
@@ -132,7 +132,7 @@ trait TransactionAuthorizationValidator {
.toMap
}
- val allKeysUsedForAuthorization =
+ val allAuthorizingKeys =
(namespaceWithRootAuthorizations.values ++
namespaceAuthorizations.values ++
uidAuthorizations.values ++
@@ -145,9 +145,9 @@ trait TransactionAuthorizationValidator {
logAuthorizations("Authorizations for UIDs", uidAuthorizations)
logAuthorizations("Authorizations for extraKeys", extraKeyAuthorizations)
- logger.debug(s"All keys used for authorization: ${allKeysUsedForAuthorization.keySet}")
+ logger.debug(s"All authorizing keys: ${allAuthorizingKeys.keySet}")
- val superfluousKeys = signingKeys -- allKeysUsedForAuthorization.keys
+ val superfluousKeys = signingKeys -- allAuthorizingKeys.keys
for {
_ <- Either.cond[TopologyTransactionRejection, Unit](
// there must be at least 1 key used for the signatures for one of the delegation mechanisms
@@ -160,7 +160,7 @@ trait TransactionAuthorizationValidator {
},
)
- txWithSignaturesToVerify <- toValidate
+ txWithValidSignatures <- toValidate
.removeSignatures(superfluousKeys)
.toRight({
logger.info(
@@ -169,9 +169,9 @@ trait TransactionAuthorizationValidator {
TopologyTransactionRejection.NoDelegationFoundForKeys(superfluousKeys)
})
- _ <- txWithSignaturesToVerify.signatures.forgetNE.toList
+ _ <- txWithValidSignatures.signatures.forgetNE.toList
.traverse_(sig =>
- allKeysUsedForAuthorization
+ allAuthorizingKeys
.get(sig.signedBy)
.toRight({
val msg =
@@ -182,7 +182,7 @@ trait TransactionAuthorizationValidator {
.flatMap(key =>
pureCrypto
.verifySignature(
- txWithSignaturesToVerify.hash.hash,
+ txWithValidSignatures.hash.hash,
key,
sig,
)
@@ -202,7 +202,7 @@ trait TransactionAuthorizationValidator {
extraKeys = onlyFullyAuthorized(extraKeyAuthorizations),
)
(
- txWithSignaturesToVerify,
+ txWithValidSignatures,
requiredAuth
.satisfiedByActualAuthorizers(actual)
.fold(identity, _ => RequiredAuthAuthorizations.empty),
@@ -236,7 +236,7 @@ trait TransactionAuthorizationValidator {
): Option[AuthorizedIdentifierDelegation] = {
getIdentifierDelegationsForUid(uid)
.find(aid =>
- authKeys(aid.mapping.target.id) && graph.existsAuthorizedKeyIn(
+ authKeys(aid.mapping.target.id) && graph.areValidAuthorizationKeys(
aid.signingKeys,
requireRoot = false,
)
@@ -254,7 +254,9 @@ trait TransactionAuthorizationValidator {
namespace: Namespace
): AuthorizationCheck = {
val decentralizedNamespaceCheck = decentralizedNamespaceCache.get(namespace).map(_._2)
- val namespaceCheck = namespaceCache.get(namespace)
+ val namespaceCheck = namespaceCache.get(
+ namespace
+ )
decentralizedNamespaceCheck
.orElse(namespaceCheck)
.getOrElse(AuthorizationCheck.empty)
diff --git a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/store/TopologyStore.scala b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/store/TopologyStore.scala
index 7ff8b52780..04ebc94ded 100644
--- a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/store/TopologyStore.scala
+++ b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/store/TopologyStore.scala
@@ -5,7 +5,7 @@ package com.digitalasset.canton.topology.store
import cats.data.EitherT
import cats.syntax.traverse.*
-import com.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.data.Ref.PackageId
import com.daml.nonempty.NonEmpty
import com.digitalasset.canton.ProtoDeserializationError
import com.digitalasset.canton.config.CantonRequireTypes.{LengthLimitedString, String255}
diff --git a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/store/TopologyTransactionRejection.scala b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/store/TopologyTransactionRejection.scala
index 21f758fb00..5d8732703b 100644
--- a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/store/TopologyTransactionRejection.scala
+++ b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/store/TopologyTransactionRejection.scala
@@ -10,9 +10,14 @@ import com.digitalasset.canton.data.CantonTimestamp
import com.digitalasset.canton.logging.ErrorLoggingContext
import com.digitalasset.canton.logging.pretty.{Pretty, PrettyPrinting}
import com.digitalasset.canton.protocol.OnboardingRestriction
-import com.digitalasset.canton.topology.*
-import com.digitalasset.canton.topology.processing.EffectiveTime
import com.digitalasset.canton.topology.transaction.TopologyMapping
+import com.digitalasset.canton.topology.{
+ DomainId,
+ Member,
+ ParticipantId,
+ PartyId,
+ TopologyManagerError,
+}
sealed trait TopologyTransactionRejection extends PrettyPrinting with Product with Serializable {
def asString: String
@@ -40,12 +45,25 @@ object TopologyTransactionRejection {
TopologyManagerError.UnauthorizedTransaction.Failure(asString)
}
+ final case class ThresholdTooHigh(actual: Int, mustBeAtMost: Int)
+ extends TopologyTransactionRejection {
+ override def asString: String =
+ s"Threshold must not be higher than $mustBeAtMost, but was $actual."
+
+ override def pretty: Pretty[ThresholdTooHigh] = prettyOfString(_ => asString)
+
+ override def toTopologyManagerError(implicit elc: ErrorLoggingContext) = {
+ TopologyManagerError.InvalidThreshold.ThresholdTooHigh(actual, mustBeAtMost)
+ }
+ }
+
final case class UnknownParties(parties: Seq[PartyId]) extends TopologyTransactionRejection {
override def asString: String = s"Parties ${parties.sorted.mkString(", ")} are unknown."
override def pretty: Pretty[UnknownParties.this.type] = prettyOfString(_ => asString)
override def toTopologyManagerError(implicit elc: ErrorLoggingContext): TopologyManagerError =
TopologyManagerError.UnknownParties.Failure(parties)
+
}
final case class OnboardingRestrictionInPlace(
@@ -174,25 +192,6 @@ object TopologyTransactionRejection {
)
}
- final case class PartyExceedsHostingLimit(
- partyId: PartyId,
- limit: Int,
- numParticipants: Int,
- ) extends TopologyTransactionRejection {
- override def asString: String =
- s"Party $partyId exceeds hosting limit of $limit with desired number of $numParticipants hosting participants."
-
- override def toTopologyManagerError(implicit elc: ErrorLoggingContext): TopologyManagerError =
- TopologyManagerError.PartyExceedsHostingLimit.Reject(partyId, limit, numParticipants)
-
- override def pretty: Pretty[PartyExceedsHostingLimit.this.type] =
- prettyOfClass(
- param("partyId", _.partyId),
- param("limit", _.limit),
- param("number of hosting participants", _.numParticipants),
- )
- }
-
final case class MissingMappings(missing: Map[Member, Seq[TopologyMapping.Code]])
extends TopologyTransactionRejection {
override def asString: String = {
@@ -210,24 +209,4 @@ object TopologyTransactionRejection {
override def pretty: Pretty[MissingMappings.this.type] = prettyOfString(_ => asString)
}
-
- final case class MissingDomainParameters(effective: EffectiveTime)
- extends TopologyTransactionRejection {
- override def asString: String = s"Missing domain parameters at $effective"
-
- override def toTopologyManagerError(implicit elc: ErrorLoggingContext): TopologyManagerError =
- TopologyManagerError.MissingTopologyMapping.MissingDomainParameters(effective)
-
- override def pretty: Pretty[MissingDomainParameters.this.type] = prettyOfString(_ => asString)
- }
-
- final case class NamespaceAlreadyInUse(namespace: Namespace)
- extends TopologyTransactionRejection {
- override def asString: String = s"The namespace $namespace is already used by another entity."
-
- override def toTopologyManagerError(implicit elc: ErrorLoggingContext): TopologyManagerError =
- TopologyManagerError.NamespaceAlreadyInUse.Reject(namespace)
-
- override def pretty: Pretty[NamespaceAlreadyInUse.this.type] = prettyOfString(_ => asString)
- }
}
diff --git a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/transaction/TopologyMapping.scala b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/transaction/TopologyMapping.scala
index 63d7d0e044..c74fd1a003 100644
--- a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/transaction/TopologyMapping.scala
+++ b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/transaction/TopologyMapping.scala
@@ -401,14 +401,14 @@ object NamespaceDelegation {
target: SigningPublicKey,
isRootDelegation: Boolean,
): NamespaceDelegation =
- create(namespace, target, isRootDelegation).valueOr(err =>
- throw new IllegalArgumentException((err))
- )
+ create(namespace, target, isRootDelegation).fold(err => sys.error(err), identity)
def code: TopologyMapping.Code = Code.NamespaceDelegation
/** Returns true if the given transaction is a self-signed root certificate */
def isRootCertificate(sit: GenericSignedTopologyTransaction): Boolean = {
+ ((sit.operation == TopologyChangeOp.Replace && sit.serial == PositiveInt.one) ||
+ (sit.operation == TopologyChangeOp.Remove && sit.serial != PositiveInt.one)) &&
sit.mapping
.select[transaction.NamespaceDelegation]
.exists(ns =>
@@ -944,8 +944,8 @@ final case class PartyHostingLimits(
override def code: Code = Code.PartyHostingLimits
- override def namespace: Namespace = partyId.namespace
- override def maybeUid: Option[UniqueIdentifier] = Some(partyId.uid)
+ override def namespace: Namespace = domainId.namespace
+ override def maybeUid: Option[UniqueIdentifier] = Some(domainId.uid)
override def restrictedToDomain: Option[DomainId] = Some(domainId)
@@ -1057,7 +1057,7 @@ object HostingParticipant {
} yield HostingParticipant(participantId, permission)
}
-final case class PartyToParticipant private (
+final case class PartyToParticipant(
partyId: PartyId,
domainId: Option[DomainId],
threshold: PositiveInt,
@@ -1135,51 +1135,6 @@ final case class PartyToParticipant private (
object PartyToParticipant {
- def create(
- partyId: PartyId,
- domainId: Option[DomainId],
- threshold: PositiveInt,
- participants: Seq[HostingParticipant],
- groupAddressing: Boolean,
- ): Either[String, PartyToParticipant] = {
- val noDuplicatePParticipants = {
- val duplicatePermissions =
- participants.groupBy(_.participantId).values.filter(_.size > 1).toList
- Either.cond(
- duplicatePermissions.isEmpty,
- (),
- s"Participants may only be assigned one permission: $duplicatePermissions",
- )
- }
- val thresholdCanBeMet = {
- val numConfirmingParticipants =
- participants.count(_.permission >= ParticipantPermission.Confirmation)
- Either
- .cond(
- // we allow to not meet the threshold criteria if there are only observing participants.
- // but as soon as there is 1 confirming participant, the threshold must theoretically be satisfiable,
- // otherwise the party can never confirm a transaction.
- numConfirmingParticipants == 0 || threshold.value <= numConfirmingParticipants,
- (),
- s"Party $partyId cannot meet threshold of $threshold confirming participants with participants $participants",
- )
- .map(_ => PartyToParticipant(partyId, domainId, threshold, participants, groupAddressing))
- }
-
- noDuplicatePParticipants.flatMap(_ => thresholdCanBeMet)
- }
-
- def tryCreate(
- partyId: PartyId,
- domainId: Option[DomainId],
- threshold: PositiveInt,
- participants: Seq[HostingParticipant],
- groupAddressing: Boolean,
- ): PartyToParticipant =
- create(partyId, domainId, threshold, participants, groupAddressing).valueOr(err =>
- throw new IllegalArgumentException(err)
- )
-
def uniqueKey(partyId: PartyId, domainId: Option[DomainId]): MappingHash =
TopologyMapping.buildUniqueKey(code)(
_.add(partyId.toProtoPrimitive).add(domainId.fold("")(_.toProtoPrimitive))
@@ -1203,7 +1158,7 @@ object PartyToParticipant {
}
// AuthorityOf
-final case class AuthorityOf private (
+final case class AuthorityOf(
partyId: PartyId,
domainId: Option[DomainId],
threshold: PositiveInt,
@@ -1244,21 +1199,6 @@ final case class AuthorityOf private (
object AuthorityOf {
- def create(
- partyId: PartyId,
- domainId: Option[DomainId],
- threshold: PositiveInt,
- parties: Seq[PartyId],
- ): Either[String, AuthorityOf] = {
- Either
- .cond(
- threshold.value <= parties.size,
- (),
- s"Invalid threshold $threshold for $partyId with authorizers $parties",
- )
- .map(_ => AuthorityOf(partyId, domainId, threshold, parties))
- }
-
def uniqueKey(partyId: PartyId, domainId: Option[DomainId]): MappingHash =
TopologyMapping.buildUniqueKey(code)(
_.add(partyId.toProtoPrimitive).add(domainId.fold("")(_.toProtoPrimitive))
@@ -1277,9 +1217,7 @@ object AuthorityOf {
if (value.domain.nonEmpty)
DomainId.fromProtoPrimitive(value.domain, "domain").map(_.some)
else Right(None)
- authorityOf <- create(partyId, domainId, threshold, parties)
- .leftMap(ProtoDeserializationError.OtherError)
- } yield authorityOf
+ } yield AuthorityOf(partyId, domainId, threshold, parties)
}
/** Dynamic domain parameter settings for the domain
diff --git a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/transaction/TopologyMappingChecks.scala b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/transaction/TopologyMappingChecks.scala
index 490cf30d05..394cfddb0d 100644
--- a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/transaction/TopologyMappingChecks.scala
+++ b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/topology/transaction/TopologyMappingChecks.scala
@@ -5,19 +5,14 @@ package com.digitalasset.canton.topology.transaction
import cats.data.EitherT
import cats.instances.future.*
-import cats.instances.order.*
import cats.syntax.semigroup.*
import com.digitalasset.canton.crypto.KeyPurpose
import com.digitalasset.canton.data.CantonTimestamp
import com.digitalasset.canton.logging.{NamedLoggerFactory, NamedLogging}
-import com.digitalasset.canton.protocol.{DynamicDomainParameters, OnboardingRestriction}
+import com.digitalasset.canton.protocol.OnboardingRestriction
import com.digitalasset.canton.topology.*
import com.digitalasset.canton.topology.processing.EffectiveTime
import com.digitalasset.canton.topology.store.StoredTopologyTransactions.PositiveStoredTopologyTransactions
-import com.digitalasset.canton.topology.store.TopologyTransactionRejection.{
- InvalidTopologyMapping,
- NamespaceAlreadyInUse,
-}
import com.digitalasset.canton.topology.store.{
TopologyStore,
TopologyStoreId,
@@ -29,6 +24,7 @@ import com.digitalasset.canton.tracing.TraceContext
import com.digitalasset.canton.util.EitherTUtil
import scala.concurrent.{ExecutionContext, Future}
+import scala.math.Ordered.*
trait TopologyMappingChecks {
def checkTransaction(
@@ -131,27 +127,6 @@ class ValidatingTopologyMappingChecks(
.select[TopologyChangeOp.Replace, AuthorityOf]
.map(checkAuthorityOf(effective, _))
- case (
- Code.DecentralizedNamespaceDefinition,
- None | Some(Code.DecentralizedNamespaceDefinition),
- ) =>
- toValidate
- .select[TopologyChangeOp.Replace, DecentralizedNamespaceDefinition]
- .map(
- checkDecentralizedNamespaceDefinitionReplace(
- _,
- inStore.flatMap(_.select[TopologyChangeOp, DecentralizedNamespaceDefinition]),
- )
- )
-
- case (
- Code.NamespaceDelegation,
- None | Some(Code.NamespaceDelegation),
- ) =>
- toValidate
- .select[TopologyChangeOp.Replace, NamespaceDelegation]
- .map(checkNamespaceDelegationReplace)
-
case otherwise => None
}
@@ -215,33 +190,6 @@ class ValidatingTopologyMappingChecks(
ensureParticipantDoesNotHostParties(effective, toValidate.mapping.participantId)
}
- private def loadDomainParameters(
- effective: EffectiveTime
- )(implicit
- traceContext: TraceContext
- ): EitherT[Future, TopologyTransactionRejection, DynamicDomainParameters] = {
- loadFromStore(effective, DomainParametersState.code).subflatMap { domainParamCandidates =>
- val params = domainParamCandidates.result.view
- .flatMap(_.selectMapping[DomainParametersState])
- .map(_.mapping.parameters)
- .toList
- params match {
- case Nil =>
- logger.error(
- "Can not determine domain parameters."
- )
- Left(TopologyTransactionRejection.MissingDomainParameters(effective))
- case param :: Nil => Right(param)
- case param :: rest =>
- logger.error(
- s"Multiple domain parameters at ${effective} ${rest.size + 1}. Using first one: $param."
- )
- Right(param)
- }
- }
-
- }
-
private def checkDomainTrustCertificateReplace(
effective: EffectiveTime,
toValidate: SignedTopologyTransaction[TopologyChangeOp, DomainTrustCertificate],
@@ -251,7 +199,25 @@ class ValidatingTopologyMappingChecks(
def loadOnboardingRestriction()
: EitherT[Future, TopologyTransactionRejection, OnboardingRestriction] = {
- loadDomainParameters(effective).map(_.onboardingRestriction)
+ loadFromStore(effective, DomainParametersState.code).map { domainParamCandidates =>
+ val restrictions = domainParamCandidates.result.view
+ .flatMap(_.selectMapping[DomainParametersState])
+ .map(_.mapping.parameters.onboardingRestriction)
+ .toList
+ restrictions match {
+ case Nil =>
+ logger.error(
+ "Can not determine the onboarding restriction. Assuming the domain is locked."
+ )
+ OnboardingRestriction.RestrictedLocked
+ case param :: Nil => param
+ case param :: rest =>
+ logger.error(
+ s"Multiple domain parameters at ${effective} ${rest.size + 1}. Using first one with restriction ${param}."
+ )
+ param
+ }
+ }
}
def checkDomainIsNotLocked(restriction: OnboardingRestriction) = {
@@ -345,97 +311,65 @@ class ValidatingTopologyMappingChecks(
traceContext: TraceContext
): EitherT[Future, TopologyTransactionRejection, Unit] = {
import toValidate.mapping
- def checkParticipants() = {
- val newParticipants = mapping.participants.map(_.participantId).toSet --
- inStore.toList.flatMap(_.mapping.participants.map(_.participantId))
- for {
- participantTransactions <- EitherT.right[TopologyTransactionRejection](
- store
- .findPositiveTransactions(
- CantonTimestamp.MaxValue,
- asOfInclusive = false,
- isProposal = false,
- types = Seq(DomainTrustCertificate.code, OwnerToKeyMapping.code),
- filterUid = Some(newParticipants.toSeq.map(_.uid)),
- filterNamespace = None,
- )
- )
-
- // check that all participants are known on the domain
- missingParticipantCertificates = newParticipants -- participantTransactions
- .collectOfMapping[DomainTrustCertificate]
- .result
- .map(_.mapping.participantId)
-
- _ <- EitherTUtil.condUnitET[Future][TopologyTransactionRejection](
- missingParticipantCertificates.isEmpty,
- TopologyTransactionRejection.UnknownMembers(missingParticipantCertificates.toSeq),
- )
-
- // check that all known participants have keys registered
- participantsWithInsufficientKeys =
- newParticipants -- participantTransactions
- .collectOfMapping[OwnerToKeyMapping]
- .result
- .view
- .filter { tx =>
- val keyPurposes = tx.mapping.keys.map(_.purpose).toSet
- requiredKeyPurposes.forall(keyPurposes)
- }
- .map(_.mapping.member)
- .collect { case pid: ParticipantId => pid }
- .toSeq
-
- _ <- EitherTUtil.condUnitET[Future][TopologyTransactionRejection](
- participantsWithInsufficientKeys.isEmpty,
- TopologyTransactionRejection.InsufficientKeys(participantsWithInsufficientKeys.toSeq),
- )
- } yield {
- ()
- }
- }
-
- def checkHostingLimits(effective: EffectiveTime) = for {
- hostingLimitsCandidates <- loadFromStore(
- effective,
- code = PartyHostingLimits.code,
- filterUid = Some(Seq(toValidate.mapping.partyId.uid)),
- )
- hostingLimits = hostingLimitsCandidates.result.view
- .flatMap(_.selectMapping[PartyHostingLimits])
- .map(_.mapping.quota)
- .toList
- partyHostingLimit = hostingLimits match {
- case Nil => // No hosting limits found. This is expected if no restrictions are in place
- None
- case quota :: Nil => Some(quota)
- case multiple @ (quota :: _) =>
- logger.error(
- s"Multiple PartyHostingLimits at ${effective} ${multiple.size}. Using first one with quota $quota."
- )
- Some(quota)
- }
- // TODO(#14050) load default party hosting limits from dynamic domain parameters in case the party
- // doesn't have a specific PartyHostingLimits mapping issued by the domain.
- _ <- partyHostingLimit match {
- case Some(limit) =>
- EitherTUtil.condUnitET[Future][TopologyTransactionRejection](
- toValidate.mapping.participants.size <= limit,
- TopologyTransactionRejection.PartyExceedsHostingLimit(
- toValidate.mapping.partyId,
- limit,
- toValidate.mapping.participants.size,
- ),
- )
- case None => EitherTUtil.unit[TopologyTransactionRejection]
- }
- } yield ()
+ val numConfirmingParticipants =
+ mapping.participants.count(_.permission >= ParticipantPermission.Confirmation)
for {
- _ <- checkParticipants()
- _ <- checkHostingLimits(EffectiveTime.MaxValue)
- } yield ()
+ // check the threshold
+ _ <- EitherTUtil.condUnitET[Future][TopologyTransactionRejection](
+ mapping.threshold.value <= numConfirmingParticipants,
+ TopologyTransactionRejection.ThresholdTooHigh(
+ mapping.threshold.value,
+ numConfirmingParticipants,
+ ),
+ )
+ newParticipants = mapping.participants.map(_.participantId).toSet --
+ inStore.toList.flatMap(_.mapping.participants.map(_.participantId))
+ participantTransactions <- EitherT.right[TopologyTransactionRejection](
+ store
+ .findPositiveTransactions(
+ CantonTimestamp.MaxValue,
+ asOfInclusive = false,
+ isProposal = false,
+ types = Seq(DomainTrustCertificate.code, OwnerToKeyMapping.code),
+ filterUid = Some(newParticipants.toSeq.map(_.uid)),
+ filterNamespace = None,
+ )
+ )
+
+ // check that all participants are known on the domain
+ missingParticipantCertificates = newParticipants -- participantTransactions
+ .collectOfMapping[DomainTrustCertificate]
+ .result
+ .map(_.mapping.participantId)
+
+ _ <- EitherTUtil.condUnitET[Future][TopologyTransactionRejection](
+ missingParticipantCertificates.isEmpty,
+ TopologyTransactionRejection.UnknownMembers(missingParticipantCertificates.toSeq),
+ )
+
+ // check that all known participants have keys registered
+ participantsWithInsufficientKeys =
+ newParticipants -- participantTransactions
+ .collectOfMapping[OwnerToKeyMapping]
+ .result
+ .view
+ .filter { tx =>
+ val keyPurposes = tx.mapping.keys.map(_.purpose).toSet
+ requiredKeyPurposes.forall(keyPurposes)
+ }
+ .map(_.mapping.member)
+ .collect { case pid: ParticipantId => pid }
+ .toSeq
+
+ _ <- EitherTUtil.condUnitET[Future][TopologyTransactionRejection](
+ participantsWithInsufficientKeys.isEmpty,
+ TopologyTransactionRejection.InsufficientKeys(participantsWithInsufficientKeys.toSeq),
+ )
+ } yield {
+ ()
+ }
}
private def checkOwnerToKeyMappingReplace(
@@ -531,7 +465,15 @@ class ValidatingTopologyMappingChecks(
val newMediators = (toValidate.mapping.allMediatorsInGroup.toSet -- inStore.toList.flatMap(
_.mapping.allMediatorsInGroup
)).map(identity[Member])
- checkMissingNsdAndOtkMappings(effectiveTime, newMediators)
+
+ val thresholdCheck = EitherTUtil.condUnitET(
+ toValidate.mapping.threshold.value <= toValidate.mapping.active.size,
+ TopologyTransactionRejection.ThresholdTooHigh(
+ toValidate.mapping.threshold.value,
+ toValidate.mapping.active.size,
+ ),
+ )
+ thresholdCheck.flatMap(_ => checkMissingNsdAndOtkMappings(effectiveTime, newMediators))
}
private def checkSequencerDomainStateReplace(
@@ -543,7 +485,14 @@ class ValidatingTopologyMappingChecks(
_.mapping.allSequencers
)).map(identity[Member])
- checkMissingNsdAndOtkMappings(effectiveTime, newSequencers)
+ val thresholdCheck = EitherTUtil.condUnitET(
+ toValidate.mapping.threshold.value <= toValidate.mapping.active.size,
+ TopologyTransactionRejection.ThresholdTooHigh(
+ toValidate.mapping.threshold.value,
+ toValidate.mapping.active.size,
+ ),
+ )
+ thresholdCheck.flatMap(_ => checkMissingNsdAndOtkMappings(effectiveTime, newSequencers))
}
private def checkAuthorityOf(
@@ -572,85 +521,15 @@ class ValidatingTopologyMappingChecks(
}
}
- checkPartiesAreKnown()
- }
-
- private def checkDecentralizedNamespaceDefinitionReplace(
- toValidate: SignedTopologyTransaction[
- TopologyChangeOp.Replace,
- DecentralizedNamespaceDefinition,
- ],
- inStore: Option[SignedTopologyTransaction[
- TopologyChangeOp,
- DecentralizedNamespaceDefinition,
- ]],
- )(implicit traceContext: TraceContext): EitherT[Future, TopologyTransactionRejection, Unit] = {
-
- def checkDecentralizedNamespaceDerivedFromOwners()
- : EitherT[Future, TopologyTransactionRejection, Unit] =
- if (inStore.isEmpty) {
- // The very first decentralized namespace definition must have namespace computed from the owners
- EitherTUtil.condUnitET(
- toValidate.mapping.namespace == DecentralizedNamespaceDefinition
- .computeNamespace(toValidate.mapping.owners),
- InvalidTopologyMapping(
- s"The decentralized namespace ${toValidate.mapping.namespace} is not derived from the owners ${toValidate.mapping.owners.toSeq.sorted}"
- ),
- )
- } else {
- EitherTUtil.unit
- }
-
- def checkNoClashWithRootCertificates()(implicit
- traceContext: TraceContext
- ): EitherT[Future, TopologyTransactionRejection, Unit] = {
- loadFromStore(
- EffectiveTime.MaxValue,
- Code.NamespaceDelegation,
- filterUid = None,
- filterNamespace = Some(Seq(toValidate.mapping.namespace)),
- ).flatMap { namespaceDelegations =>
- val foundRootCertWithSameNamespace = namespaceDelegations.result.exists(stored =>
- NamespaceDelegation.isRootCertificate(stored.transaction)
- )
- EitherTUtil.condUnitET(
- !foundRootCertWithSameNamespace,
- NamespaceAlreadyInUse(toValidate.mapping.namespace),
- )
- }
+ val checkThreshold = {
+ val actual = toValidate.mapping.threshold.value
+ val mustBeAtMost = toValidate.mapping.parties.size
+ EitherTUtil.condUnitET(
+ actual <= mustBeAtMost,
+ TopologyTransactionRejection.ThresholdTooHigh(actual, mustBeAtMost),
+ )
}
- for {
- _ <- checkDecentralizedNamespaceDerivedFromOwners()
- _ <- checkNoClashWithRootCertificates()
- } yield ()
- }
-
- private def checkNamespaceDelegationReplace(
- toValidate: SignedTopologyTransaction[
- TopologyChangeOp.Replace,
- NamespaceDelegation,
- ]
- )(implicit traceContext: TraceContext): EitherT[Future, TopologyTransactionRejection, Unit] = {
- def checkNoClashWithDecentralizedNamespaces()(implicit
- traceContext: TraceContext
- ): EitherT[Future, TopologyTransactionRejection, Unit] = {
- EitherTUtil.ifThenET(NamespaceDelegation.isRootCertificate(toValidate)) {
- loadFromStore(
- EffectiveTime.MaxValue,
- Code.DecentralizedNamespaceDefinition,
- filterUid = None,
- filterNamespace = Some(Seq(toValidate.mapping.namespace)),
- ).flatMap { dns =>
- val foundDecentralizedNamespaceWithSameNamespace = dns.result.nonEmpty
- EitherTUtil.condUnitET(
- !foundDecentralizedNamespaceWithSameNamespace,
- NamespaceAlreadyInUse(toValidate.mapping.namespace),
- )
- }
- }
- }
-
- checkNoClashWithDecentralizedNamespaces()
+ checkThreshold.flatMap(_ => checkPartiesAreKnown())
}
}
diff --git a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/tracing/TracedScaffeine.scala b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/tracing/TracedScaffeine.scala
index 3dcc9e9dcf..18ca2850e1 100644
--- a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/tracing/TracedScaffeine.scala
+++ b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/tracing/TracedScaffeine.scala
@@ -6,6 +6,7 @@ package com.digitalasset.canton.tracing
import com.daml.scalautil.Statement.discard
import com.digitalasset.canton.concurrent.DirectExecutionContext
import com.digitalasset.canton.lifecycle.FutureUnlessShutdown
+import com.digitalasset.canton.lifecycle.FutureUnlessShutdownImpl.AbortedDueToShutdownException
import com.digitalasset.canton.logging.TracedLogger
import com.github.blemale.scaffeine.{AsyncLoadingCache, Scaffeine}
@@ -74,10 +75,8 @@ class TracedAsyncLoadingCache[K, V](
)(tracedLogger: TracedLogger) {
implicit private[this] val ec: ExecutionContext = DirectExecutionContext(tracedLogger)
- /*
- * See com.github.blemale.scaffeine.AsyncLoadingCache.get
- * If shutting down the future returned will be failed with a AbortedDueToShutdownException
- */
+ /** @see com.github.blemale.scaffeine.AsyncLoadingCache.get
+ */
def get(key: K)(implicit traceContext: TraceContext): Future[V] =
underlying.get(TracedKey(key)(traceContext))
@@ -86,14 +85,12 @@ class TracedAsyncLoadingCache[K, V](
discard(underlying.synchronous().asMap().filterInPlace((t, v) => !filter(t.key, v)))
}
- def getUS(key: K)(implicit traceContext: TraceContext): FutureUnlessShutdown[V] =
+ def getUS(key: K)(implicit traceContext: TraceContext): FutureUnlessShutdown[V] = {
FutureUnlessShutdown.transformAbortedF(get(key))
+ }
- /*
- * See com.github.blemale.scaffeine.AsyncLoadingCache.getAll
- * If shutting down the future returned will be failed with a AbortedDueToShutdownException wrapped inside
- * a java.util.concurrent.CompletionException
- */
+ /** @see com.github.blemale.scaffeine.AsyncLoadingCache.getAll
+ */
def getAll(keys: Iterable[K])(implicit traceContext: TraceContext): Future[Map[K, V]] =
underlying
.getAll(keys.map(TracedKey(_)(traceContext)))
@@ -101,9 +98,16 @@ class TracedAsyncLoadingCache[K, V](
def getAllUS(
keys: Iterable[K]
- )(implicit traceContext: TraceContext): FutureUnlessShutdown[Map[K, V]] = {
- FutureUnlessShutdown.transformAbortedF(getAll(keys))
- }
+ )(implicit traceContext: TraceContext): FutureUnlessShutdown[Map[K, V]] =
+ try
+ FutureUnlessShutdown.outcomeF(
+ underlying
+ .getAll(keys.map(TracedKey(_)(traceContext)))
+ .map(_.map { case (tracedKey, value) => tracedKey.key -> value })(ec)
+ )
+ catch {
+ case _: AbortedDueToShutdownException => FutureUnlessShutdown.abortedDueToShutdown
+ }
override def toString = s"TracedAsyncLoadingCache($underlying)"
}
diff --git a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/util/LfTransactionUtil.scala b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/util/LfTransactionUtil.scala
index 9cca6be3b0..d48d4e71fd 100644
--- a/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/util/LfTransactionUtil.scala
+++ b/sdk/canton/community/base/src/main/scala/com/digitalasset/canton/util/LfTransactionUtil.scala
@@ -4,9 +4,9 @@
package com.digitalasset.canton.util
import cats.{Monad, Order}
-import com.daml.lf.data.*
-import com.daml.lf.transaction.TransactionVersion
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.data.*
+import com.digitalasset.daml.lf.transaction.TransactionVersion
+import com.digitalasset.daml.lf.value.Value
import com.digitalasset.canton.LfPartyId
import com.digitalasset.canton.protocol.*
@@ -61,7 +61,7 @@ object LfTransactionUtil {
case n: LfNodeLookupByKey => n.result
}
- /** All contract IDs referenced with a Daml `com.daml.lf.value.Value` */
+ /** All contract IDs referenced with a Daml `com.digitalasset.daml.lf.value.Value` */
def referencedContractIds(value: Value): Set[LfContractId] = value.cids
/** Whether or not a node has a random seed */
@@ -106,7 +106,7 @@ object LfTransactionUtil {
/** Monadic visit to all nodes of the transaction in execution order.
* Exercise nodes are visited twice: when execution reaches them and when execution leaves their body.
- * Crashes on malformed transactions (see `com.daml.lf.transaction.GenTransaction.isWellFormed`)
+ * Crashes on malformed transactions (see `com.digitalasset.daml.lf.transaction.GenTransaction.isWellFormed`)
*/
@nowarn("msg=match may not be exhaustive")
def foldExecutionOrderM[F[_], A](tx: LfTransaction, initial: A)(
diff --git a/sdk/canton/community/common/src/main/daml/CantonExamples/daml.yaml b/sdk/canton/community/common/src/main/daml/CantonExamples/daml.yaml
index 7dabd20b59..ad8a8da17a 100644
--- a/sdk/canton/community/common/src/main/daml/CantonExamples/daml.yaml
+++ b/sdk/canton/community/common/src/main/daml/CantonExamples/daml.yaml
@@ -1,4 +1,4 @@
-sdk-version: 3.1.0-snapshot.20240620.13140.0.v996a1164
+sdk-version: 3.1.0-snapshot.20240613.13124.0.v24e0f5e8
build-options:
- --target=2.1
name: CantonExamples
diff --git a/sdk/canton/community/common/src/main/resources/db/migration/canton/h2/stable/V1_1__initial.sql b/sdk/canton/community/common/src/main/resources/db/migration/canton/h2/stable/V1_1__initial.sql
index 191b97b811..25bcea71c8 100644
--- a/sdk/canton/community/common/src/main/resources/db/migration/canton/h2/stable/V1_1__initial.sql
+++ b/sdk/canton/community/common/src/main/resources/db/migration/canton/h2/stable/V1_1__initial.sql
@@ -650,9 +650,9 @@ create table sequencer_lower_bound (
create table sequencer_events (
ts bigint primary key,
node_index smallint not null,
- -- single char to indicate the event type: D for deliver event, E for deliver error, R for deliver receipt
+ -- single char to indicate the event type: D for deliver event, E for deliver error
event_type char(1) not null
- constraint event_type_enum check (event_type IN ('D', 'E', 'R')),
+ constraint event_type_enum check (event_type = 'D' or event_type = 'E'),
message_id varchar null,
sender integer null,
-- null if event goes to everyone, otherwise specify member ids of recipients
@@ -921,8 +921,6 @@ create table seq_traffic_control_consumed_journal (
extra_traffic_consumed bigint not null,
-- base traffic remainder at sequencing_timestamp
base_traffic_remainder bigint not null,
- -- the last cost consumed at sequencing_timestamp
- last_consumed_cost bigint not null,
-- traffic entries have a unique sequencing_timestamp per member
primary key (member, sequencing_timestamp)
);
diff --git a/sdk/canton/community/common/src/main/resources/db/migration/canton/h2/stable/V2__lapi_3.0.sha256 b/sdk/canton/community/common/src/main/resources/db/migration/canton/h2/stable/V2__lapi_3.0.sha256
index 033aefc9ac..e36b96aa94 100644
--- a/sdk/canton/community/common/src/main/resources/db/migration/canton/h2/stable/V2__lapi_3.0.sha256
+++ b/sdk/canton/community/common/src/main/resources/db/migration/canton/h2/stable/V2__lapi_3.0.sha256
@@ -1 +1 @@
-1923effb9fa5d583e6c188f401e708a5e9c03b725ed988d0928a0b61660854a2
+8347bf5092167e6a3df9d8f3cf1d0054a779e272589f7c0f3aad50cca8f8736a
diff --git a/sdk/canton/community/common/src/main/resources/db/migration/canton/h2/stable/V2__lapi_3.0.sql b/sdk/canton/community/common/src/main/resources/db/migration/canton/h2/stable/V2__lapi_3.0.sql
index 7d59c1beff..bbc4bd3eb4 100644
--- a/sdk/canton/community/common/src/main/resources/db/migration/canton/h2/stable/V2__lapi_3.0.sql
+++ b/sdk/canton/community/common/src/main/resources/db/migration/canton/h2/stable/V2__lapi_3.0.sql
@@ -81,8 +81,7 @@ CREATE TABLE lapi_command_completions (
trace_context BINARY LARGE OBJECT
);
-CREATE INDEX lapi_command_completions_application_id_offset_idx ON lapi_command_completions USING btree (application_id, completion_offset);
-CREATE INDEX lapi_command_completions_offset_idx ON lapi_command_completions USING btree (completion_offset);
+CREATE INDEX lapi__command_completions_application_id_offset_idx ON lapi_command_completions USING btree (application_id, completion_offset);
---------------------------------------------------------------------------------------------------
-- Events: create
diff --git a/sdk/canton/community/common/src/main/resources/db/migration/canton/postgres/stable/V1_1__initial.sql b/sdk/canton/community/common/src/main/resources/db/migration/canton/postgres/stable/V1_1__initial.sql
index d227fdf5e1..f1027da3ff 100644
--- a/sdk/canton/community/common/src/main/resources/db/migration/canton/postgres/stable/V1_1__initial.sql
+++ b/sdk/canton/community/common/src/main/resources/db/migration/canton/postgres/stable/V1_1__initial.sql
@@ -673,9 +673,9 @@ create table sequencer_lower_bound (
create table sequencer_events (
ts bigint primary key,
node_index smallint not null,
- -- single char to indicate the event type: D for deliver event, E for deliver error, R for deliver receipt
+ -- single char to indicate the event type: D for deliver event, E for deliver error
event_type char(1) not null
- constraint event_type_enum check (event_type IN ('D', 'E', 'R')),
+ constraint event_type_enum check (event_type = 'D' or event_type = 'E'),
message_id varchar(300) collate "C" null,
sender integer null,
-- null if event goes to everyone, otherwise specify member ids of recipients
@@ -935,8 +935,6 @@ create table seq_traffic_control_consumed_journal (
extra_traffic_consumed bigint not null,
-- base traffic remainder at sequencing_timestamp
base_traffic_remainder bigint not null,
- -- the last cost consumed at sequencing_timestamp
- last_consumed_cost bigint not null,
-- traffic entries have a unique sequencing_timestamp per member
primary key (member, sequencing_timestamp)
);
diff --git a/sdk/canton/community/common/src/main/resources/db/migration/canton/postgres/stable/V1_2__initial_views.sha256 b/sdk/canton/community/common/src/main/resources/db/migration/canton/postgres/stable/V1_2__initial_views.sha256
index 27ad6db2b7..d00f26676b 100644
--- a/sdk/canton/community/common/src/main/resources/db/migration/canton/postgres/stable/V1_2__initial_views.sha256
+++ b/sdk/canton/community/common/src/main/resources/db/migration/canton/postgres/stable/V1_2__initial_views.sha256
@@ -1 +1 @@
-1f50894cad8a5ce3e65f5e6b0a48484d2cf0cd7cc354fc6b0aa9cdda97d9e6d3
+22559de6824376d64006305601db270b57afafb1eccc05e041e55bf3cb858e30
diff --git a/sdk/canton/community/common/src/main/resources/db/migration/canton/postgres/stable/V1_2__initial_views.sql b/sdk/canton/community/common/src/main/resources/db/migration/canton/postgres/stable/V1_2__initial_views.sql
index 3688421a73..dccdae8292 100644
--- a/sdk/canton/community/common/src/main/resources/db/migration/canton/postgres/stable/V1_2__initial_views.sql
+++ b/sdk/canton/community/common/src/main/resources/db/migration/canton/postgres/stable/V1_2__initial_views.sql
@@ -669,8 +669,7 @@ create or replace view debug.seq_traffic_control_consumed_journal as
member,
debug.canton_timestamp(sequencing_timestamp) as sequencing_timestamp,
extra_traffic_consumed,
- base_traffic_remainder,
- last_consumed_cost
+ base_traffic_remainder
from seq_traffic_control_consumed_journal;
create or replace view debug.seq_traffic_control_initial_timestamp as
diff --git a/sdk/canton/community/common/src/main/resources/db/migration/canton/postgres/stable/V2_0__lapi_3.0.sha256 b/sdk/canton/community/common/src/main/resources/db/migration/canton/postgres/stable/V2_0__lapi_3.0.sha256
index e29ee521bb..af6ab36f0e 100644
--- a/sdk/canton/community/common/src/main/resources/db/migration/canton/postgres/stable/V2_0__lapi_3.0.sha256
+++ b/sdk/canton/community/common/src/main/resources/db/migration/canton/postgres/stable/V2_0__lapi_3.0.sha256
@@ -1 +1 @@
-d1c0b524698a1e1249785b0fe973f21f5542020215b49c4012bd774e310fb82e
+f4d58cc709e08a2081d761637ea8d27393decb4ed1a6f4ee8ecf4843a838eab0
diff --git a/sdk/canton/community/common/src/main/resources/db/migration/canton/postgres/stable/V2_0__lapi_3.0.sql b/sdk/canton/community/common/src/main/resources/db/migration/canton/postgres/stable/V2_0__lapi_3.0.sql
index 73a3bc78b0..55665e5d63 100644
--- a/sdk/canton/community/common/src/main/resources/db/migration/canton/postgres/stable/V2_0__lapi_3.0.sql
+++ b/sdk/canton/community/common/src/main/resources/db/migration/canton/postgres/stable/V2_0__lapi_3.0.sql
@@ -100,7 +100,6 @@ CREATE TABLE lapi_command_completions (
);
CREATE INDEX lapi_command_completions_application_id_offset_idx ON lapi_command_completions USING btree (application_id, completion_offset);
-CREATE INDEX lapi_command_completions_offset_idx ON lapi_command_completions USING btree (completion_offset);
---------------------------------------------------------------------------------------------------
-- Events: Assign
diff --git a/sdk/canton/community/common/src/main/scala/com/daml/lf/CantonOnly.scala b/sdk/canton/community/common/src/main/scala/com/daml/lf/CantonOnly.scala
index 435557ddf2..bb85c78aed 100644
--- a/sdk/canton/community/common/src/main/scala/com/daml/lf/CantonOnly.scala
+++ b/sdk/canton/community/common/src/main/scala/com/daml/lf/CantonOnly.scala
@@ -1,20 +1,20 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
-import com.daml.lf.data.ImmArray
-import com.daml.lf.data.Ref.PackageId
-import com.daml.lf.language.{Ast, LanguageMajorVersion}
-import com.daml.lf.speedy.Compiler
-import com.daml.lf.transaction.{
+import com.digitalasset.daml.lf.data.ImmArray
+import com.digitalasset.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.language.{Ast, LanguageMajorVersion}
+import com.digitalasset.daml.lf.speedy.Compiler
+import com.digitalasset.daml.lf.transaction.{
Node,
NodeId,
TransactionCoder,
TransactionOuterClass,
TransactionVersion,
}
-import com.daml.lf.value.ValueCoder
+import com.digitalasset.daml.lf.value.ValueCoder
import com.digitalasset.canton.protocol.{
LfNode,
LfNodeId,
diff --git a/sdk/canton/community/common/src/main/scala/com/digitalasset/canton/data/TransactionViewDecompositionFactory.scala b/sdk/canton/community/common/src/main/scala/com/digitalasset/canton/data/TransactionViewDecompositionFactory.scala
index 019fb7f70c..4fa85075c9 100644
--- a/sdk/canton/community/common/src/main/scala/com/digitalasset/canton/data/TransactionViewDecompositionFactory.scala
+++ b/sdk/canton/community/common/src/main/scala/com/digitalasset/canton/data/TransactionViewDecompositionFactory.scala
@@ -6,7 +6,7 @@ package com.digitalasset.canton.data
import cats.data.Chain
import cats.syntax.functor.*
import cats.syntax.functorFilter.*
-import com.daml.lf.transaction.NodeId
+import com.digitalasset.daml.lf.transaction.NodeId
import com.digitalasset.canton.LfPartyId
import com.digitalasset.canton.config.RequireTypes.{NonNegativeInt, PositiveInt}
import com.digitalasset.canton.data.TransactionViewDecomposition.{NewView, SameView}
diff --git a/sdk/canton/community/common/src/main/scala/com/digitalasset/canton/protocol/PackageInfoService.scala b/sdk/canton/community/common/src/main/scala/com/digitalasset/canton/protocol/PackageInfoService.scala
index bb13212cb4..35633cf996 100644
--- a/sdk/canton/community/common/src/main/scala/com/digitalasset/canton/protocol/PackageInfoService.scala
+++ b/sdk/canton/community/common/src/main/scala/com/digitalasset/canton/protocol/PackageInfoService.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.protocol
-import com.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.data.Ref.PackageId
import com.digitalasset.canton.LfPackageId
import com.digitalasset.canton.config.CantonRequireTypes.String255
import com.digitalasset.canton.data.CantonTimestamp
diff --git a/sdk/canton/community/common/src/main/scala/com/digitalasset/canton/protocol/TransactionMetadata.scala b/sdk/canton/community/common/src/main/scala/com/digitalasset/canton/protocol/TransactionMetadata.scala
index 65006704aa..6e31d8ceb4 100644
--- a/sdk/canton/community/common/src/main/scala/com/digitalasset/canton/protocol/TransactionMetadata.scala
+++ b/sdk/canton/community/common/src/main/scala/com/digitalasset/canton/protocol/TransactionMetadata.scala
@@ -3,10 +3,10 @@
package com.digitalasset.canton.protocol
-import com.daml.lf.crypto
-import com.daml.lf.data.{ImmArray, Time}
-import com.daml.lf.transaction.NodeId
-import com.daml.lf.transaction.Transaction.Metadata
+import com.digitalasset.daml.lf.crypto
+import com.digitalasset.daml.lf.data.{ImmArray, Time}
+import com.digitalasset.daml.lf.transaction.NodeId
+import com.digitalasset.daml.lf.transaction.Transaction.Metadata
import com.digitalasset.canton.data.CantonTimestamp
/** Collects the metadata of a LF transaction to the extent that is needed in Canton
diff --git a/sdk/canton/community/common/src/main/scala/com/digitalasset/canton/protocol/WellFormedTransaction.scala b/sdk/canton/community/common/src/main/scala/com/digitalasset/canton/protocol/WellFormedTransaction.scala
index 82b2108da7..686d994978 100644
--- a/sdk/canton/community/common/src/main/scala/com/digitalasset/canton/protocol/WellFormedTransaction.scala
+++ b/sdk/canton/community/common/src/main/scala/com/digitalasset/canton/protocol/WellFormedTransaction.scala
@@ -7,7 +7,7 @@ import cats.data.{NonEmptyChain, Validated}
import cats.syntax.either.*
import cats.syntax.foldable.*
import cats.syntax.functor.*
-import com.daml.lf.data.ImmArray
+import com.digitalasset.daml.lf.data.ImmArray
import com.daml.nonempty.NonEmpty
import com.digitalasset.canton.data.ActionDescription
import com.digitalasset.canton.protocol.RollbackContext.{RollbackScope, RollbackSibling}
@@ -26,7 +26,7 @@ import scala.collection.mutable
* every non-root node has exactly one parent and is reachable from a root node. (No cycles, no sharing, no orphaned node).
* All node Ids are non-negative.
* The type parameter `S` determines whether all create nodes have suffixed IDs or none.
- * Create nodes have unique contract ids of shape `com.daml.lf.value.Value.ContractId.V1`.
+ * Create nodes have unique contract ids of shape `com.digitalasset.daml.lf.value.Value.ContractId.V1`.
* The contract id of a create node is not referenced before the node.
* The contract id of a rolled back create node is not referenced outside its rollback scope.
* The discriminators of create nodes without suffixed contract ids are unique among all discriminators that appear in the transaction.
diff --git a/sdk/canton/community/common/src/main/scala/com/digitalasset/canton/protocol/messages/TransactionConfirmationRequest.scala b/sdk/canton/community/common/src/main/scala/com/digitalasset/canton/protocol/messages/TransactionConfirmationRequest.scala
index c44b86549d..8dec8307e2 100644
--- a/sdk/canton/community/common/src/main/scala/com/digitalasset/canton/protocol/messages/TransactionConfirmationRequest.scala
+++ b/sdk/canton/community/common/src/main/scala/com/digitalasset/canton/protocol/messages/TransactionConfirmationRequest.scala
@@ -12,6 +12,7 @@ import com.digitalasset.canton.sequencing.protocol.{
Batch,
MediatorGroupRecipient,
OpenEnvelope,
+ ParticipantsOfParty,
Recipients,
}
import com.digitalasset.canton.topology.client.TopologySnapshot
@@ -56,13 +57,32 @@ final case class TransactionConfirmationRequest(
val rootHashMessageEnvelopes =
NonEmpty.from(recipientsOfRootHashMessage) match {
case Some(recipientsNE) =>
- val groupsWithMediator = recipientsNE.map(NonEmpty(Set, _, mediator))
- val rootHashMessageEnvelope = OpenEnvelope(
- rootHashMessage(ipsSnapshot.timestamp),
- Recipients.recipientGroups(groupsWithMediator),
- )(protocolVersion)
-
- List(rootHashMessageEnvelope)
+ // TODO(#13883) Use BCC also for group addresses
+ // val groupsWithMediator =
+ // recipientsOfRootHashMessage.map(recipient => NonEmpty(Set, recipient, mediatorRecipient))
+ // val rootHashMessageEnvelope = OpenEnvelope(
+ // rootHashMessage,
+ // Recipients.recipientGroups(NonEmptyUtil.fromUnsafe(groupsWithMediator)),
+ // )(protocolVersion)
+ val groupAddressing = recipientsOfRootHashMessage.exists {
+ case ParticipantsOfParty(_) => true
+ case _ => false
+ }
+ // if using group addressing, we just place all recipients in one group instead of separately as before (it was separate for legacy reasons)
+ val rootHashMessageRecipients =
+ if (groupAddressing)
+ Recipients.recipientGroups(
+ NonEmpty.mk(Seq, recipientsNE.toSet ++ Seq(mediator))
+ )
+ else
+ Recipients.recipientGroups(
+ recipientsNE.map(NonEmpty.mk(Set, _, mediator))
+ )
+ List(
+ OpenEnvelope(rootHashMessage(ipsSnapshot.timestamp), rootHashMessageRecipients)(
+ protocolVersion
+ )
+ )
case None =>
loggingContext.warn("Confirmation request without root hash message recipients")
List.empty
diff --git a/sdk/canton/community/common/src/main/scala/com/digitalasset/canton/topology/QueueBasedDomainOutbox.scala b/sdk/canton/community/common/src/main/scala/com/digitalasset/canton/topology/QueueBasedDomainOutbox.scala
index 8ffa39d479..3c32c464f4 100644
--- a/sdk/canton/community/common/src/main/scala/com/digitalasset/canton/topology/QueueBasedDomainOutbox.scala
+++ b/sdk/canton/community/common/src/main/scala/com/digitalasset/canton/topology/QueueBasedDomainOutbox.scala
@@ -117,7 +117,7 @@ class QueueBasedDomainOutbox(
private def hasUnsentTransactions: Boolean = domainOutboxQueue.numUnsentTransactions > 0
- def newTransactionsAdded(
+ def newTransactionsAddedToAuthorizedStore(
asOf: CantonTimestamp,
num: Int,
): FutureUnlessShutdown[Unit] = {
diff --git a/sdk/canton/community/common/src/main/scala/com/digitalasset/canton/topology/StoreBasedDomainOutbox.scala b/sdk/canton/community/common/src/main/scala/com/digitalasset/canton/topology/StoreBasedDomainOutbox.scala
index 0643a01c3f..a636bdcf9d 100644
--- a/sdk/canton/community/common/src/main/scala/com/digitalasset/canton/topology/StoreBasedDomainOutbox.scala
+++ b/sdk/canton/community/common/src/main/scala/com/digitalasset/canton/topology/StoreBasedDomainOutbox.scala
@@ -162,7 +162,7 @@ class StoreBasedDomainOutbox(
final def queueSize: Int = watermarks.get().queuedApprox
- final def newTransactionsAdded(
+ final def newTransactionsAddedToAuthorizedStore(
asOf: CantonTimestamp,
num: Int,
): FutureUnlessShutdown[Unit] = {
@@ -375,7 +375,7 @@ abstract class DomainOutbox extends DomainOutboxHandle {
def targetClient: DomainTopologyClientWithInit
- def newTransactionsAdded(
+ def newTransactionsAddedToAuthorizedStore(
asOf: CantonTimestamp,
num: Int,
): FutureUnlessShutdown[Unit]
@@ -396,7 +396,7 @@ class DomainOutboxDynamicObserver(val loggerFactory: NamedLoggerFactory)
transactions: Seq[SignedTopologyTransaction[TopologyChangeOp, TopologyMapping]],
)(implicit traceContext: TraceContext): FutureUnlessShutdown[Unit] = {
outboxRef.get.fold(FutureUnlessShutdown.unit)(
- _.newTransactionsAdded(timestamp, transactions.size)
+ _.newTransactionsAddedToAuthorizedStore(timestamp, transactions.size)
)
}
diff --git a/sdk/canton/community/common/src/main/scala/com/digitalasset/canton/util/DamlPackageLoader.scala b/sdk/canton/community/common/src/main/scala/com/digitalasset/canton/util/DamlPackageLoader.scala
index 1fc43dc4e2..a2bcb5b1a3 100644
--- a/sdk/canton/community/common/src/main/scala/com/digitalasset/canton/util/DamlPackageLoader.scala
+++ b/sdk/canton/community/common/src/main/scala/com/digitalasset/canton/util/DamlPackageLoader.scala
@@ -4,9 +4,9 @@
package com.digitalasset.canton.util
import cats.implicits.*
-import com.daml.lf.archive.{DarDecoder, DarReader}
-import com.daml.lf.data.Ref
-import com.daml.lf.language.Ast
+import com.digitalasset.daml.lf.archive.{DarDecoder, DarReader}
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.language.Ast
import com.google.protobuf.ByteString
import java.io.{ByteArrayInputStream, File, InputStream}
diff --git a/sdk/canton/community/common/src/main/scala/com/digitalasset/canton/version/DamlLfVersionToProtocolVersions.scala b/sdk/canton/community/common/src/main/scala/com/digitalasset/canton/version/DamlLfVersionToProtocolVersions.scala
index 9033034ca4..004ac3441b 100644
--- a/sdk/canton/community/common/src/main/scala/com/digitalasset/canton/version/DamlLfVersionToProtocolVersions.scala
+++ b/sdk/canton/community/common/src/main/scala/com/digitalasset/canton/version/DamlLfVersionToProtocolVersions.scala
@@ -3,8 +3,8 @@
package com.digitalasset.canton.version
-import com.daml.lf.transaction.TransactionVersion
-import com.daml.lf.transaction.TransactionVersion.*
+import com.digitalasset.daml.lf.transaction.TransactionVersion
+import com.digitalasset.daml.lf.transaction.TransactionVersion.*
import scala.collection.immutable.SortedMap
import scala.math.Ordered.orderingToOrdered
diff --git a/sdk/canton/community/common/src/test/java/com/digitalasset/canton/sequencing/protocol/RecipientsTreeTest.scala b/sdk/canton/community/common/src/test/java/com/digitalasset/canton/sequencing/protocol/RecipientsTreeTest.scala
index 7bc3e5ace3..5426326dcc 100644
--- a/sdk/canton/community/common/src/test/java/com/digitalasset/canton/sequencing/protocol/RecipientsTreeTest.scala
+++ b/sdk/canton/community/common/src/test/java/com/digitalasset/canton/sequencing/protocol/RecipientsTreeTest.scala
@@ -19,7 +19,7 @@ class RecipientsTreeTest extends AnyWordSpec with BaseTest {
lazy val p6: Member = ParticipantId("participant6")
lazy val alice = PartyId(UniqueIdentifier.tryFromProtoPrimitive(s"alice::party"))
- lazy val bob = PartyId(UniqueIdentifier.tryFromProtoPrimitive(s"bob::party"))
+ lazy val bob = PartyId(UniqueIdentifier.tryFromProtoPrimitive(s"alice::bob"))
lazy val pop1: ParticipantsOfParty = ParticipantsOfParty(alice)
lazy val pop2: ParticipantsOfParty = ParticipantsOfParty(bob)
@@ -51,16 +51,6 @@ class RecipientsTreeTest extends AnyWordSpec with BaseTest {
t5.forMember(p5, Set(pop1)) shouldBe List(t5)
}
}
-
- "allPaths" should {
- "give all paths within the tree" in {
- t5.allPaths shouldBe Seq(
- Seq(Set(rec(p1), pop1), Set(rec(p4), rec(p2), pop2), Set(rec(p1), rec(p5))),
- Seq(Set(rec(p1), pop1), Set(rec(p4), rec(p2), pop2), Set(rec(p3))),
- Seq(Set(rec(p1), pop1), Set(rec(p2), rec(p6), pop2)),
- )
- }
- }
}
"serialization and deserialization" should {
diff --git a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/ComparesLfTransactions.scala b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/ComparesLfTransactions.scala
index 75939dd90f..e08fd653dd 100644
--- a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/ComparesLfTransactions.scala
+++ b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/ComparesLfTransactions.scala
@@ -4,10 +4,10 @@
package com.digitalasset.canton
import com.daml.ledger.javaapi.data.Identifier
-import com.daml.lf.data.{FrontStack, ImmArray}
-import com.daml.lf.transaction.NodeId
-import com.daml.lf.transaction.test.NodeIdTransactionBuilder
-import com.daml.lf.transaction.test.TransactionBuilder.Implicits.{toIdentifier, toPackageId}
+import com.digitalasset.daml.lf.data.{FrontStack, ImmArray}
+import com.digitalasset.daml.lf.transaction.NodeId
+import com.digitalasset.daml.lf.transaction.test.NodeIdTransactionBuilder
+import com.digitalasset.daml.lf.transaction.test.TransactionBuilder.Implicits.{toIdentifier, toPackageId}
import com.digitalasset.canton.ComparesLfTransactions.TxTree
import com.digitalasset.canton.logging.pretty.PrettyTestInstances.*
import com.digitalasset.canton.logging.pretty.{Pretty, PrettyPrinting}
diff --git a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/DefaultDamlValues.scala b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/DefaultDamlValues.scala
index 66fcf8efe4..0e0f86d8fa 100644
--- a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/DefaultDamlValues.scala
+++ b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/DefaultDamlValues.scala
@@ -4,7 +4,7 @@
package com.digitalasset.canton
import cats.Id
-import com.daml.lf.data.{ImmArray, Ref}
+import com.digitalasset.daml.lf.data.{ImmArray, Ref}
import com.digitalasset.canton.data.DeduplicationPeriod.DeduplicationDuration
import com.digitalasset.canton.protocol.{
LfCommittedTransaction,
diff --git a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/GeneratorsLf.scala b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/GeneratorsLf.scala
index ad36945dc7..a7a37c8e06 100644
--- a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/GeneratorsLf.scala
+++ b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/GeneratorsLf.scala
@@ -3,8 +3,8 @@
package com.digitalasset.canton
-import com.daml.lf.transaction.Versioned
-import com.daml.lf.value.Value.ValueInt64
+import com.digitalasset.daml.lf.transaction.Versioned
+import com.digitalasset.daml.lf.value.Value.ValueInt64
import com.digitalasset.canton.crypto.{Hash, HashAlgorithm, TestHash}
import com.digitalasset.canton.data.CantonTimestamp
import com.digitalasset.canton.protocol.{
diff --git a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/data/ActionDescriptionTest.scala b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/data/ActionDescriptionTest.scala
index fd6f56d5af..22d3164a63 100644
--- a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/data/ActionDescriptionTest.scala
+++ b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/data/ActionDescriptionTest.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.data
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value
import com.digitalasset.canton.data.ActionDescription.*
import com.digitalasset.canton.protocol.*
import com.digitalasset.canton.util.LfTransactionBuilder
diff --git a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/data/DeduplicationPeriodSpec.scala b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/data/DeduplicationPeriodSpec.scala
index c6307ed260..58072273a4 100644
--- a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/data/DeduplicationPeriodSpec.scala
+++ b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/data/DeduplicationPeriodSpec.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.data
-import com.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.data.Time.Timestamp
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
diff --git a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/data/GeneratorsData.scala b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/data/GeneratorsData.scala
index 3e7e01bfb0..fc57333456 100644
--- a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/data/GeneratorsData.scala
+++ b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/data/GeneratorsData.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.data
-import com.daml.lf.value.Value.ValueInt64
+import com.digitalasset.daml.lf.value.Value.ValueInt64
import com.digitalasset.canton.config.RequireTypes.{NonNegativeInt, PositiveInt}
import com.digitalasset.canton.crypto.{GeneratorsCrypto, Salt, TestHash}
import com.digitalasset.canton.data.ActionDescription.{
diff --git a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/data/GeneratorsTrafficData.scala b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/data/GeneratorsTrafficData.scala
index 7b0d3be7b8..b9cc4bca65 100644
--- a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/data/GeneratorsTrafficData.scala
+++ b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/data/GeneratorsTrafficData.scala
@@ -53,14 +53,12 @@ final class GeneratorsTrafficData(
extraTrafficLimit <- Arbitrary.arbitrary[NonNegativeLong]
extraTrafficConsumed <- Arbitrary.arbitrary[NonNegativeLong]
baseTrafficRemainder <- Arbitrary.arbitrary[NonNegativeLong]
- lastConsumedCost <- Arbitrary.arbitrary[NonNegativeLong]
timestamp <- Arbitrary.arbitrary[CantonTimestamp]
serial <- Arbitrary.arbitrary[Option[PositiveInt]]
} yield TrafficState(
extraTrafficLimit,
extraTrafficConsumed,
baseTrafficRemainder,
- lastConsumedCost,
timestamp,
serial,
)
diff --git a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/data/TransactionViewDecompositionTest.scala b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/data/TransactionViewDecompositionTest.scala
index 387aad9863..3029706faf 100644
--- a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/data/TransactionViewDecompositionTest.scala
+++ b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/data/TransactionViewDecompositionTest.scala
@@ -3,9 +3,9 @@
package com.digitalasset.canton.data
-import com.daml.lf.transaction.test.TestNodeBuilder.CreateKey
-import com.daml.lf.transaction.test.TreeTransactionBuilder.NodeWrapper
-import com.daml.lf.transaction.test.{TestIdFactory, TestNodeBuilder, TreeTransactionBuilder}
+import com.digitalasset.daml.lf.transaction.test.TestNodeBuilder.CreateKey
+import com.digitalasset.daml.lf.transaction.test.TreeTransactionBuilder.NodeWrapper
+import com.digitalasset.daml.lf.transaction.test.{TestIdFactory, TestNodeBuilder, TreeTransactionBuilder}
import com.digitalasset.canton.config.RequireTypes.{NonNegativeInt, PositiveInt}
import com.digitalasset.canton.data.TransactionViewDecomposition.*
import com.digitalasset.canton.protocol.RollbackContext.{RollbackScope, RollbackSibling}
@@ -115,7 +115,7 @@ class TransactionViewDecompositionTest
"a transaction with nested rollbacks" can {
import RollbackDecomposition.*
- import com.daml.lf.transaction.test.TreeTransactionBuilder.*
+ import com.digitalasset.daml.lf.transaction.test.TreeTransactionBuilder.*
object tif extends TestIdFactory
diff --git a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/data/TransactionViewTest.scala b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/data/TransactionViewTest.scala
index dfb6cd1115..8388a30be2 100644
--- a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/data/TransactionViewTest.scala
+++ b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/data/TransactionViewTest.scala
@@ -4,7 +4,7 @@
package com.digitalasset.canton.data
import cats.syntax.either.*
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value
import com.digitalasset.canton.crypto.{HashOps, Salt, TestSalt}
import com.digitalasset.canton.data.ViewParticipantData.InvalidViewParticipantData
import com.digitalasset.canton.protocol.*
diff --git a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/ledger/offset/GeneratorsOffset.scala b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/ledger/offset/GeneratorsOffset.scala
index 030ca5e5de..2a25c2ad2b 100644
--- a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/ledger/offset/GeneratorsOffset.scala
+++ b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/ledger/offset/GeneratorsOffset.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.ledger.offset
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.data.Offset
import org.scalacheck.{Arbitrary, Gen}
diff --git a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/protocol/ExampleTransactionFactory.scala b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/protocol/ExampleTransactionFactory.scala
index 9378137bac..077f479040 100644
--- a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/protocol/ExampleTransactionFactory.scala
+++ b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/protocol/ExampleTransactionFactory.scala
@@ -6,11 +6,11 @@ package com.digitalasset.canton.protocol
import cats.syntax.functor.*
import cats.syntax.functorFilter.*
import cats.syntax.option.*
-import com.daml.lf.data.Ref.PackageId
-import com.daml.lf.data.{Bytes, ImmArray}
-import com.daml.lf.transaction.Versioned
-import com.daml.lf.value.Value
-import com.daml.lf.value.Value.{
+import com.digitalasset.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.data.{Bytes, ImmArray}
+import com.digitalasset.daml.lf.transaction.Versioned
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value.{
ValueContractId,
ValueOptional,
ValueRecord,
diff --git a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/protocol/GeneratorsProtocol.scala b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/protocol/GeneratorsProtocol.scala
index 633990c1a1..ffb21244bb 100644
--- a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/protocol/GeneratorsProtocol.scala
+++ b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/protocol/GeneratorsProtocol.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.protocol
-import com.daml.lf.transaction.Versioned
+import com.digitalasset.daml.lf.transaction.Versioned
import com.digitalasset.canton.LfPartyId
import com.digitalasset.canton.config.RequireTypes.{NonNegativeInt, PositiveInt}
import com.digitalasset.canton.crypto.*
diff --git a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/protocol/SerializableContractTest.scala b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/protocol/SerializableContractTest.scala
index 4ad1f1d742..023ca8695b 100644
--- a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/protocol/SerializableContractTest.scala
+++ b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/protocol/SerializableContractTest.scala
@@ -3,8 +3,8 @@
package com.digitalasset.canton.protocol
-import com.daml.lf.data.{Bytes, Ref}
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.data.{Bytes, Ref}
+import com.digitalasset.daml.lf.value.Value
import com.digitalasset.canton.crypto.{Hash, HashAlgorithm, TestHash, TestSalt}
import com.digitalasset.canton.data.{CantonTimestamp, ProcessedDisclosedContract}
import com.digitalasset.canton.protocol.SerializableContract.LedgerCreateTime
diff --git a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/protocol/SerializableRawContractInstanceTest.scala b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/protocol/SerializableRawContractInstanceTest.scala
index 863d06c78a..3ee7bf1230 100644
--- a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/protocol/SerializableRawContractInstanceTest.scala
+++ b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/protocol/SerializableRawContractInstanceTest.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.protocol
-import com.daml.lf.value.ValueCoder
+import com.digitalasset.daml.lf.value.ValueCoder
import com.digitalasset.canton.BaseTest
import com.digitalasset.canton.serialization.HasCryptographicEvidenceTest
import com.google.protobuf.ByteString
diff --git a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/protocol/WellFormedTransactionMergeTest.scala b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/protocol/WellFormedTransactionMergeTest.scala
index e105acb6ce..9af3c4d1d8 100644
--- a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/protocol/WellFormedTransactionMergeTest.scala
+++ b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/protocol/WellFormedTransactionMergeTest.scala
@@ -4,8 +4,8 @@
package com.digitalasset.canton.protocol
import com.daml.ledger.javaapi.data.Identifier
-import com.daml.lf.transaction.test.TestNodeBuilder.CreateKey
-import com.daml.lf.transaction.test.{TestNodeBuilder, TransactionBuilder}
+import com.digitalasset.daml.lf.transaction.test.TestNodeBuilder.CreateKey
+import com.digitalasset.daml.lf.transaction.test.{TestNodeBuilder, TransactionBuilder}
import com.daml.nonempty.NonEmpty
import com.digitalasset.canton.ComparesLfTransactions.{TxTree, buildLfTransaction}
import com.digitalasset.canton.config.RequireTypes.PositiveInt
@@ -70,7 +70,7 @@ class WellFormedTransactionMergeTest
arg = args(
LfValue.ValueParty(alice.toLf),
LfValue.ValueParty(alice.toLf),
- args(LfValue.ValueNumeric(com.daml.lf.data.Numeric.assertFromString("0.0"))),
+ args(LfValue.ValueNumeric(com.digitalasset.daml.lf.data.Numeric.assertFromString("0.0"))),
),
)
),
@@ -324,7 +324,7 @@ class WellFormedTransactionMergeTest
args(
LfValue.ValueParty(lfPayer),
LfValue.ValueParty(lfOwner),
- args(LfValue.ValueNumeric(com.daml.lf.data.Numeric.assertFromString("0.0"))),
+ args(LfValue.ValueNumeric(com.digitalasset.daml.lf.data.Numeric.assertFromString("0.0"))),
valueList(lfObservers.map(LfValue.ValueParty)),
)
case _ => arg
diff --git a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/protocol/WellFormedTransactionTest.scala b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/protocol/WellFormedTransactionTest.scala
index ef556e23bb..8f321205e0 100644
--- a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/protocol/WellFormedTransactionTest.scala
+++ b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/protocol/WellFormedTransactionTest.scala
@@ -3,8 +3,8 @@
package com.digitalasset.canton.protocol
-import com.daml.lf.data.ImmArray
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.data.ImmArray
+import com.digitalasset.daml.lf.value.Value
import com.digitalasset.canton.protocol.ExampleTransactionFactory.*
import com.digitalasset.canton.protocol.WellFormedTransaction.{State, WithSuffixes, WithoutSuffixes}
import com.digitalasset.canton.{BaseTest, HasExecutionContext, LfPackageName, LfPartyId}
diff --git a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/protocol/messages/TopologyTransactionTest.scala b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/protocol/messages/TopologyTransactionTest.scala
index 4ddfdc4845..5366767f26 100644
--- a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/protocol/messages/TopologyTransactionTest.scala
+++ b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/protocol/messages/TopologyTransactionTest.scala
@@ -91,7 +91,7 @@ class TopologyTransactionTest extends AnyWordSpec with BaseTest with HasCryptogr
"party to participant" should {
val p1 =
mk(
- PartyToParticipant.tryCreate(
+ PartyToParticipant(
PartyId(uid),
None,
PositiveInt.one,
@@ -102,12 +102,12 @@ class TopologyTransactionTest extends AnyWordSpec with BaseTest with HasCryptogr
val p2 =
mk(
- PartyToParticipant.tryCreate(
+ PartyToParticipant(
PartyId(uid),
Some(domainId),
PositiveInt.two,
Seq(
- HostingParticipant(ParticipantId(uid2), ParticipantPermission.Confirmation),
+ HostingParticipant(ParticipantId(uid2), ParticipantPermission.Observation),
HostingParticipant(ParticipantId(uid), ParticipantPermission.Submission),
),
groupAddressing = true,
diff --git a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/sequencing/client/SequencerClientTest.scala b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/sequencing/client/SequencerClientTest.scala
index f98fbbfe37..a7070dedfb 100644
--- a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/sequencing/client/SequencerClientTest.scala
+++ b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/sequencing/client/SequencerClientTest.scala
@@ -789,7 +789,6 @@ class SequencerClientTest
CantonTimestamp.MinValue.immediateSuccessor,
trafficReceipt.extraTrafficConsumed,
trafficReceipt.baseTrafficRemainder,
- trafficReceipt.consumedCost,
)
}
@@ -839,7 +838,6 @@ class SequencerClientTest
CantonTimestamp.MinValue.immediateSuccessor,
trafficReceipt.extraTrafficConsumed,
trafficReceipt.baseTrafficRemainder,
- trafficReceipt.consumedCost,
)
}
@@ -1154,7 +1152,6 @@ class SequencerClientTest
extraTrafficConsumed =
NonNegativeLong.tryCreate(Math.abs(request.timestamp.toProtoPrimitive)),
baseTrafficRemainder = NonNegativeLong.zero,
- lastConsumedCost = NonNegativeLong.zero,
timestamp = request.timestamp,
serial = None,
)
diff --git a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/topology/client/IdentityProvidingServiceClientTest.scala b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/topology/client/IdentityProvidingServiceClientTest.scala
index 8992920d67..bbf3fa3fe5 100644
--- a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/topology/client/IdentityProvidingServiceClientTest.scala
+++ b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/topology/client/IdentityProvidingServiceClientTest.scala
@@ -76,11 +76,6 @@ class PartyTopologySnapshotClientTest extends AsyncWordSpec with BaseTest {
): Future[Set[LfPartyId]] =
???
- override def activeParticipantsOfPartiesWithGroupAddressing(
- parties: Seq[LfPartyId]
- )(implicit traceContext: TraceContext): Future[Map[LfPartyId, Set[ParticipantId]]] =
- ???
-
override def consortiumThresholds(
parties: Set[LfPartyId]
)(implicit traceContext: TraceContext): Future[Map[LfPartyId, PositiveInt]] = ???
diff --git a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/topology/client/StoreBasedDomainTopologyClientTest.scala b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/topology/client/StoreBasedDomainTopologyClientTest.scala
index ed59e7dc02..e5b80c3528 100644
--- a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/topology/client/StoreBasedDomainTopologyClientTest.scala
+++ b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/topology/client/StoreBasedDomainTopologyClientTest.scala
@@ -43,7 +43,7 @@ trait StoreBasedTopologySnapshotTest extends AsyncWordSpec with BaseTest with Ha
import factory.TestingTransactions.*
lazy val party1participant1 = mkAdd(
- PartyToParticipant.tryCreate(
+ PartyToParticipant(
party1,
None,
PositiveInt.one,
@@ -52,7 +52,7 @@ trait StoreBasedTopologySnapshotTest extends AsyncWordSpec with BaseTest with Ha
)
)
lazy val party2participant1_2 = mkAdd(
- PartyToParticipant.tryCreate(
+ PartyToParticipant(
party2,
None,
PositiveInt.one,
diff --git a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/topology/processing/AuthorizationGraphTest.scala b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/topology/processing/AuthorizationGraphTest.scala
index e0d7db8320..d1ff80b1d0 100644
--- a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/topology/processing/AuthorizationGraphTest.scala
+++ b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/topology/processing/AuthorizationGraphTest.scala
@@ -4,7 +4,6 @@
package com.digitalasset.canton.topology.processing
import com.daml.nonempty.NonEmpty
-import com.digitalasset.canton.config.RequireTypes.PositiveInt
import com.digitalasset.canton.crypto.SigningPublicKey
import com.digitalasset.canton.topology.transaction.{NamespaceDelegation, TopologyMapping}
import com.digitalasset.canton.topology.{Namespace, TestingOwnerWithKeys}
@@ -26,7 +25,7 @@ class AuthorizationGraphTest
def mkGraph = new AuthorizationGraph(namespace, extraDebugInfo = true, loggerFactory)
- def mkAdd(
+ def mkAuth(
nsd: NamespaceDelegation,
key: SigningPublicKey,
): AuthorizedTopologyTransaction[NamespaceDelegation] = {
@@ -34,27 +33,16 @@ class AuthorizationGraphTest
AuthorizedTopologyTransaction(tx)
}
- def mkRemove(
- nsd: NamespaceDelegation,
- key: SigningPublicKey,
- ): AuthorizedTopologyTransaction[NamespaceDelegation] = {
- val tx = factory.mkRemove(nsd, NonEmpty(Set, key), PositiveInt.two)
- AuthorizedTopologyTransaction(tx)
- }
-
def mkNs(namespace: Namespace, key: SigningPublicKey, isRootDelegation: Boolean) =
NamespaceDelegation.tryCreate(namespace, key, isRootDelegation)
- val nsk1k1 = mkAdd(mkNs(namespace, key1, isRootDelegation = true), key1)
- val nsk1k1_remove = mkRemove(mkNs(namespace, key1, isRootDelegation = true), key1)
- val nsk2k1 = mkAdd(mkNs(namespace, key2, isRootDelegation = true), key1)
- val nsk2k1_remove = mkRemove(mkNs(namespace, key2, isRootDelegation = true), key1)
- val nsk3k2 = mkAdd(mkNs(namespace, key3, isRootDelegation = true), key2)
- val nsk3k2_remove = mkRemove(mkNs(namespace, key3, isRootDelegation = true), key2)
+ val nsk1k1 = mkAuth(mkNs(namespace, key1, isRootDelegation = true), key1)
+ val nsk2k1 = mkAuth(mkNs(namespace, key2, isRootDelegation = true), key1)
+ val nsk2k1p = mkAuth(mkNs(namespace, key2, isRootDelegation = true), key1)
+ val nsk3k2 = mkAuth(mkNs(namespace, key3, isRootDelegation = true), key2)
val nsk1k2 =
- mkAdd(mkNs(namespace, key1, isRootDelegation = true), key2) // cycle
- val nsk3k1_nonRoot = mkAdd(mkNs(namespace, key3, isRootDelegation = false), key1)
- val nsk3k1_nonRoot_remove = mkRemove(mkNs(namespace, key3, isRootDelegation = false), key1)
+ mkAuth(mkNs(namespace, key1, isRootDelegation = true), key2) // cycle
+ val nsk3k1_nonRoot = mkAuth(mkNs(namespace, key3, isRootDelegation = false), key1)
def replaceSignature[T <: TopologyMapping](
authTx: AuthorizedTopologyTransaction[T],
@@ -77,7 +65,7 @@ class AuthorizationGraphTest
requireRoot: Boolean,
valid: Boolean,
) = {
- graph.existsAuthorizedKeyIn(Set(key.fingerprint), requireRoot = requireRoot) shouldBe valid
+ graph.areValidAuthorizationKeys(Set(key.fingerprint), requireRoot = requireRoot) shouldBe valid
}
"authorization graph" when {
@@ -105,7 +93,7 @@ class AuthorizationGraphTest
val graph = mkGraph
graph.add(nsk1k1)
graph.add(nsk2k1)
- graph.remove(nsk2k1_remove)
+ graph.remove(nsk2k1)
check(graph, key2, requireRoot = false, valid = false)
check(graph, key1, requireRoot = false, valid = true)
}
@@ -116,13 +104,10 @@ class AuthorizationGraphTest
graph.add(nsk3k2)
check(graph, key2, requireRoot = false, valid = true)
check(graph, key3, requireRoot = false, valid = true)
- loggerFactory.assertLogs(
- graph.remove(nsk2k1_remove),
- _.warningMessage should include("dangling"),
- )
+ loggerFactory.assertLogs(graph.remove(nsk2k1), _.warningMessage should include("dangling"))
check(graph, key2, requireRoot = false, valid = false)
check(graph, key3, requireRoot = false, valid = false)
- graph.add(nsk2k1)
+ graph.add(nsk2k1p)
check(graph, key3, requireRoot = false, valid = true)
}
"support several chains" in {
@@ -133,7 +118,7 @@ class AuthorizationGraphTest
check(graph, key3, requireRoot = false, valid = true)
graph.add(nsk3k1_nonRoot)
check(graph, key3, requireRoot = false, valid = true)
- graph.remove(nsk3k1_nonRoot_remove)
+ graph.remove(nsk3k1_nonRoot)
check(graph, key3, requireRoot = false, valid = true)
}
@@ -151,7 +136,7 @@ class AuthorizationGraphTest
graph.add(nsk1k1)
graph.add(nsk2k1)
graph.add(nsk3k2)
- graph.remove(nsk1k1_remove)
+ graph.remove(nsk1k1)
check(graph, key1, requireRoot = false, valid = false)
check(graph, key2, requireRoot = false, valid = false)
check(graph, key3, requireRoot = false, valid = false)
@@ -174,17 +159,17 @@ class AuthorizationGraphTest
// test that random key is not authorized
check(graph, key3, requireRoot = false, valid = false)
// remove first certificate
- graph.remove(nsk2k1_remove)
+ graph.remove(nsk2k1)
check(graph, key2, requireRoot = true, valid = false)
// add other certificate (we don't remember removes, so we can do that in this test)
- graph.add(nsk2k1)
+ graph.add(nsk2k1p)
check(graph, key2, requireRoot = true, valid = true)
}
"reject delegations with a wrong namespace" in {
val graph = mkGraph
val fakeNs = Namespace(key8.fingerprint)
- val nsk1k1 = mkAdd(mkNs(fakeNs, key1, isRootDelegation = true), key1)
+ val nsk1k1 = mkAuth(mkNs(fakeNs, key1, isRootDelegation = true), key1)
loggerFactory.assertThrowsAndLogs[IllegalArgumentException](
graph.add(nsk1k1),
_.errorMessage should include("internal error"),
@@ -199,7 +184,7 @@ class AuthorizationGraphTest
graph.add(nsk3k2)
check(graph, key3, requireRoot = true, valid = true)
- graph.remove(replaceSignature(nsk3k2_remove, key1))
+ graph.remove(replaceSignature(nsk3k2, key1))
check(graph, key3, requireRoot = true, valid = false)
}
}
@@ -217,10 +202,10 @@ class AuthorizationGraphTest
graph.add(nsk1k1)
graph.add(nsk2k1)
check(graph, key2, requireRoot = false, valid = true)
- val fakeRemove = replaceSignature(nsk2k1_remove, key6)
+ val fakeRemove = replaceSignature(nsk2k1, key6)
graph.remove(fakeRemove) shouldBe false
check(graph, key2, requireRoot = false, valid = true)
- graph.remove(nsk2k1_remove)
+ graph.remove(nsk2k1)
check(graph, key2, requireRoot = false, valid = false)
}
"prevent a non-root authorization to authorize a root authorization" in {
@@ -228,7 +213,7 @@ class AuthorizationGraphTest
graph.add(nsk1k1)
graph.add(nsk3k1_nonRoot)
check(graph, key3, requireRoot = false, valid = true)
- val nsk4k3 = mkAdd(mkNs(namespace, key4, isRootDelegation = true), key3)
+ val nsk4k3 = mkAuth(mkNs(namespace, key4, isRootDelegation = true), key3)
graph.add(nsk4k3) shouldBe false
check(graph, key4, requireRoot = false, valid = false)
}
@@ -240,14 +225,14 @@ class AuthorizationGraphTest
graph.add(nsk2k1)
check(graph, key3, requireRoot = false, valid = true)
check(graph, key2, requireRoot = true, valid = true)
- graph.remove(replaceSignature(nsk2k1_remove, key3)) shouldBe false
+ graph.remove(replaceSignature(nsk2k1, key3)) shouldBe false
check(graph, key2, requireRoot = true, valid = true)
}
"ensure once a delegation is revoked, all depending authorizations will become unauthorized" in {
val graph = mkGraph
- val nsk4k3 = mkAdd(mkNs(namespace, key4, isRootDelegation = true), key3)
- val nsk5k2 = mkAdd(mkNs(namespace, key5, isRootDelegation = true), key3)
+ val nsk4k3 = mkAuth(mkNs(namespace, key4, isRootDelegation = true), key3)
+ val nsk5k2 = mkAuth(mkNs(namespace, key5, isRootDelegation = true), key3)
graph.add(nsk1k1)
graph.add(nsk2k1)
graph.add(nsk3k2)
@@ -256,7 +241,7 @@ class AuthorizationGraphTest
Seq(key3, key4, key5).foreach(check(graph, _, requireRoot = false, valid = true))
loggerFactory.assertLogs(
{
- graph.remove(nsk2k1_remove)
+ graph.remove(nsk2k1)
Seq(key3, key4, key5).foreach(check(graph, _, requireRoot = false, valid = false))
},
_.warningMessage should include("The following target keys"),
diff --git a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/topology/processing/DecentralizedNamespaceAuthorizationGraphTest.scala b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/topology/processing/DecentralizedNamespaceAuthorizationGraphTest.scala
index 18f0de3d86..7f7ff32c23 100644
--- a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/topology/processing/DecentralizedNamespaceAuthorizationGraphTest.scala
+++ b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/topology/processing/DecentralizedNamespaceAuthorizationGraphTest.scala
@@ -70,7 +70,7 @@ class DecentralizedNamespaceAuthorizationGraphTest
}
- def mkAdd(
+ def mkAuth(
nsd: NamespaceDelegation,
key: SigningPublicKey,
): AuthorizedTopologyTransaction[NamespaceDelegation] = {
@@ -78,30 +78,20 @@ class DecentralizedNamespaceAuthorizationGraphTest
AuthorizedTopologyTransaction(tx)
}
- def mkRemove(
- nsd: NamespaceDelegation,
- key: SigningPublicKey,
- ): AuthorizedTopologyTransaction[NamespaceDelegation] = {
- val tx = factory.mkRemove(nsd, NonEmpty(Set, key), PositiveInt.two)
- AuthorizedTopologyTransaction(tx)
- }
-
def mkNs(namespace: Namespace, key: SigningPublicKey, isRootDelegation: Boolean) =
NamespaceDelegation.tryCreate(namespace, key, isRootDelegation)
- val ns1k1k1 = mkAdd(mkNs(ns1, key1, isRootDelegation = true), key1)
+ val ns1k1k1 = mkAuth(mkNs(ns1, key1, isRootDelegation = true), key1)
+ val ns1k4k1 = mkAuth(mkNs(ns1, key4, isRootDelegation = true), key1)
- val ns2k2k2 = mkAdd(mkNs(ns2, key2, isRootDelegation = true), key2)
- val ns2k2k2_remove = mkRemove(mkNs(ns2, key2, isRootDelegation = true), key2)
- val ns2k5k2 = mkAdd(mkNs(ns2, key5, isRootDelegation = true), key2)
- val ns2k5k2_remove = mkRemove(mkNs(ns2, key5, isRootDelegation = true), key2)
- val ns2k2k5 = mkAdd(mkNs(ns2, key2, isRootDelegation = true), key5)
- val ns2k8k5 = mkAdd(mkNs(ns2, key8, isRootDelegation = true), key5)
- val ns2k8k5_remove = mkRemove(mkNs(ns2, key8, isRootDelegation = true), key5)
- val ns2k8k2_nonRoot = mkAdd(mkNs(ns2, key8, isRootDelegation = false), key2)
- val ns2k8k2_nonRoot_remove = mkRemove(mkNs(ns2, key8, isRootDelegation = false), key2)
+ val ns2k2k2 = mkAuth(mkNs(ns2, key2, isRootDelegation = true), key2)
+ val ns2k5k2 = mkAuth(mkNs(ns2, key5, isRootDelegation = true), key2)
+ val ns2k2k5 = mkAuth(mkNs(ns2, key5, isRootDelegation = true), key2)
+ val ns2k8k5 = mkAuth(mkNs(ns2, key8, isRootDelegation = true), key5)
+ val ns2k8k2_nonRoot = mkAuth(mkNs(ns2, key8, isRootDelegation = false), key2)
- val ns3k3k3 = mkAdd(mkNs(ns3, key3, isRootDelegation = true), key3)
+ val ns3k3k3 = mkAuth(mkNs(ns3, key3, isRootDelegation = true), key3)
+ val ns3k6k3 = mkAuth(mkNs(ns3, key6, isRootDelegation = true), key3)
def replaceSignature[T <: TopologyMapping](
authTx: AuthorizedTopologyTransaction[T],
@@ -124,7 +114,7 @@ class DecentralizedNamespaceAuthorizationGraphTest
requireRoot: Boolean,
valid: Boolean,
)(keys: SigningPublicKey*) = {
- graph.existsAuthorizedKeyIn(
+ graph.areValidAuthorizationKeys(
keys.map(_.fingerprint).toSet,
requireRoot = requireRoot,
) shouldBe valid
@@ -174,7 +164,7 @@ class DecentralizedNamespaceAuthorizationGraphTest
graph.addAuth(ns2k2k2)
graph.addAuth(ns3k3k3)
- graph.removeAuth(ns2k2k2_remove)
+ graph.removeAuth(ns2k2k2)
check(graph, requireRoot = false, valid = false)(key1, key2)
check(graph, requireRoot = false, valid = true)(key1, key3)
}
@@ -190,7 +180,7 @@ class DecentralizedNamespaceAuthorizationGraphTest
check(graph, requireRoot = false, valid = true)(key1, key5)
check(graph, requireRoot = false, valid = true)(key1, key8)
loggerFactory.assertLogs(
- graph.removeAuth(ns2k5k2_remove),
+ graph.removeAuth(ns2k5k2),
_.warningMessage should include("dangling"),
)
check(graph, requireRoot = false, valid = false)(key1, key5)
@@ -210,7 +200,7 @@ class DecentralizedNamespaceAuthorizationGraphTest
check(graph, requireRoot = false, valid = true)(key1, key8)
graph.addAuth(ns2k8k2_nonRoot)
check(graph, requireRoot = false, valid = true)(key1, key8)
- graph.removeAuth(ns2k8k2_nonRoot_remove)
+ graph.removeAuth(ns2k8k2_nonRoot)
check(graph, requireRoot = false, valid = true)(key1, key8)
}
@@ -232,7 +222,7 @@ class DecentralizedNamespaceAuthorizationGraphTest
graph.addAuth(ns2k5k2)
graph.addAuth(ns2k8k5)
- graph.removeAuth(ns2k2k2_remove)
+ graph.removeAuth(ns2k2k2)
check(graph, requireRoot = false, valid = false)(key1, key2)
check(graph, requireRoot = false, valid = false)(key1, key5)
check(graph, requireRoot = false, valid = false)(key1, key8)
@@ -257,7 +247,7 @@ class DecentralizedNamespaceAuthorizationGraphTest
// test that random key is not authorized
check(graph, requireRoot = false, valid = false)(key1, key3)
// remove first certificate
- graph.removeAuth(ns2k5k2_remove)
+ graph.removeAuth(ns2k5k2)
check(graph, requireRoot = true, valid = false)(key1, key5)
// add other certificate (we don't remember removes, so we can do that in this test)
graph.addAuth(ns2k5k2)
@@ -274,7 +264,7 @@ class DecentralizedNamespaceAuthorizationGraphTest
graph.addAuth(ns2k8k5)
check(graph, requireRoot = true, valid = true)(key1, key8)
- graph.removeAuth(replaceSignature(ns2k8k5_remove, key2))
+ graph.removeAuth(replaceSignature(ns2k8k5, key2))
check(graph, requireRoot = true, valid = false)(key1, key8)
}
}
diff --git a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/topology/processing/IncomingTopologyTransactionAuthorizationValidatorTest.scala b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/topology/processing/IncomingTopologyTransactionAuthorizationValidatorTest.scala
index 317c680fd0..b2437ce24d 100644
--- a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/topology/processing/IncomingTopologyTransactionAuthorizationValidatorTest.scala
+++ b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/topology/processing/IncomingTopologyTransactionAuthorizationValidatorTest.scala
@@ -5,11 +5,9 @@ package com.digitalasset.canton.topology.processing
import cats.Apply
import cats.instances.list.*
-import cats.syntax.foldable.*
import com.daml.nonempty.NonEmpty
import com.digitalasset.canton.config.RequireTypes.PositiveInt
-import com.digitalasset.canton.crypto.SignatureCheckError.InvalidSignature
-import com.digitalasset.canton.crypto.{Signature, SigningPublicKey}
+import com.digitalasset.canton.crypto.SigningPublicKey
import com.digitalasset.canton.data.CantonTimestamp
import com.digitalasset.canton.topology.*
import com.digitalasset.canton.topology.store.TopologyStoreId.DomainStore
@@ -23,13 +21,10 @@ import com.digitalasset.canton.topology.store.{
TopologyTransactionRejection,
ValidatedTopologyTransaction,
}
-import com.digitalasset.canton.topology.transaction.SignedTopologyTransaction.GenericSignedTopologyTransaction
-import com.digitalasset.canton.topology.transaction.TopologyMapping.MappingHash
import com.digitalasset.canton.topology.transaction.*
import com.digitalasset.canton.tracing.TraceContext
import com.digitalasset.canton.util.MonadUtil
import com.digitalasset.canton.{BaseTest, HasExecutionContext, ProtocolVersionChecksAsyncWordSpec}
-import com.google.protobuf.ByteString
import org.scalatest.wordspec.AsyncWordSpec
class IncomingTopologyTransactionAuthorizationValidatorTest
@@ -74,35 +69,12 @@ class IncomingTopologyTransactionAuthorizationValidatorTest
succeed
}
- def validate(
- validator: IncomingTopologyTransactionAuthorizationValidator,
- timestamp: CantonTimestamp,
- toValidate: Seq[GenericSignedTopologyTransaction],
- inStore: Map[MappingHash, GenericSignedTopologyTransaction],
- expectFullAuthorization: Boolean,
- )(implicit traceContext: TraceContext) = {
- MonadUtil
- .sequentialTraverse(toValidate)(tx =>
- validator.validateAndUpdateHeadAuthState(
- timestamp,
- tx,
- inStore.get(tx.mapping.uniqueKey),
- expectFullAuthorization,
- )
- )
- .map { results =>
- val (aggregations, transactions) = results.unzip
- (aggregations.combineAll, transactions)
- }
- }
-
"receiving transactions with signatures" should {
"succeed to add if the signature is valid" in {
val validator = mk()
import Factory.*
for {
- res <- validate(
- validator,
+ res <- validator.validateAndUpdateHeadAuthState(
ts(0),
List(ns1k1_k1, ns1k2_k1),
Map.empty,
@@ -117,8 +89,7 @@ class IncomingTopologyTransactionAuthorizationValidatorTest
import Factory.*
val invalid = ns1k2_k1.copy(signatures = ns1k1_k1.signatures)
for {
- (_, validatedTopologyTransactions) <- validate(
- validator,
+ (_, validatedTopologyTransactions) <- validator.validateAndUpdateHeadAuthState(
ts(0),
List(ns1k1_k1, invalid),
Map.empty,
@@ -145,8 +116,7 @@ class IncomingTopologyTransactionAuthorizationValidatorTest
val okmS1k7_k1_missing_k7 =
okmS1k7_k1.removeSignatures(Set(SigningKeys.key7.fingerprint)).value
for {
- (_, validatedTopologyTransactions) <- validate(
- validator,
+ (_, validatedTopologyTransactions) <- validator.validateAndUpdateHeadAuthState(
ts(0),
List(ns1k1_k1, okmS1k7_k1_missing_k7),
Map.empty,
@@ -163,41 +133,37 @@ class IncomingTopologyTransactionAuthorizationValidatorTest
}
}
- "reject if the transaction is for the wrong domain" in {
- val validator = mk()
- import Factory.*
- val wrongDomain = DomainId(UniqueIdentifier.tryCreate("wrong", ns1.fingerprint.unwrap))
- val pid = ParticipantId(UniqueIdentifier.tryCreate("correct", ns1.fingerprint.unwrap))
- val wrong = mkAdd(
- DomainTrustCertificate(
- pid,
- wrongDomain,
- false,
- Seq.empty,
- ),
- Factory.SigningKeys.key1,
- )
- for {
- res <- validate(
- validator,
- ts(0),
- List(ns1k1_k1, wrong),
- Map.empty,
- expectFullAuthorization = false,
- )
- } yield {
- check(
- res._2,
- Seq(
- None,
- Some({
- case TopologyTransactionRejection.WrongDomain(_) => true
- case _ => false
- }),
- ),
- )
- }
- }
+ // TODO(#12390) resuscitate
+// "reject if the transaction is for the wrong domain" in {
+// val validator = mk()
+// import Factory.*
+// val wrongDomain = DomainId(UniqueIdentifier.tryCreate("wrong", ns1.fingerprint.unwrap))
+// val pid = ParticipantId(UniqueIdentifier.tryCreate("correct", ns1.fingerprint.unwrap))
+// val wrong = mkAdd(
+// ParticipantState(
+// RequestSide.Both,
+// wrongDomain,
+// pid,
+// ParticipantPermission.Submission,
+// TrustLevel.Ordinary,
+// ),
+// Factory.SigningKeys.key1,
+// )
+// for {
+// res <- validator.validateAndUpdateHeadAuthState(ts(0), List(ns1k1_k1, wrong))
+// } yield {
+// check(
+// res._2,
+// Seq(
+// None,
+// Some({
+// case TopologyTransactionRejection.WrongDomain(_) => true
+// case _ => false
+// }),
+// ),
+// )
+// }
+// }
}
"observing namespace delegations" should {
@@ -205,8 +171,7 @@ class IncomingTopologyTransactionAuthorizationValidatorTest
val validator = mk()
import Factory.*
for {
- res <- validate(
- validator,
+ res <- validator.validateAndUpdateHeadAuthState(
ts(0),
List(ns1k1_k1, ns1k2_k1, ns1k3_k2),
Map.empty,
@@ -216,46 +181,11 @@ class IncomingTopologyTransactionAuthorizationValidatorTest
check(res._2, Seq(None, None, None))
}
}
- "fail if the signature of a root certificate is not valid" in {
- val validator = mk()
- import Factory.*
-
- val sig_k1_emptySignature = Signature
- .fromProtoV30(ns1k1_k1.signatures.head1.toProtoV30.copy(signature = ByteString.empty()))
- .value
- val ns1k1_k1WithEmptySignature =
- ns1k1_k1.copy(signatures = NonEmpty(Set, sig_k1_emptySignature))
-
- for {
- res <- validate(
- validator,
- ts(0),
- List(ns1k1_k1WithEmptySignature, ns1k2_k1),
- Map.empty,
- expectFullAuthorization = true,
- )
- } yield {
- check(
- res._2,
- Seq(
- Some({
- case TopologyTransactionRejection.SignatureCheckFailed(
- InvalidSignature(`sig_k1_emptySignature`, _, _)
- ) =>
- true
- case _ => false
- }),
- Some(_ == NoDelegationFoundForKeys(Set(SigningKeys.key1.fingerprint))),
- ),
- )
- }
- }
"fail if transaction is not properly authorized" in {
val validator = mk()
import Factory.*
for {
- res <- validate(
- validator,
+ res <- validator.validateAndUpdateHeadAuthState(
ts(0),
List(ns1k1_k1, ns6k3_k6, ns1k3_k2, ns1k2_k1, ns1k3_k2),
Map.empty,
@@ -287,8 +217,7 @@ class IncomingTopologyTransactionAuthorizationValidatorTest
removeTxs = Set.empty,
additions = List(ns1k1_k1).map(ValidatedTopologyTransaction(_)),
)
- res <- validate(
- validator,
+ res <- validator.validateAndUpdateHeadAuthState(
ts(1),
List(ns1k2_k1, ns1k3_k2),
Map.empty,
@@ -303,8 +232,7 @@ class IncomingTopologyTransactionAuthorizationValidatorTest
val validator = mk()
import Factory.*
for {
- res <- validate(
- validator,
+ res <- validator.validateAndUpdateHeadAuthState(
ts(1),
List(ns1k1_k1, ns1k3_k2, id1ak4_k2, ns1k2_k1, ns6k3_k6, id1ak4_k1),
Map.empty,
@@ -333,8 +261,7 @@ class IncomingTopologyTransactionAuthorizationValidatorTest
val validator = mk()
import Factory.*
for {
- res <- validate(
- validator,
+ res <- validator.validateAndUpdateHeadAuthState(
ts(0),
List(ns1k1_k1, id1ak4_k1, ns1k2_k1, id1ak4_k2),
Map.empty,
@@ -348,8 +275,7 @@ class IncomingTopologyTransactionAuthorizationValidatorTest
val validator = mk()
import Factory.*
for {
- res <- validate(
- validator,
+ res <- validator.validateAndUpdateHeadAuthState(
ts(0),
List(id1ak4_k1, ns1k1_k1, id1ak4_k1, id6k4_k1),
Map.empty,
@@ -375,8 +301,7 @@ class IncomingTopologyTransactionAuthorizationValidatorTest
val validator = mk()
import Factory.*
for {
- res <- validate(
- validator,
+ res <- validator.validateAndUpdateHeadAuthState(
ts(0),
List(ns1k1_k1, ns1k2_k1, okm1ak5k1E_k2, p1p1B_k2, id1ak4_k1, ns6k6_k6, p1p6_k2k6),
Map.empty,
@@ -390,41 +315,21 @@ class IncomingTopologyTransactionAuthorizationValidatorTest
val validator = mk()
import Factory.*
for {
- resultExpectFullAuthorization <- validate(
- validator,
+ res <- validator.validateAndUpdateHeadAuthState(
ts(0),
List(ns1k1_k1, okm1ak5k1E_k2, p1p1B_k2),
Map.empty,
expectFullAuthorization = true,
)
- // also check that insufficiently authorized non-proposals get rejected with expectFullAuthorization
- resultDontExpectFullAuthorization <- validate(
- validator,
- ts(0),
- List(ns1k1_k1, okm1ak5k1E_k2, p1p1B_k2),
- Map.empty,
- expectFullAuthorization = false,
- )
-
} yield {
check(
- resultExpectFullAuthorization._2,
+ res._2,
Seq(
None,
Some(_ == NotAuthorized),
Some(_ == NoDelegationFoundForKeys(Set(SigningKeys.key2.fingerprint))),
),
)
-
- check(
- resultDontExpectFullAuthorization._2,
- Seq(
- None,
- Some(_ == NotAuthorized),
- Some(_ == NoDelegationFoundForKeys(Set(SigningKeys.key2.fingerprint))),
- ),
- )
-
}
}
"succeed with loading existing identifier delegations" in {
@@ -440,8 +345,7 @@ class IncomingTopologyTransactionAuthorizationValidatorTest
removeTxs = Set.empty,
additions = List(ns1k1_k1, ns6k6_k6, id1ak4_k1).map(ValidatedTopologyTransaction(_)),
)
- res <- validate(
- validator,
+ res <- validator.validateAndUpdateHeadAuthState(
ts(1),
List(ns1k2_k1, p1p6_k2k6, p1p1B_k2),
Map.empty,
@@ -460,8 +364,7 @@ class IncomingTopologyTransactionAuthorizationValidatorTest
val Rns1k2_k1 = mkTrans(ns1k2_k1.transaction.reverse)
val Rid1ak4_k1 = mkTrans(id1ak4_k1.transaction.reverse)
for {
- res <- validate(
- validator,
+ res <- validator.validateAndUpdateHeadAuthState(
ts(0),
List(ns1k1_k1, ns1k2_k1, id1ak4_k1, Rns1k2_k1, Rid1ak4_k1),
Map.empty,
@@ -478,8 +381,7 @@ class IncomingTopologyTransactionAuthorizationValidatorTest
val Rns1k2_k1 = mkTrans(ns1k2_k1.transaction.reverse)
val Rid1ak4_k1 = mkTrans(id1ak4_k1.transaction.reverse)
for {
- res <- validate(
- validator,
+ res <- validator.validateAndUpdateHeadAuthState(
ts(0),
List(ns1k1_k1, ns1k2_k1, id1ak4_k1, Rns1k2_k1, Rid1ak4_k1, okm1ak5k1E_k2, p1p6_k2),
Map.empty,
@@ -517,8 +419,7 @@ class IncomingTopologyTransactionAuthorizationValidatorTest
removeTxs = Set.empty,
additions = List(ns6k6_k6).map(ValidatedTopologyTransaction(_)),
)
- res <- validate(
- validator,
+ res <- validator.validateAndUpdateHeadAuthState(
ts(1),
List(ns1k1_k1, okm1bk5k1E_k1, p1p6_k6),
Map.empty,
@@ -543,8 +444,7 @@ class IncomingTopologyTransactionAuthorizationValidatorTest
removeTxs = Set.empty,
additions = List(ns1k1_k1).map(ValidatedTopologyTransaction(_)),
)
- res <- validate(
- validator,
+ res <- validator.validateAndUpdateHeadAuthState(
ts(1),
List(Rns1k1_k1, okm1bk5k1E_k1),
Map(Rns1k1_k1.mapping.uniqueKey -> ns1k1_k1),
@@ -573,15 +473,13 @@ class IncomingTopologyTransactionAuthorizationValidatorTest
removeTxs = Set.empty,
additions = List(ns1k1_k1).map(ValidatedTopologyTransaction(_)),
)
- res <- validate(
- validator,
+ res <- validator.validateAndUpdateHeadAuthState(
ts(1),
List(id1ak4_k1),
Map.empty,
expectFullAuthorization = true,
)
- res2 <- validate(
- validator,
+ res2 <- validator.validateAndUpdateHeadAuthState(
ts(2),
List(Rid1ak4_k1),
Map.empty,
@@ -613,8 +511,7 @@ class IncomingTopologyTransactionAuthorizationValidatorTest
additions =
List(ns1k1_k1, ns1k2_k1, id1ak4_k2, ns6k6_k6).map(ValidatedTopologyTransaction(_)),
)
- res <- validate(
- validator,
+ res <- validator.validateAndUpdateHeadAuthState(
ts(1),
List(p1p6_k2k6, Rns1k2_k1, id6ak7_k6, p1p6_k2),
Map(
@@ -646,44 +543,29 @@ class IncomingTopologyTransactionAuthorizationValidatorTest
import Factory.*
val pid2 = ParticipantId(UniqueIdentifier.tryCreate("participant2", ns2))
- val participants_1_2_6_HostParty1 = mkAddMultiKey(
- PartyToParticipant.tryCreate(
+ val participant2HostsParty1 = mkAddMultiKey(
+ PartyToParticipant(
party1b, // lives in the namespace of p1, corresponding to `SigningKeys.key1`
None,
threshold = PositiveInt.two,
Seq(
HostingParticipant(participant1, ParticipantPermission.Submission),
HostingParticipant(pid2, ParticipantPermission.Submission),
- HostingParticipant(participant6, ParticipantPermission.Submission),
),
groupAddressing = false,
),
// both the party's owner and the participant sign
- NonEmpty(Set, SigningKeys.key1, SigningKeys.key2, SigningKeys.key6),
+ NonEmpty(Set, SigningKeys.key1, SigningKeys.key2),
serial = PositiveInt.one,
)
- val unhostingMapping = PartyToParticipant.tryCreate(
+ val unhostingMapping = PartyToParticipant(
party1b,
None,
threshold = PositiveInt.two,
- Seq(
- HostingParticipant(participant1, ParticipantPermission.Submission),
- HostingParticipant(participant6, ParticipantPermission.Submission),
- ),
+ Seq(HostingParticipant(participant1, ParticipantPermission.Submission)),
groupAddressing = false,
)
- val unhostingMappingAndThresholdChange = PartyToParticipant.tryCreate(
- party1b,
- None,
- threshold = PositiveInt.one,
- Seq(
- HostingParticipant(participant1, ParticipantPermission.Submission),
- HostingParticipant(participant6, ParticipantPermission.Submission),
- ),
- groupAddressing = false,
- )
-
val participant2RemovesItselfUnilaterally = mkAdd(
unhostingMapping,
// only the unhosting participant signs
@@ -698,54 +580,53 @@ class IncomingTopologyTransactionAuthorizationValidatorTest
serial = PositiveInt.two,
)
- val ptpMappingHash = participants_1_2_6_HostParty1.mapping.uniqueKey
+ val ptpMappingHash = participant2HostsParty1.mapping.uniqueKey
+ import monocle.syntax.all.*
for {
_ <- store.update(
SequencedTime(ts(0)),
EffectiveTime(ts(0)),
removeMapping = Map.empty,
removeTxs = Set.empty,
- additions = List(ns1k1_k1, ns2k2_k2, ns6k6_k6).map(
+ additions = List(ns1k1_k1, ns2k2_k2).map(
ValidatedTopologyTransaction(_)
),
)
- hostingResult <- validate(
- validator,
+ hostingResult <- validator.validateAndUpdateHeadAuthState(
ts(1),
- List(participants_1_2_6_HostParty1),
- inStore = Map.empty,
+ List(participant2HostsParty1),
+ transactionsInStore = Map.empty,
expectFullAuthorization = false,
)
// unilateral unhosting by participant2 only signed by the participant
- unhostingResult <- validate(
- validator,
+ unhostingResult <- validator.validateAndUpdateHeadAuthState(
ts(2),
List(participant2RemovesItselfUnilaterally),
- inStore = Map(ptpMappingHash -> participants_1_2_6_HostParty1),
+ transactionsInStore = Map(ptpMappingHash -> participant2HostsParty1),
expectFullAuthorization = false,
)
// it is still allowed to have a mix of signatures for unhosting
- unhostingMixedResult <- validate(
- validator,
+ unhostingMixedResult <- validator.validateAndUpdateHeadAuthState(
ts(2),
List(participant2RemovedFullyAuthorized),
- inStore = Map(ptpMappingHash -> participants_1_2_6_HostParty1),
+ transactionsInStore = Map(ptpMappingHash -> participant2HostsParty1),
expectFullAuthorization = false,
)
// the participant being removed may not sign if anything else changes
- unhostingAndThresholdChangeResult <- validate(
- validator,
+ unhostingAndThresholdChangeResult <- validator.validateAndUpdateHeadAuthState(
ts(2),
List(
mkAddMultiKey(
- unhostingMappingAndThresholdChange,
+ unhostingMapping
+ .focus(_.threshold)
+ .replace(PositiveInt.one),
NonEmpty(Set, SigningKeys.key2),
)
),
- inStore = Map(ptpMappingHash -> participants_1_2_6_HostParty1),
+ transactionsInStore = Map(ptpMappingHash -> participant2HostsParty1),
expectFullAuthorization = false,
)
} yield {
@@ -776,8 +657,7 @@ class IncomingTopologyTransactionAuthorizationValidatorTest
ValidatedTopologyTransaction(_)
),
)
- res <- validate(
- validator,
+ res <- validator.validateAndUpdateHeadAuthState(
ts(1),
List(dns2),
decentralizedNamespaceWithMultipleOwnerThreshold
@@ -815,8 +695,7 @@ class IncomingTopologyTransactionAuthorizationValidatorTest
ValidatedTopologyTransaction(_)
),
)
- res <- validate(
- validator,
+ res <- validator.validateAndUpdateHeadAuthState(
ts(2),
// Analogously to how the TopologyStateProcessor merges the signatures of proposals
// with the same serial, combine the signature of the previous proposal to the current proposal.
@@ -832,93 +711,9 @@ class IncomingTopologyTransactionAuthorizationValidatorTest
check(res._2, Seq(None))
}
}
-
- "remove from cache for TopologyChangeOp.REMOVAL" in {
- val store =
- new InMemoryTopologyStore(TopologyStoreId.AuthorizedStore, loggerFactory, timeouts)
- val validator = mk(store)
- import Factory.*
- for {
- // 1. validate and store the decentralized namespace owners root certificates
- resultAddOwners <- validate(
- validator,
- ts(0),
- decentralizedNamespaceOwners,
- Map.empty,
- expectFullAuthorization = true,
- )
- _ = resultAddOwners._2.foreach(_.rejectionReason shouldBe None)
- _ <- store.update(
- SequencedTime(ts(0)),
- EffectiveTime(ts(0)),
- removeMapping = Map.empty,
- removeTxs = Set.empty,
- additions = resultAddOwners._2,
- )
-
- // 2. validate and store the decentralized namespace definition
- // this puts the DND authorization graph into the cache
- resultAddDND <- validate(
- validator,
- ts(1),
- List(dns1),
- Map.empty,
- expectFullAuthorization = true,
- )
- _ = resultAddDND._2.foreach(_.rejectionReason shouldBe None)
- _ <- store.update(
- SequencedTime(ts(1)),
- EffectiveTime(ts(1)),
- removeMapping = Map.empty,
- removeTxs = Set.empty,
- additions = resultAddDND._2,
- )
-
- // 3. now process the removal of the decentralized namespace definition
- // this should remove the DND authorization graph from the cache
- resRemoveDND <- validate(
- validator,
- ts(2),
- List(dns1Removal),
- Map(dns1.mapping.uniqueKey -> dns1),
- expectFullAuthorization = true,
- )
- _ = resRemoveDND._2.foreach(_.rejectionReason shouldBe None)
- _ <- store.update(
- SequencedTime(ts(2)),
- EffectiveTime(ts(2)),
- removeMapping = Map(dns1Removal.mapping.uniqueKey -> dns1Removal.serial),
- removeTxs = Set.empty,
- additions = resRemoveDND._2,
- )
-
- // 4. Now to the actual test: try to authorize something for the decentralized namespace.
- // this should be rejected because the namespace is not valid anymore, and the
- // authorization cache has been properly cleaned up.
- resultUnauthorizedIDD <- validate(
- validator,
- ts(3),
- List(dns1Idd),
- Map.empty,
- expectFullAuthorization = true,
- )
- } yield {
- check(
- resultUnauthorizedIDD._2,
- Seq(
- Some(
- _ == NoDelegationFoundForKeys(
- Set(SigningKeys.key1, SigningKeys.key8, SigningKeys.key9).map(_.fingerprint)
- )
- )
- ),
- )
- }
-
- }
}
- def checkProposalFlagAfterValidation(validationIsFinal: Boolean, expectProposal: Boolean) = {
+ def checkProposalFlatAfterValidation(validationIsFinal: Boolean, expectProposal: Boolean) = {
val store =
new InMemoryTopologyStore(TopologyStoreId.AuthorizedStore, loggerFactory, timeouts)
val validator = mk(store, validationIsFinal)
@@ -956,18 +751,18 @@ class IncomingTopologyTransactionAuthorizationValidatorTest
),
BaseTest.testedProtocolVersion,
)
- result_packageVetting <- validate(
- validator,
- ts(1),
- toValidate = List(
- // Setting isProposal=true despite having enough keys.
- // This simulates processing a proposal with the signature of a node,
- // that got merged with another proposal already in the store.
- mkTrans(pkgTx, signingKeys = NonEmpty(Set, key1, key8), isProposal = true)
- ),
- inStore = Map.empty,
- expectFullAuthorization = false,
- )
+ result_packageVetting <- validator
+ .validateAndUpdateHeadAuthState(
+ ts(1),
+ transactionsToValidate = List(
+ // Setting isProposal=true despite having enough keys.
+ // This simulates processing a proposal with the signature of a node,
+ // that got merged with another proposal already in the store.
+ mkTrans(pkgTx, signingKeys = NonEmpty(Set, key1, key8), isProposal = true)
+ ),
+ transactionsInStore = Map.empty,
+ expectFullAuthorization = false,
+ )
} yield {
val validatedPkgTx = result_packageVetting._2.loneElement
@@ -980,11 +775,11 @@ class IncomingTopologyTransactionAuthorizationValidatorTest
}
"change the proposal status when the validation is final" in {
- checkProposalFlagAfterValidation(validationIsFinal = true, expectProposal = false)
+ checkProposalFlatAfterValidation(validationIsFinal = true, expectProposal = false)
}
"not change the proposal status when the validation is not final" in {
- checkProposalFlagAfterValidation(validationIsFinal = false, expectProposal = true)
+ checkProposalFlatAfterValidation(validationIsFinal = false, expectProposal = true)
}
"remove superfluous signatures" in {
@@ -1025,27 +820,26 @@ class IncomingTopologyTransactionAuthorizationValidatorTest
),
BaseTest.testedProtocolVersion,
)
- resultPackageVetting <- validate(
- validator,
- ts(1),
- toValidate = List(
- // Signing this transaction also with key9 simulates that ns9 was part of the
- // decentralized namespace before and was eligible for signing the transaction.
- // After this validation, we expect the signature of key9 to be removed
- mkTrans(pkgTx, signingKeys = NonEmpty(Set, key9, key1, key8), isProposal = true)
- ),
- inStore = Map.empty,
- expectFullAuthorization = false,
- )
+ resultPackageVetting <- validator
+ .validateAndUpdateHeadAuthState(
+ ts(1),
+ transactionsToValidate = List(
+ // Signing this transaction also with key9 simulates that ns9 was part of the
+ // decentralized namespace before and was eligible for signing the transaction.
+ // After this validation, we expect the signature of key9 to be removed
+ mkTrans(pkgTx, signingKeys = NonEmpty(Set, key9, key1, key8), isProposal = true)
+ ),
+ transactionsInStore = Map.empty,
+ expectFullAuthorization = false,
+ )
// if there are only superfluous signatures, reject the transaction
- resultOnlySuperfluousSignatures <- validate(
- validator,
+ resultOnlySuperfluousSignatures <- validator.validateAndUpdateHeadAuthState(
ts(2),
- toValidate = List(
+ transactionsToValidate = List(
mkTrans(pkgTx, signingKeys = NonEmpty(Set, key3, key5), isProposal = true)
),
- inStore = Map.empty,
+ transactionsInStore = Map.empty,
expectFullAuthorization = false,
)
@@ -1099,19 +893,19 @@ class IncomingTopologyTransactionAuthorizationValidatorTest
expectFullAuthorization: Boolean,
signingKeys: SigningPublicKey*
) = TraceContext.withNewTraceContext { freshTraceContext =>
- validate(
- validator,
- ts(1),
- toValidate = List(
- mkTrans(
- pkgTx,
- isProposal = isProposal,
- signingKeys = NonEmpty.from(signingKeys.toSet).value,
- )
- ),
- inStore = Map.empty,
- expectFullAuthorization = expectFullAuthorization,
- )(freshTraceContext)
+ validator
+ .validateAndUpdateHeadAuthState(
+ ts(1),
+ transactionsToValidate = List(
+ mkTrans(
+ pkgTx,
+ isProposal = isProposal,
+ signingKeys = NonEmpty.from(signingKeys.toSet).value,
+ )
+ ),
+ transactionsInStore = Map.empty,
+ expectFullAuthorization = expectFullAuthorization,
+ )(freshTraceContext)
.map(_._2.loneElement)
}
diff --git a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/topology/processing/TopologyTransactionTestFactory.scala b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/topology/processing/TopologyTransactionTestFactory.scala
index 25a009518f..379b456f3a 100644
--- a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/topology/processing/TopologyTransactionTestFactory.scala
+++ b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/topology/processing/TopologyTransactionTestFactory.scala
@@ -5,7 +5,7 @@ package com.digitalasset.canton.topology.processing
import com.daml.nonempty.NonEmpty
import com.digitalasset.canton.config.RequireTypes.PositiveInt
-import com.digitalasset.canton.crypto.SigningPublicKey
+import com.digitalasset.canton.crypto.{Fingerprint, SigningPublicKey}
import com.digitalasset.canton.logging.NamedLoggerFactory
import com.digitalasset.canton.protocol.TestDomainParameters
import com.digitalasset.canton.time.NonNegativeFiniteDuration
@@ -98,7 +98,7 @@ class TopologyTransactionTestFactory(loggerFactory: NamedLoggerFactory, initEc:
val p1p1B_k2 =
mkAdd(
- PartyToParticipant.tryCreate(
+ PartyToParticipant(
party1b,
None,
threshold = PositiveInt.one,
@@ -109,7 +109,7 @@ class TopologyTransactionTestFactory(loggerFactory: NamedLoggerFactory, initEc:
)
val p1p6_k2 =
mkAdd(
- PartyToParticipant.tryCreate(
+ PartyToParticipant(
party1b,
None,
threshold = PositiveInt.one,
@@ -120,20 +120,20 @@ class TopologyTransactionTestFactory(loggerFactory: NamedLoggerFactory, initEc:
isProposal = true,
)
val p1p6_k6 =
- mkAddMultiKey(
- PartyToParticipant.tryCreate(
+ mkAdd(
+ PartyToParticipant(
party1b,
None,
threshold = PositiveInt.one,
Seq(HostingParticipant(participant6, ParticipantPermission.Submission)),
groupAddressing = false,
),
- NonEmpty(Set, key1, key6),
+ key6,
isProposal = true,
)
val p1p6_k2k6 =
mkAddMultiKey(
- PartyToParticipant.tryCreate(
+ PartyToParticipant(
party1b,
None,
threshold = PositiveInt.one,
@@ -145,7 +145,7 @@ class TopologyTransactionTestFactory(loggerFactory: NamedLoggerFactory, initEc:
val p1p6B_k3 =
mkAdd(
- PartyToParticipant.tryCreate(
+ PartyToParticipant(
party1b,
Some(domainId1),
threshold = PositiveInt.one,
@@ -192,15 +192,6 @@ class TopologyTransactionTestFactory(loggerFactory: NamedLoggerFactory, initEc:
NonEmpty(Set, key1, key8, key9),
serial = PositiveInt.one,
)
- val dns1Removal = mkRemove(
- dns1.mapping,
- NonEmpty(Set, key1, key8, key9),
- serial = PositiveInt.two,
- )
- val dns1Idd = mkAddMultiKey(
- IdentifierDelegation(UniqueIdentifier.tryCreate("test", dns1.mapping.namespace), key4),
- NonEmpty(Set, key1, key8, key9),
- )
val dns2 = mkAdd(
DecentralizedNamespaceDefinition
.create(ns7, PositiveInt.one, NonEmpty(Set, ns1))
@@ -223,19 +214,15 @@ class TopologyTransactionTestFactory(loggerFactory: NamedLoggerFactory, initEc:
serial = PositiveInt.two,
isProposal = true,
)
- val decentralizedNamespaceOwners = List(ns1k1_k1, ns8k8_k8, ns9k9_k9)
val decentralizedNamespaceWithMultipleOwnerThreshold =
List(ns1k1_k1, ns8k8_k8, ns9k9_k9, ns7k7_k7, dns1)
- private val dndOwners =
- NonEmpty(Set, key1.fingerprint, key2.fingerprint, key3.fingerprint).map(Namespace(_))
- private val dndNamespace = DecentralizedNamespaceDefinition.computeNamespace(dndOwners)
val dnd_proposal_k1 = mkAdd(
DecentralizedNamespaceDefinition
.create(
- dndNamespace,
+ Namespace(Fingerprint.tryCreate("dnd-namespace")),
PositiveInt.two,
- dndOwners,
+ NonEmpty(Set, key1.fingerprint, key2.fingerprint, key3.fingerprint).map(Namespace(_)),
)
.fold(sys.error, identity),
signingKey = key1,
@@ -244,7 +231,7 @@ class TopologyTransactionTestFactory(loggerFactory: NamedLoggerFactory, initEc:
val dnd_proposal_k2 = mkAdd(
DecentralizedNamespaceDefinition
.create(
- dndNamespace,
+ Namespace(Fingerprint.tryCreate("dnd-namespace")),
PositiveInt.two,
NonEmpty(Set, key1.fingerprint, key2.fingerprint, key3.fingerprint).map(Namespace(_)),
)
@@ -255,7 +242,7 @@ class TopologyTransactionTestFactory(loggerFactory: NamedLoggerFactory, initEc:
val dnd_proposal_k3 = mkAdd(
DecentralizedNamespaceDefinition
.create(
- dndNamespace,
+ Namespace(Fingerprint.tryCreate("dnd-namespace")),
PositiveInt.two,
NonEmpty(Set, key1.fingerprint, key2.fingerprint, key3.fingerprint).map(Namespace(_)),
)
diff --git a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/topology/store/TopologyStoreTestData.scala b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/topology/store/TopologyStoreTestData.scala
index 33f91f4bac..6d2b71ecb7 100644
--- a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/topology/store/TopologyStoreTestData.scala
+++ b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/topology/store/TopologyStoreTestData.scala
@@ -89,7 +89,7 @@ class TopologyStoreTestData(
serial = PositiveInt.tryCreate(1),
)
val tx3_PTP_Proposal = makeSignedTx(
- PartyToParticipant.tryCreate(
+ PartyToParticipant(
partyId = fredOfCanton,
domainId = None,
threshold = PositiveInt.one,
@@ -116,7 +116,7 @@ class TopologyStoreTestData(
serial = PositiveInt.tryCreate(2),
)
val tx5_PTP = makeSignedTx(
- PartyToParticipant.tryCreate(
+ PartyToParticipant(
partyId = fredOfCanton,
domainId = None,
threshold = PositiveInt.one,
diff --git a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/topology/transaction/GeneratorsTransaction.scala b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/topology/transaction/GeneratorsTransaction.scala
index 660fbc30cc..d473bb7277 100644
--- a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/topology/transaction/GeneratorsTransaction.scala
+++ b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/topology/transaction/GeneratorsTransaction.scala
@@ -12,8 +12,6 @@ import com.digitalasset.canton.topology.{
GeneratorsTopology,
MediatorId,
Namespace,
- ParticipantId,
- PartyId,
SequencerId,
}
import com.digitalasset.canton.version.ProtocolVersion
@@ -22,8 +20,6 @@ import magnolify.scalacheck.auto.*
import org.scalacheck.{Arbitrary, Gen}
import org.scalatest.EitherValues.*
-import scala.math.Ordering.Implicits.*
-
final class GeneratorsTransaction(
protocolVersion: ProtocolVersion,
generatorsProtocol: GeneratorsProtocol,
@@ -53,18 +49,6 @@ final class GeneratorsTransaction(
Arbitrary(Generators.nonEmptySetGen[PublicKey].map(_.toSeq))
implicit val topologyTransactionMappingsArb: Arbitrary[NonEmpty[Seq[TopologyMapping]]] =
Arbitrary(Generators.nonEmptySetGen[TopologyMapping].map(_.toSeq))
- implicit val topologyTransactionPartyIdsArb: Arbitrary[NonEmpty[Seq[PartyId]]] =
- Arbitrary(Generators.nonEmptySetGen[PartyId].map(_.toSeq))
- implicit val topologyTransactionHostingParticipantsArb
- : Arbitrary[NonEmpty[Seq[HostingParticipant]]] =
- Arbitrary(Generators.nonEmptySetGen[HostingParticipant].map(_.toSeq))
-
- implicit val hostingParticipantArb: Arbitrary[HostingParticipant] = Arbitrary(
- for {
- pid <- Arbitrary.arbitrary[ParticipantId]
- permission <- Arbitrary.arbitrary[ParticipantPermission]
- } yield HostingParticipant(pid, permission)
- )
implicit val topologyMappingArb: Arbitrary[TopologyMapping] = genArbitrary
@@ -105,31 +89,6 @@ final class GeneratorsTransaction(
} yield PurgeTopologyTransaction.create(domain, mappings).value
)
- implicit val authorityOfTopologyTransactionArb: Arbitrary[AuthorityOf] = Arbitrary(
- for {
- partyId <- Arbitrary.arbitrary[PartyId]
- domain <- Arbitrary.arbitrary[Option[DomainId]]
- authorizers <- Arbitrary.arbitrary[NonEmpty[Seq[PartyId]]]
- // Not using Arbitrary.arbitrary[PositiveInt] for threshold to honor constraint
- threshold <- Gen.choose(1, authorizers.size).map(PositiveInt.tryCreate)
- } yield AuthorityOf.create(partyId, domain, threshold, authorizers).value
- )
-
- implicit val partyToParticipantTopologyTransactionArb: Arbitrary[PartyToParticipant] = Arbitrary(
- for {
- partyId <- Arbitrary.arbitrary[PartyId]
- domain <- Arbitrary.arbitrary[Option[DomainId]]
- participants <- Arbitrary.arbitrary[NonEmpty[Seq[HostingParticipant]]]
- // Not using Arbitrary.arbitrary[PositiveInt] for threshold to honor constraint
- threshold <- Gen
- .choose(1, participants.count(_.permission >= ParticipantPermission.Confirmation).max(1))
- .map(PositiveInt.tryCreate)
- groupAddressing <- Arbitrary.arbitrary[Boolean]
- } yield PartyToParticipant
- .create(partyId, domain, threshold, participants, groupAddressing)
- .value
- )
-
implicit val sequencerDomainStateArb: Arbitrary[SequencerDomainState] = Arbitrary(
for {
domain <- Arbitrary.arbitrary[DomainId]
diff --git a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/topology/transaction/ValidatingTopologyMappingChecksTest.scala b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/topology/transaction/ValidatingTopologyMappingChecksTest.scala
index 297a955f51..0dd8eecf7c 100644
--- a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/topology/transaction/ValidatingTopologyMappingChecksTest.scala
+++ b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/topology/transaction/ValidatingTopologyMappingChecksTest.scala
@@ -5,16 +5,12 @@ package com.digitalasset.canton.topology.transaction
import com.daml.nonempty.NonEmpty
import com.digitalasset.canton.config.RequireTypes.{NonNegativeInt, PositiveInt}
-import com.digitalasset.canton.crypto.Fingerprint
import com.digitalasset.canton.protocol.{DynamicDomainParameters, OnboardingRestriction}
import com.digitalasset.canton.topology.DefaultTestIdentities.{mediatorId, sequencerId}
import com.digitalasset.canton.topology.*
import com.digitalasset.canton.topology.processing.{EffectiveTime, SequencedTime}
import com.digitalasset.canton.topology.store.TopologyStoreId.AuthorizedStore
-import com.digitalasset.canton.topology.store.TopologyTransactionRejection.{
- InvalidTopologyMapping,
- PartyExceedsHostingLimit,
-}
+import com.digitalasset.canton.topology.store.TopologyTransactionRejection.InvalidTopologyMapping
import com.digitalasset.canton.topology.store.memory.InMemoryTopologyStore
import com.digitalasset.canton.topology.store.{
StoredTopologyTransaction,
@@ -101,64 +97,35 @@ class ValidatingTopologyMappingChecksTest
}
}
- "validating DecentralizedNamespaceDefinition" should {
- "reject namespaces not derived from their owners' namespaces" in {
- val (checks, store) = mk()
- val keys = NonEmpty.mk(
- Set,
- factory.SigningKeys.key1,
- factory.SigningKeys.key2,
- factory.SigningKeys.key3,
- )
- val (namespaces, rootCerts) =
- keys.map { key =>
- val namespace = Namespace(key.fingerprint)
- namespace -> factory.mkAdd(
- NamespaceDelegation.tryCreate(
- namespace,
- key,
- isRootDelegation = true,
- ),
- signingKey = key,
- )
- }.unzip
+ "validating PartyToParticipant" should {
- addToStore(store, rootCerts.toSeq*)
+ "reject an invalid threshold" in {
+ val (checks, _) = mk()
- val dns = factory.mkAddMultiKey(
- DecentralizedNamespaceDefinition
- .create(
- Namespace(Fingerprint.tryCreate("bogusNamespace")),
- PositiveInt.one,
- NonEmpty.from(namespaces).value.toSet,
- )
- .value,
- signingKeys = keys,
- // using serial=2 here to test that we don't special case serial=1
- serial = PositiveInt.two,
+ val failureCases = Seq[(PositiveInt, Seq[HostingParticipant])](
+ PositiveInt.two -> Seq(participant1 -> Observation, participant2 -> Confirmation),
+ PositiveInt.two -> Seq(participant1 -> Observation, participant2 -> Submission),
+ PositiveInt.two -> Seq(participant1 -> Submission),
+ PositiveInt.one -> Seq(participant1 -> Observation),
)
- checkTransaction(checks, dns, None) should matchPattern {
- case Left(TopologyTransactionRejection.InvalidTopologyMapping(err))
- if err.contains("not derived from the owners") =>
+ failureCases.foreach { case (threshold, participants) =>
+ val ptp = factory.mkAdd(
+ PartyToParticipant(
+ party1,
+ None,
+ threshold,
+ participants,
+ groupAddressing = false,
+ )
+ )
+
+ checkTransaction(checks, ptp) should matchPattern {
+ case Left(TopologyTransactionRejection.ThresholdTooHigh(`threshold`.value, _)) =>
+ }
}
}
- // TODO(#19716) how does one produce a key with a specific hash? by using symbolic crypto?
- "reject if a root certificate with the same namespace already exists" ignore {
- fail("TODO(#19716)")
- }
- }
-
- "validating NamespaceDelegation" should {
- // TODO(#19715) how does one produce a key with a specific hash? by using symbolic crypto?
- "reject a root certificate if a decentralized namespace with the same namespace already exists" ignore {
- fail("TODO(#19715)")
- }
- }
-
- "validating PartyToParticipant" should {
-
"reject when participants don't have a DTC" in {
val (checks, store) = mk()
addToStore(store, p2_dtc)
@@ -167,7 +134,7 @@ class ValidatingTopologyMappingChecksTest
failureCases.foreach { participants =>
val ptp = factory.mkAdd(
- PartyToParticipant.tryCreate(
+ PartyToParticipant(
party1,
None,
PositiveInt.one,
@@ -196,7 +163,7 @@ class ValidatingTopologyMappingChecksTest
missingKeyCases.foreach { participant =>
val ptp = factory.mkAdd(
- PartyToParticipant.tryCreate(
+ PartyToParticipant(
party1,
None,
PositiveInt.one,
@@ -210,40 +177,6 @@ class ValidatingTopologyMappingChecksTest
}
}
- "reject when the party exceeds the explicitly issued PartyHostingLimits" in {
- def mkPTP(numParticipants: Int) = {
- val hostingParticipants = Seq[HostingParticipant](
- participant1 -> Observation,
- participant2 -> Submission,
- participant3 -> Submission,
- )
- factory.mkAdd(
- PartyToParticipant.tryCreate(
- partyId = party1,
- domainId = None,
- threshold = PositiveInt.one,
- participants = hostingParticipants.take(numParticipants),
- groupAddressing = false,
- )
- )
- }
-
- val (checks, store) = mk()
- val limits = factory.mkAdd(PartyHostingLimits(domainId, party1, 2))
- addToStore(store, p1_otk, p1_dtc, p2_otk, p2_dtc, p3_otk, p3_dtc, limits)
-
- // 2 participants are at the limit
- val twoParticipants = mkPTP(numParticipants = 2)
- checkTransaction(checks, twoParticipants) shouldBe Right(())
-
- // 3 participants exceed the limit imposed by the domain
- val threeParticipants = mkPTP(numParticipants = 3)
- checkTransaction(checks, threeParticipants) shouldBe Left(
- PartyExceedsHostingLimit(party1, 2, 3)
- )
-
- }
-
"report no errors for valid mappings" in {
val (checks, store) = mk()
addToStore(store, p1_otk, p1_dtc, p2_otk, p2_dtc, p3_otk, p3_dtc)
@@ -262,7 +195,7 @@ class ValidatingTopologyMappingChecksTest
validCases.foreach { case (threshold, participants) =>
val ptp = factory.mkAdd(
- PartyToParticipant.tryCreate(
+ PartyToParticipant(
party1,
None,
threshold,
@@ -280,7 +213,7 @@ class ValidatingTopologyMappingChecksTest
"reject a removal when the participant still hosts a party" in {
val (checks, store) = mk()
val ptp = factory.mkAdd(
- PartyToParticipant.tryCreate(
+ PartyToParticipant(
party1,
None,
PositiveInt.one,
@@ -452,6 +385,35 @@ class ValidatingTopologyMappingChecksTest
)
)
}
+
+ "report ThresholdTooHigh" in {
+ val (checks, store) = mk()
+ val (Seq(med1, med2), transactions) = generateMemberIdentities(2, MediatorId(_))
+ addToStore(store, transactions*)
+
+ // using reflection to create an instance via the private constructor
+ // so we can bypass the checks in MediatorDomainState.create
+ val ctr = classOf[MediatorDomainState].getConstructor(
+ classOf[DomainId],
+ classOf[NonNegativeInt],
+ classOf[PositiveInt],
+ classOf[Object],
+ classOf[Seq[MediatorId]],
+ )
+ val invalidMapping = ctr.newInstance(
+ domainId,
+ NonNegativeInt.zero,
+ PositiveInt.three, // threshold higher than number of active mediators
+ NonEmpty(Seq, med1, med2),
+ Seq.empty,
+ )
+
+ val mds = factory.mkAdd(invalidMapping, factory.SigningKeys.key1)
+
+ checkTransaction(checks, mds) shouldBe Left(
+ TopologyTransactionRejection.ThresholdTooHigh(3, 2)
+ )
+ }
}
"validating SequencerDomainState" should {
@@ -529,6 +491,33 @@ class ValidatingTopologyMappingChecksTest
)
)
}
+
+ "report ThresholdTooHigh" in {
+ val (checks, store) = mk()
+ val (Seq(seq1, seq2), transactions) = generateMemberIdentities(2, SequencerId(_))
+ addToStore(store, transactions*)
+
+ // using reflection to create an instance via the private constructor
+ // so we can bypass the checks in SequencerDomainState.create
+ val ctr = classOf[SequencerDomainState].getConstructor(
+ classOf[DomainId],
+ classOf[PositiveInt],
+ classOf[Object],
+ classOf[Seq[SequencerId]],
+ )
+ val invalidMapping = ctr.newInstance(
+ domainId,
+ PositiveInt.three, // threshold higher than number of active sequencers
+ NonEmpty(Seq, seq1, seq2),
+ Seq.empty,
+ )
+
+ val sds = factory.mkAdd(invalidMapping, factory.SigningKeys.key1)
+
+ checkTransaction(checks, sds) shouldBe Left(
+ TopologyTransactionRejection.ThresholdTooHigh(3, 2)
+ )
+ }
}
"validating OwnerToKeyMapping" should {
@@ -593,7 +582,7 @@ class ValidatingTopologyMappingChecksTest
"validating AuthorityOf" should {
val ptps @ Seq(p1_ptp, p2_ptp, p3_ptp) = Seq(party1, party2, party3).map { party =>
factory.mkAdd(
- PartyToParticipant.tryCreate(
+ PartyToParticipant(
party,
None,
PositiveInt.one,
@@ -607,9 +596,7 @@ class ValidatingTopologyMappingChecksTest
addToStore(store, ptps*)
val authorityOf =
- factory.mkAdd(
- AuthorityOf.create(party1, None, PositiveInt.two, Seq(party2, party3)).value
- )
+ factory.mkAdd(AuthorityOf(party1, None, PositiveInt.two, Seq(party2, party3)))
checkTransaction(checks, authorityOf) shouldBe Right(())
}
@@ -618,31 +605,40 @@ class ValidatingTopologyMappingChecksTest
addToStore(store, p1_ptp)
val missingAuthorizingParty =
- factory.mkAdd(AuthorityOf.create(party2, None, PositiveInt.one, Seq(party1)).value)
+ factory.mkAdd(AuthorityOf(party2, None, PositiveInt.one, Seq(party1)))
checkTransaction(checks, missingAuthorizingParty) shouldBe Left(
TopologyTransactionRejection.UnknownParties(Seq(party2))
)
val missingAuthorizedParty =
- factory.mkAdd(AuthorityOf.create(party1, None, PositiveInt.one, Seq(party2)).value)
+ factory.mkAdd(AuthorityOf(party1, None, PositiveInt.one, Seq(party2)))
checkTransaction(checks, missingAuthorizedParty) shouldBe Left(
TopologyTransactionRejection.UnknownParties(Seq(party2))
)
val missingAllParties =
- factory.mkAdd(AuthorityOf.create(party2, None, PositiveInt.one, Seq(party3)).value)
+ factory.mkAdd(AuthorityOf(party2, None, PositiveInt.one, Seq(party3)))
checkTransaction(checks, missingAllParties) shouldBe Left(
TopologyTransactionRejection.UnknownParties(Seq(party2, party3))
)
val missingMixedParties =
- factory.mkAdd(
- AuthorityOf.create(party2, None, PositiveInt.one, Seq(party1, party3)).value
- )
+ factory.mkAdd(AuthorityOf(party2, None, PositiveInt.one, Seq(party1, party3)))
checkTransaction(checks, missingMixedParties) shouldBe Left(
TopologyTransactionRejection.UnknownParties(Seq(party2, party3))
)
}
+
+ "report ThresholdTooHigh if the threshold is higher than the number of authorized parties" in {
+ val (checks, store) = mk()
+ addToStore(store, ptps*)
+
+ val thresholdTooHigh =
+ factory.mkAdd(AuthorityOf(party1, None, PositiveInt.three, Seq(party2, party3)))
+ checkTransaction(checks, thresholdTooHigh) shouldBe Left(
+ TopologyTransactionRejection.ThresholdTooHigh(3, 2)
+ )
+ }
}
}
diff --git a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/tracing/TracedScaffeineTest.scala b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/tracing/TracedScaffeineTest.scala
index 67a77e72f6..c7669e7b9c 100644
--- a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/tracing/TracedScaffeineTest.scala
+++ b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/tracing/TracedScaffeineTest.scala
@@ -32,7 +32,7 @@ class TracedScaffeineTest extends AsyncWordSpec with BaseTest {
}
}.failOnShutdown
- "Handle AbortDueToShutdownException in get" in {
+ "Handle an AbortDueToShutdownException" in {
val keysCache =
TracedScaffeine.buildTracedAsyncFutureUS[Int, Int](
cache = CachingConfigs.testing.mySigningKeyCache.buildScaffeine(),
@@ -47,22 +47,6 @@ class TracedScaffeineTest extends AsyncWordSpec with BaseTest {
}
}
- // Note that when Scaffeine.getAll returns a failed future that wraps the underlying exception
- // with java.util.concurrent.CompletionException
- "Handle AbortDueToShutdownException in getAll" in {
- val keysCache =
- TracedScaffeine.buildTracedAsyncFutureUS[Int, Int](
- cache = CachingConfigs.testing.mySigningKeyCache.buildScaffeine(),
- loader = traceContext => input => getValueBroken(input),
- )(logger)
-
- for {
- result <- keysCache.getAllUS(Set(10)).unwrap
- } yield {
- result shouldBe UnlessShutdown.AbortedDueToShutdown
- }
- }
-
"Allow entries to be cleared" in {
val loads = new AtomicInteger(0)
diff --git a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/util/LfGenerator.scala b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/util/LfGenerator.scala
index 648003fc23..18bd592c47 100644
--- a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/util/LfGenerator.scala
+++ b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/util/LfGenerator.scala
@@ -5,8 +5,8 @@ package com.digitalasset.canton.util
import cats.data.StateT
import cats.syntax.traverse.*
-import com.daml.lf.data.{ImmArray, Ref}
-import com.daml.lf.value.test.ValueGenerators
+import com.digitalasset.daml.lf.data.{ImmArray, Ref}
+import com.digitalasset.daml.lf.value.test.ValueGenerators
import com.digitalasset.canton.BaseTest
import com.digitalasset.canton.protocol.*
import com.digitalasset.canton.util.LfTransactionBuilder.*
diff --git a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/util/LfTransactionBuilder.scala b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/util/LfTransactionBuilder.scala
index 49f2ad3c17..788c1ceb0a 100644
--- a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/util/LfTransactionBuilder.scala
+++ b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/util/LfTransactionBuilder.scala
@@ -5,10 +5,10 @@ package com.digitalasset.canton.util
import cats.Monad
import cats.data.StateT
-import com.daml.lf.data.Ref.QualifiedName
-import com.daml.lf.data.{ImmArray, Ref}
-import com.daml.lf.language.LanguageVersion
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.data.Ref.QualifiedName
+import com.digitalasset.daml.lf.data.{ImmArray, Ref}
+import com.digitalasset.daml.lf.language.LanguageVersion
+import com.digitalasset.daml.lf.value.Value
import com.digitalasset.canton.protocol.*
import com.digitalasset.canton.{LfInterfaceId, LfPackageId}
diff --git a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/version/DamlLfVersionToProtocolVersionsTest.scala b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/version/DamlLfVersionToProtocolVersionsTest.scala
index 4663eea260..297217c2fd 100644
--- a/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/version/DamlLfVersionToProtocolVersionsTest.scala
+++ b/sdk/canton/community/common/src/test/scala/com/digitalasset/canton/version/DamlLfVersionToProtocolVersionsTest.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.version
-import com.daml.lf.transaction.TransactionVersion
+import com.digitalasset.daml.lf.transaction.TransactionVersion
import com.digitalasset.canton.BaseTest
import org.scalatest.wordspec.AnyWordSpec
diff --git a/sdk/canton/community/demo/src/main/daml/ai-analysis/daml.yaml b/sdk/canton/community/demo/src/main/daml/ai-analysis/daml.yaml
index f8d28bec1f..473415caa2 100644
--- a/sdk/canton/community/demo/src/main/daml/ai-analysis/daml.yaml
+++ b/sdk/canton/community/demo/src/main/daml/ai-analysis/daml.yaml
@@ -1,4 +1,4 @@
-sdk-version: 3.1.0-snapshot.20240620.13140.0.v996a1164
+sdk-version: 3.1.0-snapshot.20240613.13124.0.v24e0f5e8
build-options:
- --target=2.1
name: ai-analysis
diff --git a/sdk/canton/community/demo/src/main/daml/bank/daml.yaml b/sdk/canton/community/demo/src/main/daml/bank/daml.yaml
index cb9bcceb98..8917867cc3 100644
--- a/sdk/canton/community/demo/src/main/daml/bank/daml.yaml
+++ b/sdk/canton/community/demo/src/main/daml/bank/daml.yaml
@@ -1,4 +1,4 @@
-sdk-version: 3.1.0-snapshot.20240620.13140.0.v996a1164
+sdk-version: 3.1.0-snapshot.20240613.13124.0.v24e0f5e8
build-options:
- --target=2.1
name: bank
diff --git a/sdk/canton/community/demo/src/main/daml/doctor/daml.yaml b/sdk/canton/community/demo/src/main/daml/doctor/daml.yaml
index 754afe6971..341c35727c 100644
--- a/sdk/canton/community/demo/src/main/daml/doctor/daml.yaml
+++ b/sdk/canton/community/demo/src/main/daml/doctor/daml.yaml
@@ -1,4 +1,4 @@
-sdk-version: 3.1.0-snapshot.20240620.13140.0.v996a1164
+sdk-version: 3.1.0-snapshot.20240613.13124.0.v24e0f5e8
build-options:
- --target=2.1
name: doctor
diff --git a/sdk/canton/community/demo/src/main/daml/health-insurance/daml.yaml b/sdk/canton/community/demo/src/main/daml/health-insurance/daml.yaml
index d8695948eb..dfccbb470a 100644
--- a/sdk/canton/community/demo/src/main/daml/health-insurance/daml.yaml
+++ b/sdk/canton/community/demo/src/main/daml/health-insurance/daml.yaml
@@ -1,4 +1,4 @@
-sdk-version: 3.1.0-snapshot.20240620.13140.0.v996a1164
+sdk-version: 3.1.0-snapshot.20240613.13124.0.v24e0f5e8
build-options:
- --target=2.1
name: health-insurance
diff --git a/sdk/canton/community/demo/src/main/daml/medical-records/daml.yaml b/sdk/canton/community/demo/src/main/daml/medical-records/daml.yaml
index 3529bdfab8..21ef0dcd35 100644
--- a/sdk/canton/community/demo/src/main/daml/medical-records/daml.yaml
+++ b/sdk/canton/community/demo/src/main/daml/medical-records/daml.yaml
@@ -1,4 +1,4 @@
-sdk-version: 3.1.0-snapshot.20240620.13140.0.v996a1164
+sdk-version: 3.1.0-snapshot.20240613.13124.0.v24e0f5e8
build-options:
- --target=2.1
name: medical-records
diff --git a/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/block/BlockSequencerStateManager.scala b/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/block/BlockSequencerStateManager.scala
index fc2b1a3533..8bd13a858a 100644
--- a/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/block/BlockSequencerStateManager.scala
+++ b/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/block/BlockSequencerStateManager.scala
@@ -33,6 +33,7 @@ import com.digitalasset.canton.domain.block.update.{
import com.digitalasset.canton.domain.sequencing.integrations.state.statemanager.MemberCounters
import com.digitalasset.canton.domain.sequencing.sequencer.block.BlockSequencer
import com.digitalasset.canton.domain.sequencing.sequencer.errors.CreateSubscriptionError
+import com.digitalasset.canton.domain.sequencing.sequencer.traffic.SequencerRateLimitManager
import com.digitalasset.canton.domain.sequencing.sequencer.{Sequencer, SequencerIntegration}
import com.digitalasset.canton.error.BaseAlarm
import com.digitalasset.canton.lifecycle.{
@@ -49,7 +50,7 @@ import com.digitalasset.canton.topology.{DomainId, Member, SequencerId}
import com.digitalasset.canton.tracing.{TraceContext, Traced}
import com.digitalasset.canton.util.PekkoUtil.syntax.*
import com.digitalasset.canton.util.ShowUtil.*
-import com.digitalasset.canton.util.{ErrorUtil, LoggerUtil, MapsUtil}
+import com.digitalasset.canton.util.{ErrorUtil, LoggerUtil, MapsUtil, MonadUtil}
import com.digitalasset.canton.version.ProtocolVersion
import com.google.common.annotations.VisibleForTesting
import org.apache.pekko.stream.KillSwitches
@@ -127,6 +128,7 @@ class BlockSequencerStateManager(
override val maybeLowerTopologyTimestampBound: Option[CantonTimestamp],
override protected val timeouts: ProcessingTimeout,
protected val loggerFactory: NamedLoggerFactory,
+ rateLimitManager: SequencerRateLimitManager,
unifiedSequencer: Boolean,
)(implicit executionContext: ExecutionContext)
extends BlockSequencerStateManagerBase
@@ -400,13 +402,12 @@ class BlockSequencerStateManager(
)
.map { case (_, event) =>
if (event.isTombstone) {
- val err = SequencerSubscriptionError.TombstoneEncountered.Error(
- event.counter,
- member,
- event.timestamp,
+ val err =
+ s"Encountered tombstone ${event.counter} and ${event.timestamp} for $member"
+ logger.warn(s"Terminating subscription due to: $err")(event.traceContext)
+ Left(
+ SequencerSubscriptionError.TombstoneEncountered.Error(err)
)
- logger.warn(s"Terminating subscription due to: ${err.cause}")(event.traceContext)
- Left(err)
} else {
Right(event)
}
@@ -445,6 +446,20 @@ class BlockSequencerStateManager(
newHead
}
+ private def updateMemberCounterSupportedAfter(member: Member, counter: SequencerCounter)(implicit
+ traceContext: TraceContext
+ ): Future[Unit] =
+ store
+ .updateMemberCounterSupportedAfter(member, counter)
+ .map(_ =>
+ countersSupportedAfter.getAndUpdate { previousCounters =>
+ if (previousCounters.get(member).exists(_ >= counter))
+ previousCounters
+ else
+ previousCounters + (member -> counter)
+ }.discard
+ )
+
private def handleChunkUpdate(
priorHead: HeadState,
update: ChunkUpdate[SignedChunkEvents],
@@ -538,6 +553,13 @@ class BlockSequencerStateManager(
membersDisabled = Seq.empty,
inFlightAggregationUpdates = update.inFlightAggregationUpdates,
)
+ _ <- MonadUtil.sequentialTraverse[(Member, SequencerCounter), Future, Unit](
+ update.events
+ .flatMap(_.events)
+ .collect {
+ case (member, tombstone) if tombstone.isTombstone => member -> tombstone.counter
+ }
+ ) { case (member, counter) => updateMemberCounterSupportedAfter(member, counter) }
} yield {
// head state update must happen before member counters are updated
// as otherwise, if we have a registration in between counter-signalling and head-state,
@@ -766,6 +788,7 @@ object BlockSequencerStateManager {
enableInvariantCheck: Boolean,
timeouts: ProcessingTimeout,
loggerFactory: NamedLoggerFactory,
+ rateLimitManager: SequencerRateLimitManager,
unifiedSequencer: Boolean,
)(implicit
executionContext: ExecutionContext,
@@ -786,6 +809,7 @@ object BlockSequencerStateManager {
maybeLowerTopologyTimestampBound = maybeLowerTopologyTimestampBound,
timeouts = timeouts,
loggerFactory = loggerFactory,
+ rateLimitManager = rateLimitManager,
unifiedSequencer = unifiedSequencer,
)
}
diff --git a/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/block/update/BlockChunkProcessor.scala b/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/block/update/BlockChunkProcessor.scala
index a47fb508d3..04147114f5 100644
--- a/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/block/update/BlockChunkProcessor.scala
+++ b/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/block/update/BlockChunkProcessor.scala
@@ -336,7 +336,6 @@ private[update] final class BlockChunkProcessor(
case Some(params) =>
newMembers.toList
.parTraverse_ { case (member, timestamp) =>
- // Note: in unified sequencer mode, rate limiter uses a default value if member is not present in its state
rateLimitManager
.registerNewMemberAt(
member,
diff --git a/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/block/update/SubmissionRequestValidator.scala b/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/block/update/SubmissionRequestValidator.scala
index bdbc353ecc..562700550e 100644
--- a/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/block/update/SubmissionRequestValidator.scala
+++ b/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/block/update/SubmissionRequestValidator.scala
@@ -702,29 +702,30 @@ private[update] final class SubmissionRequestValidator(
}
topologyTimestampO = submissionRequest.topologyTimestamp
- members =
- groupToMembers.values.flatten.toSet ++ submissionRequest.batch.allMembers + submissionRequest.sender
events =
if (unifiedSequencer) {
Map.empty[Member, Deliver[ClosedEnvelope]]
} else {
- members.toSeq.map { member =>
- val groups = groupToMembers.collect {
- case (groupAddress, members) if members.contains(member) => groupAddress
- }.toSet
- val deliver = Deliver.create(
- state.tryNextCounter(member),
- sequencingTimestamp,
- domainId,
- Option.when(member == submissionRequest.sender)(submissionRequest.messageId),
- Batch.filterClosedEnvelopesFor(aggregatedBatch, member, groups),
- topologyTimestampO,
- protocolVersion,
- Option.empty[TrafficReceipt],
- )
- member -> deliver
+ (groupToMembers.values.flatten.toSet ++ submissionRequest.batch.allMembers + submissionRequest.sender).toSeq.map {
+ member =>
+ val groups = groupToMembers.collect {
+ case (groupAddress, members) if members.contains(member) => groupAddress
+ }.toSet
+ val deliver = Deliver.create(
+ state.tryNextCounter(member),
+ sequencingTimestamp,
+ domainId,
+ Option.when(member == submissionRequest.sender)(submissionRequest.messageId),
+ Batch.filterClosedEnvelopesFor(aggregatedBatch, member, groups),
+ topologyTimestampO,
+ protocolVersion,
+ Option.empty[TrafficReceipt],
+ )
+ member -> deliver
}.toMap
}
+ members =
+ groupToMembers.values.flatten.toSet ++ submissionRequest.batch.allMembers + submissionRequest.sender
aggregationUpdate = aggregationOutcome.map {
case (aggregationId, inFlightAggregationUpdate, _) =>
aggregationId -> inFlightAggregationUpdate
diff --git a/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/block/update/TrafficControlValidator.scala b/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/block/update/TrafficControlValidator.scala
index b0d3e63104..caa0aad029 100644
--- a/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/block/update/TrafficControlValidator.scala
+++ b/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/block/update/TrafficControlValidator.scala
@@ -195,7 +195,9 @@ private[update] class TrafficControlValidator(
sender,
// When above traffic limit we don't consume traffic, hence cost = 0
Some(
- error.trafficState.copy(lastConsumedCost = NonNegativeLong.zero).toTrafficReceipt
+ error.trafficState.toTrafficReceipt(
+ consumedCost = NonNegativeLong.zero
+ )
),
)
// Outdated event costs are possible if the sender is too far behind and out of the tolerance window.
diff --git a/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/mediator/ConfirmationResponseProcessor.scala b/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/mediator/ConfirmationResponseProcessor.scala
new file mode 100644
index 0000000000..60f911068c
--- /dev/null
+++ b/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/mediator/ConfirmationResponseProcessor.scala
@@ -0,0 +1,890 @@
+// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
+
+package com.digitalasset.canton.domain.mediator
+
+import cats.data.{EitherT, OptionT}
+import cats.instances.future.*
+import cats.syntax.alternative.*
+import cats.syntax.foldable.*
+import cats.syntax.functorFilter.*
+import cats.syntax.parallel.*
+import com.daml.nonempty.NonEmpty
+import com.digitalasset.canton.*
+import com.digitalasset.canton.config.ProcessingTimeout
+import com.digitalasset.canton.config.RequireTypes.NonNegativeInt
+import com.digitalasset.canton.crypto.{DomainSnapshotSyncCryptoApi, DomainSyncCryptoClient}
+import com.digitalasset.canton.data.{CantonTimestamp, ViewConfirmationParameters, ViewType}
+import com.digitalasset.canton.domain.mediator.store.MediatorState
+import com.digitalasset.canton.error.MediatorError
+import com.digitalasset.canton.lifecycle.{FlagCloseable, FutureUnlessShutdown, HasCloseContext}
+import com.digitalasset.canton.logging.{ErrorLoggingContext, NamedLoggerFactory, NamedLogging}
+import com.digitalasset.canton.protocol.*
+import com.digitalasset.canton.protocol.messages.*
+import com.digitalasset.canton.sequencing.HandlerResult
+import com.digitalasset.canton.sequencing.protocol.*
+import com.digitalasset.canton.time.{DomainTimeTracker, NonNegativeFiniteDuration}
+import com.digitalasset.canton.topology.*
+import com.digitalasset.canton.topology.client.TopologySnapshot
+import com.digitalasset.canton.tracing.{Spanning, TraceContext, Traced}
+import com.digitalasset.canton.util.EitherUtil.RichEither
+import com.digitalasset.canton.util.FutureInstances.*
+import com.digitalasset.canton.util.ShowUtil.*
+import com.digitalasset.canton.util.*
+import com.digitalasset.canton.version.ProtocolVersion
+import com.google.common.annotations.VisibleForTesting
+import io.opentelemetry.api.trace.Tracer
+import org.slf4j.event.Level
+
+import scala.collection.mutable
+import scala.concurrent.{ExecutionContext, Future}
+
+/** Scalable service to validate the received MediatorConfirmationRequests and ConfirmationResponses,
+ * derive a verdict, and send ConfirmationResultMessages to informee participants.
+ */
+private[mediator] class ConfirmationResponseProcessor(
+ domainId: DomainId,
+ private val mediatorId: MediatorId,
+ verdictSender: VerdictSender,
+ crypto: DomainSyncCryptoClient,
+ timeTracker: DomainTimeTracker,
+ val mediatorState: MediatorState,
+ protocolVersion: ProtocolVersion,
+ protected val loggerFactory: NamedLoggerFactory,
+ override val timeouts: ProcessingTimeout,
+)(implicit ec: ExecutionContext, tracer: Tracer)
+ extends NamedLogging
+ with Spanning
+ with FlagCloseable
+ with HasCloseContext {
+
+ def handleRequestEvents(
+ timestamp: CantonTimestamp,
+ event: Option[Traced[MediatorEvent]],
+ callerTraceContext: TraceContext,
+ ): HandlerResult = {
+
+ if (logger.underlying.isInfoEnabled()) {
+ event.foreach(e =>
+ e.value match {
+ case response: MediatorEvent.Response =>
+ logger.info(show"Phase 5: Received responses for request=${timestamp}: ${response}")(
+ e.traceContext
+ )
+ case _ => ()
+ }
+ )
+ }
+
+ val future = for {
+ // FIXME(i12903): do not block if requestId is far in the future
+ snapshot <- crypto.ips.awaitSnapshotUS(timestamp)(callerTraceContext)
+
+ domainParameters <- FutureUnlessShutdown.outcomeF(
+ snapshot
+ .findDynamicDomainParameters()(callerTraceContext)
+ .flatMap(_.toFuture(new IllegalStateException(_)))
+ )
+
+ participantResponseDeadline <- FutureUnlessShutdown.outcomeF(
+ domainParameters.participantResponseDeadlineForF(timestamp)
+ )
+ decisionTime <- FutureUnlessShutdown.outcomeF(domainParameters.decisionTimeForF(timestamp))
+ confirmationResponseTimeout = domainParameters.parameters.confirmationResponseTimeout
+ _ <-
+ handleTimeouts(timestamp)(
+ callerTraceContext
+ )
+
+ _ <- event.traverse_(e =>
+ e.value match {
+ case MediatorEvent.Request(
+ counter,
+ _,
+ request,
+ rootHashMessages,
+ batchAlsoContainsTopologyTransaction,
+ ) =>
+ processRequest(
+ RequestId(timestamp),
+ counter,
+ participantResponseDeadline,
+ decisionTime,
+ confirmationResponseTimeout,
+ request,
+ rootHashMessages,
+ batchAlsoContainsTopologyTransaction,
+ )(e.traceContext)
+ case MediatorEvent.Response(
+ counter,
+ timestamp,
+ response,
+ topologyTimestamp,
+ recipients,
+ ) =>
+ processResponse(
+ timestamp,
+ counter,
+ participantResponseDeadline,
+ decisionTime,
+ response,
+ topologyTimestamp,
+ recipients,
+ )(e.traceContext)
+ }
+ )
+ } yield ()
+ HandlerResult.synchronous(future)
+ }
+
+ private[mediator] def handleTimeouts(
+ timestamp: CantonTimestamp
+ )(implicit traceContext: TraceContext): FutureUnlessShutdown[Unit] = {
+ mediatorState
+ .pendingTimedoutRequest(timestamp) match {
+ case Nil => FutureUnlessShutdown.unit
+ case nonEmptyTimeouts =>
+ nonEmptyTimeouts.map(handleTimeout(_, timestamp)).sequence_
+ }
+ }
+
+ @VisibleForTesting
+ private[mediator] def handleTimeout(
+ requestId: RequestId,
+ timestamp: CantonTimestamp,
+ )(implicit traceContext: TraceContext): FutureUnlessShutdown[Unit] = {
+ def pendingRequestNotFound: FutureUnlessShutdown[Unit] = {
+ logger.debug(
+ s"Pending aggregation for request [$requestId] not found. This implies the request has been finalized since the timeout was scheduled."
+ )
+ FutureUnlessShutdown.unit
+ }
+
+ mediatorState.getPending(requestId).fold(pendingRequestNotFound) { responseAggregation =>
+ // the event causing the timeout is likely unrelated to the transaction we're actually timing out,
+ // so replace the implicit trace context with the original request trace
+ implicit val traceContext: TraceContext = responseAggregation.requestTraceContext
+
+ logger
+ .info(
+ s"Phase 6: Request ${requestId.unwrap}: Timeout in state ${responseAggregation.state} at $timestamp"
+ )
+
+ val timeout = responseAggregation.timeout(version = timestamp)
+ for {
+ snapshot <- crypto.ips.awaitSnapshotUS(responseAggregation.requestId.unwrap)(traceContext)
+
+ domainParameters <- FutureUnlessShutdown.outcomeF(
+ snapshot
+ .findDynamicDomainParameters()(traceContext)
+ .flatMap(_.toFuture(new IllegalStateException(_)))
+ )
+ decisionTime = domainParameters.decisionTimeFor(responseAggregation.requestId.unwrap)
+ state <- mediatorState
+ .replace(responseAggregation, timeout)
+ .semiflatMap { _ =>
+ decisionTime.fold(
+ string =>
+ FutureUnlessShutdown
+ .failed(new IllegalStateException(s"failed to retrieve decision time: $string")),
+ dec => sendResultIfDone(timeout, dec),
+ )
+ }
+ .getOrElse(())
+
+ } yield state
+ }
+ }
+
+ /** Stores the incoming request in the MediatorStore.
+ * Sends a result message if no responses need to be received or if the request is malformed,
+ * including if it declares a different mediator.
+ */
+ @VisibleForTesting
+ private[mediator] def processRequest(
+ requestId: RequestId,
+ counter: SequencerCounter,
+ participantResponseDeadline: CantonTimestamp,
+ decisionTime: CantonTimestamp,
+ confirmationResponseTimeout: NonNegativeFiniteDuration,
+ request: MediatorConfirmationRequest,
+ rootHashMessages: Seq[OpenEnvelope[RootHashMessage[SerializedRootHashMessagePayload]]],
+ batchAlsoContainsTopologyTransaction: Boolean,
+ )(implicit traceContext: TraceContext): FutureUnlessShutdown[Unit] = {
+ withSpan("TransactionConfirmationResponseProcessor.processRequest") {
+ val timeout = requestId.unwrap.plus(confirmationResponseTimeout.unwrap)
+ implicit traceContext =>
+ span =>
+ span.setAttribute("request_id", requestId.toString)
+ span.setAttribute("counter", counter.toString)
+
+ for {
+ snapshot <- crypto.awaitSnapshotUS(requestId.unwrap)
+
+ unitOrVerdictO <- FutureUnlessShutdown.outcomeF {
+ validateRequest(
+ requestId,
+ request,
+ rootHashMessages,
+ snapshot,
+ batchAlsoContainsTopologyTransaction,
+ )
+ }
+
+ // Take appropriate actions based on unitOrVerdictO
+ _ <- unitOrVerdictO match {
+ // Request is well-formed, but not yet finalized
+ case Right(()) =>
+ val aggregationF = FutureUnlessShutdown.outcomeF(
+ ResponseAggregation.fromRequest(
+ requestId,
+ request,
+ timeout,
+ snapshot.ipsSnapshot,
+ )
+ )
+
+ for {
+ aggregation <- aggregationF
+ _ <- mediatorState.add(aggregation)
+ } yield {
+ timeTracker.requestTick(participantResponseDeadline)
+ logger.info(
+ show"Phase 2: Registered request=${requestId.unwrap} with ${request.informeesAndConfirmationParamsByViewPosition.size} view(s). Initial state: ${aggregation.showMergedState}"
+ )
+ }
+
+ // Request is finalized, approve / reject immediately
+ case Left(Some(rejection)) =>
+ val verdict = rejection.toVerdict(protocolVersion)
+ logger.debug(show"$requestId: finalizing immediately with verdict $verdict...")
+ for {
+ _ <-
+ verdictSender.sendReject(
+ requestId,
+ Some(request),
+ rootHashMessages,
+ verdict,
+ decisionTime,
+ )
+ _ <-
+ mediatorState.add(
+ FinalizedResponse(requestId, request, requestId.unwrap, verdict)(traceContext)
+ )
+ } yield ()
+
+ // Discard request
+ case Left(None) =>
+ logger.debug(show"$requestId: discarding request...")
+ FutureUnlessShutdown.pure(None)
+ }
+ } yield ()
+ }
+ }
+
+ /** Validate a mediator confirmation request
+ *
+ * Yields `Left(Some(verdict))`, if `request` can already be finalized.
+ * Yields `Left(None)`, if `request` should be discarded
+ */
+ private def validateRequest(
+ requestId: RequestId,
+ request: MediatorConfirmationRequest,
+ rootHashMessages: Seq[OpenEnvelope[RootHashMessage[SerializedRootHashMessagePayload]]],
+ snapshot: DomainSnapshotSyncCryptoApi,
+ batchAlsoContainsTopologyTransaction: Boolean,
+ )(implicit
+ traceContext: TraceContext
+ ): Future[Either[Option[MediatorVerdict.MediatorReject], Unit]] = {
+ val topologySnapshot = snapshot.ipsSnapshot
+ (for {
+ // Bail out, if this mediator or group is passive, except if the mediator itself is passive in an active group.
+ isActive <- EitherT.right[Option[MediatorVerdict.MediatorReject]](
+ topologySnapshot.isMediatorActive(mediatorId)
+ )
+ _ <- EitherTUtil.condUnitET[Future](
+ isActive, {
+ logger.info(
+ show"Ignoring mediator confirmation request $requestId because I'm not active or mediator group is not active."
+ )
+ Option.empty[MediatorVerdict.MediatorReject]
+ },
+ )
+
+ // Validate signature of submitting participant
+ _ <- snapshot
+ .verifySignature(
+ request.rootHash.unwrap,
+ request.submittingParticipant,
+ request.submittingParticipantSignature,
+ )
+ .leftMap { err =>
+ val reject = MediatorError.MalformedMessage.Reject(
+ show"Received a mediator confirmation request with id $requestId from ${request.submittingParticipant} with an invalid signature. Rejecting request.\nDetailed error: $err"
+ )
+ reject.log()
+ Option(MediatorVerdict.MediatorReject(reject))
+ }
+
+ // Validate activeness of informee participants
+ _ <- topologySnapshot
+ .allHaveActiveParticipants(request.allInformees)
+ .leftMap { informeesNoParticipant =>
+ val reject = MediatorError.InvalidMessage.Reject(
+ show"Received a mediator confirmation request with id $requestId with some informees not being hosted by an active participant: $informeesNoParticipant. Rejecting request..."
+ )
+ reject.log()
+ Option(MediatorVerdict.MediatorReject(reject))
+ }
+
+ // Validate declared mediator and the group being active
+ validMediator <- checkDeclaredMediator(requestId, request, topologySnapshot)
+
+ // Validate root hash messages
+ _ <- checkRootHashMessages(
+ validMediator,
+ requestId,
+ request,
+ rootHashMessages,
+ topologySnapshot,
+ )
+ .leftMap(Option.apply)
+
+ // Validate minimum threshold
+ _ <- EitherT
+ .fromEither[Future](validateMinimumThreshold(requestId, request))
+ .leftMap(Option.apply)
+
+ // Reject, if the authorized confirming parties cannot attain the threshold
+ _ <-
+ validateAuthorizedConfirmingParties(requestId, request, topologySnapshot)
+ .leftMap(Option.apply)
+
+ // Reject, if the batch also contains a topology transaction
+ _ <- EitherTUtil
+ .condUnitET(
+ !batchAlsoContainsTopologyTransaction, {
+ val rejection = MediatorError.MalformedMessage
+ .Reject(
+ s"Received a mediator confirmation request with id $requestId also containing a topology transaction."
+ )
+ .reported()
+ MediatorVerdict.MediatorReject(rejection)
+ },
+ )
+ .leftMap(Option.apply)
+ } yield ()).value
+ }
+
+ private def checkDeclaredMediator(
+ requestId: RequestId,
+ request: MediatorConfirmationRequest,
+ topologySnapshot: TopologySnapshot,
+ )(implicit
+ loggingContext: ErrorLoggingContext
+ ): EitherT[Future, Option[MediatorVerdict.MediatorReject], MediatorGroupRecipient] = {
+
+ def rejectWrongMediator(hint: => String): Option[MediatorVerdict.MediatorReject] = {
+ Some(
+ MediatorVerdict.MediatorReject(
+ MediatorError.MalformedMessage
+ .Reject(
+ show"Rejecting mediator confirmation request with $requestId, mediator ${request.mediator}, topology at ${topologySnapshot.timestamp} due to $hint"
+ )
+ .reported()
+ )
+ )
+ }
+
+ for {
+ mediatorGroupO <- EitherT.right(
+ topologySnapshot.mediatorGroup(request.mediator.group)(loggingContext)
+ )
+ mediatorGroup <- EitherT.fromOption[Future](
+ mediatorGroupO,
+ rejectWrongMediator(show"unknown mediator group"),
+ )
+ _ <- EitherTUtil.condUnitET[Future](
+ mediatorGroup.isActive,
+ rejectWrongMediator(show"inactive mediator group"),
+ )
+ _ <- EitherTUtil.condUnitET[Future](
+ mediatorGroup.active.contains(mediatorId) || mediatorGroup.passive.contains(mediatorId),
+ rejectWrongMediator(show"this mediator not being part of the mediator group"),
+ )
+ } yield request.mediator
+ }
+
+ private def checkRootHashMessages(
+ validMediator: MediatorGroupRecipient,
+ requestId: RequestId,
+ request: MediatorConfirmationRequest,
+ rootHashMessages: Seq[OpenEnvelope[RootHashMessage[SerializedRootHashMessagePayload]]],
+ sequencingTopologySnapshot: TopologySnapshot,
+ )(implicit
+ loggingContext: ErrorLoggingContext
+ ): EitherT[Future, MediatorVerdict.MediatorReject, Unit] = {
+
+ // since `checkDeclaredMediator` already validated against the mediatorId we can safely use validMediator = request.mediator
+ val (wrongRecipients, correctRecipients) = RootHashMessageRecipients.wrongAndCorrectRecipients(
+ rootHashMessages.map(_.recipients),
+ validMediator,
+ )
+
+ val rootHashMessagesRecipients = correctRecipients
+ .flatMap(recipients =>
+ recipients
+ .collect {
+ case m @ MemberRecipient(_: ParticipantId) => m
+ case pop: ParticipantsOfParty => pop
+ }
+ )
+ def repeatedMembers(recipients: Seq[Recipient]): Seq[Recipient] = {
+ val repeatedRecipientsB = Seq.newBuilder[Recipient]
+ val seen = new mutable.HashSet[Recipient]()
+ recipients.foreach { recipient =>
+ val fresh = seen.add(recipient)
+ if (!fresh) repeatedRecipientsB += recipient
+ }
+ repeatedRecipientsB.result()
+ }
+ def wrongRootHashes(expectedRootHash: RootHash): Seq[RootHash] =
+ rootHashMessages.mapFilter { envelope =>
+ val rootHash = envelope.protocolMessage.rootHash
+ if (rootHash == expectedRootHash) None else Some(rootHash)
+ }.distinct
+
+ def distinctPayloads: Seq[SerializedRootHashMessagePayload] =
+ rootHashMessages.map(_.protocolMessage.payload).distinct
+
+ def wrongViewType(expectedViewType: ViewType): Seq[ViewType] =
+ rootHashMessages.map(_.protocolMessage.viewType).filterNot(_ == expectedViewType).distinct
+
+ def checkWrongMembers(
+ wrongMembers: RootHashMessageRecipients.WrongMembers
+ )(implicit traceContext: TraceContext): EitherT[Future, RejectionReason, Unit] =
+ NonEmpty.from(wrongMemberErrors(wrongMembers)) match {
+ // The check using the sequencing topology snapshot reported no error
+ case None => EitherT.pure[Future, RejectionReason](())
+
+ case Some(errorsNE) =>
+ val mayBeDueToTopologyChange = errorsNE.forall(_.mayBeDueToTopologyChange)
+
+ val dueToTopologyChangeF = if (mayBeDueToTopologyChange) {
+ // The check reported only errors that may be due to a topology change.
+ val dueToTopologyChangeOF = for {
+ submissionTopologySnapshot <- OptionT(getSubmissionTopologySnapshot)
+
+ // Perform the check using the topology at submission time.
+ wrongMembersAtSubmission <- OptionT.liftF(
+ RootHashMessageRecipients.wrongMembers(
+ rootHashMessagesRecipients,
+ request,
+ submissionTopologySnapshot,
+ )(ec, loggingContext)
+ )
+ // If there are no errors using the topology at submission time, consider that the errors
+ // are due to a topology change.
+ } yield wrongMemberErrors(wrongMembersAtSubmission).isEmpty
+
+ dueToTopologyChangeOF.getOrElse {
+ // We could not obtain a submission topology snapshot.
+ // Consider that the errors are NOT due to a topology change.
+ false
+ }
+ } else {
+ // At least some of the reported errors are not due to a topology change
+ Future.successful(false)
+ }
+
+ // Use the first error for the rejection
+ val firstError = errorsNE.head1
+ EitherT.left[Unit](dueToTopologyChangeF.map(firstError.toRejectionReason))
+ }
+
+ def wrongMemberErrors(
+ wrongMembers: RootHashMessageRecipients.WrongMembers
+ ): Seq[WrongMemberError] = {
+ val missingInformeeParticipantsO = Option.when(
+ wrongMembers.missingInformeeParticipants.nonEmpty
+ )(
+ WrongMemberError(
+ show"Missing root hash message for informee participants: ${wrongMembers.missingInformeeParticipants}",
+ // This may be due to a topology change, e.g. if a party-to-participant mapping is added for an informee
+ mayBeDueToTopologyChange = true,
+ )
+ )
+
+ val superfluousMembersO = Option.when(wrongMembers.superfluousMembers.nonEmpty)(
+ WrongMemberError(
+ show"Superfluous root hash message for members: ${wrongMembers.superfluousMembers}",
+ // This may be due to a topology change, e.g. if a party-to-participant mapping is removed for an informee
+ mayBeDueToTopologyChange = true,
+ )
+ )
+
+ val superfluousInformeesO = Option.when(wrongMembers.superfluousInformees.nonEmpty)(
+ WrongMemberError(
+ show"Superfluous root hash message for group addressed parties: ${wrongMembers.superfluousInformees}",
+ mayBeDueToTopologyChange = false,
+ )
+ )
+
+ missingInformeeParticipantsO.toList ++ superfluousMembersO ++ superfluousInformeesO
+ }
+
+ // Retrieve the topology snapshot at submission time. Return `None` in case of error.
+ def getSubmissionTopologySnapshot(implicit
+ traceContext: TraceContext
+ ): Future[Option[TopologySnapshot]] = {
+ val submissionTopologyTimestamps = rootHashMessages
+ .map(_.protocolMessage.submissionTopologyTimestamp)
+ .distinct
+
+ submissionTopologyTimestamps match {
+ case Seq(submissionTopologyTimestamp) =>
+ val sequencingTimestamp = requestId.unwrap
+ SubmissionTopologyHelper
+ .getSubmissionTopologySnapshot(
+ timeouts,
+ sequencingTimestamp,
+ submissionTopologyTimestamp,
+ crypto,
+ logger,
+ )
+ .unwrap
+ .map(
+ _.onShutdown {
+ // TODO(i19352): Propagate `FutureUnlessShutdown` in the request validation
+ logger.debug(
+ "Returning `None` for the submission topology snapshot due to shutting down"
+ )
+ None
+ }
+ )
+
+ case Seq() =>
+ // This can only happen if there are no root hash messages.
+ // This will be detected during the wrong members check and logged as a warning, so we can log at info level.
+ logger.info(
+ s"No declared submission topology timestamp found. Inconsistencies will be logged as warnings."
+ )
+ Future.successful(None)
+
+ case _ =>
+ // Log at warning level because this is not detected by another check
+ logger.warn(
+ s"Found ${submissionTopologyTimestamps.size} different declared submission topology timestamps. Inconsistencies will be logged as warnings."
+ )
+ Future.successful(None)
+ }
+ }
+
+ val unitOrRejectionReason = for {
+ _ <- EitherTUtil
+ .condUnitET[Future](
+ wrongRecipients.isEmpty,
+ RejectionReason(
+ show"Root hash messages with wrong recipients tree: $wrongRecipients",
+ dueToTopologyChange = false,
+ ),
+ )
+ repeated = repeatedMembers(rootHashMessagesRecipients)
+ _ <- EitherTUtil.condUnitET[Future](
+ repeated.isEmpty,
+ RejectionReason(
+ show"Several root hash messages for recipients: $repeated",
+ dueToTopologyChange = false,
+ ),
+ )
+ _ <- EitherTUtil.condUnitET[Future](
+ distinctPayloads.sizeCompare(1) <= 0,
+ RejectionReason(
+ show"Different payloads in root hash messages. Sizes: ${distinctPayloads.map(_.bytes.size).mkShow()}.",
+ dueToTopologyChange = false,
+ ),
+ )
+ wrongHashes = wrongRootHashes(request.rootHash)
+ wrongViewTypes = wrongViewType(request.viewType)
+
+ wrongMembersF = RootHashMessageRecipients.wrongMembers(
+ rootHashMessagesRecipients,
+ request,
+ sequencingTopologySnapshot,
+ )(ec, loggingContext)
+ _ <- for {
+ _ <- EitherTUtil
+ .condUnitET[Future](
+ wrongHashes.isEmpty,
+ RejectionReason(show"Wrong root hashes: $wrongHashes", dueToTopologyChange = false),
+ )
+ wrongMembers <- EitherT.liftF(wrongMembersF)
+ _ <- EitherTUtil.condUnitET[Future](
+ wrongViewTypes.isEmpty,
+ RejectionReason(
+ show"View types in root hash messages differ from expected view type ${request.viewType}: $wrongViewTypes",
+ dueToTopologyChange = false,
+ ),
+ )
+ _ <- checkWrongMembers(wrongMembers)(loggingContext)
+ } yield ()
+ } yield ()
+
+ unitOrRejectionReason.leftMap { case RejectionReason(reason, dueToTopologyChange) =>
+ val message =
+ s"Received a mediator confirmation request with id $requestId with invalid root hash messages. Rejecting... Reason: $reason"
+ val rejection = MediatorError.MalformedMessage.Reject(message)
+
+ // If the errors are due to a topology change, we consider the request as non-malicious.
+ // Otherwise, we consider it malicious.
+ if (dueToTopologyChange) logErrorDueToTopologyChange(message)(loggingContext)
+ else rejection.reported()(loggingContext)
+
+ MediatorVerdict.MediatorReject(rejection)
+ }
+ }
+
+ private case class WrongMemberError(reason: String, mayBeDueToTopologyChange: Boolean) {
+ def toRejectionReason(dueToTopologyChange: Boolean): RejectionReason =
+ RejectionReason(reason, dueToTopologyChange)
+ }
+
+ private case class RejectionReason(reason: String, dueToTopologyChange: Boolean)
+
+ private def logErrorDueToTopologyChange(
+ error: String
+ )(implicit traceContext: TraceContext): Unit = logger.info(
+ error +
+ """ This error is due to a change of topology state between the declared topology timestamp used
+ | for submission and the sequencing time of the request.""".stripMargin
+ )
+
+ private def validateMinimumThreshold(
+ requestId: RequestId,
+ request: MediatorConfirmationRequest,
+ )(implicit loggingContext: ErrorLoggingContext): Either[MediatorVerdict.MediatorReject, Unit] = {
+
+ request.informeesAndConfirmationParamsByViewPosition.toSeq
+ .traverse_ { case (viewPosition, ViewConfirmationParameters(_, quorums)) =>
+ val minimumThreshold = NonNegativeInt.one
+ EitherUtil.condUnitE(
+ quorums.exists(quorum => quorum.threshold >= minimumThreshold),
+ MediatorVerdict.MediatorReject(
+ MediatorError.MalformedMessage
+ .Reject(
+ s"Received a mediator confirmation request with id $requestId for transaction view at $viewPosition, where no quorum of the list satisfies the minimum threshold. Rejecting request..."
+ )
+ .reported()
+ ),
+ )
+ }
+ }
+
+ private def validateAuthorizedConfirmingParties(
+ requestId: RequestId,
+ request: MediatorConfirmationRequest,
+ snapshot: TopologySnapshot,
+ )(implicit
+ loggingContext: ErrorLoggingContext
+ ): EitherT[Future, MediatorVerdict.MediatorReject, Unit] = {
+ request.informeesAndConfirmationParamsByViewPosition.toList
+ .parTraverse_ { case (viewPosition, viewConfirmationParameters) =>
+ // sorting parties to get deterministic error messages
+ val declaredConfirmingParties =
+ viewConfirmationParameters.confirmers.toSeq.sortBy(pId => pId)
+
+ for {
+ partitionedConfirmingParties <- EitherT.right[MediatorVerdict.MediatorReject](
+ snapshot
+ .isHostedByAtLeastOneParticipantF(
+ declaredConfirmingParties.toSet,
+ (_, attr) => attr.permission.canConfirm,
+ )(loggingContext)
+ .map { hostedConfirmingParties =>
+ declaredConfirmingParties.map(cp =>
+ Either.cond(hostedConfirmingParties.contains(cp), cp, cp)
+ )
+ }
+ )
+
+ (unauthorized, authorized) = partitionedConfirmingParties.separate
+
+ authorizedIds = authorized
+
+ confirmed = viewConfirmationParameters.quorums.forall { quorum =>
+ // For the authorized informees that belong to each quorum, verify if their combined weight is enough
+ // to meet the quorum's threshold.
+ quorum.confirmers
+ .filter { case (partyId, _) => authorizedIds.contains(partyId) }
+ .values
+ .map(_.unwrap)
+ .sum >= quorum.threshold.unwrap
+ }
+
+ _ <- EitherTUtil.condUnitET[Future](
+ confirmed, {
+ val insufficientPermissionHint =
+ if (unauthorized.nonEmpty)
+ show"\nParties without participant having permission to confirm: $unauthorized"
+ else ""
+
+ val authorizedPartiesHint =
+ if (authorized.nonEmpty) show"\nAuthorized parties: $authorized" else ""
+
+ val rejection = MediatorError.MalformedMessage
+ .Reject(
+ s"Received a mediator confirmation request with id $requestId with insufficient authorized confirming parties for transaction view at $viewPosition. " +
+ s"Rejecting request." +
+ insufficientPermissionHint +
+ authorizedPartiesHint
+ )
+ .reported()
+ MediatorVerdict.MediatorReject(rejection)
+ },
+ )
+ } yield ()
+ }
+ }
+
+ def processResponse(
+ ts: CantonTimestamp,
+ counter: SequencerCounter,
+ participantResponseDeadline: CantonTimestamp,
+ decisionTime: CantonTimestamp,
+ signedResponse: SignedProtocolMessage[ConfirmationResponse],
+ topologyTimestamp: Option[CantonTimestamp],
+ recipients: Recipients,
+ )(implicit traceContext: TraceContext): FutureUnlessShutdown[Unit] =
+ withSpan("TransactionConfirmationResponseProcessor.processResponse") {
+ implicit traceContext => span =>
+ span.setAttribute("timestamp", ts.toString)
+ span.setAttribute("counter", counter.toString)
+ val response = signedResponse.message
+
+ (for {
+ snapshot <- OptionT.liftF(crypto.awaitSnapshotUS(response.requestId.unwrap))
+ _ <- signedResponse
+ .verifySignature(snapshot, response.sender)
+ .mapK(FutureUnlessShutdown.outcomeK)
+ .leftMap(err =>
+ MediatorError.MalformedMessage
+ .Reject(
+ s"$domainId (timestamp: $ts): invalid signature from ${response.sender} with $err"
+ )
+ .report()
+ )
+ .toOption
+ _ <-
+ if (signedResponse.domainId == domainId) OptionT.some[FutureUnlessShutdown](())
+ else {
+ MediatorError.MalformedMessage
+ .Reject(
+ s"Request ${response.requestId}, sender ${response.sender}: Discarding confirmation response for wrong domain ${signedResponse.domainId}"
+ )
+ .report()
+ OptionT.none[FutureUnlessShutdown, Unit]
+ }
+
+ _ <-
+ if (ts <= participantResponseDeadline) OptionT.some[FutureUnlessShutdown](())
+ else {
+ logger.warn(
+ s"Response $ts is too late as request ${response.requestId} has already exceeded the participant response deadline [$participantResponseDeadline]"
+ )
+ OptionT.none[FutureUnlessShutdown, Unit]
+ }
+ _ <- {
+ // To ensure that a mediator group address is resolved in the same way as for the request
+ // we require that the topology timestamp on the response submission request is set to the
+ // request's sequencing time. The sequencer communicates this timestamp to the client
+ // via the timestamp of signing key.
+ if (topologyTimestamp.contains(response.requestId.unwrap))
+ OptionT.some[FutureUnlessShutdown](())
+ else {
+ MediatorError.MalformedMessage
+ .Reject(
+ s"Request ${response.requestId}, sender ${response.sender}: Discarding confirmation response because the topology timestamp is not set to the request id [$topologyTimestamp]"
+ )
+ .report()
+ OptionT.none[FutureUnlessShutdown, Unit]
+ }
+ }
+
+ responseAggregation <- mediatorState.fetch(response.requestId).orElse {
+ // This can happen after a fail-over or as part of an attack.
+ val cause =
+ s"Received a confirmation response at $ts by ${response.sender} with an unknown request id ${response.requestId}. Discarding response..."
+ val error = MediatorError.InvalidMessage.Reject(cause)
+ error.log()
+
+ OptionT.none[FutureUnlessShutdown, ResponseAggregator]
+ }
+
+ _ <- {
+ if (
+ // Note: This check relies on mediator trusting its sequencer
+ // and the sequencer performing validation `checkToAtMostOneMediator`
+ // in the `BlockUpdateGenerator`
+ recipients.allRecipients.sizeCompare(1) == 0 &&
+ recipients.allRecipients.contains(responseAggregation.request.mediator)
+ ) {
+ OptionT.some[FutureUnlessShutdown](())
+ } else {
+ MediatorError.MalformedMessage
+ .Reject(
+ s"Request ${response.requestId}, sender ${response.sender}: Discarding confirmation response with wrong recipients ${recipients}, expected ${responseAggregation.request.mediator}"
+ )
+ .report()
+ OptionT.none[FutureUnlessShutdown, Unit]
+ }
+ }
+ nextResponseAggregation <- OptionT(
+ FutureUnlessShutdown.outcomeF(
+ responseAggregation.validateAndProgress(ts, response, snapshot.ipsSnapshot)
+ )
+ )
+ _unit <- mediatorState.replace(responseAggregation, nextResponseAggregation)
+ _ <- OptionT.some[FutureUnlessShutdown](
+ // we can send the result asynchronously, as there is no need to reply in
+ // order and there is no need to guarantee delivery of verdicts
+ doNotAwait(
+ response.requestId,
+ sendResultIfDone(nextResponseAggregation, decisionTime),
+ )
+ )
+ } yield ()).value.map(_ => ())
+ }
+
+ /** This method is here to allow overriding the async send & determinism in tests
+ */
+ protected def doNotAwait(requestId: RequestId, f: => FutureUnlessShutdown[Any])(implicit
+ tc: TraceContext
+ ): Future[Unit] = {
+ FutureUtil.doNotAwaitUnlessShutdown(
+ performUnlessClosingUSF("send-result-if-done")(f),
+ s"send-result-if-done failed for request $requestId",
+ level = Level.WARN,
+ )
+ Future.unit
+ }
+
+ private def sendResultIfDone(
+ responseAggregation: ResponseAggregation[?],
+ decisionTime: CantonTimestamp,
+ )(implicit traceContext: TraceContext): FutureUnlessShutdown[Unit] =
+ responseAggregation.asFinalized(protocolVersion) match {
+ case Some(finalizedResponse) =>
+ logger.info(
+ s"Phase 6: Finalized request=${finalizedResponse.requestId} with verdict ${finalizedResponse.verdict}"
+ )
+ verdictSender.sendResult(
+ finalizedResponse.requestId,
+ finalizedResponse.request,
+ finalizedResponse.verdict,
+ decisionTime,
+ )
+ case None =>
+ /* no op */
+ FutureUnlessShutdown.unit
+ }
+}
diff --git a/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/mediator/Mediator.scala b/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/mediator/Mediator.scala
index 386d673831..408047ef82 100644
--- a/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/mediator/Mediator.scala
+++ b/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/mediator/Mediator.scala
@@ -99,7 +99,7 @@ private[mediator] class Mediator(
private val verdictSender =
VerdictSender(sequencerClient, syncCrypto, mediatorId, protocolVersion, loggerFactory)
- private val processor = new ConfirmationRequestAndResponseProcessor(
+ private val processor = new ConfirmationResponseProcessor(
domain,
mediatorId,
verdictSender,
diff --git a/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/mediator/MediatorEvent.scala b/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/mediator/MediatorEvent.scala
index c784f635c0..caf2b02516 100644
--- a/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/mediator/MediatorEvent.scala
+++ b/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/mediator/MediatorEvent.scala
@@ -13,7 +13,7 @@ import com.digitalasset.canton.sequencing.protocol.{OpenEnvelope, Recipients}
/** The [[MediatorEventsProcessor]] looks through all sequencer events provided by the sequencer client in a batch
* to pick out events for the Mediator with the same request-id while also scheduling timeouts and running
* topology transactions at appropriate times. We map all the mediator events we generate into this simplified
- * structure so the [[ConfirmationRequestAndResponseProcessor]] processes these events without having to perform the same extraction
+ * structure so the [[ConfirmationResponseProcessor]] processes these events without having to perform the same extraction
* and error handling of the original SequencerEvent.
*/
private[mediator] sealed trait MediatorEvent extends PrettyPrinting {
diff --git a/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/mediator/MediatorEventsProcessor.scala b/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/mediator/MediatorEventsProcessor.scala
index db1e9bce61..0afc363b9e 100644
--- a/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/mediator/MediatorEventsProcessor.scala
+++ b/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/mediator/MediatorEventsProcessor.scala
@@ -166,14 +166,14 @@ private[mediator] class MediatorEventsProcessor(
private[mediator] object MediatorEventsProcessor {
def apply(
identityClientEventHandler: UnsignedProtocolEventHandler,
- processor: ConfirmationRequestAndResponseProcessor,
+ confirmationResponseProcessor: ConfirmationResponseProcessor,
mediatorEventDeduplicator: MediatorEventDeduplicator,
metrics: MediatorMetrics,
loggerFactory: NamedLoggerFactory,
)(implicit executionContext: ExecutionContext): MediatorEventsProcessor = {
new MediatorEventsProcessor(
identityClientEventHandler,
- processor.handleRequestEvents,
+ confirmationResponseProcessor.handleRequestEvents,
mediatorEventDeduplicator,
metrics,
loggerFactory,
diff --git a/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/mediator/VerdictSender.scala b/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/mediator/VerdictSender.scala
index ea5de07971..ddbcd521a8 100644
--- a/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/mediator/VerdictSender.scala
+++ b/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/mediator/VerdictSender.scala
@@ -215,7 +215,7 @@ private[mediator] class DefaultVerdictSender(
.map(Recipients.recipientGroups)
.getOrElse(
// Should never happen as the topology (same snapshot) is checked in
- // `ConfirmationRequestAndResponseProcessor.validateRequest`
+ // `ConfirmationResponseProcessor.validateRequest`
ErrorUtil.invalidState("No active participants for informees")
)
diff --git a/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/sequencing/sequencer/DatabaseSequencer.scala b/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/sequencing/sequencer/DatabaseSequencer.scala
index e3a556440e..ac26a5d5b7 100644
--- a/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/sequencing/sequencer/DatabaseSequencer.scala
+++ b/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/sequencing/sequencer/DatabaseSequencer.scala
@@ -22,7 +22,6 @@ import com.digitalasset.canton.domain.sequencing.sequencer.traffic.{
SequencerRateLimitError,
SequencerTrafficStatus,
}
-import com.digitalasset.canton.domain.sequencing.traffic.store.TrafficConsumedStore
import com.digitalasset.canton.health.admin.data.{SequencerAdminStatus, SequencerHealthStatus}
import com.digitalasset.canton.lifecycle.{FlagCloseable, FutureUnlessShutdown, Lifecycle}
import com.digitalasset.canton.logging.{ErrorLoggingContext, NamedLoggerFactory, TracedLogger}
@@ -44,9 +43,9 @@ import com.digitalasset.canton.time.{Clock, NonNegativeFiniteDuration}
import com.digitalasset.canton.topology.{DomainId, Member, SequencerId}
import com.digitalasset.canton.tracing.TraceContext
import com.digitalasset.canton.tracing.TraceContext.withNewTraceContext
+import com.digitalasset.canton.util.ErrorUtil
import com.digitalasset.canton.util.FutureUtil.doNotAwait
import com.digitalasset.canton.util.Thereafter.syntax.*
-import com.digitalasset.canton.util.{EitherTUtil, ErrorUtil}
import com.digitalasset.canton.version.ProtocolVersion
import io.opentelemetry.api.trace.Tracer
import org.apache.pekko.stream.Materializer
@@ -102,7 +101,6 @@ object DatabaseSequencer {
clock,
domainId,
topologyClientMember,
- trafficConsumedStore = None,
protocolVersion,
cryptoApi,
metrics,
@@ -127,7 +125,6 @@ class DatabaseSequencer(
clock: Clock,
domainId: DomainId,
topologyClientMember: Member,
- trafficConsumedStore: Option[TrafficConsumedStore],
protocolVersion: ProtocolVersion,
cryptoApi: DomainSyncCryptoClient,
metrics: SequencerMetrics,
@@ -167,7 +164,7 @@ class DatabaseSequencer(
storageForAdminChanges.isActive
)
- private[sequencer] val store = writer.generalStore
+ private val store = writer.generalStore
protected val memberValidator: SequencerMemberValidator = store
@@ -233,7 +230,6 @@ class DatabaseSequencer(
cryptoApi,
eventSignaller,
topologyClientMember,
- trafficConsumedStore,
protocolVersion,
timeouts,
loggerFactory,
@@ -257,10 +253,9 @@ class DatabaseSequencer(
} yield isEnabled
}
- override private[sequencing] final def registerMemberInternal(
- member: Member,
- timestamp: CantonTimestamp,
- )(implicit
+ /** Package private to use access method in tests, see `TestDatabaseSequencerWrapper`.
+ */
+ override final def registerMemberInternal(member: Member, timestamp: CantonTimestamp)(implicit
traceContext: TraceContext
): EitherT[Future, RegisterError, Unit] = {
EitherT
@@ -401,25 +396,8 @@ class DatabaseSequencer(
override def snapshot(timestamp: CantonTimestamp)(implicit
traceContext: TraceContext
- ): EitherT[Future, String, SequencerSnapshot] = {
- for {
- safeWatermarkO <- EitherT.right(store.safeWatermark)
- // we check if watermark is after the requested timestamp to avoid snapshotting the sequencer
- // at a timestamp that is not yet safe to read
- _ <- {
- safeWatermarkO match {
- case Some(safeWatermark) =>
- EitherTUtil.condUnitET[Future](
- timestamp <= safeWatermark,
- s"Requested snapshot at $timestamp is after the safe watermark $safeWatermark",
- )
- case None =>
- EitherT.leftT[Future, Unit](s"No safe watermark found for the sequencer")
- }
- }
- snapshot <- EitherT.right[String](store.readStateAtTimestamp(timestamp))
- } yield snapshot
- }
+ ): EitherT[Future, String, SequencerSnapshot] =
+ EitherT.right[String](store.readStateAtTimestamp(timestamp))
override private[sequencing] def firstSequencerCounterServeableForSequencer: SequencerCounter =
// Database sequencers are never bootstrapped
diff --git a/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/sequencing/sequencer/Sequencer.scala b/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/sequencing/sequencer/Sequencer.scala
index 44d0f745ed..2ce7afc9bc 100644
--- a/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/sequencing/sequencer/Sequencer.scala
+++ b/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/sequencing/sequencer/Sequencer.scala
@@ -88,8 +88,8 @@ trait Sequencer
*/
def isEnabled(member: Member)(implicit traceContext: TraceContext): Future[Boolean]
- private[sequencing] def registerMemberInternal(member: Member, timestamp: CantonTimestamp)(
- implicit traceContext: TraceContext
+ def registerMemberInternal(member: Member, timestamp: CantonTimestamp)(implicit
+ traceContext: TraceContext
): EitherT[Future, RegisterError, Unit]
def sendAsyncSigned(signedSubmission: SignedContent[SubmissionRequest])(implicit
diff --git a/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/sequencing/sequencer/SequencerReader.scala b/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/sequencing/sequencer/SequencerReader.scala
index c8a493cb78..12a5384d9e 100644
--- a/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/sequencing/sequencer/SequencerReader.scala
+++ b/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/sequencing/sequencer/SequencerReader.scala
@@ -15,7 +15,6 @@ import com.digitalasset.canton.data.CantonTimestamp
import com.digitalasset.canton.domain.sequencing.sequencer.SequencerReader.ReadState
import com.digitalasset.canton.domain.sequencing.sequencer.errors.CreateSubscriptionError
import com.digitalasset.canton.domain.sequencing.sequencer.store.*
-import com.digitalasset.canton.domain.sequencing.traffic.store.TrafficConsumedStore
import com.digitalasset.canton.lifecycle.{
CloseContext,
FlagCloseable,
@@ -30,7 +29,7 @@ import com.digitalasset.canton.sequencing.client.{
SequencerSubscriptionError,
}
import com.digitalasset.canton.sequencing.protocol.*
-import com.digitalasset.canton.sequencing.traffic.{TrafficConsumed, TrafficReceipt}
+import com.digitalasset.canton.sequencing.traffic.TrafficReceipt
import com.digitalasset.canton.sequencing.{GroupAddressResolver, OrdinarySerializedEvent}
import com.digitalasset.canton.store.SequencedEventStore.OrdinarySequencedEvent
import com.digitalasset.canton.store.db.DbDeserializationException
@@ -79,7 +78,6 @@ class SequencerReader(
syncCryptoApi: SyncCryptoClient[SyncCryptoApi],
eventSignaller: EventSignaller,
topologyClientMember: Member,
- trafficConsumedStoreO: Option[TrafficConsumedStore],
protocolVersion: ProtocolVersion,
override protected val timeouts: ProcessingTimeout,
protected val loggerFactory: NamedLoggerFactory,
@@ -357,34 +355,35 @@ class SequencerReader(
// To not introduce gaps in the sequencer counters,
// we deliver an empty batch to the member if it is not the sender.
// This way, we can avoid revalidating the skipped events after the checkpoint we resubscribe from.
- getTrafficReceipt(sender, sequencingTimestamp).map { trafficReceiptO =>
- val event = if (registeredMember.memberId == sender) {
- val error =
- SequencerErrors.TopoologyTimestampTooEarly(
- topologyTimestamp,
- sequencingTimestamp,
- )
- DeliverError.create(
- counter,
+ val event = if (registeredMember.memberId == sender) {
+ val error =
+ SequencerErrors.TopoologyTimestampTooEarly(
+ topologyTimestamp,
sequencingTimestamp,
- domainId,
- messageId,
- error,
- protocolVersion,
- trafficReceiptO,
)
- } else
- Deliver.create(
- counter,
- sequencingTimestamp,
- domainId,
- None,
- emptyBatch,
- None,
- protocolVersion,
- trafficReceiptO,
- )
-
+ DeliverError.create(
+ counter,
+ sequencingTimestamp,
+ domainId,
+ messageId,
+ error,
+ protocolVersion,
+ Option
+ .empty[TrafficReceipt], // TODO(i19528) wire traffic consumed for DB sequencer
+ )
+ } else
+ Deliver.create(
+ counter,
+ sequencingTimestamp,
+ domainId,
+ None,
+ emptyBatch,
+ None,
+ protocolVersion,
+ Option
+ .empty[TrafficReceipt], // TODO(i19528) wire traffic consumed for DB sequencer
+ )
+ Future.successful(
// This event cannot change the topology state of the client
// and might not reach the topology client even
// if it was originally addressed to it.
@@ -397,7 +396,7 @@ class SequencerReader(
topologyClientTimestampBefore,
unvalidatedEvent.traceContext,
)
- }
+ )
}
}
@@ -531,28 +530,6 @@ class SequencerReader(
} yield OrdinarySequencedEvent(signedEvent)(traceContext)
}
- private def getTrafficReceipt(senderMemberId: SequencerMemberId, timestamp: CantonTimestamp)(
- implicit traceContext: TraceContext
- ): Future[Option[TrafficReceipt]] = {
- if (registeredMember.memberId == senderMemberId) { // traffic receipt is only for the sender
- trafficConsumedStoreO match { // and only if we have traffic management enabled
- case Some(trafficConsumedStore) =>
- trafficConsumedStore.lookupAt(member, timestamp).map {
- case Some(trafficConsumed) => Some(trafficConsumed.toTrafficReceipt)
- case None =>
- logger.debug(
- s"Traffic consumed not found for member $member, receipt will contain init value"
- )
- TrafficConsumed.init(member).toTrafficReceipt.some
- }
- case None =>
- Future.successful(None)
- }
- } else {
- Future.successful(None)
- }
- }
-
/** Takes our stored event and turns it back into a real sequenced event.
*/
private def mkSequencedEvent(
@@ -576,7 +553,7 @@ class SequencerReader(
_traceContext,
) =>
// message id only goes to sender
- val messageIdO = Option.when(registeredMember.memberId == sender)(messageId)
+ val messageIdO = Option(messageId).filter(_ => registeredMember.memberId == sender)
val batch: Batch[ClosedEnvelope] = Batch
.fromByteString(protocolVersion)(
payload.content
@@ -618,7 +595,6 @@ class SequencerReader(
memberGroupRecipients = resolvedGroupAddresses.collect {
case (groupRecipient, groupMembers) if groupMembers.contains(member) => groupRecipient
}.toSet
- trafficReceiptO <- getTrafficReceipt(sender, timestamp)
} yield {
val filteredBatch = Batch.filterClosedEnvelopesFor(batch, member, memberGroupRecipients)
Deliver.create[ClosedEnvelope](
@@ -629,12 +605,12 @@ class SequencerReader(
filteredBatch,
topologyTimestampO,
protocolVersion,
- trafficReceiptO,
+ Option.empty[TrafficReceipt], // TODO(i19528) wire traffic consumed for DB sequencer
)
}
- case ReceiptStoreEvent(sender, messageId, topologyTimestampO, _traceContext) =>
- getTrafficReceipt(sender, timestamp).map(trafficReceiptO =>
+ case ReceiptStoreEvent(_sender, messageId, topologyTimestampO, _traceContext) =>
+ Future.successful(
Deliver.create[ClosedEnvelope](
counter,
timestamp,
@@ -643,14 +619,14 @@ class SequencerReader(
emptyBatch,
topologyTimestampO,
protocolVersion,
- trafficReceiptO,
+ Option.empty[TrafficReceipt], // TODO(i19528) wire traffic consumed for DB sequencer
)
)
- case DeliverErrorStoreEvent(sender, messageId, error, _traceContext) =>
+ case DeliverErrorStoreEvent(_, messageId, error, _traceContext) =>
val status = DeliverErrorStoreEvent
.fromByteString(error, protocolVersion)
.valueOr(err => throw new DbDeserializationException(err.toString))
- getTrafficReceipt(sender, timestamp).map(trafficReceiptO =>
+ Future.successful(
DeliverError.create(
counter,
timestamp,
@@ -658,7 +634,7 @@ class SequencerReader(
messageId,
status,
protocolVersion,
- trafficReceiptO,
+ Option.empty[TrafficReceipt], // TODO(i19528) wire traffic consumed for DB sequencer
)
)
}
diff --git a/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/sequencing/sequencer/block/BlockSequencer.scala b/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/sequencing/sequencer/block/BlockSequencer.scala
index d994d50cdf..fe505f6e75 100644
--- a/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/sequencing/sequencer/block/BlockSequencer.scala
+++ b/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/sequencing/sequencer/block/BlockSequencer.scala
@@ -109,7 +109,6 @@ class BlockSequencer(
clock,
domainId,
sequencerId,
- Some(blockRateLimitManager.trafficConsumedStore),
protocolVersion,
cryptoApi,
SequencerMetrics.noop("TODO"), // TODO(#18406)
@@ -465,34 +464,29 @@ class BlockSequencer(
.toSequencerSnapshot(protocolVersion, trafficPurchased, trafficConsumed)
.tap(snapshot =>
if (logger.underlying.isDebugEnabled()) {
- logger.trace(
+ logger.debug(
s"Snapshot for timestamp $timestamp generated from ephemeral state:\n$blockEphemeralState"
)
+ logger.debug(
+ s"Resulting snapshot for timestamp $timestamp:\n$snapshot"
+ )
}
)
},
)
finalSnapshot <- {
if (unifiedSequencer) {
- super.snapshot(bsSnapshot.lastTs).map { dbsSnapshot =>
+ super.snapshot(timestamp).map { dbsSnapshot =>
dbsSnapshot.copy(
- latestBlockHeight = bsSnapshot.latestBlockHeight,
inFlightAggregations = bsSnapshot.inFlightAggregations,
additional = bsSnapshot.additional,
- trafficPurchased = bsSnapshot.trafficPurchased,
- trafficConsumed = bsSnapshot.trafficConsumed,
)(dbsSnapshot.representativeProtocolVersion)
}
} else {
EitherT.pure[Future, String](bsSnapshot)
}
}
- } yield {
- logger.trace(
- s"Resulting snapshot for timestamp $timestamp:\n$finalSnapshot"
- )
- finalSnapshot
- }
+ } yield finalSnapshot
}
override def pruningStatus(implicit
@@ -706,27 +700,14 @@ class BlockSequencer(
override def trafficStatus(requestedMembers: Seq[Member], selector: TimestampSelector)(implicit
traceContext: TraceContext
): FutureUnlessShutdown[SequencerTrafficStatus] = {
- for {
- members <-
- if (requestedMembers.isEmpty) {
- // If requestedMembers is not set get the traffic states of all known members
- if (unifiedSequencer) {
- FutureUnlessShutdown.outcomeF(
- cryptoApi.currentSnapshotApproximation.ipsSnapshot.allMembers()
- )
- } else {
- FutureUnlessShutdown.pure(
- stateManager.getHeadState.chunk.ephemeral.status.membersMap.keySet
- )
- }
- } else {
- FutureUnlessShutdown.pure(requestedMembers.toSet)
- }
- trafficState <- trafficStatesForMembers(
- members,
- selector,
- )
- } yield SequencerTrafficStatus(trafficState)
+ trafficStatesForMembers(
+ if (requestedMembers.isEmpty) {
+ // If requestedMembers get the traffic states of all known member in the head state
+ stateManager.getHeadState.chunk.ephemeral.status.membersMap.keySet
+ } else requestedMembers.toSet,
+ selector,
+ )
+ .map(SequencerTrafficStatus.apply)
}
override def getTrafficStateAt(member: Member, timestamp: CantonTimestamp)(implicit
diff --git a/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/sequencing/sequencer/block/BlockSequencerFactory.scala b/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/sequencing/sequencer/block/BlockSequencerFactory.scala
index 6d78fda9c8..3f231f8ef2 100644
--- a/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/sequencing/sequencer/block/BlockSequencerFactory.scala
+++ b/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/sequencing/sequencer/block/BlockSequencerFactory.scala
@@ -222,6 +222,7 @@ abstract class BlockSequencerFactory(
nodeParameters.enableAdditionalConsistencyChecks,
nodeParameters.processingTimeouts,
domainLoggerFactory,
+ rateLimitManager,
nodeParameters.useUnifiedSequencer,
)
diff --git a/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/sequencing/sequencer/store/DbSequencerStore.scala b/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/sequencing/sequencer/store/DbSequencerStore.scala
index 0481c20b81..eb1a3889d3 100644
--- a/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/sequencing/sequencer/store/DbSequencerStore.scala
+++ b/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/sequencing/sequencer/store/DbSequencerStore.scala
@@ -162,9 +162,10 @@ class DbSequencerStore(
case object Receipt extends EventTypeDiscriminator('R')
case object Deliver extends EventTypeDiscriminator('D')
+
case object Error extends EventTypeDiscriminator('E')
- private val all = Seq[EventTypeDiscriminator](Deliver, Error, Receipt)
+ private val all = Seq[EventTypeDiscriminator](Deliver, Error)
def fromChar(value: Char): Either[String, EventTypeDiscriminator] =
all.find(_.value == value).toRight(s"Event type discriminator for value [$value] not found")
@@ -840,9 +841,6 @@ class DbSequencerStore(
query.as[Option[CantonTimestamp]].headOption.map(_.flatten)
}
- override def safeWatermark(implicit traceContext: TraceContext): Future[Option[CantonTimestamp]] =
- storage.query(safeWaterMarkDBIO, "query safe watermark")
-
override def readStateAtTimestamp(
timestamp: CantonTimestamp
)(implicit traceContext: TraceContext): Future[SequencerSnapshot] = {
diff --git a/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/sequencing/sequencer/store/InMemorySequencerStore.scala b/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/sequencing/sequencer/store/InMemorySequencerStore.scala
index e874a8fa34..cab6988ceb 100644
--- a/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/sequencing/sequencer/store/InMemorySequencerStore.scala
+++ b/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/sequencing/sequencer/store/InMemorySequencerStore.scala
@@ -132,9 +132,6 @@ class InMemorySequencerStore(
): Future[Option[Watermark]] =
Future.successful(watermark.get.map(Watermark(_, online = true)))
- override def safeWatermark(implicit traceContext: TraceContext): Future[Option[CantonTimestamp]] =
- Future.successful(watermark.get)
-
override def goOffline(instanceIndex: Int)(implicit traceContext: TraceContext): Future[Unit] =
Future.unit
diff --git a/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/sequencing/sequencer/store/SequencerStore.scala b/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/sequencing/sequencer/store/SequencerStore.scala
index 5732588e33..a007ff55d3 100644
--- a/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/sequencing/sequencer/store/SequencerStore.scala
+++ b/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/sequencing/sequencer/store/SequencerStore.scala
@@ -532,10 +532,6 @@ trait SequencerStore extends SequencerMemberValidator with NamedLogging with Aut
traceContext: TraceContext
): Future[Option[Watermark]]
- /** Return the minimum watermark across all online sequencers
- */
- def safeWatermark(implicit traceContext: TraceContext): Future[Option[CantonTimestamp]]
-
/** Flag that we're going offline (likely due to a shutdown) */
def goOffline(instanceIndex: Int)(implicit traceContext: TraceContext): Future[Unit]
@@ -794,14 +790,10 @@ trait SequencerStore extends SequencerMemberValidator with NamedLogging with Aut
if (!memberStatus.enabled) eitherT(disableMember(id))
else EitherT.rightT[Future, String](())
_ <- eitherT(memberStatus.lastAcknowledged.fold(Future.unit)(ack => acknowledge(id, ack)))
- _ <-
- // Some members can be registered, but not have any events yet, so there can be no CounterCheckpoint in the snapshot
- snapshot.heads.get(memberStatus.member).fold(eitherT[String](Future.unit)) { counter =>
- saveCounterCheckpoint(
- id,
- CounterCheckpoint(counter, lastTs, Some(lastTs)),
- ).leftMap(_.toString)
- }
+ _ <- saveCounterCheckpoint(
+ id,
+ CounterCheckpoint(snapshot.heads(memberStatus.member), lastTs, Some(lastTs)),
+ ).leftMap(_.toString)
} yield ()
}
_ <- saveLowerBound(lastTs).leftMap(_.toString)
diff --git a/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/sequencing/traffic/EnterpriseSequencerRateLimitManager.scala b/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/sequencing/traffic/EnterpriseSequencerRateLimitManager.scala
index 4dcc2cfdf3..ba93124691 100644
--- a/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/sequencing/traffic/EnterpriseSequencerRateLimitManager.scala
+++ b/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/sequencing/traffic/EnterpriseSequencerRateLimitManager.scala
@@ -587,7 +587,7 @@ class EnterpriseSequencerRateLimitManager(
}
} yield {
// Here we correctly consumed the traffic, so submitted cost and consumed cost are the same
- trafficConsumed.toTrafficReceipt
+ trafficConsumed.toTrafficReceipt(consumedCost = cost)
}
}
@@ -630,13 +630,11 @@ class EnterpriseSequencerRateLimitManager(
// Update the traffic consumed at sequencing time, and convert it to a receipt. Cost = 0 because we failed to consume traffic
ensureTrafficConsumedAtSequencingTime(snapshotAtSequencingTime)
.map(
- _.map { trafficConsumed =>
- require(
- trafficConsumed.lastConsumedCost.unwrap == 0L,
- "Consumed cost should be zero",
+ _.map(
+ _.toTrafficReceipt(
+ consumedCost = NonNegativeLong.zero
)
- trafficConsumed.toTrafficReceipt
- }
+ )
)
)
} yield {
diff --git a/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/sequencing/traffic/store/db/DbTrafficConsumedStore.scala b/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/sequencing/traffic/store/db/DbTrafficConsumedStore.scala
index 4e41c12239..0369e74e48 100644
--- a/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/sequencing/traffic/store/db/DbTrafficConsumedStore.scala
+++ b/sdk/canton/community/domain/src/main/scala/com/digitalasset/canton/domain/sequencing/traffic/store/db/DbTrafficConsumedStore.scala
@@ -33,9 +33,8 @@ class DbTrafficConsumedStore(
trafficConsumed: TrafficConsumed
)(implicit traceContext: TraceContext): Future[Unit] = {
val insertSql =
- sqlu"""insert into seq_traffic_control_consumed_journal (member, sequencing_timestamp, extra_traffic_consumed, base_traffic_remainder, last_consumed_cost)
- values (${trafficConsumed.member}, ${trafficConsumed.sequencingTimestamp}, ${trafficConsumed.extraTrafficConsumed}, ${trafficConsumed.baseTrafficRemainder}, ${trafficConsumed.lastConsumedCost})
- on conflict do nothing"""
+ sqlu"""insert into seq_traffic_control_consumed_journal (member, sequencing_timestamp, extra_traffic_consumed, base_traffic_remainder)
+ values (${trafficConsumed.member}, ${trafficConsumed.sequencingTimestamp}, ${trafficConsumed.extraTrafficConsumed}, ${trafficConsumed.baseTrafficRemainder}) on conflict do nothing"""
storage.update_(insertSql, functionFullName)
}
@@ -44,10 +43,7 @@ class DbTrafficConsumedStore(
member: Member
)(implicit traceContext: TraceContext): Future[Seq[TrafficConsumed]] = {
val query =
- sql"""select member, sequencing_timestamp, extra_traffic_consumed, base_traffic_remainder, last_consumed_cost
- from seq_traffic_control_consumed_journal
- where member = $member
- order by sequencing_timestamp asc"""
+ sql"select member, sequencing_timestamp, extra_traffic_consumed, base_traffic_remainder from seq_traffic_control_consumed_journal where member = $member order by sequencing_timestamp asc"
storage.query(query.as[TrafficConsumed], functionFullName)
}
@@ -55,21 +51,17 @@ class DbTrafficConsumedStore(
member: Member
)(implicit traceContext: TraceContext): Future[Option[TrafficConsumed]] = {
val query =
- sql"""select member, sequencing_timestamp, extra_traffic_consumed, base_traffic_remainder, last_consumed_cost
- from seq_traffic_control_consumed_journal
- where member = $member
- order by sequencing_timestamp desc"""
+ sql"select member, sequencing_timestamp, extra_traffic_consumed, base_traffic_remainder from seq_traffic_control_consumed_journal where member = $member order by sequencing_timestamp desc"
storage.querySingle(query.as[TrafficConsumed].headOption, functionFullName).value
}
override def lookupLatestBeforeInclusive(timestamp: CantonTimestamp)(implicit
traceContext: TraceContext
): Future[Seq[TrafficConsumed]] = {
- // TODO(#18394): Check if performance of this query is good (looks a lot like a group by)
val query =
- sql"""select member, sequencing_timestamp, extra_traffic_consumed, base_traffic_remainder, last_consumed_cost
+ sql"""select member, sequencing_timestamp, extra_traffic_consumed, base_traffic_remainder
from
- (select member, sequencing_timestamp, extra_traffic_consumed, base_traffic_remainder, last_consumed_cost,
+ (select member, sequencing_timestamp, extra_traffic_consumed, base_traffic_remainder,
rank() over (partition by member order by sequencing_timestamp desc) as pos
from seq_traffic_control_consumed_journal
where sequencing_timestamp <= $timestamp
@@ -83,11 +75,10 @@ class DbTrafficConsumedStore(
def lookupLatestBeforeInclusiveForMember(member: Member, timestamp: CantonTimestamp)(implicit
traceContext: TraceContext
): Future[Option[TrafficConsumed]] = {
- // TODO(#18394): Check if performance of this query is good (looks a lot like a group by)
val query =
- sql"""select member, sequencing_timestamp, extra_traffic_consumed, base_traffic_remainder, last_consumed_cost
+ sql"""select member, sequencing_timestamp, extra_traffic_consumed, base_traffic_remainder
from
- (select member, sequencing_timestamp, extra_traffic_consumed, base_traffic_remainder, last_consumed_cost,
+ (select member, sequencing_timestamp, extra_traffic_consumed, base_traffic_remainder,
rank() over (partition by member order by sequencing_timestamp desc) as pos
from seq_traffic_control_consumed_journal
where sequencing_timestamp <= $timestamp and member = $member
@@ -102,9 +93,7 @@ class DbTrafficConsumedStore(
traceContext: TraceContext
): Future[Option[TrafficConsumed]] = {
val query =
- sql"""select member, sequencing_timestamp, extra_traffic_consumed, base_traffic_remainder, last_consumed_cost
- from seq_traffic_control_consumed_journal
- where member = $member and sequencing_timestamp = $timestamp"""
+ sql"select member, sequencing_timestamp, extra_traffic_consumed, base_traffic_remainder from seq_traffic_control_consumed_journal where member = $member and sequencing_timestamp = $timestamp"
storage.querySingle(query.as[TrafficConsumed].headOption, functionFullName).value
}
@@ -116,7 +105,6 @@ class DbTrafficConsumedStore(
// upToExclusive, we need to keep it.
// To do that we first find the latest timestamp for all members before the pruning timestamp.
// Then we delete all rows below that timestamp for each member.
- // TODO(#18394): Check performance of the group by query here
val deleteQuery =
sqlu"""with last_before_pruning_timestamp(member, sequencing_timestamp) as (
select member, max(sequencing_timestamp)
diff --git a/sdk/canton/community/domain/src/test/scala/com/digitalasset/canton/domain/mediator/ConfirmationResponseProcessorTest.scala b/sdk/canton/community/domain/src/test/scala/com/digitalasset/canton/domain/mediator/ConfirmationResponseProcessorTest.scala
new file mode 100644
index 0000000000..2546dce65d
--- /dev/null
+++ b/sdk/canton/community/domain/src/test/scala/com/digitalasset/canton/domain/mediator/ConfirmationResponseProcessorTest.scala
@@ -0,0 +1,1478 @@
+// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
+
+package com.digitalasset.canton.domain.mediator
+
+import com.daml.nonempty.NonEmpty
+import com.digitalasset.canton.*
+import com.digitalasset.canton.config.CachingConfigs
+import com.digitalasset.canton.config.RequireTypes.{NonNegativeInt, PositiveInt}
+import com.digitalasset.canton.crypto.*
+import com.digitalasset.canton.crypto.provider.symbolic.SymbolicCrypto
+import com.digitalasset.canton.data.ViewType.{TransactionViewType, TransferInViewType}
+import com.digitalasset.canton.data.*
+import com.digitalasset.canton.domain.mediator.ResponseAggregation.ConsortiumVotingState
+import com.digitalasset.canton.domain.mediator.store.{
+ InMemoryFinalizedResponseStore,
+ InMemoryMediatorDeduplicationStore,
+ MediatorState,
+}
+import com.digitalasset.canton.domain.metrics.MediatorTestMetrics
+import com.digitalasset.canton.error.MediatorError
+import com.digitalasset.canton.logging.LogEntry
+import com.digitalasset.canton.protocol.*
+import com.digitalasset.canton.protocol.messages.Verdict.{Approve, MediatorReject}
+import com.digitalasset.canton.protocol.messages.*
+import com.digitalasset.canton.sequencing.client.TestSequencerClientSend
+import com.digitalasset.canton.sequencing.protocol.*
+import com.digitalasset.canton.time.{Clock, DomainTimeTracker, NonNegativeFiniteDuration}
+import com.digitalasset.canton.topology.MediatorGroup.MediatorGroupIndex
+import com.digitalasset.canton.topology.*
+import com.digitalasset.canton.topology.client.TopologySnapshot
+import com.digitalasset.canton.topology.transaction.*
+import com.digitalasset.canton.util.MonadUtil.{sequentialTraverse, sequentialTraverse_}
+import com.digitalasset.canton.util.ShowUtil.*
+import com.digitalasset.canton.version.HasTestCloseContext
+import com.google.protobuf.ByteString
+import io.grpc.Status.Code
+import org.scalatest.Assertion
+import org.scalatest.wordspec.AsyncWordSpec
+
+import java.util
+import scala.annotation.nowarn
+import scala.concurrent.Future
+import scala.jdk.CollectionConverters.*
+import scala.language.reflectiveCalls
+
+@nowarn("msg=match may not be exhaustive")
+class ConfirmationResponseProcessorTest
+ extends AsyncWordSpec
+ with BaseTest
+ with HasTestCloseContext
+ with HasExecutionContext {
+
+ protected val domainId: DomainId = DomainId(
+ UniqueIdentifier.tryFromProtoPrimitive("domain::test")
+ )
+ protected val activeMediator1 = MediatorId(UniqueIdentifier.tryCreate("mediator", "one"))
+ protected val activeMediator2 = MediatorId(UniqueIdentifier.tryCreate("mediator", "two"))
+ protected val passiveMediator3 = MediatorId(UniqueIdentifier.tryCreate("mediator", "three"))
+ protected val activeMediator4 = MediatorId(UniqueIdentifier.tryCreate("mediator", "four"))
+
+ protected val testTopologyTimestamp = CantonTimestamp.Epoch
+
+ private def mediatorGroup0(mediators: NonEmpty[Seq[MediatorId]]) =
+ MediatorGroup(MediatorGroupIndex.zero, mediators, Seq.empty, PositiveInt.one)
+
+ protected val mediatorGroup: MediatorGroup = MediatorGroup(
+ index = MediatorGroupIndex.zero,
+ active = NonEmpty.mk(Seq, activeMediator1, activeMediator2),
+ passive = Seq(passiveMediator3),
+ threshold = PositiveInt.tryCreate(2),
+ )
+ protected val mediatorGroup2: MediatorGroup = MediatorGroup(
+ index = MediatorGroupIndex.one,
+ active = NonEmpty.mk(Seq, activeMediator4),
+ passive = Seq.empty,
+ threshold = PositiveInt.one,
+ )
+
+ protected val sequencer = SequencerId(UniqueIdentifier.tryCreate("sequencer", "one"))
+
+ protected val sequencerGroup =
+ SequencerGroup(active = NonEmpty.mk(Seq, sequencer), Seq.empty, PositiveInt.one)
+
+ private lazy val mediatorId: MediatorId = activeMediator2
+ private lazy val mediatorGroupRecipient: MediatorGroupRecipient = MediatorGroupRecipient(
+ mediatorGroup.index
+ )
+
+ protected lazy val factory: ExampleTransactionFactory =
+ new ExampleTransactionFactory()(domainId = domainId, mediatorGroup = mediatorGroupRecipient)
+ protected lazy val fullInformeeTree: FullInformeeTree =
+ factory.MultipleRootsAndViewNestings.fullInformeeTree
+ private lazy val view: TransactionView = factory.MultipleRootsAndViewNestings.view0
+ protected val participant: ParticipantId = ExampleTransactionFactory.submittingParticipant
+
+ protected lazy val view0Position =
+ factory.MultipleRootsAndViewNestings.transactionViewTree0.viewPosition
+ private lazy val view1Position =
+ factory.MultipleRootsAndViewNestings.transactionViewTree1.viewPosition
+ private lazy val view10Position =
+ factory.MultipleRootsAndViewNestings.transactionViewTree10.viewPosition
+ private lazy val view11Position =
+ factory.MultipleRootsAndViewNestings.transactionViewTree11.viewPosition
+ private lazy val view110Position =
+ factory.MultipleRootsAndViewNestings.transactionViewTree110.viewPosition
+
+ protected val notSignificantCounter: SequencerCounter = SequencerCounter(0)
+
+ protected val initialDomainParameters: DynamicDomainParameters =
+ TestDomainParameters.defaultDynamic
+
+ protected val initialDomainParametersWithValidity = DynamicDomainParametersWithValidity(
+ initialDomainParameters,
+ CantonTimestamp.Epoch,
+ None,
+ domainId,
+ )
+
+ protected val confirmationResponseTimeout: NonNegativeFiniteDuration =
+ NonNegativeFiniteDuration.tryOfMillis(100L)
+
+ protected lazy val submitter = ExampleTransactionFactory.submitter
+ protected lazy val signatory = ExampleTransactionFactory.signatory
+ protected lazy val observer = ExampleTransactionFactory.observer
+ protected lazy val extra: LfPartyId = ExampleTransactionFactory.extra
+
+ // Create a topology with several participants so that we can have several root hash messages or Malformed messages
+ protected val participant1 = participant
+ protected val participant2 = ExampleTransactionFactory.signatoryParticipant
+ protected val participant3 = ParticipantId("participant3")
+
+ private lazy val crypto =
+ SymbolicCrypto.create(testedReleaseProtocolVersion, timeouts, loggerFactory)
+
+ private lazy val topology: TestingTopology = TestingTopology(
+ Set(domainId),
+ Map(
+ submitter -> Map(participant -> ParticipantPermission.Confirmation),
+ signatory ->
+ Map(participant -> ParticipantPermission.Confirmation),
+ observer ->
+ Map(participant -> ParticipantPermission.Observation),
+ extra ->
+ Map(participant -> ParticipantPermission.Observation),
+ ),
+ Set(mediatorGroup, mediatorGroup2),
+ sequencerGroup,
+ )
+
+ private lazy val identityFactory = TestingIdentityFactory(
+ topology,
+ loggerFactory,
+ dynamicDomainParameters =
+ initialDomainParameters.tryUpdate(confirmationResponseTimeout = confirmationResponseTimeout),
+ crypto,
+ )
+
+ private lazy val identityFactory2 = {
+ val topology2 = TestingTopology(
+ Set(domainId),
+ Map(
+ submitter -> Map(participant1 -> ParticipantPermission.Confirmation),
+ signatory -> Map(participant2 -> ParticipantPermission.Confirmation),
+ observer -> Map(participant3 -> ParticipantPermission.Confirmation),
+ ),
+ Set(mediatorGroup),
+ sequencerGroup,
+ )
+ TestingIdentityFactory(
+ topology2,
+ loggerFactory,
+ initialDomainParameters,
+ crypto,
+ )
+ }
+
+ private lazy val identityFactory3 = {
+ val otherMediatorId = MediatorId(UniqueIdentifier.tryCreate("mediator", "other"))
+ val topology3 =
+ topology.copy(mediatorGroups = Set(mediatorGroup0(NonEmpty.mk(Seq, otherMediatorId))))
+ TestingIdentityFactory(
+ topology3,
+ loggerFactory,
+ dynamicDomainParameters = initialDomainParameters,
+ crypto,
+ )
+ }
+
+ private lazy val identityFactoryOnlySubmitter =
+ TestingIdentityFactory(
+ TestingTopology(
+ Set(domainId),
+ Map(
+ submitter -> Map(participant1 -> ParticipantPermission.Confirmation)
+ ),
+ Set(mediatorGroup0(NonEmpty.mk(Seq, mediatorId))),
+ sequencerGroup,
+ ),
+ loggerFactory,
+ dynamicDomainParameters = initialDomainParameters,
+ crypto,
+ )
+
+ protected lazy val domainSyncCryptoApi: DomainSyncCryptoClient =
+ identityFactory.forOwnerAndDomain(mediatorId, domainId)
+
+ protected lazy val requestIdTs = CantonTimestamp.Epoch
+ protected lazy val requestId = RequestId(requestIdTs)
+ protected lazy val participantResponseDeadline = requestIdTs.plusSeconds(60)
+ protected lazy val decisionTime = requestIdTs.plusSeconds(120)
+
+ class Fixture(syncCryptoApi: DomainSyncCryptoClient = domainSyncCryptoApi) {
+ private val sequencerSend: TestSequencerClientSend = new TestSequencerClientSend
+
+ def drainInterceptedBatches(): List[Batch[DefaultOpenEnvelope]] = {
+ val result = new util.ArrayList[TestSequencerClientSend.Request]()
+ sequencerSend.requestsQueue.drainTo(result)
+ result.asScala.map(_.batch).toList
+ }
+
+ val verdictSender: TestVerdictSender =
+ new TestVerdictSender(
+ syncCryptoApi,
+ mediatorId,
+ sequencerSend,
+ testedProtocolVersion,
+ loggerFactory,
+ )
+ private val timeTracker: DomainTimeTracker = mock[DomainTimeTracker]
+ val mediatorState = new MediatorState(
+ new InMemoryFinalizedResponseStore(loggerFactory),
+ new InMemoryMediatorDeduplicationStore(loggerFactory, timeouts),
+ mock[Clock],
+ MediatorTestMetrics,
+ testedProtocolVersion,
+ CachingConfigs.defaultFinalizedMediatorConfirmationRequestsCache,
+ timeouts,
+ loggerFactory,
+ )
+ val processor = new ConfirmationResponseProcessor(
+ domainId,
+ mediatorId,
+ verdictSender,
+ syncCryptoApi,
+ timeTracker,
+ mediatorState,
+ testedProtocolVersion,
+ loggerFactory,
+ timeouts,
+ )
+ }
+
+ private lazy val domainSyncCryptoApi2: DomainSyncCryptoClient =
+ identityFactory2.forOwnerAndDomain(sequencer, domainId)
+
+ def signedResponse(
+ confirmers: Set[LfPartyId],
+ viewPosition: ViewPosition,
+ verdict: LocalVerdict,
+ requestId: RequestId,
+ ): Future[SignedProtocolMessage[ConfirmationResponse]] = {
+ val response: ConfirmationResponse = ConfirmationResponse.tryCreate(
+ requestId,
+ participant,
+ Some(viewPosition),
+ verdict,
+ fullInformeeTree.transactionId.toRootHash,
+ confirmers,
+ factory.domainId,
+ testedProtocolVersion,
+ )
+ val participantCrypto = identityFactory.forOwner(participant)
+ SignedProtocolMessage
+ .trySignAndCreate(
+ response,
+ participantCrypto
+ .tryForDomain(domainId, defaultStaticDomainParameters)
+ .currentSnapshotApproximation,
+ testedProtocolVersion,
+ )
+ .failOnShutdown
+ }
+
+ def sign(tree: FullInformeeTree): Signature = identityFactory
+ .forOwnerAndDomain(participant, domainId)
+ .awaitSnapshot(CantonTimestamp.Epoch)
+ .futureValue
+ .sign(tree.tree.rootHash.unwrap)
+ .failOnShutdown
+ .futureValue
+
+ "TransactionConfirmationResponseProcessor" should {
+ def shouldBeViewThresholdBelowMinimumAlarm(
+ requestId: RequestId,
+ viewPosition: ViewPosition,
+ ): LogEntry => Assertion =
+ _.shouldBeCantonError(
+ MediatorError.MalformedMessage,
+ _ shouldBe s"Received a mediator confirmation request with id $requestId for transaction view at $viewPosition, " +
+ s"where no quorum of the list satisfies the minimum threshold. Rejecting request...",
+ )
+
+ lazy val rootHashMessages = Seq(
+ OpenEnvelope(
+ RootHashMessage(
+ fullInformeeTree.tree.rootHash,
+ domainId,
+ testedProtocolVersion,
+ TransactionViewType,
+ testTopologyTimestamp,
+ SerializedRootHashMessagePayload.empty,
+ ),
+ Recipients.cc(MemberRecipient(participant), mediatorGroupRecipient),
+ )(testedProtocolVersion)
+ )
+
+ "timestamp of mediator confirmation request is propagated" in {
+ val sut = new Fixture()
+
+ val testMediatorRequest =
+ new InformeeMessage(fullInformeeTree, sign(fullInformeeTree))(testedProtocolVersion) {
+ val (firstFaultyViewPosition: ViewPosition, _) =
+ super.informeesAndConfirmationParamsByViewPosition.head
+
+ override def informeesAndConfirmationParamsByViewPosition
+ : Map[ViewPosition, ViewConfirmationParameters] = {
+ super.informeesAndConfirmationParamsByViewPosition map {
+ case (key, ViewConfirmationParameters(informees, quorums)) =>
+ (
+ key,
+ ViewConfirmationParameters.tryCreate(
+ informees,
+ quorums.map(_.copy(threshold = NonNegativeInt.zero)),
+ ),
+ )
+ }
+ }
+ }
+ val requestTimestamp = CantonTimestamp.Epoch.plusSeconds(120)
+ for {
+ _ <- loggerFactory.assertLogs(
+ sut.processor
+ .processRequest(
+ RequestId(requestTimestamp),
+ SequencerCounter(0),
+ requestTimestamp.plusSeconds(60),
+ requestTimestamp.plusSeconds(120),
+ NonNegativeFiniteDuration.tryOfHours(1),
+ testMediatorRequest,
+ rootHashMessages,
+ batchAlsoContainsTopologyTransaction = false,
+ )
+ .failOnShutdown,
+ shouldBeViewThresholdBelowMinimumAlarm(
+ RequestId(requestTimestamp),
+ testMediatorRequest.firstFaultyViewPosition,
+ ),
+ )
+
+ } yield {
+ val sentResult = sut.verdictSender.sentResults.loneElement
+ sentResult.requestId.unwrap shouldBe requestTimestamp
+ }
+ }
+
+ "verify the request signature" in {
+ val sut = new Fixture()
+
+ val informeeMessage =
+ new InformeeMessage(fullInformeeTree, Signature.noSignature)(testedProtocolVersion)
+
+ for {
+ _ <- loggerFactory.assertLogs(
+ sut.processor
+ .processRequest(
+ requestId,
+ notSignificantCounter,
+ participantResponseDeadline,
+ decisionTime,
+ NonNegativeFiniteDuration.tryOfHours(1),
+ informeeMessage,
+ rootHashMessages,
+ batchAlsoContainsTopologyTransaction = false,
+ )
+ .failOnShutdown,
+ _.shouldBeCantonError(
+ MediatorError.MalformedMessage,
+ _ should startWith(
+ s"Received a mediator confirmation request with id $requestId from $participant with an invalid signature. Rejecting request.\nDetailed error: SignatureWithWrongKey"
+ ),
+ ),
+ )
+ } yield {
+ val sentResult = sut.verdictSender.sentResults.loneElement
+ inside(sentResult.verdict.value) { case MediatorReject(status, isMalformed) =>
+ status.code shouldBe Code.INVALID_ARGUMENT.value()
+ status.message shouldBe s"An error occurred. Please contact the operator and inquire about the request with tid "
+ isMalformed shouldBe true
+ }
+ }
+ }
+
+ "verify the response signature" in {
+ val sut = new Fixture()
+
+ val informeeMessage =
+ new InformeeMessage(fullInformeeTree, sign(fullInformeeTree))(testedProtocolVersion)
+
+ val requestTimestamp = CantonTimestamp.Epoch.plusSeconds(12345)
+ val reqId = RequestId(requestTimestamp)
+
+ for {
+ _ <- sut.processor
+ .processRequest(
+ reqId,
+ notSignificantCounter,
+ requestTimestamp.plusSeconds(60),
+ requestTimestamp.plusSeconds(120),
+ NonNegativeFiniteDuration.tryOfHours(1),
+ informeeMessage,
+ rootHashMessages,
+ batchAlsoContainsTopologyTransaction = false,
+ )
+ .failOnShutdown
+ response = ConfirmationResponse.tryCreate(
+ reqId,
+ participant,
+ Some(view0Position),
+ LocalApprove(testedProtocolVersion),
+ fullInformeeTree.transactionId.toRootHash,
+ Set(submitter),
+ factory.domainId,
+ testedProtocolVersion,
+ )
+ signedResponse = SignedProtocolMessage(
+ TypedSignedProtocolMessageContent(response, testedProtocolVersion),
+ NonEmpty(Seq, Signature.noSignature),
+ testedProtocolVersion,
+ )
+ _ <- loggerFactory.assertLogs(
+ sut.processor
+ .processResponse(
+ CantonTimestamp.Epoch,
+ notSignificantCounter,
+ requestTimestamp.plusSeconds(60),
+ requestTimestamp.plusSeconds(120),
+ signedResponse,
+ Some(reqId.unwrap),
+ Recipients.cc(mediatorGroupRecipient),
+ )
+ .failOnShutdown,
+ _.shouldBeCantonError(
+ MediatorError.MalformedMessage,
+ _ should include regex s"$domainId \\(timestamp: ${CantonTimestamp.Epoch}\\): invalid signature from $participant with SignatureWithWrongKey",
+ ),
+ )
+ } yield succeed
+ }
+
+ "accept root hash messages" in {
+ val sut = new Fixture(domainSyncCryptoApi2)
+ val correctRootHash = fullInformeeTree.tree.rootHash
+ // Create a custom informee message with several recipient participants
+ val informeeMessage =
+ new InformeeMessage(fullInformeeTree, sign(fullInformeeTree))(testedProtocolVersion) {
+ override val informeesAndConfirmationParamsByViewPosition
+ : Map[ViewPosition, ViewConfirmationParameters] =
+ Map(
+ ViewPosition.root -> ViewConfirmationParameters.tryCreate(
+ Set(
+ submitter,
+ signatory,
+ observer,
+ ),
+ Seq(
+ Quorum(
+ Map(
+ submitter -> PositiveInt.one,
+ signatory -> PositiveInt.one,
+ observer -> PositiveInt.one,
+ ),
+ NonNegativeInt.one,
+ )
+ ),
+ )
+ )
+ }
+ val allParticipants = NonEmpty(Seq, participant1, participant2, participant3)
+
+ val correctViewType = informeeMessage.viewType
+ val rootHashMessage =
+ RootHashMessage(
+ correctRootHash,
+ domainId,
+ testedProtocolVersion,
+ correctViewType,
+ testTopologyTimestamp,
+ SerializedRootHashMessagePayload.empty,
+ )
+
+ val tests = List[(String, Seq[Recipients])](
+ "individual messages" -> allParticipants.map(p =>
+ Recipients.cc(mediatorGroupRecipient, MemberRecipient(p))
+ ),
+ "just one message" -> Seq(
+ Recipients.recipientGroups(
+ allParticipants.map(p => NonEmpty.mk(Set, MemberRecipient(p), mediatorGroupRecipient))
+ )
+ ),
+ "mixed" -> Seq(
+ Recipients.recipientGroups(
+ NonEmpty.mk(
+ Seq,
+ NonEmpty.mk(Set, MemberRecipient(participant1), mediatorGroupRecipient),
+ NonEmpty.mk(Set, MemberRecipient(participant2), mediatorGroupRecipient),
+ )
+ ),
+ Recipients.cc(MemberRecipient(participant3), mediatorGroupRecipient),
+ ),
+ )
+
+ sequentialTraverse_(tests.zipWithIndex) { case ((_testName, recipients), i) =>
+ withClueF("testname") {
+ val rootHashMessages =
+ recipients.map(r => OpenEnvelope(rootHashMessage, r)(testedProtocolVersion))
+ val ts = CantonTimestamp.ofEpochSecond(i.toLong)
+ sut.processor
+ .processRequest(
+ RequestId(ts),
+ notSignificantCounter,
+ ts.plusSeconds(60),
+ ts.plusSeconds(120),
+ NonNegativeFiniteDuration.tryOfHours(1),
+ informeeMessage,
+ rootHashMessages,
+ batchAlsoContainsTopologyTransaction = false,
+ )
+ .failOnShutdown
+ }
+ }.map(_ => succeed)
+ }
+
+ "send rejections when receiving wrong root hash messages" in {
+ val sut = new Fixture()
+
+ val informeeMessage =
+ InformeeMessage(fullInformeeTree, sign(fullInformeeTree))(testedProtocolVersion)
+ val rootHash = informeeMessage.rootHash
+ val wrongRootHash =
+ RootHash(
+ domainSyncCryptoApi.pureCrypto.digest(TestHash.testHashPurpose, ByteString.EMPTY)
+ )
+ val correctViewType = informeeMessage.viewType
+ val wrongViewType = TransferInViewType
+ require(correctViewType != wrongViewType)
+ val correctRootHashMessage =
+ RootHashMessage(
+ rootHash,
+ domainId,
+ testedProtocolVersion,
+ correctViewType,
+ testTopologyTimestamp,
+ SerializedRootHashMessagePayload.empty,
+ )
+ val wrongRootHashMessage = correctRootHashMessage.copy(rootHash = wrongRootHash)
+ val wrongViewTypeRHM = correctRootHashMessage.copy(viewType = wrongViewType)
+ val otherParticipant = participant2
+
+ def exampleForRequest(
+ request: MediatorConfirmationRequest,
+ rootHashMessages: (RootHashMessage[SerializedRootHashMessagePayload], Recipients)*
+ ): (
+ MediatorConfirmationRequest,
+ List[OpenEnvelope[RootHashMessage[SerializedRootHashMessagePayload]]],
+ ) =
+ (
+ request,
+ rootHashMessages.map { case (rootHashMessage, recipients) =>
+ OpenEnvelope(rootHashMessage, recipients)(testedProtocolVersion)
+ }.toList,
+ )
+
+ def example(
+ rootHashMessages: (RootHashMessage[SerializedRootHashMessagePayload], Recipients)*
+ ) =
+ exampleForRequest(informeeMessage, rootHashMessages*)
+
+ val batchWithoutRootHashMessages = example()
+ val batchWithWrongRootHashMessage =
+ example(
+ wrongRootHashMessage -> Recipients.cc(
+ mediatorGroupRecipient,
+ MemberRecipient(participant),
+ )
+ )
+ val batchWithWrongViewType =
+ example(
+ wrongViewTypeRHM -> Recipients.cc(mediatorGroupRecipient, MemberRecipient(participant))
+ )
+ val batchWithDifferentViewTypes =
+ example(
+ correctRootHashMessage -> Recipients
+ .cc(mediatorGroupRecipient, MemberRecipient(participant)),
+ wrongViewTypeRHM -> Recipients.cc(
+ mediatorGroupRecipient,
+ MemberRecipient(otherParticipant),
+ ),
+ )
+ val batchWithRootHashMessageWithTooManyRecipients =
+ example(
+ correctRootHashMessage -> Recipients.cc(
+ mediatorGroupRecipient,
+ MemberRecipient(participant),
+ MemberRecipient(otherParticipant),
+ )
+ )
+ val batchWithRootHashMessageWithTooFewRecipients =
+ example(correctRootHashMessage -> Recipients.cc(mediatorGroupRecipient))
+ val batchWithRepeatedRootHashMessage = example(
+ correctRootHashMessage -> Recipients
+ .cc(mediatorGroupRecipient, MemberRecipient(participant)),
+ correctRootHashMessage -> Recipients.cc(
+ mediatorGroupRecipient,
+ MemberRecipient(participant),
+ ),
+ )
+ val batchWithDivergingRootHashMessages = example(
+ correctRootHashMessage -> Recipients
+ .cc(mediatorGroupRecipient, MemberRecipient(participant)),
+ wrongRootHashMessage -> Recipients.cc(
+ mediatorGroupRecipient,
+ MemberRecipient(participant),
+ ),
+ )
+ val batchWithSuperfluousRootHashMessage = example(
+ correctRootHashMessage -> Recipients
+ .cc(mediatorGroupRecipient, MemberRecipient(participant)),
+ correctRootHashMessage -> Recipients.cc(
+ mediatorGroupRecipient,
+ MemberRecipient(otherParticipant),
+ ),
+ )
+ val batchWithDifferentPayloads = example(
+ correctRootHashMessage -> Recipients
+ .cc(mediatorGroupRecipient, MemberRecipient(participant)),
+ correctRootHashMessage.copy(
+ payload = SerializedRootHashMessagePayload(ByteString.copyFromUtf8("other paylroosoad"))
+ ) -> Recipients
+ .cc(mediatorGroupRecipient, MemberRecipient(otherParticipant)),
+ )
+
+ // format: off
+ val testCases
+ : Seq[(((MediatorConfirmationRequest, List[OpenEnvelope[RootHashMessage[SerializedRootHashMessagePayload]]]), String),
+ List[(Set[Member], ViewType)])] = List(
+
+ (batchWithoutRootHashMessages -> show"Missing root hash message for informee participants: $participant") -> List.empty,
+
+ (batchWithWrongRootHashMessage -> show"Wrong root hashes: $wrongRootHash") ->
+ List(Set[Member](participant) -> correctViewType),
+
+ (batchWithWrongViewType -> show"View types in root hash messages differ from expected view type $correctViewType: $wrongViewType") ->
+ List(Set[Member](participant) -> wrongViewType),
+
+ (batchWithDifferentViewTypes -> show"View types in root hash messages differ from expected view type $correctViewType: $wrongViewType") ->
+ List(Set[Member](participant) -> correctViewType, Set[Member](otherParticipant) -> wrongViewType),
+
+ (batchWithRootHashMessageWithTooManyRecipients ->
+ show"Root hash messages with wrong recipients tree: RecipientsTree(recipient group = Seq(${mediatorGroupRecipient}, ${MemberRecipient(participant)}, ${MemberRecipient(otherParticipant)}))") ->
+ List(Set[Member](participant, otherParticipant) -> correctViewType),
+
+ (batchWithRootHashMessageWithTooFewRecipients -> show"Root hash messages with wrong recipients tree: RecipientsTree(recipient group = ${mediatorGroupRecipient})") -> List.empty,
+
+ (batchWithRepeatedRootHashMessage -> show"Several root hash messages for recipients: ${MemberRecipient(participant)}") ->
+ List(Set[Member](participant) -> correctViewType),
+
+ (batchWithDivergingRootHashMessages -> show"Several root hash messages for recipients: ${MemberRecipient(participant)}") ->
+ List(Set[Member](participant) -> correctViewType),
+
+ (batchWithSuperfluousRootHashMessage -> show"Superfluous root hash message for members: $otherParticipant") ->
+ List(Set[Member](participant, otherParticipant) -> correctViewType),
+
+ (batchWithDifferentPayloads -> show"Different payloads in root hash messages. Sizes: 0, 17.") ->
+ List(Set[Member](participant, otherParticipant) -> correctViewType),
+ )
+ // format: on
+
+ sequentialTraverse_(testCases.zipWithIndex) {
+ case ((((req, rootHashMessages), msg), expectedRecipientsAndViewTypes), sc) =>
+ val ts = CantonTimestamp.ofEpochSecond(sc.toLong)
+ withClueF(s"at test case #$sc") {
+ for {
+ _ <- loggerFactory.assertLogs(
+ // This will not send a result message because there are no root hash messages in the batch.
+ sut.processor
+ .processRequest(
+ RequestId(ts),
+ notSignificantCounter,
+ ts.plusSeconds(60),
+ ts.plusSeconds(120),
+ NonNegativeFiniteDuration.tryOfHours(1),
+ req,
+ rootHashMessages,
+ batchAlsoContainsTopologyTransaction = false,
+ )
+ .failOnShutdown,
+ _.shouldBeCantonError(
+ MediatorError.MalformedMessage,
+ _ shouldBe s"Received a mediator confirmation request with id ${RequestId(ts)} with invalid root hash messages. Rejecting... Reason: $msg",
+ ),
+ )
+ } yield {
+ val resultBatches = sut.drainInterceptedBatches()
+ val resultRecipientsAndViewTypes = resultBatches.flatMap { resultBatch =>
+ val envelope = resultBatch.envelopes.loneElement
+ val viewType = envelope.protocolMessage
+ .asInstanceOf[SignedProtocolMessage[ConfirmationResultMessage]]
+ .message
+ .viewType
+
+ envelope.recipients.trees.map(_ -> viewType)
+ }.toSet
+
+ val expected = expectedRecipientsAndViewTypes.flatMap { case (recipients, viewType) =>
+ recipients.map { member =>
+ RecipientsTree.leaf(NonEmpty(Set, member)) -> viewType
+ }
+ }.toSet
+
+ resultRecipientsAndViewTypes shouldBe expected
+ }
+ }
+ }.map(_ => succeed)
+ }
+
+ "reject when declared mediator is wrong" in {
+ val sut = new Fixture()
+
+ val otherMediatorGroupIndex = MediatorGroupRecipient(mediatorGroup2.index)
+ val factoryOtherMediatorId =
+ new ExampleTransactionFactory()(
+ domainId = domainId,
+ mediatorGroup = otherMediatorGroupIndex,
+ )
+ val fullInformeeTreeOther =
+ factoryOtherMediatorId.MultipleRootsAndViewNestings.fullInformeeTree
+ val mediatorRequest =
+ InformeeMessage(fullInformeeTreeOther, sign(fullInformeeTreeOther))(testedProtocolVersion)
+ val rootHashMessage = RootHashMessage(
+ mediatorRequest.rootHash,
+ domainId,
+ testedProtocolVersion,
+ mediatorRequest.viewType,
+ testTopologyTimestamp,
+ SerializedRootHashMessagePayload.empty,
+ )
+
+ val sc = 10L
+ val ts = CantonTimestamp.ofEpochSecond(sc)
+ for {
+ _ <- loggerFactory.assertLogs(
+ sut.processor
+ .processRequest(
+ RequestId(ts),
+ notSignificantCounter,
+ ts.plusSeconds(60),
+ ts.plusSeconds(120),
+ NonNegativeFiniteDuration.tryOfHours(1),
+ mediatorRequest,
+ List(
+ OpenEnvelope(
+ rootHashMessage,
+ Recipients.cc(mediatorGroupRecipient, MemberRecipient(participant)),
+ )(testedProtocolVersion)
+ ),
+ batchAlsoContainsTopologyTransaction = false,
+ )
+ .failOnShutdown,
+ _.shouldBeCantonError(
+ MediatorError.MalformedMessage,
+ message => {
+ message should (include("Rejecting mediator confirmation request") and include(
+ s"${RequestId(ts)}"
+ ) and include("this mediator not being part of the mediator group") and include(
+ s"$otherMediatorGroupIndex"
+ ))
+ },
+ ),
+ )
+ } yield succeed
+ }
+
+ "correct series of mediator events" in {
+ val sut = new Fixture()
+ val informeeMessage =
+ InformeeMessage(fullInformeeTree, sign(fullInformeeTree))(testedProtocolVersion)
+ val rootHashMessage = RootHashMessage(
+ fullInformeeTree.transactionId.toRootHash,
+ domainId,
+ testedProtocolVersion,
+ ViewType.TransactionViewType,
+ testTopologyTimestamp,
+ SerializedRootHashMessagePayload.empty,
+ )
+ val mockTopologySnapshot = mock[TopologySnapshot]
+ when(
+ mockTopologySnapshot.canConfirm(any[ParticipantId], any[Set[LfPartyId]])(
+ anyTraceContext
+ )
+ )
+ .thenAnswer { (participant: ParticipantId, parties: Set[LfPartyId]) =>
+ Future.successful(parties)
+ }
+ when(mockTopologySnapshot.consortiumThresholds(any[Set[LfPartyId]])(anyTraceContext))
+ .thenAnswer { (parties: Set[LfPartyId]) =>
+ Future.successful(parties.map(x => x -> PositiveInt.one).toMap)
+ }
+
+ for {
+ _ <- sut.processor
+ .processRequest(
+ requestId,
+ notSignificantCounter,
+ requestIdTs.plusSeconds(60),
+ decisionTime,
+ NonNegativeFiniteDuration.tryOfMinutes(5),
+ informeeMessage,
+ List(
+ OpenEnvelope(
+ rootHashMessage,
+ Recipients.cc(mediatorGroupRecipient, MemberRecipient(participant)),
+ )(
+ testedProtocolVersion
+ )
+ ),
+ batchAlsoContainsTopologyTransaction = false,
+ )
+ .failOnShutdown
+ // should record the request
+ requestState <- sut.mediatorState
+ .fetch(requestId)
+ .value
+ .failOnShutdown("Unexpected shutdown.")
+ .map(_.value)
+ responseAggregation <-
+ ResponseAggregation.fromRequest(
+ requestId,
+ informeeMessage,
+ requestId.unwrap.plusSeconds(300L),
+ mockTopologySnapshot,
+ )
+
+ _ = requestState shouldBe responseAggregation
+ // receiving the confirmation response
+ ts1 = CantonTimestamp.Epoch.plusMillis(1L)
+ approvals: Seq[SignedProtocolMessage[ConfirmationResponse]] <- sequentialTraverse(
+ List(
+ view0Position -> view,
+ view1Position -> factory.MultipleRootsAndViewNestings.view1,
+ view11Position -> factory.MultipleRootsAndViewNestings.view11,
+ view110Position -> factory.MultipleRootsAndViewNestings.view110,
+ )
+ ) { case (viewPosition, _) =>
+ signedResponse(
+ Set(submitter),
+ viewPosition,
+ LocalApprove(testedProtocolVersion),
+ requestId,
+ )
+ }
+ _ <- sequentialTraverse_(approvals)(
+ sut.processor
+ .processResponse(
+ ts1,
+ notSignificantCounter,
+ ts1.plusSeconds(60),
+ ts1.plusSeconds(120),
+ _,
+ Some(requestId.unwrap),
+ Recipients.cc(mediatorGroupRecipient),
+ )
+ .failOnShutdown("Unexpected shutdown.")
+ )
+ // records the request
+ updatedState <- sut.mediatorState
+ .fetch(requestId)
+ .value
+ .failOnShutdown("Unexpected shutdown.")
+ _ = {
+ inside(updatedState) {
+ case Some(
+ ResponseAggregation(
+ actualRequestId,
+ actualRequest,
+ _,
+ actualVersion,
+ Right(_states),
+ )
+ ) =>
+ actualRequestId shouldBe requestId
+ actualRequest shouldBe informeeMessage
+ actualVersion shouldBe ts1
+ }
+ val completedView = ResponseAggregation.ViewState(
+ Map(
+ submitter -> ConsortiumVotingState(approvals =
+ Set(ExampleTransactionFactory.submittingParticipant)
+ )
+ ),
+ Seq(Quorum.empty),
+ Nil,
+ )
+ val signatoryQuorum = Quorum(
+ Map(signatory -> PositiveInt.one),
+ NonNegativeInt.one,
+ )
+ val ResponseAggregation(
+ `requestId`,
+ `informeeMessage`,
+ _,
+ `ts1`,
+ Right(states),
+ ) =
+ updatedState.value
+ assert(
+ states === Map(
+ view0Position -> completedView,
+ view1Position ->
+ ResponseAggregation.ViewState(
+ Map(
+ submitter -> ConsortiumVotingState(approvals =
+ Set(ExampleTransactionFactory.submittingParticipant)
+ ),
+ signatory -> ConsortiumVotingState(),
+ ),
+ Seq(
+ signatoryQuorum,
+ // the new confirming party quorum is `empty`
+ Quorum.empty,
+ ),
+ Nil,
+ ),
+ view10Position ->
+ ResponseAggregation.ViewState(
+ Map(signatory -> ConsortiumVotingState()),
+ Seq(signatoryQuorum),
+ Nil,
+ ),
+ view11Position ->
+ ResponseAggregation.ViewState(
+ Map(
+ submitter -> ConsortiumVotingState(approvals =
+ Set(ExampleTransactionFactory.submittingParticipant)
+ ),
+ signatory -> ConsortiumVotingState(),
+ ),
+ Seq(signatoryQuorum),
+ Nil,
+ ),
+ view110Position -> completedView,
+ )
+ )
+ }
+ // receiving the final confirmation response
+ ts2 = CantonTimestamp.Epoch.plusMillis(2L)
+ approvals <- sequentialTraverse(
+ List(
+ view1Position -> factory.MultipleRootsAndViewNestings.view1,
+ view10Position -> factory.MultipleRootsAndViewNestings.view10,
+ view11Position -> factory.MultipleRootsAndViewNestings.view11,
+ )
+ ) { case (viewPosition, view) =>
+ signedResponse(
+ Set(signatory),
+ viewPosition,
+ LocalApprove(testedProtocolVersion),
+ requestId,
+ )
+ }
+ _ <- sequentialTraverse_(approvals)(
+ sut.processor
+ .processResponse(
+ ts2,
+ notSignificantCounter,
+ ts2.plusSeconds(60),
+ ts2.plusSeconds(120),
+ _,
+ Some(requestId.unwrap),
+ Recipients.cc(mediatorGroupRecipient),
+ )
+ .failOnShutdown("Unexpected shutdown.")
+ )
+ // records the request
+ finalState <- sut.mediatorState
+ .fetch(requestId)
+ .value
+ .failOnShutdown("Unexpected shutdown.")
+ } yield {
+ inside(finalState) {
+ case Some(FinalizedResponse(`requestId`, `informeeMessage`, `ts2`, verdict)) =>
+ assert(verdict === Approve(testedProtocolVersion))
+ }
+ }
+ }
+ "receiving Malformed responses" in {
+ // receiving an informee message
+ val sut = new Fixture(domainSyncCryptoApi2)
+
+ // Create a custom informee message with many quorums such that the first Malformed rejection doesn't finalize the request
+ val informeeMessage =
+ new InformeeMessage(fullInformeeTree, sign(fullInformeeTree))(testedProtocolVersion) {
+ override val informeesAndConfirmationParamsByViewPosition
+ : Map[ViewPosition, ViewConfirmationParameters] = {
+ val allNodesViewConfirmationParameters = ViewConfirmationParameters.tryCreate(
+ Set(
+ submitter,
+ signatory,
+ observer,
+ ),
+ Seq(
+ Quorum(
+ Map(
+ submitter -> PositiveInt.one,
+ signatory -> PositiveInt.one,
+ observer -> PositiveInt.one,
+ ),
+ NonNegativeInt.one,
+ )
+ ),
+ )
+ Map(
+ view0Position -> ViewConfirmationParameters.tryCreate(
+ Set(
+ submitter,
+ signatory,
+ ),
+ Seq(
+ Quorum(
+ Map(
+ submitter -> PositiveInt.one,
+ signatory -> PositiveInt.one,
+ ),
+ NonNegativeInt.one,
+ )
+ ),
+ ),
+ view1Position -> allNodesViewConfirmationParameters,
+ view11Position -> ViewConfirmationParameters.tryCreate(
+ Set(
+ observer,
+ signatory,
+ ),
+ Seq(
+ Quorum(
+ Map(
+ observer -> PositiveInt.one,
+ signatory -> PositiveInt.one,
+ ),
+ NonNegativeInt.one,
+ )
+ ),
+ ),
+ view10Position -> allNodesViewConfirmationParameters,
+ )
+ }
+ }
+
+ val rootHashMessage = RootHashMessage(
+ fullInformeeTree.transactionId.toRootHash,
+ domainId,
+ testedProtocolVersion,
+ ViewType.TransactionViewType,
+ testTopologyTimestamp,
+ SerializedRootHashMessagePayload.empty,
+ )
+
+ val requestIdTs = CantonTimestamp.Epoch
+ val requestId = RequestId(requestIdTs)
+
+ val malformedMsg = "this is a test malformed response"
+
+ def malformedResponse(
+ participant: ParticipantId
+ ): Future[SignedProtocolMessage[ConfirmationResponse]] = {
+ val response = ConfirmationResponse.tryCreate(
+ requestId,
+ participant,
+ None,
+ LocalRejectError.MalformedRejects.Payloads
+ .Reject(malformedMsg)
+ .toLocalReject(testedProtocolVersion),
+ fullInformeeTree.transactionId.toRootHash,
+ Set.empty,
+ factory.domainId,
+ testedProtocolVersion,
+ )
+ val participantCrypto = identityFactory2.forOwner(participant)
+ SignedProtocolMessage
+ .trySignAndCreate(
+ response,
+ participantCrypto
+ .tryForDomain(domainId, defaultStaticDomainParameters)
+ .currentSnapshotApproximation,
+ testedProtocolVersion,
+ )
+ .failOnShutdown
+ }
+
+ for {
+ _ <- sut.processor
+ .processRequest(
+ requestId,
+ notSignificantCounter,
+ requestIdTs.plusSeconds(60),
+ requestIdTs.plusSeconds(120),
+ NonNegativeFiniteDuration.tryOfHours(1),
+ informeeMessage,
+ List(
+ OpenEnvelope(
+ rootHashMessage,
+ Recipients.recipientGroups(
+ NonEmpty(
+ Seq,
+ NonEmpty(Set, mediatorGroupRecipient, MemberRecipient(participant1)),
+ NonEmpty(Set, mediatorGroupRecipient, MemberRecipient(participant2)),
+ NonEmpty(Set, mediatorGroupRecipient, MemberRecipient(participant3)),
+ )
+ ),
+ )(
+ testedProtocolVersion
+ )
+ ),
+ batchAlsoContainsTopologyTransaction = false,
+ )
+ .failOnShutdown
+
+ // receiving a confirmation response
+ ts1 = CantonTimestamp.Epoch.plusMillis(1L)
+ malformed <- sequentialTraverse(
+ List(
+ malformedResponse(participant1),
+ malformedResponse(participant3),
+ malformedResponse(participant3),
+ malformedResponse(participant2), // This should finalize the request
+ malformedResponse(participant3),
+ )
+ )(Predef.identity)
+
+ // records the request
+ _ <- sequentialTraverse_(malformed)(
+ sut.processor
+ .processResponse(
+ ts1,
+ notSignificantCounter,
+ ts1.plusSeconds(60),
+ ts1.plusSeconds(120),
+ _,
+ Some(requestId.unwrap),
+ Recipients.cc(mediatorGroupRecipient),
+ )
+ .failOnShutdown("Unexpected shutdown.")
+ )
+
+ finalState <- sut.mediatorState
+ .fetch(requestId)
+ .value
+ .failOnShutdown("Unexpected shutdown.")
+ _ = inside(finalState) {
+ case Some(
+ FinalizedResponse(
+ _requestId,
+ _request,
+ _version,
+ Verdict.ParticipantReject(reasons),
+ )
+ ) =>
+ // TODO(#5337) These are only the rejections for the first view because this view happens to be finalized first.
+ reasons.length shouldEqual 2
+ reasons.foreach { case (party, reject) =>
+ reject shouldBe LocalRejectError.MalformedRejects.Payloads
+ .Reject(malformedMsg)
+ .toLocalReject(
+ testedProtocolVersion
+ )
+ party should (contain(submitter) or contain(signatory))
+ }
+ }
+ } yield succeed
+ }
+
+ "receiving late response" in {
+ val sut = new Fixture()
+ val requestTs = CantonTimestamp.Epoch.plusMillis(1)
+ val requestId = RequestId(requestTs)
+ // response is just too late
+ val participantResponseDeadline = requestIdTs.plus(confirmationResponseTimeout.unwrap)
+ val responseTs = participantResponseDeadline.addMicros(1)
+
+ val informeeMessage =
+ InformeeMessage(fullInformeeTree, sign(fullInformeeTree))(testedProtocolVersion)
+ val rootHashMessage = RootHashMessage(
+ fullInformeeTree.transactionId.toRootHash,
+ domainId,
+ testedProtocolVersion,
+ ViewType.TransactionViewType,
+ testTopologyTimestamp,
+ SerializedRootHashMessagePayload.empty,
+ )
+
+ for {
+ _ <- sut.processor
+ .processRequest(
+ requestId,
+ notSignificantCounter,
+ requestIdTs.plus(confirmationResponseTimeout.unwrap),
+ requestIdTs.plusSeconds(120),
+ NonNegativeFiniteDuration.tryOfHours(1),
+ informeeMessage,
+ List(
+ OpenEnvelope(
+ rootHashMessage,
+ Recipients.cc(mediatorGroupRecipient, MemberRecipient(participant)),
+ )(
+ testedProtocolVersion
+ )
+ ),
+ batchAlsoContainsTopologyTransaction = false,
+ )
+ .failOnShutdown
+ response <- signedResponse(
+ Set(submitter),
+ ViewPosition.root,
+ LocalApprove(testedProtocolVersion),
+ requestId,
+ )
+ _ <- loggerFactory.assertLogs(
+ sut.processor
+ .processResponse(
+ responseTs,
+ notSignificantCounter + 1,
+ participantResponseDeadline,
+ requestIdTs.plusSeconds(120),
+ response,
+ Some(requestId.unwrap),
+ Recipients.cc(mediatorGroupRecipient),
+ )
+ .failOnShutdown("Unexpected shutdown."),
+ _.warningMessage shouldBe s"Response $responseTs is too late as request RequestId($requestTs) has already exceeded the participant response deadline [$participantResponseDeadline]",
+ )
+ } yield succeed
+ }
+
+ "reject requests whose batch contained a topology transaction" in {
+ val sut = new Fixture()
+
+ val mediatorRequest =
+ InformeeMessage(fullInformeeTree, sign(fullInformeeTree))(testedProtocolVersion)
+ val rootHashMessage = RootHashMessage(
+ mediatorRequest.rootHash,
+ domainId,
+ testedProtocolVersion,
+ mediatorRequest.viewType,
+ testTopologyTimestamp,
+ SerializedRootHashMessagePayload.empty,
+ )
+
+ val sc = 10L
+ val ts = CantonTimestamp.ofEpochSecond(sc)
+ for {
+ _ <- loggerFactory.assertLogs(
+ sut.processor
+ .processRequest(
+ RequestId(ts),
+ notSignificantCounter,
+ ts.plusSeconds(60),
+ ts.plusSeconds(120),
+ NonNegativeFiniteDuration.tryOfHours(1),
+ mediatorRequest,
+ List(
+ OpenEnvelope(
+ rootHashMessage,
+ Recipients.cc(mediatorGroupRecipient, MemberRecipient(participant)),
+ )(
+ testedProtocolVersion
+ )
+ ),
+ batchAlsoContainsTopologyTransaction = true,
+ )
+ .failOnShutdown,
+ _.shouldBeCantonError(
+ MediatorError.MalformedMessage,
+ message => {
+ message should (include(
+ s"Received a mediator confirmation request with id ${RequestId(ts)} also containing a topology transaction."
+ ))
+ },
+ ),
+ )
+ } yield succeed
+ }
+
+ "timeout request that is not pending should not fail" in {
+ // could happen if a timeout is scheduled but the request is previously finalized
+ val sut = new Fixture()
+ val requestTs = CantonTimestamp.Epoch
+ val requestId = RequestId(requestTs)
+ val timeoutTs = requestTs.plusSeconds(20)
+
+ // this request is not added to the pending state
+ for {
+ snapshot <- domainSyncCryptoApi2.snapshot(requestTs)
+ _ <- sut.processor
+ .handleTimeout(requestId, timeoutTs)
+ .failOnShutdown("Unexpected shutdown.")
+ } yield succeed
+ }
+
+ "reject request if some informee is not hosted by an active participant" in {
+ val domainSyncCryptoApi =
+ identityFactoryOnlySubmitter.forOwnerAndDomain(mediatorId, domainId)
+ val sut = new Fixture(domainSyncCryptoApi)
+
+ val request =
+ InformeeMessage(fullInformeeTree, sign(fullInformeeTree))(testedProtocolVersion)
+
+ for {
+ _ <- loggerFactory.assertLogs(
+ sut.processor
+ .processRequest(
+ requestId,
+ notSignificantCounter,
+ requestIdTs.plusSeconds(20),
+ decisionTime,
+ NonNegativeFiniteDuration.tryOfHours(1),
+ request,
+ rootHashMessages,
+ batchAlsoContainsTopologyTransaction = false,
+ )
+ .failOnShutdown,
+ _.shouldBeCantonError(
+ MediatorError.InvalidMessage,
+ _ shouldBe s"Received a mediator confirmation request with id $requestId with some informees not being hosted by an active participant: ${Set(observer, signatory, extra)}. Rejecting request...",
+ ),
+ )
+ } yield succeed
+ }
+
+ "inactive mediator ignores requests" in {
+ val domainSyncCryptoApi3 = identityFactory3.forOwnerAndDomain(mediatorId, domainId)
+ val sut = new Fixture(domainSyncCryptoApi3)
+
+ val mediatorRequest =
+ InformeeMessage(fullInformeeTree, sign(fullInformeeTree))(testedProtocolVersion)
+ val rootHashMessage = RootHashMessage(
+ mediatorRequest.rootHash,
+ domainId,
+ testedProtocolVersion,
+ mediatorRequest.viewType,
+ testTopologyTimestamp,
+ SerializedRootHashMessagePayload.empty,
+ )
+
+ val sc = SequencerCounter(100)
+ val ts = CantonTimestamp.ofEpochSecond(sc.v)
+ val requestId = RequestId(ts)
+ for {
+ _ <- sut.processor
+ .processRequest(
+ RequestId(ts),
+ notSignificantCounter,
+ ts.plusSeconds(60),
+ ts.plusSeconds(120),
+ NonNegativeFiniteDuration.tryOfHours(1),
+ mediatorRequest,
+ List(
+ OpenEnvelope(
+ rootHashMessage,
+ Recipients.cc(mediatorGroupRecipient, MemberRecipient(participant)),
+ )(
+ testedProtocolVersion
+ )
+ ),
+ batchAlsoContainsTopologyTransaction = false,
+ )
+ .failOnShutdown
+ _ = sut.verdictSender.sentResults shouldBe empty
+
+ // If it nevertheless gets a response, it will complain about the request not being known
+ response <- signedResponse(
+ Set(submitter),
+ view0Position,
+ LocalApprove(testedProtocolVersion),
+ requestId,
+ )
+ _ <- loggerFactory.assertLogs(
+ sut.processor
+ .processResponse(
+ ts.immediateSuccessor,
+ sc + 1L,
+ ts.plusSeconds(60),
+ ts.plusSeconds(120),
+ response,
+ Some(requestId.unwrap),
+ Recipients.cc(mediatorGroupRecipient),
+ )
+ .failOnShutdown("Unexpected shutdown."), {
+ _.shouldBeCantonError(
+ MediatorError.InvalidMessage,
+ _ shouldBe show"Received a confirmation response at ${ts.immediateSuccessor} by $participant with an unknown request id $requestId. Discarding response...",
+ )
+ },
+ )
+ } yield {
+ succeed
+ }
+ }
+
+ "check the timestamp of signing key on responses" in {
+ val sut = new Fixture(domainSyncCryptoApi2)
+
+ val requestIdTs = CantonTimestamp.Epoch
+ val requestId = RequestId(requestIdTs)
+
+ def checkWrongTimestampOfSigningKeyError(logEntry: LogEntry): Assertion = {
+ logEntry.shouldBeCantonError(
+ MediatorError.MalformedMessage,
+ message =>
+ message should (include(
+ "Discarding confirmation response because the topology timestamp is not set to the request id"
+ ) and include(s"$requestId")),
+ )
+ }
+
+ val ts1 = CantonTimestamp.Epoch.plusMillis(1L)
+ for {
+ someResponse <- signedResponse(
+ Set(submitter),
+ view0Position,
+ LocalApprove(testedProtocolVersion),
+ requestId,
+ )
+
+ _ <- loggerFactory.assertLogs(
+ sut.processor
+ .processResponse(
+ ts1,
+ notSignificantCounter,
+ ts1.plusSeconds(60),
+ ts1.plusSeconds(120),
+ someResponse,
+ // No timestamp of signing key given
+ None,
+ Recipients.cc(mediatorGroupRecipient),
+ )
+ .failOnShutdown("Unexpected shutdown."),
+ checkWrongTimestampOfSigningKeyError,
+ )
+
+ _ <- loggerFactory.assertLogs(
+ sut.processor
+ .processResponse(
+ ts1,
+ notSignificantCounter,
+ ts1.plusSeconds(60),
+ ts1.plusSeconds(120),
+ someResponse,
+ // Wrong timestamp of signing key given
+ Some(requestId.unwrap.immediatePredecessor),
+ Recipients.cc(mediatorGroupRecipient),
+ )
+ .failOnShutdown("Unexpected shutdown."),
+ checkWrongTimestampOfSigningKeyError,
+ )
+ } yield succeed
+ }
+ }
+}
diff --git a/sdk/canton/community/domain/src/test/scala/com/digitalasset/canton/domain/sequencing/sequencer/DatabaseSequencerSnapshottingTest.scala b/sdk/canton/community/domain/src/test/scala/com/digitalasset/canton/domain/sequencing/sequencer/DatabaseSequencerSnapshottingTest.scala
index 96ad816600..9ad9ba8fab 100644
--- a/sdk/canton/community/domain/src/test/scala/com/digitalasset/canton/domain/sequencing/sequencer/DatabaseSequencerSnapshottingTest.scala
+++ b/sdk/canton/community/domain/src/test/scala/com/digitalasset/canton/domain/sequencing/sequencer/DatabaseSequencerSnapshottingTest.scala
@@ -12,7 +12,6 @@ import com.digitalasset.canton.domain.sequencing.sequencer.Sequencer as CantonSe
import com.digitalasset.canton.protocol.DynamicDomainParameters
import com.digitalasset.canton.resource.MemoryStorage
import com.digitalasset.canton.sequencing.protocol.{Recipients, SubmissionRequest}
-import com.digitalasset.canton.sequencing.traffic.TrafficReceipt
import com.digitalasset.canton.topology.{MediatorId, TestingIdentityFactory, TestingTopology}
import org.apache.pekko.stream.Materializer
@@ -56,8 +55,6 @@ class DatabaseSequencerSnapshottingTest extends SequencerApiTest {
override protected def supportAggregation: Boolean = false
- override protected def defaultExpectedTrafficReceipt: Option[TrafficReceipt] = None
-
"Database snapshotting" should {
"allow a new separate database to be created" in { env =>
@@ -98,16 +95,7 @@ class DatabaseSequencerSnapshottingTest extends SequencerApiTest {
)
checkMessages(List(details), messages)
}
-
- error <- sequencer
- .snapshot(CantonTimestamp.MaxValue)
- .leftOrFail("snapshotting after the watermark is expected to fail")
- _ <- error should include(" is after the safe watermark")
-
- // Note: below we use the timestamp that is currently the safe watermark in the sequencer
- snapshot <- valueOrFail(sequencer.snapshot(CantonTimestamp.Epoch.immediateSuccessor))(
- "get snapshot"
- )
+ snapshot <- valueOrFail(sequencer.snapshot(CantonTimestamp.MaxValue))("get snapshot")
// create a second separate sequencer from the snapshot
secondSequencer = createSequencerWithSnapshot(
@@ -115,16 +103,8 @@ class DatabaseSequencerSnapshottingTest extends SequencerApiTest {
Some(snapshot),
)
- // TODO(#18405): Currently crash recovery of DBS resets the watermark to a wrong value (epoch) leading to
- // the second snapshot failing due to newly added watermark check. This is a temp workaround to avoid that.
- _ <- secondSequencer.store
- .saveWatermark(instanceIndex = 0, snapshot.lastTs)
- .valueOrFail("save watermark")
-
// the snapshot from the second sequencer should look the same except that the lastTs will become the lower bound
- snapshot2 <- valueOrFail(
- secondSequencer.snapshot(CantonTimestamp.Epoch.immediateSuccessor)
- )("get snapshot")
+ snapshot2 <- valueOrFail(secondSequencer.snapshot(CantonTimestamp.MaxValue))("get snapshot")
_ = {
snapshot2 shouldBe (snapshot.copy(status =
snapshot.status.copy(lowerBound = snapshot.lastTs)
diff --git a/sdk/canton/community/domain/src/test/scala/com/digitalasset/canton/domain/sequencing/sequencer/SequencerApiTest.scala b/sdk/canton/community/domain/src/test/scala/com/digitalasset/canton/domain/sequencing/sequencer/SequencerApiTest.scala
index 99613c979b..d4aeb1af58 100644
--- a/sdk/canton/community/domain/src/test/scala/com/digitalasset/canton/domain/sequencing/sequencer/SequencerApiTest.scala
+++ b/sdk/canton/community/domain/src/test/scala/com/digitalasset/canton/domain/sequencing/sequencer/SequencerApiTest.scala
@@ -142,8 +142,6 @@ abstract class SequencerApiTest
protected def supportAggregation: Boolean
- protected def defaultExpectedTrafficReceipt: Option[TrafficReceipt]
-
protected def runSequencerApiTests(): Unit = {
"The sequencers" should {
"send a batch to one recipient" in { env =>
@@ -162,7 +160,7 @@ abstract class SequencerApiTest
SequencerCounter(0),
sender,
Some(request.messageId),
- defaultExpectedTrafficReceipt,
+ None,
EnvelopeDetails(messageContent, recipients),
)
checkMessages(List(details), messages)
@@ -255,7 +253,7 @@ abstract class SequencerApiTest
SequencerCounter.Genesis,
sender,
Some(request1.messageId),
- defaultExpectedTrafficReceipt,
+ None,
EnvelopeDetails(normalMessageContent, recipients),
)
checkMessages(List(details), messages)
@@ -280,7 +278,7 @@ abstract class SequencerApiTest
SequencerCounter.Genesis,
member,
Option.when(member == sender)(request.messageId),
- if (member == sender) defaultExpectedTrafficReceipt else None,
+ None,
EnvelopeDetails(messageContent, recipients.forMember(member, Set.empty).value),
)
}
@@ -325,26 +323,12 @@ abstract class SequencerApiTest
} yield {
// p6 gets the receipt immediately
checkMessages(
- Seq(
- EventDetails(
- SequencerCounter.Genesis,
- p6,
- Some(request1.messageId),
- defaultExpectedTrafficReceipt,
- )
- ),
+ Seq(EventDetails(SequencerCounter.Genesis, p6, Some(request1.messageId), None)),
reads1,
)
// p9 gets the receipt only
checkMessages(
- Seq(
- EventDetails(
- SequencerCounter.Genesis,
- p9,
- Some(request2.messageId),
- defaultExpectedTrafficReceipt,
- )
- ),
+ Seq(EventDetails(SequencerCounter.Genesis, p9, Some(request2.messageId), None)),
reads2,
)
// p10 gets the message
@@ -353,8 +337,8 @@ abstract class SequencerApiTest
EventDetails(
SequencerCounter.Genesis,
p10,
- messageId = None,
- trafficReceipt = None,
+ None,
+ None,
EnvelopeDetails(messageContent, Recipients.cc(p10)),
)
),
@@ -445,7 +429,7 @@ abstract class SequencerApiTest
}
reads3 <- readForMembers(Seq(p6), sequencer)
} yield {
- checkRejection(reads3, p6, request1.messageId, defaultExpectedTrafficReceipt) {
+ checkRejection(reads3, p6, request1.messageId) {
case SequencerErrors.MaxSequencingTimeTooFar(reason) =>
reason should (
include(s"Max sequencing time") and
@@ -538,14 +522,7 @@ abstract class SequencerApiTest
)
} yield {
checkMessages(
- Seq(
- EventDetails(
- SequencerCounter.Genesis,
- p11,
- Some(request1.messageId),
- defaultExpectedTrafficReceipt,
- )
- ),
+ Seq(EventDetails(SequencerCounter.Genesis, p11, Some(request1.messageId), None)),
reads11,
)
checkMessages(
@@ -554,14 +531,14 @@ abstract class SequencerApiTest
SequencerCounter.Genesis,
p12,
Some(request1.messageId),
- defaultExpectedTrafficReceipt,
+ None,
EnvelopeDetails(content2, recipients2, envs1(1).signatures ++ envs2(1).signatures),
),
EventDetails(
SequencerCounter.Genesis,
p13,
- messageId = None,
- trafficReceipt = None,
+ None,
+ None,
EnvelopeDetails(content1, recipients1, envs1(0).signatures ++ envs2(0).signatures),
EnvelopeDetails(content2, recipients2, envs1(1).signatures ++ envs2(1).signatures),
),
@@ -573,15 +550,15 @@ abstract class SequencerApiTest
EventDetails(
SequencerCounter.Genesis + 1,
p11,
- messageId = None,
- trafficReceipt = None,
+ None,
+ None,
EnvelopeDetails(content1, recipients1, envs1(0).signatures ++ envs2(0).signatures),
)
),
reads12a,
)
- checkRejection(reads13, p13, messageId3, defaultExpectedTrafficReceipt) {
+ checkRejection(reads13, p13, messageId3) {
case SequencerErrors.AggregateSubmissionAlreadySent(reason) =>
reason should (
include(s"The aggregatable request with aggregation ID") and
@@ -658,17 +635,10 @@ abstract class SequencerApiTest
reads15 <- readForMembers(Seq(p15), sequencer)
} yield {
checkMessages(
- Seq(
- EventDetails(
- SequencerCounter.Genesis,
- p14,
- Some(request1.messageId),
- defaultExpectedTrafficReceipt,
- )
- ),
+ Seq(EventDetails(SequencerCounter.Genesis, p14, Some(request1.messageId), None)),
reads14,
)
- checkRejection(reads14a, p14, messageId2, defaultExpectedTrafficReceipt) {
+ checkRejection(reads14a, p14, messageId2) {
case SequencerErrors.AggregateSubmissionStuffing(reason) =>
reason should include(
s"The sender ${p14} previously contributed to the aggregatable submission with ID"
@@ -683,13 +653,7 @@ abstract class SequencerApiTest
checkMessages(
Seq(
- EventDetails(
- SequencerCounter.Genesis + 2,
- p14,
- messageId = None,
- trafficReceipt = None,
- deliveredEnvelopeDetails,
- )
+ EventDetails(SequencerCounter.Genesis + 2, p14, None, None, deliveredEnvelopeDetails)
),
reads14b,
)
@@ -699,7 +663,7 @@ abstract class SequencerApiTest
SequencerCounter.Genesis,
p15,
Some(messageId3),
- defaultExpectedTrafficReceipt,
+ None,
deliveredEnvelopeDetails,
)
),
@@ -761,7 +725,7 @@ abstract class SequencerApiTest
_ <- sequencer.sendAsyncSigned(sign(request)).valueOrFailShutdown("Sent async")
reads <- readForMembers(Seq(p17), sequencer)
} yield {
- checkRejection(reads, p17, messageId, defaultExpectedTrafficReceipt) {
+ checkRejection(reads, p17, messageId) {
case SequencerErrors.SubmissionRequestMalformed(reason) =>
reason should include("Threshold 2 cannot be reached")
}
@@ -791,7 +755,7 @@ abstract class SequencerApiTest
_ <- sequencer.sendAsyncSigned(sign(request)).valueOrFailShutdown("Sent async")
reads <- readForMembers(Seq(p18), sequencer)
} yield {
- checkRejection(reads, p18, messageId, defaultExpectedTrafficReceipt) {
+ checkRejection(reads, p18, messageId) {
case SequencerErrors.SubmissionRequestMalformed(reason) =>
reason should include("Sender is not eligible according to the aggregation rule")
}
@@ -957,7 +921,7 @@ trait SequencerApiTestUtils
got: Seq[(Member, OrdinarySerializedEvent)],
sender: Member,
expectedMessageId: MessageId,
- expectedTrafficReceipt: Option[TrafficReceipt],
+ expectedTrafficReceipt: Option[TrafficReceipt] = None,
)(assertReason: PartialFunction[Status, Assertion]): Assertion = {
got match {
case Seq((`sender`, event)) =>
diff --git a/sdk/canton/community/domain/src/test/scala/com/digitalasset/canton/domain/sequencing/sequencer/SequencerReaderTest.scala b/sdk/canton/community/domain/src/test/scala/com/digitalasset/canton/domain/sequencing/sequencer/SequencerReaderTest.scala
index 0677c5ed7b..bc6d88bbed 100644
--- a/sdk/canton/community/domain/src/test/scala/com/digitalasset/canton/domain/sequencing/sequencer/SequencerReaderTest.scala
+++ b/sdk/canton/community/domain/src/test/scala/com/digitalasset/canton/domain/sequencing/sequencer/SequencerReaderTest.scala
@@ -133,7 +133,6 @@ class SequencerReaderTest extends FixtureAsyncWordSpec with BaseTest {
cryptoD,
eventSignaller,
topologyClientMember,
- trafficConsumedStoreO = None,
testedProtocolVersion,
timeouts,
loggerFactory,
diff --git a/sdk/canton/community/domain/src/test/scala/com/digitalasset/canton/domain/sequencing/sequencer/store/SequencerStoreTest.scala b/sdk/canton/community/domain/src/test/scala/com/digitalasset/canton/domain/sequencing/sequencer/store/SequencerStoreTest.scala
index d3952284fb..2eb16870b5 100644
--- a/sdk/canton/community/domain/src/test/scala/com/digitalasset/canton/domain/sequencing/sequencer/store/SequencerStoreTest.scala
+++ b/sdk/canton/community/domain/src/test/scala/com/digitalasset/canton/domain/sequencing/sequencer/store/SequencerStoreTest.scala
@@ -48,7 +48,6 @@ trait SequencerStoreTest
val ts1 = ts(1)
val ts2 = ts(2)
val ts3 = ts(3)
- val ts4 = ts(4)
val payloadBytes1 = ByteString.copyFromUtf8("1")
val payloadBytes2 = ByteString.copyFromUtf8("1")
@@ -58,7 +57,6 @@ trait SequencerStoreTest
val messageId1 = MessageId.tryCreate("1")
val messageId2 = MessageId.tryCreate("2")
val messageId3 = MessageId.tryCreate("3")
- val messageId4 = MessageId.tryCreate("4")
val instanceDiscriminator1 = UUID.randomUUID()
val instanceDiscriminator2 = UUID.randomUUID()
@@ -103,24 +101,6 @@ trait SequencerStoreTest
),
)
- def deliverReceipt(
- ts: CantonTimestamp,
- sender: Member,
- messageId: MessageId,
- topologyTimestamp: CantonTimestamp,
- ): Future[Sequenced[PayloadId]] =
- for {
- senderId <- store.registerMember(sender, ts)
- } yield Sequenced(
- ts,
- ReceiptStoreEvent(
- senderId,
- messageId,
- topologyTimestampO = Some(topologyTimestamp),
- traceContext,
- ),
- )
-
def lookupRegisteredMember(member: Member): Future[SequencerMemberId] =
for {
registeredMemberO <- store.lookupMember(member)
@@ -171,35 +151,6 @@ trait SequencerStoreTest
}
}
- def assertReceiptEvent(
- event: Sequenced[Payload],
- expectedTimestamp: CantonTimestamp,
- expectedSender: Member,
- expectedMessageId: MessageId,
- expectedTopologyTimestamp: Option[CantonTimestamp],
- ): Future[Assertion] = {
- for {
- senderId <- lookupRegisteredMember(expectedSender)
- } yield {
- event.timestamp shouldBe expectedTimestamp
- event.event match {
- case ReceiptStoreEvent(
- sender,
- messageId,
- topologyTimestampO,
- _traceContext,
- ) =>
- sender shouldBe senderId
- messageId shouldBe expectedMessageId
- event.event.members shouldBe Set(senderId)
- event.event.payloadO shouldBe None
- topologyTimestampO shouldBe expectedTopologyTimestamp
- case other =>
- fail(s"Expected deliver receipt but got $other")
- }
- }
- }
-
/** Save payloads using the default `instanceDiscriminator1` and expecting it to succeed */
def savePayloads(payloads: NonEmpty[Seq[Payload]]): Future[Unit] =
valueOrFail(store.savePayloads(payloads, instanceDiscriminator1))("savePayloads")
@@ -321,16 +272,15 @@ trait SequencerStoreTest
payload2.id,
recipients = Set(alice, bob),
)
- receiptAlice <- env.deliverReceipt(ts4, alice, messageId4, ts3)
deliverEventBob <- env.deliverEvent(ts3, bob, messageId3, payload3.id)
_ <- env.store.saveEvents(
instanceIndex,
- NonEmpty(Seq, deliverEventAlice, deliverEventAll, deliverEventBob, receiptAlice),
+ NonEmpty(Seq, deliverEventAlice, deliverEventAll, deliverEventBob),
)
- _ <- env.saveWatermark(receiptAlice.timestamp).valueOrFail("saveWatermark")
+ _ <- env.saveWatermark(deliverEventBob.timestamp).valueOrFail("saveWatermark")
aliceEvents <- env.readEvents(alice)
bobEvents <- env.readEvents(bob)
- _ = aliceEvents should have size (3)
+ _ = aliceEvents should have size (2)
_ = bobEvents should have size (2)
_ <- env.assertDeliverEvent(aliceEvents(0), ts1, alice, messageId1, Set(alice), payload1)
_ <- env.assertDeliverEvent(
@@ -341,13 +291,6 @@ trait SequencerStoreTest
Set(alice, bob),
payload2,
)
- _ <- env.assertReceiptEvent(
- aliceEvents(2),
- ts4,
- alice,
- messageId4,
- ts3.some,
- )
_ <- env.assertDeliverEvent(
bobEvents(0),
ts2,
diff --git a/sdk/canton/community/domain/src/test/scala/com/digitalasset/canton/domain/sequencing/traffic/EnterpriseSequencerRateLimitManagerTest.scala b/sdk/canton/community/domain/src/test/scala/com/digitalasset/canton/domain/sequencing/traffic/EnterpriseSequencerRateLimitManagerTest.scala
index 8d3d91505b..db61236963 100644
--- a/sdk/canton/community/domain/src/test/scala/com/digitalasset/canton/domain/sequencing/traffic/EnterpriseSequencerRateLimitManagerTest.scala
+++ b/sdk/canton/community/domain/src/test/scala/com/digitalasset/canton/domain/sequencing/traffic/EnterpriseSequencerRateLimitManagerTest.scala
@@ -133,12 +133,11 @@ class EnterpriseSequencerRateLimitManagerTest
expectedExtraTrafficPurchased: NonNegativeLong = trafficPurchased,
expectedTrafficConsumed: NonNegativeLong = expectedExtraTrafficConsumed,
expectedBaseTrafficRemainder: NonNegativeLong = NonNegativeLong.zero,
- expectedLastConsumedCost: NonNegativeLong = eventCostNonNegative,
expectedSerial: Option[PositiveInt] = serial,
timestamp: CantonTimestamp = sequencingTs,
)(implicit f: Env) = for {
states <- f.rlm
- .getStates(Set(sender), Some(timestamp), None, warnIfApproximate = false)
+ .getStates(Set(sender), Some(sequencingTs), None, warnIfApproximate = false)
.failOnShutdown
} yield states.get(sender) shouldBe Some(
Right(
@@ -146,7 +145,6 @@ class EnterpriseSequencerRateLimitManagerTest
expectedExtraTrafficPurchased,
expectedTrafficConsumed,
expectedBaseTrafficRemainder,
- expectedLastConsumedCost,
timestamp,
expectedSerial,
)
@@ -168,7 +166,6 @@ class EnterpriseSequencerRateLimitManagerTest
expectedExtraTrafficPurchased,
expectedTrafficConsumed,
expectedBaseTrafficRemainder,
- NonNegativeLong.zero,
sequencingTs,
expectedSerial,
)
@@ -298,7 +295,6 @@ class EnterpriseSequencerRateLimitManagerTest
NonNegativeLong.zero,
NonNegativeLong.zero,
maxBaseTrafficRemainder,
- NonNegativeLong.zero,
sequencerTs,
None,
),
@@ -482,46 +478,6 @@ class EnterpriseSequencerRateLimitManagerTest
}
}
- "consumed cost resets to 0 when advancing the timestamp with no traffic being used" in {
- implicit f =>
- returnCorrectCost
-
- val expected = Right(
- Some(
- TrafficReceipt(
- consumedCost = NonNegativeLong.one,
- extraTrafficConsumed = NonNegativeLong.zero,
- baseTrafficRemainder = maxBaseTrafficRemainder.tryAdd(-1L),
- )
- )
- )
-
- for {
- _ <- purchaseTraffic
- res <- consume( // only uses the base traffic
- cost = Some(NonNegativeLong.one),
- correctCost = NonNegativeLong.one,
- sequencingTimestamp = sequencingTs.plusMillis(1),
- )
- _ <- assertTrafficConsumed(
- timestamp = sequencingTs.plusMillis(1),
- expectedTrafficConsumed = NonNegativeLong.zero,
- expectedBaseTrafficRemainder =
- maxBaseTrafficRemainder.tryAdd(-1L), // only uses the base traffic
- expectedLastConsumedCost = NonNegativeLong.one,
- )
- _ <- assertTrafficConsumed(
- timestamp = sequencingTs.plusSeconds(1), // after a full second
- expectedTrafficConsumed = NonNegativeLong.zero,
- expectedBaseTrafficRemainder =
- maxBaseTrafficRemainder, // base traffic is back to maximum
- expectedLastConsumedCost = NonNegativeLong.zero, // last consumed cost is reset to 0
- )
- } yield {
- res shouldBe expected
- }
- }
-
"advance traffic consumed timestamp even when not consuming because not enough traffic" in {
implicit f =>
returnCorrectCost
@@ -534,7 +490,6 @@ class EnterpriseSequencerRateLimitManagerTest
NonNegativeLong.zero,
NonNegativeLong.zero,
maxBaseTrafficRemainder,
- NonNegativeLong.zero,
sequencingTs,
None,
),
@@ -557,7 +512,6 @@ class EnterpriseSequencerRateLimitManagerTest
_ <- assertTrafficConsumed(
expectedTrafficConsumed = NonNegativeLong.zero,
expectedBaseTrafficRemainder = NonNegativeLong.tryCreate(4),
- expectedLastConsumedCost = NonNegativeLong.one,
)
// then at sequencingTs.plusMillis(1)
res2 <- consume(
@@ -568,7 +522,6 @@ class EnterpriseSequencerRateLimitManagerTest
_ <- assertTrafficConsumed(
expectedTrafficConsumed = NonNegativeLong.zero,
expectedBaseTrafficRemainder = NonNegativeLong.tryCreate(3),
- expectedLastConsumedCost = NonNegativeLong.one,
timestamp = sequencingTs.plusMillis(1),
)
// then repeat consume at sequencingTs, which simulates a crash recovery that replays the event
@@ -577,7 +530,6 @@ class EnterpriseSequencerRateLimitManagerTest
_ <- assertTrafficConsumed(
expectedTrafficConsumed = NonNegativeLong.zero,
expectedBaseTrafficRemainder = NonNegativeLong.tryCreate(3),
- expectedLastConsumedCost = NonNegativeLong.one,
timestamp = sequencingTs.plusMillis(1),
)
} yield {
@@ -610,10 +562,7 @@ class EnterpriseSequencerRateLimitManagerTest
for {
_ <- purchaseTraffic
res <- consume(cost = Some(incorrectSubmissionCostNN))
- _ <- assertTrafficConsumed(
- expectedTrafficConsumed = NonNegativeLong.one,
- expectedLastConsumedCost = incorrectSubmissionCostNN,
- )
+ _ <- assertTrafficConsumed(expectedTrafficConsumed = NonNegativeLong.one)
} yield {
res shouldBe Right(
Some(
diff --git a/sdk/canton/community/domain/src/test/scala/com/digitalasset/canton/domain/sequencing/traffic/store/TrafficConsumedStoreTest.scala b/sdk/canton/community/domain/src/test/scala/com/digitalasset/canton/domain/sequencing/traffic/store/TrafficConsumedStoreTest.scala
index aeac5f3586..da5574bc24 100644
--- a/sdk/canton/community/domain/src/test/scala/com/digitalasset/canton/domain/sequencing/traffic/store/TrafficConsumedStoreTest.scala
+++ b/sdk/canton/community/domain/src/test/scala/com/digitalasset/canton/domain/sequencing/traffic/store/TrafficConsumedStoreTest.scala
@@ -34,7 +34,6 @@ trait TrafficConsumedStoreTest
t1,
NonNegativeLong.tryCreate(3),
NonNegativeLong.tryCreate(20L),
- NonNegativeLong.tryCreate(5L),
)
val consumedAlice2 = consumedAlice1.copy(sequencingTimestamp = t2)
val consumedAlice3 = consumedAlice1.copy(sequencingTimestamp = t3)
@@ -44,7 +43,6 @@ trait TrafficConsumedStoreTest
t1,
NonNegativeLong.tryCreate(3),
NonNegativeLong.tryCreate(20L),
- NonNegativeLong.tryCreate(10L),
)
val consumedBob2 = consumedBob1.copy(sequencingTimestamp = t2)
val consumedBob3 = consumedBob1.copy(sequencingTimestamp = t3)
@@ -170,35 +168,21 @@ trait TrafficConsumedStoreTest
val store = mk()
val aliceConsumed = Seq(
- TrafficConsumed(
- alice.member,
- t1,
- NonNegativeLong.one,
- NonNegativeLong.tryCreate(5L),
- NonNegativeLong.tryCreate(5L),
- ),
+ TrafficConsumed(alice.member, t1, NonNegativeLong.one, NonNegativeLong.tryCreate(5L)),
TrafficConsumed(
alice.member,
t3,
NonNegativeLong.tryCreate(2),
NonNegativeLong.tryCreate(55L),
- NonNegativeLong.tryCreate(4L),
),
)
val bobConsumed = Seq(
- TrafficConsumed(
- bob.member,
- t2,
- NonNegativeLong.one,
- NonNegativeLong.tryCreate(10L),
- NonNegativeLong.tryCreate(5L),
- ),
+ TrafficConsumed(bob.member, t2, NonNegativeLong.one, NonNegativeLong.tryCreate(10L)),
TrafficConsumed(
bob.member,
t4,
NonNegativeLong.tryCreate(2),
NonNegativeLong.tryCreate(100L),
- NonNegativeLong.tryCreate(3L),
),
)
diff --git a/sdk/canton/community/ledger-api/src/main/protobuf/com/daml/ledger/api/v2/experimental_features.proto b/sdk/canton/community/ledger-api/src/main/protobuf/com/daml/ledger/api/v2/experimental_features.proto
index 5bb73b779d..3453b6d7f0 100644
--- a/sdk/canton/community/ledger-api/src/main/protobuf/com/daml/ledger/api/v2/experimental_features.proto
+++ b/sdk/canton/community/ledger-api/src/main/protobuf/com/daml/ledger/api/v2/experimental_features.proto
@@ -17,15 +17,9 @@ option java_package = "com.daml.ledger.api.v2";
// See the feature message definitions for descriptions.
message ExperimentalFeatures {
ExperimentalStaticTime static_time = 1;
- ExperimentalCommandInspectionService command_inspection_service = 2;
}
// Ledger is in the static time mode and exposes a time service.
message ExperimentalStaticTime {
bool supported = 1;
}
-
-// Whether the Ledger API supports command inspection service
-message ExperimentalCommandInspectionService {
- bool supported = 1;
-}
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/SubmissionIdGenerator.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/SubmissionIdGenerator.scala
index 084a12e519..47cb50f6e4 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/SubmissionIdGenerator.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/SubmissionIdGenerator.scala
@@ -3,8 +3,8 @@
package com.digitalasset.canton.ledger.api
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.SubmissionId
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.SubmissionId
import java.util.UUID
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/auth/Claims.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/auth/Claims.scala
index 32059f52e9..617e1dc985 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/auth/Claims.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/auth/Claims.scala
@@ -4,7 +4,7 @@
package com.digitalasset.canton.ledger.api.auth
import com.daml.jwt.JwtTimestampLeeway
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.ledger.api.domain.IdentityProviderId
import java.time.{Duration, Instant}
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/auth/UserRightsChangeAsyncChecker.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/auth/UserRightsChangeAsyncChecker.scala
index 91d01cc2bc..a070b3934e 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/auth/UserRightsChangeAsyncChecker.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/auth/UserRightsChangeAsyncChecker.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.ledger.api.auth
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.ledger.api.auth.interceptor.AuthorizationInterceptor
import com.digitalasset.canton.ledger.api.domain
import com.digitalasset.canton.ledger.localstore.api.UserManagementStore
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/auth/interceptor/AuthorizationInterceptor.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/auth/interceptor/AuthorizationInterceptor.scala
index 78cfa6f563..fe8d649ca0 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/auth/interceptor/AuthorizationInterceptor.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/auth/interceptor/AuthorizationInterceptor.scala
@@ -3,8 +3,8 @@
package com.digitalasset.canton.ledger.api.auth.interceptor
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.UserId
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.UserId
import com.daml.tracing.Telemetry
import com.digitalasset.canton.ledger.api.auth.*
import com.digitalasset.canton.ledger.api.domain
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/auth/services/CommandServiceAuthorization.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/auth/services/CommandServiceAuthorization.scala
index 2a27d0d68c..231ce1b87e 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/auth/services/CommandServiceAuthorization.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/auth/services/CommandServiceAuthorization.scala
@@ -27,7 +27,7 @@ final class CommandServiceAuthorization(
with GrpcApiService {
override def submitAndWait(request: SubmitAndWaitRequest): Future[Empty] = {
- val effectiveSubmitters = CommandsValidator.effectiveSubmitters(request.commands)
+ val effectiveSubmitters = CommandsValidator.effectiveSubmittersV2(request.commands)
authorizer.requireActAndReadClaimsForParties(
actAs = effectiveSubmitters.actAs,
readAs = effectiveSubmitters.readAs,
@@ -39,7 +39,7 @@ final class CommandServiceAuthorization(
override def submitAndWaitForTransaction(
request: SubmitAndWaitRequest
): Future[SubmitAndWaitForTransactionResponse] = {
- val effectiveSubmitters = CommandsValidator.effectiveSubmitters(request.commands)
+ val effectiveSubmitters = CommandsValidator.effectiveSubmittersV2(request.commands)
authorizer.requireActAndReadClaimsForParties(
actAs = effectiveSubmitters.actAs,
readAs = effectiveSubmitters.readAs,
@@ -51,7 +51,7 @@ final class CommandServiceAuthorization(
override def submitAndWaitForUpdateId(
request: SubmitAndWaitRequest
): Future[SubmitAndWaitForUpdateIdResponse] = {
- val effectiveSubmitters = CommandsValidator.effectiveSubmitters(request.commands)
+ val effectiveSubmitters = CommandsValidator.effectiveSubmittersV2(request.commands)
authorizer.requireActAndReadClaimsForParties(
actAs = effectiveSubmitters.actAs,
readAs = effectiveSubmitters.readAs,
@@ -63,7 +63,7 @@ final class CommandServiceAuthorization(
override def submitAndWaitForTransactionTree(
request: SubmitAndWaitRequest
): Future[SubmitAndWaitForTransactionTreeResponse] = {
- val effectiveSubmitters = CommandsValidator.effectiveSubmitters(request.commands)
+ val effectiveSubmitters = CommandsValidator.effectiveSubmittersV2(request.commands)
authorizer.requireActAndReadClaimsForParties(
actAs = effectiveSubmitters.actAs,
readAs = effectiveSubmitters.readAs,
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/auth/services/CommandSubmissionServiceAuthorization.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/auth/services/CommandSubmissionServiceAuthorization.scala
index f0a800adf4..3be2044245 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/auth/services/CommandSubmissionServiceAuthorization.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/auth/services/CommandSubmissionServiceAuthorization.scala
@@ -23,7 +23,7 @@ final class CommandSubmissionServiceAuthorization(
with GrpcApiService {
override def submit(request: SubmitRequest): Future[SubmitResponse] = {
- val effectiveSubmitters = CommandsValidator.effectiveSubmitters(request.commands)
+ val effectiveSubmitters = CommandsValidator.effectiveSubmittersV2(request.commands)
authorizer.requireActAndReadClaimsForParties(
actAs = effectiveSubmitters.actAs,
readAs = effectiveSubmitters.readAs,
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/domain/domain.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/domain/domain.scala
index 935a9f2a8d..150bdfe6f8 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/domain/domain.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/domain/domain.scala
@@ -3,13 +3,13 @@
package com.digitalasset.canton.ledger.api.domain
-import com.daml.lf.command.{ApiCommands as LfCommands, DisclosedContract as LfDisclosedContract}
-import com.daml.lf.crypto
-import com.daml.lf.data.Time.Timestamp
-import com.daml.lf.data.logging.*
-import com.daml.lf.data.{Bytes, ImmArray, Ref}
-import com.daml.lf.transaction.TransactionVersion
-import com.daml.lf.value.Value as Lf
+import com.digitalasset.daml.lf.command.{ApiCommands as LfCommands, DisclosedContract as LfDisclosedContract}
+import com.digitalasset.daml.lf.crypto
+import com.digitalasset.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.data.logging.*
+import com.digitalasset.daml.lf.data.{Bytes, ImmArray, Ref}
+import com.digitalasset.daml.lf.transaction.TransactionVersion
+import com.digitalasset.daml.lf.value.Value as Lf
import com.daml.logging.entries.{LoggingValue, ToLoggingValue}
import com.digitalasset.canton.data.DeduplicationPeriod
import com.digitalasset.canton.logging.pretty.{Pretty, PrettyPrinting}
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/messages/command/completion/CompletionStreamRequest.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/messages/command/completion/CompletionStreamRequest.scala
index 2307c66804..a25b23dce5 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/messages/command/completion/CompletionStreamRequest.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/messages/command/completion/CompletionStreamRequest.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.ledger.api.messages.command.completion
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.ledger.api.domain.ParticipantOffset
final case class CompletionStreamRequest(
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/messages/command/submission/SubmitReassignmentRequest.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/messages/command/submission/SubmitReassignmentRequest.scala
index 06b12f2f6e..244fe8d147 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/messages/command/submission/SubmitReassignmentRequest.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/messages/command/submission/SubmitReassignmentRequest.scala
@@ -3,8 +3,8 @@
package com.digitalasset.canton.ledger.api.messages.command.submission
-import com.daml.lf.data.{Ref, Time}
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.data.{Ref, Time}
+import com.digitalasset.daml.lf.value.Value
import com.digitalasset.canton.protocol.{SourceDomainId, TargetDomainId}
final case class SubmitReassignmentRequest(
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/messages/event/GetEventsByContractIdRequest.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/messages/event/GetEventsByContractIdRequest.scala
index fab3875758..67cc872443 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/messages/event/GetEventsByContractIdRequest.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/messages/event/GetEventsByContractIdRequest.scala
@@ -3,8 +3,8 @@
package com.digitalasset.canton.ledger.api.messages.event
-import com.daml.lf.data.Ref.Party
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.data.Ref.Party
+import com.digitalasset.daml.lf.value.Value.ContractId
final case class GetEventsByContractIdRequest(
contractId: ContractId,
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/messages/event/GetEventsByContractKeyRequest.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/messages/event/GetEventsByContractKeyRequest.scala
index 55c2163871..c83152b484 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/messages/event/GetEventsByContractKeyRequest.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/messages/event/GetEventsByContractKeyRequest.scala
@@ -3,9 +3,9 @@
package com.digitalasset.canton.ledger.api.messages.event
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.Party
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.Party
+import com.digitalasset.daml.lf.value.Value
final case class GetEventsByContractKeyRequest(
contractKey: Value,
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/messages/transaction/GetTransactionByEventIdRequest.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/messages/transaction/GetTransactionByEventIdRequest.scala
index 5fe2879681..57f0549c3f 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/messages/transaction/GetTransactionByEventIdRequest.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/messages/transaction/GetTransactionByEventIdRequest.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.ledger.api.messages.transaction
-import com.daml.lf.data.Ref.Party
+import com.digitalasset.daml.lf.data.Ref.Party
import com.digitalasset.canton.ledger.api.domain.EventId
final case class GetTransactionByEventIdRequest(
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/messages/transaction/GetTransactionByIdRequest.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/messages/transaction/GetTransactionByIdRequest.scala
index 0d1a14953e..389c5ef60f 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/messages/transaction/GetTransactionByIdRequest.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/messages/transaction/GetTransactionByIdRequest.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.ledger.api.messages.transaction
-import com.daml.lf.data.Ref.Party
+import com.digitalasset.daml.lf.data.Ref.Party
import com.digitalasset.canton.ledger.api.domain.TransactionId
final case class GetTransactionByIdRequest(
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/validation/CommandInspectionServiceRequestValidator.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/validation/CommandInspectionServiceRequestValidator.scala
index ae7c4b27a8..cab49f3b1f 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/validation/CommandInspectionServiceRequestValidator.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/validation/CommandInspectionServiceRequestValidator.scala
@@ -5,7 +5,7 @@ package com.digitalasset.canton.ledger.api.validation
import com.daml.error.ContextualizedErrorLogger
import com.daml.ledger.api.v2.admin.command_inspection_service.GetCommandStatusRequest
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.ledger.api.validation.ValidationErrors.invalidField
import io.grpc.StatusRuntimeException
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/validation/CommandsValidator.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/validation/CommandsValidator.scala
index e03be54bfb..938ac0c723 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/validation/CommandsValidator.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/validation/CommandsValidator.scala
@@ -13,9 +13,9 @@ import com.daml.ledger.api.v2.commands.Command.Command.{
ExerciseByKey as ProtoExerciseByKey,
}
import com.daml.ledger.api.v2.commands.{Command, Commands}
-import com.daml.lf.command.*
-import com.daml.lf.data.*
-import com.daml.lf.value.Value as Lf
+import com.digitalasset.daml.lf.command.*
+import com.digitalasset.daml.lf.data.*
+import com.digitalasset.daml.lf.value.Value as Lf
import com.digitalasset.canton.data.{DeduplicationPeriod, Offset}
import com.digitalasset.canton.ledger.api.domain
import com.digitalasset.canton.ledger.api.util.{DurationConversion, TimestampConversion}
@@ -271,6 +271,10 @@ object CommandsValidator {
commands.fold(noSubmitters)(effectiveSubmitters)
}
+ def effectiveSubmittersV2(commands: Option[Commands]): Submitters[String] = {
+ commands.fold(noSubmitters)(effectiveSubmitters)
+ }
+
def effectiveSubmitters(commands: Commands): Submitters[String] = {
val actAs = commands.actAs.toSet
val readAs = commands.readAs.toSet -- actAs
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/validation/FieldValidator.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/validation/FieldValidator.scala
index a29a85bf1d..b9de345e99 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/validation/FieldValidator.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/validation/FieldValidator.scala
@@ -5,9 +5,9 @@ package com.digitalasset.canton.ledger.api.validation
import com.daml.error.ContextualizedErrorLogger
import com.daml.ledger.api.v2.value.Identifier
-import com.daml.lf.data.Ref.{Party, TypeConRef}
-import com.daml.lf.data.{Ref, Time}
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.data.Ref.{Party, TypeConRef}
+import com.digitalasset.daml.lf.data.{Ref, Time}
+import com.digitalasset.daml.lf.value.Value.ContractId
import com.digitalasset.canton.ledger.api.domain
import com.digitalasset.canton.ledger.api.domain.{IdentityProviderId, JwksUrl, TemplateFilter}
import com.digitalasset.canton.ledger.api.util.TimestampConversion
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/validation/PartyNameChecker.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/validation/PartyNameChecker.scala
index c79ffe9728..c04adccfa2 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/validation/PartyNameChecker.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/validation/PartyNameChecker.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.ledger.api.validation
-import com.daml.lf.data.Ref.Party
+import com.digitalasset.daml.lf.data.Ref.Party
trait PartyNameChecker {
def isKnownParty(party: Party): Boolean
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/validation/PartyValidator.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/validation/PartyValidator.scala
index edd521b0e7..56f1eb46d1 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/validation/PartyValidator.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/validation/PartyValidator.scala
@@ -4,7 +4,7 @@
package com.digitalasset.canton.ledger.api.validation
import com.daml.error.ContextualizedErrorLogger
-import com.daml.lf.data.Ref.Party
+import com.digitalasset.daml.lf.data.Ref.Party
import io.grpc.StatusRuntimeException
class PartyValidator(
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/validation/SubmitRequestValidator.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/validation/SubmitRequestValidator.scala
index 02c5ff7a64..55879b5c99 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/validation/SubmitRequestValidator.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/validation/SubmitRequestValidator.scala
@@ -6,7 +6,7 @@ package com.digitalasset.canton.ledger.api.validation
import com.daml.error.ContextualizedErrorLogger
import com.daml.ledger.api.v2.command_submission_service.{SubmitReassignmentRequest, SubmitRequest}
import com.daml.ledger.api.v2.reassignment_command.ReassignmentCommand
-import com.daml.lf.data.Time
+import com.digitalasset.daml.lf.data.Time
import com.digitalasset.canton.ledger.api.messages.command.submission
import com.digitalasset.canton.ledger.api.validation.ValueValidator.*
import com.digitalasset.canton.protocol.{SourceDomainId, TargetDomainId}
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/validation/UpdateServiceRequestValidator.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/validation/UpdateServiceRequestValidator.scala
index 90777bd98a..01a2636c78 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/validation/UpdateServiceRequestValidator.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/validation/UpdateServiceRequestValidator.scala
@@ -10,7 +10,7 @@ import com.daml.ledger.api.v2.update_service.{
GetTransactionByIdRequest,
GetUpdatesRequest,
}
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.ledger.api.domain
import com.digitalasset.canton.ledger.api.domain.ParticipantOffset
import com.digitalasset.canton.ledger.api.messages.transaction
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/validation/ValidateDisclosedContracts.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/validation/ValidateDisclosedContracts.scala
index 2c01578796..1ea7850b10 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/validation/ValidateDisclosedContracts.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/validation/ValidateDisclosedContracts.scala
@@ -8,8 +8,8 @@ import com.daml.ledger.api.v2.commands.{
Commands as ProtoCommands,
DisclosedContract as ProtoDisclosedContract,
}
-import com.daml.lf.data.ImmArray
-import com.daml.lf.transaction.TransactionCoder
+import com.digitalasset.daml.lf.data.ImmArray
+import com.digitalasset.daml.lf.transaction.TransactionCoder
import com.digitalasset.canton.ledger.api.domain.DisclosedContract
import com.digitalasset.canton.ledger.api.validation.FieldValidator.requireContractId
import com.digitalasset.canton.ledger.api.validation.ValidationErrors.invalidArgument
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/validation/ValidateUpgradingPackageResolutions.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/validation/ValidateUpgradingPackageResolutions.scala
index 95fad62f92..55e6514130 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/validation/ValidateUpgradingPackageResolutions.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/api/validation/ValidateUpgradingPackageResolutions.scala
@@ -5,8 +5,8 @@ package com.digitalasset.canton.ledger.api.validation
import cats.syntax.traverse.*
import com.daml.error.ContextualizedErrorLogger
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.{PackageId, PackageName, PackageVersion}
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.{PackageId, PackageName, PackageVersion}
import com.digitalasset.canton.ledger.api.validation.ValidateUpgradingPackageResolutions.ValidatedCommandPackageResolutionsSnapshot
import com.digitalasset.canton.ledger.api.validation.ValidationErrors.invalidArgument
import com.digitalasset.canton.platform.store.packagemeta.PackageMetadata
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/localstore/CachedUserManagementStore.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/localstore/CachedUserManagementStore.scala
index 97f977ca52..6649a59ef1 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/localstore/CachedUserManagementStore.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/localstore/CachedUserManagementStore.scala
@@ -3,8 +3,8 @@
package com.digitalasset.canton.ledger.localstore
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.UserId
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.UserId
import com.digitalasset.canton.caching.CaffeineCache
import com.digitalasset.canton.caching.CaffeineCache.FutureAsyncCacheLoader
import com.digitalasset.canton.ledger.api.domain
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/localstore/PersistentPartyRecordStore.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/localstore/PersistentPartyRecordStore.scala
index 4ec52da0ef..23521c9af6 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/localstore/PersistentPartyRecordStore.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/localstore/PersistentPartyRecordStore.scala
@@ -3,8 +3,8 @@
package com.digitalasset.canton.ledger.localstore
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.Party
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.Party
import com.daml.metrics.DatabaseMetrics
import com.digitalasset.canton.concurrent.DirectExecutionContext
import com.digitalasset.canton.discard.Implicits.DiscardOps
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/localstore/PersistentUserManagementStore.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/localstore/PersistentUserManagementStore.scala
index 9575993652..4bb510a6f3 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/localstore/PersistentUserManagementStore.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/localstore/PersistentUserManagementStore.scala
@@ -3,8 +3,8 @@
package com.digitalasset.canton.ledger.localstore
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.UserId
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.UserId
import com.daml.metrics.DatabaseMetrics
import com.digitalasset.canton.concurrent.DirectExecutionContext
import com.digitalasset.canton.ledger.api.domain
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/CompletionInfo.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/CompletionInfo.scala
index 5f337b6138..60b172a863 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/CompletionInfo.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/CompletionInfo.scala
@@ -3,8 +3,8 @@
package com.digitalasset.canton.ledger.participant.state
-import com.daml.lf.data.Ref
-import com.daml.lf.transaction.TransactionNodeStatistics
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.transaction.TransactionNodeStatistics
import com.daml.logging.entries.{LoggingValue, ToLoggingValue}
import com.digitalasset.canton.data.DeduplicationPeriod
import com.digitalasset.canton.logging.pretty.{Pretty, PrettyPrinting}
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/DivulgedContract.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/DivulgedContract.scala
index 0f131fc8f0..06406371ab 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/DivulgedContract.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/DivulgedContract.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.ledger.participant.state
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value
/** A divulged contract, that is, a contract that has been revealed to a non-stakeholder
* after its creation.
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/ReadService.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/ReadService.scala
index b918bf089b..2fb6329ca3 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/ReadService.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/ReadService.scala
@@ -3,12 +3,23 @@
package com.digitalasset.canton.ledger.participant.state
+import com.daml.daml_lf_dev.DamlLf.Archive
+import com.daml.error.ContextualizedErrorLogger
+import com.digitalasset.daml.lf.data.Ref.PackageId
import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.ledger.api.health.ReportsHealth
+import com.digitalasset.canton.platform.store.packagemeta.PackageMetadata
+import com.digitalasset.canton.protocol.PackageDescription
+import com.digitalasset.canton.topology.DomainId
+import com.digitalasset.canton.topology.transaction.ParticipantPermission
import com.digitalasset.canton.tracing.{TraceContext, Traced}
+import com.digitalasset.canton.{DomainAlias, LfPartyId}
+import com.google.protobuf.ByteString
import org.apache.pekko.NotUsed
import org.apache.pekko.stream.scaladsl.Source
+import scala.concurrent.Future
+
/** An interface for reading the state of a ledger participant.
* '''Please note that this interface is unstable and may significantly change.'''
*
@@ -22,7 +33,7 @@ import org.apache.pekko.stream.scaladsl.Source
* information. See [[Update]] for a description of the state updates
* communicated by [[ReadService!.stateUpdates]].
*/
-trait ReadService extends ReportsHealth {
+trait ReadService extends ReportsHealth with InternalStateServiceProvider {
/** Get the stream of state [[Update]]s starting from the beginning or right
* after the given [[com.digitalasset.canton.data.Offset]]
@@ -128,4 +139,65 @@ trait ReadService extends ReportsHealth {
def stateUpdates(
beginAfter: Option[Offset]
)(implicit traceContext: TraceContext): Source[(Offset, Traced[Update]), NotUsed]
+
+ def getConnectedDomains(request: ReadService.ConnectedDomainRequest)(implicit
+ traceContext: TraceContext
+ ): Future[ReadService.ConnectedDomainResponse] =
+ throw new UnsupportedOperationException()
+
+ /** Get the offsets of the incomplete assigned/unassigned events for a set of stakeholders.
+ *
+ * @param validAt The offset of validity in participant offset terms.
+ * @param stakeholders Only offsets are returned which have at least one stakeholder from this set.
+ * @return All the offset of assigned/unassigned events which do not have their conterparts visible at
+ * the validAt offset, and only for the reassignments for which this participant is reassigning.
+ */
+ def incompleteReassignmentOffsets(
+ validAt: Offset,
+ stakeholders: Set[LfPartyId],
+ )(implicit traceContext: TraceContext): Future[Vector[Offset]] = {
+ val _ = validAt
+ val _ = stakeholders
+ val _ = traceContext
+ Future.successful(Vector.empty)
+ }
+
+ def getPackageMetadataSnapshot(implicit
+ contextualizedErrorLogger: ContextualizedErrorLogger
+ ): PackageMetadata =
+ throw new UnsupportedOperationException()
+
+ def listLfPackages()(implicit
+ traceContext: TraceContext
+ ): Future[Seq[PackageDescription]] =
+ throw new UnsupportedOperationException()
+
+ def getLfArchive(packageId: PackageId)(implicit
+ traceContext: TraceContext
+ ): Future[Option[Archive]] =
+ throw new UnsupportedOperationException()
+
+ def validateDar(
+ dar: ByteString,
+ darName: String,
+ )(implicit
+ traceContext: TraceContext
+ ): Future[SubmissionResult] =
+ throw new UnsupportedOperationException()
+}
+
+object ReadService {
+ final case class ConnectedDomainRequest(party: LfPartyId)
+
+ final case class ConnectedDomainResponse(
+ connectedDomains: Seq[ConnectedDomainResponse.ConnectedDomain]
+ )
+
+ object ConnectedDomainResponse {
+ final case class ConnectedDomain(
+ domainAlias: DomainAlias,
+ domainId: DomainId,
+ permission: ParticipantPermission,
+ )
+ }
}
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/Reassignment.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/Reassignment.scala
index 263d7112dd..9871d6d933 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/Reassignment.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/Reassignment.scala
@@ -3,10 +3,10 @@
package com.digitalasset.canton.ledger.participant.state
-import com.daml.lf.data.Time.Timestamp
-import com.daml.lf.data.{Bytes, Ref}
-import com.daml.lf.transaction.Node
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.data.{Bytes, Ref}
+import com.digitalasset.daml.lf.transaction.Node
+import com.digitalasset.daml.lf.value.Value
import com.digitalasset.canton.data.CantonTimestamp
import com.digitalasset.canton.protocol.{SourceDomainId, TargetDomainId}
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/ReassignmentCommand.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/ReassignmentCommand.scala
index 8d99e7cd7b..3171ee65cc 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/ReassignmentCommand.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/ReassignmentCommand.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.ledger.participant.state
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value
import com.digitalasset.canton.data.CantonTimestamp
import com.digitalasset.canton.protocol.{SourceDomainId, TargetDomainId}
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/SubmitterInfo.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/SubmitterInfo.scala
index ad777f7e6c..68367e8ead 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/SubmitterInfo.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/SubmitterInfo.scala
@@ -3,8 +3,8 @@
package com.digitalasset.canton.ledger.participant.state
-import com.daml.lf.data.Ref
-import com.daml.lf.transaction.TransactionNodeStatistics
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.transaction.TransactionNodeStatistics
import com.daml.logging.entries.{LoggingValue, ToLoggingValue}
import com.digitalasset.canton.data.DeduplicationPeriod
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/TransactionMeta.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/TransactionMeta.scala
index 20e987cdec..b66ff4cb99 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/TransactionMeta.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/TransactionMeta.scala
@@ -3,9 +3,9 @@
package com.digitalasset.canton.ledger.participant.state
-import com.daml.lf.crypto
-import com.daml.lf.data.{ImmArray, Ref, Time}
-import com.daml.lf.transaction.NodeId
+import com.digitalasset.daml.lf.crypto
+import com.digitalasset.daml.lf.data.{ImmArray, Ref, Time}
+import com.digitalasset.daml.lf.transaction.NodeId
import com.digitalasset.canton.logging.pretty.{Pretty, PrettyPrinting}
/** Meta-data of a transaction visible to all parties that can see a part of
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/Update.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/Update.scala
index e3b8c7be29..3a69a6cb2b 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/Update.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/Update.scala
@@ -4,10 +4,10 @@
package com.digitalasset.canton.ledger.participant.state
import com.daml.error.GrpcStatuses
-import com.daml.lf.data.Time.Timestamp
-import com.daml.lf.data.{Bytes, Ref}
-import com.daml.lf.transaction.{BlindingInfo, CommittedTransaction}
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.data.{Bytes, Ref}
+import com.digitalasset.daml.lf.transaction.{BlindingInfo, CommittedTransaction}
+import com.digitalasset.daml.lf.value.Value
import com.daml.logging.entries.{LoggingEntry, LoggingValue, ToLoggingValue}
import com.digitalasset.canton.data.DeduplicationPeriod
import com.digitalasset.canton.logging.pretty.{Pretty, PrettyPrinting}
@@ -157,7 +157,7 @@ object Update {
* [[TransactionMeta.ledgerEffectiveTime]].
* @param contractMetadata For each contract created in this transaction, this map may contain
* contract metadata assigned by the ledger implementation.
- * This data is opaque and can only be used in [[com.daml.lf.command.DisclosedContract]]s
+ * This data is opaque and can only be used in [[com.digitalasset.daml.lf.command.DisclosedContract]]s
* when submitting transactions trough the [[WriteService]].
* If a contract created by this transaction is not element of this map,
* its metadata is equal to the empty byte array.
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/WritePackagesService.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/WritePackagesService.scala
index 3bb8dc13b8..c2bc786018 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/WritePackagesService.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/WritePackagesService.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.ledger.participant.state
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.tracing.TraceContext
import com.google.protobuf.ByteString
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/WriteParticipantPruningService.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/WriteParticipantPruningService.scala
index c9b39fd89b..128c9de62e 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/WriteParticipantPruningService.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/WriteParticipantPruningService.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.ledger.participant.state
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.data.Offset
import java.util.concurrent.CompletionStage
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/WritePartyService.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/WritePartyService.scala
index aad22794a3..d3e2c87e64 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/WritePartyService.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/WritePartyService.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.ledger.participant.state
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.tracing.TraceContext
import java.util.concurrent.CompletionStage
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/WriteService.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/WriteService.scala
index 5888f1cb22..bd460255cf 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/WriteService.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/WriteService.scala
@@ -3,28 +3,15 @@
package com.digitalasset.canton.ledger.participant.state
-import com.daml.daml_lf_dev.DamlLf.Archive
-import com.daml.error.ContextualizedErrorLogger
-import com.daml.lf.data.Ref.PackageId
-import com.daml.lf.data.{ImmArray, Ref}
-import com.daml.lf.transaction.{GlobalKey, SubmittedTransaction}
-import com.daml.lf.value.Value
-import com.digitalasset.canton.data.{Offset, ProcessedDisclosedContract}
+import com.digitalasset.daml.lf.data.{ImmArray, Ref}
+import com.digitalasset.daml.lf.transaction.{GlobalKey, SubmittedTransaction}
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.canton.data.ProcessedDisclosedContract
import com.digitalasset.canton.ledger.api.health.ReportsHealth
-import com.digitalasset.canton.ledger.participant.state.WriteService.{
- ConnectedDomainRequest,
- ConnectedDomainResponse,
-}
-import com.digitalasset.canton.platform.store.packagemeta.PackageMetadata
-import com.digitalasset.canton.protocol.PackageDescription
import com.digitalasset.canton.topology.DomainId
-import com.digitalasset.canton.topology.transaction.ParticipantPermission
import com.digitalasset.canton.tracing.TraceContext
-import com.digitalasset.canton.{DomainAlias, LfPartyId}
-import com.google.protobuf.ByteString
import java.util.concurrent.CompletionStage
-import scala.concurrent.Future
/** An interface to change a ledger via a participant.
* '''Please note that this interface is unstable and may significantly change.'''
@@ -44,14 +31,14 @@ import scala.concurrent.Future
* The following methods are currently available for changing the state of a Daml ledger:
* - submitting a transaction using [[WriteService!.submitTransaction]]
* - allocating a new party using [[WritePartyService!.allocateParty]]
+ * - uploading a new package using [[WritePackagesService!.uploadDar]]
* - pruning a participant ledger using [[WriteParticipantPruningService!.prune]]
*/
trait WriteService
extends WritePackagesService
with WritePartyService
with WriteParticipantPruningService
- with ReportsHealth
- with InternalStateServiceProvider {
+ with ReportsHealth {
/** Submit a transaction for acceptance to the ledger.
*
@@ -160,65 +147,4 @@ trait WriteService
)(implicit
traceContext: TraceContext
): CompletionStage[SubmissionResult]
-
- def getConnectedDomains(request: ConnectedDomainRequest)(implicit
- traceContext: TraceContext
- ): Future[ConnectedDomainResponse] =
- throw new UnsupportedOperationException()
-
- /** Get the offsets of the incomplete assigned/unassigned events for a set of stakeholders.
- *
- * @param validAt The offset of validity in participant offset terms.
- * @param stakeholders Only offsets are returned which have at least one stakeholder from this set.
- * @return All the offset of assigned/unassigned events which do not have their conterparts visible at
- * the validAt offset, and only for the reassignments for which this participant is reassigning.
- */
- def incompleteReassignmentOffsets(
- validAt: Offset,
- stakeholders: Set[LfPartyId],
- )(implicit traceContext: TraceContext): Future[Vector[Offset]] = {
- val _ = validAt
- val _ = stakeholders
- val _ = traceContext
- Future.successful(Vector.empty)
- }
-
- def getPackageMetadataSnapshot(implicit
- contextualizedErrorLogger: ContextualizedErrorLogger
- ): PackageMetadata =
- throw new UnsupportedOperationException()
-
- def listLfPackages()(implicit
- traceContext: TraceContext
- ): Future[Seq[PackageDescription]] =
- throw new UnsupportedOperationException()
-
- def getLfArchive(packageId: PackageId)(implicit
- traceContext: TraceContext
- ): Future[Option[Archive]] =
- throw new UnsupportedOperationException()
-
- def validateDar(
- dar: ByteString,
- darName: String,
- )(implicit
- traceContext: TraceContext
- ): Future[SubmissionResult] =
- throw new UnsupportedOperationException()
-}
-
-object WriteService {
- final case class ConnectedDomainRequest(party: LfPartyId)
-
- final case class ConnectedDomainResponse(
- connectedDomains: Seq[ConnectedDomainResponse.ConnectedDomain]
- )
-
- object ConnectedDomainResponse {
- final case class ConnectedDomain(
- domainAlias: DomainAlias,
- domainId: DomainId,
- permission: ParticipantPermission,
- )
- }
}
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/index/ContractStore.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/index/ContractStore.scala
index 1538b64147..816e15f149 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/index/ContractStore.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/index/ContractStore.scala
@@ -3,11 +3,11 @@
package com.digitalasset.canton.ledger.participant.state.index
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.Party
-import com.daml.lf.data.Time.Timestamp
-import com.daml.lf.transaction.GlobalKey
-import com.daml.lf.value.Value.{ContractId, VersionedContractInstance}
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.Party
+import com.digitalasset.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.transaction.GlobalKey
+import com.digitalasset.daml.lf.value.Value.{ContractId, VersionedContractInstance}
import com.digitalasset.canton.logging.LoggingContextWithTrace
import scala.concurrent.Future
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/index/IndexCompletionsService.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/index/IndexCompletionsService.scala
index a7ed0a325f..c4f2be0cf2 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/index/IndexCompletionsService.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/index/IndexCompletionsService.scala
@@ -4,7 +4,7 @@
package com.digitalasset.canton.ledger.participant.state.index
import com.daml.ledger.api.v2.command_completion_service.CompletionStreamResponse
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.ledger.api.domain.ParticipantOffset
import com.digitalasset.canton.logging.LoggingContextWithTrace
import org.apache.pekko.NotUsed
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/index/IndexEventQueryService.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/index/IndexEventQueryService.scala
index 1b831bd01c..59fca054d0 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/index/IndexEventQueryService.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/index/IndexEventQueryService.scala
@@ -4,8 +4,8 @@
package com.digitalasset.canton.ledger.participant.state.index
import com.daml.ledger.api.v2.event_query_service.GetEventsByContractIdResponse
-import com.daml.lf.data.Ref
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.value.Value.ContractId
import com.digitalasset.canton.logging.LoggingContextWithTrace
import scala.concurrent.Future
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/index/IndexPartyManagementService.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/index/IndexPartyManagementService.scala
index a05e2cdd23..4e7a94e686 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/index/IndexPartyManagementService.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/index/IndexPartyManagementService.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.ledger.participant.state.index
-import com.daml.lf.data.Ref.{ParticipantId, Party}
+import com.digitalasset.daml.lf.data.Ref.{ParticipantId, Party}
import com.digitalasset.canton.ledger.api.domain.ParticipantOffset
import com.digitalasset.canton.logging.LoggingContextWithTrace
import org.apache.pekko.NotUsed
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/index/IndexTransactionsService.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/index/IndexTransactionsService.scala
index f2e3af4c64..5133d9e3af 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/index/IndexTransactionsService.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/index/IndexTransactionsService.scala
@@ -9,7 +9,7 @@ import com.daml.ledger.api.v2.update_service.{
GetUpdateTreesResponse,
GetUpdatesResponse,
}
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.ledger.api.domain.{
ParticipantOffset,
TransactionFilter,
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/index/IndexerPartyDetails.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/index/IndexerPartyDetails.scala
index b66e9eb6d1..e8586ec358 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/index/IndexerPartyDetails.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/index/IndexerPartyDetails.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.ledger.participant.state.index
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
/** Represents a party with additional known information.
*
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/index/MaximumLedgerTimeService.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/index/MaximumLedgerTimeService.scala
index c8c520951a..02f4deb6f2 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/index/MaximumLedgerTimeService.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/index/MaximumLedgerTimeService.scala
@@ -3,8 +3,8 @@
package com.digitalasset.canton.ledger.participant.state.index
-import com.daml.lf.data.Time.Timestamp
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.value.Value.ContractId
import com.digitalasset.canton.logging.LoggingContextWithTrace
import scala.concurrent.Future
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/index/MeteringStore.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/index/MeteringStore.scala
index 8606ae0fb6..9468ca2698 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/index/MeteringStore.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/index/MeteringStore.scala
@@ -3,9 +3,9 @@
package com.digitalasset.canton.ledger.participant.state.index
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.ApplicationId
-import com.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.ApplicationId
+import com.digitalasset.daml.lf.data.Time.Timestamp
import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.ledger.participant.state.index.MeteringStore.ReportData
import com.digitalasset.canton.logging.LoggingContextWithTrace
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/index/package.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/index/package.scala
index 0ac1367bef..0cb6c23f5f 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/index/package.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/index/package.scala
@@ -3,12 +3,12 @@
package com.digitalasset.canton.ledger.participant.state
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.ledger.api.domain.*
package index {
- import com.daml.lf.data.Time.Timestamp
+ import com.digitalasset.daml.lf.data.Time.Timestamp
/** Information provided by the submitter of changes submitted to the ledger.
*
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/metrics/TimedReadService.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/metrics/TimedReadService.scala
index 42337fc65e..8295e12a2a 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/metrics/TimedReadService.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/metrics/TimedReadService.scala
@@ -3,15 +3,29 @@
package com.digitalasset.canton.ledger.participant.state.metrics
+import com.daml.daml_lf_dev.DamlLf.Archive
+import com.daml.error.ContextualizedErrorLogger
+import com.digitalasset.daml.lf.data.Ref.PackageId
import com.daml.metrics.Timed
+import com.digitalasset.canton.LfPartyId
import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.ledger.api.health.HealthStatus
-import com.digitalasset.canton.ledger.participant.state.{ReadService, Update}
+import com.digitalasset.canton.ledger.participant.state.{
+ InternalStateService,
+ ReadService,
+ SubmissionResult,
+ Update,
+}
import com.digitalasset.canton.metrics.LedgerApiServerMetrics
+import com.digitalasset.canton.platform.store.packagemeta.PackageMetadata
+import com.digitalasset.canton.protocol.PackageDescription
import com.digitalasset.canton.tracing.{TraceContext, Traced}
+import com.google.protobuf.ByteString
import org.apache.pekko.NotUsed
import org.apache.pekko.stream.scaladsl.Source
+import scala.concurrent.Future
+
final class TimedReadService(delegate: ReadService, metrics: LedgerApiServerMetrics)
extends ReadService {
@@ -20,6 +34,60 @@ final class TimedReadService(delegate: ReadService, metrics: LedgerApiServerMetr
)(implicit traceContext: TraceContext): Source[(Offset, Traced[Update]), NotUsed] =
Timed.source(metrics.services.read.stateUpdates, delegate.stateUpdates(beginAfter))
+ override def getConnectedDomains(
+ request: ReadService.ConnectedDomainRequest
+ )(implicit traceContext: TraceContext): Future[ReadService.ConnectedDomainResponse] =
+ Timed.future(
+ metrics.services.read.getConnectedDomains,
+ delegate.getConnectedDomains(request),
+ )
+
+ override def incompleteReassignmentOffsets(validAt: Offset, stakeholders: Set[LfPartyId])(implicit
+ traceContext: TraceContext
+ ): Future[Vector[Offset]] =
+ Timed.future(
+ metrics.services.read.getConnectedDomains,
+ delegate.incompleteReassignmentOffsets(validAt, stakeholders),
+ )
+
override def currentHealth(): HealthStatus =
delegate.currentHealth()
+
+ override def registerInternalStateService(internalStateService: InternalStateService): Unit =
+ delegate.registerInternalStateService(internalStateService)
+
+ override def internalStateService: Option[InternalStateService] =
+ delegate.internalStateService
+
+ override def unregisterInternalStateService(): Unit =
+ delegate.unregisterInternalStateService()
+
+ override def getPackageMetadataSnapshot(implicit
+ contextualizedErrorLogger: ContextualizedErrorLogger
+ ): PackageMetadata =
+ delegate.getPackageMetadataSnapshot
+
+ override def listLfPackages()(implicit
+ traceContext: TraceContext
+ ): Future[Seq[PackageDescription]] =
+ Timed.future(
+ metrics.services.read.listLfPackages,
+ delegate.listLfPackages(),
+ )
+
+ override def getLfArchive(
+ packageId: PackageId
+ )(implicit traceContext: TraceContext): Future[Option[Archive]] =
+ Timed.future(
+ metrics.services.read.getLfArchive,
+ delegate.getLfArchive(packageId),
+ )
+
+ override def validateDar(dar: ByteString, darName: String)(implicit
+ traceContext: TraceContext
+ ): Future[SubmissionResult] =
+ Timed.future(
+ metrics.services.read.validateDar,
+ delegate.validateDar(dar, darName),
+ )
}
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/metrics/TimedWriteService.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/metrics/TimedWriteService.scala
index 1af3c567ca..cd9bfb7140 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/metrics/TimedWriteService.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/participant/state/metrics/TimedWriteService.scala
@@ -3,24 +3,14 @@
package com.digitalasset.canton.ledger.participant.state.metrics
-import com.daml.daml_lf_dev.DamlLf.Archive
-import com.daml.error.ContextualizedErrorLogger
-import com.daml.lf.data.Ref.PackageId
-import com.daml.lf.data.{ImmArray, Ref}
-import com.daml.lf.transaction.{GlobalKey, SubmittedTransaction}
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.data.{ImmArray, Ref}
+import com.digitalasset.daml.lf.transaction.{GlobalKey, SubmittedTransaction}
+import com.digitalasset.daml.lf.value.Value
import com.daml.metrics.Timed
-import com.digitalasset.canton.LfPartyId
import com.digitalasset.canton.data.{Offset, ProcessedDisclosedContract}
import com.digitalasset.canton.ledger.api.health.HealthStatus
-import com.digitalasset.canton.ledger.participant.state.WriteService.{
- ConnectedDomainRequest,
- ConnectedDomainResponse,
-}
import com.digitalasset.canton.ledger.participant.state.*
import com.digitalasset.canton.metrics.LedgerApiServerMetrics
-import com.digitalasset.canton.platform.store.packagemeta.PackageMetadata
-import com.digitalasset.canton.protocol.PackageDescription
import com.digitalasset.canton.topology.DomainId
import com.digitalasset.canton.tracing.TraceContext
import com.google.protobuf.ByteString
@@ -114,58 +104,4 @@ final class TimedWriteService(delegate: WriteService, metrics: LedgerApiServerMe
override def currentHealth(): HealthStatus =
delegate.currentHealth()
-
- override def getConnectedDomains(
- request: ConnectedDomainRequest
- )(implicit traceContext: TraceContext): Future[ConnectedDomainResponse] =
- Timed.future(
- metrics.services.read.getConnectedDomains,
- delegate.getConnectedDomains(request),
- )
-
- override def incompleteReassignmentOffsets(validAt: Offset, stakeholders: Set[LfPartyId])(implicit
- traceContext: TraceContext
- ): Future[Vector[Offset]] =
- Timed.future(
- metrics.services.read.getConnectedDomains,
- delegate.incompleteReassignmentOffsets(validAt, stakeholders),
- )
-
- override def registerInternalStateService(internalStateService: InternalStateService): Unit =
- delegate.registerInternalStateService(internalStateService)
-
- override def internalStateService: Option[InternalStateService] =
- delegate.internalStateService
-
- override def unregisterInternalStateService(): Unit =
- delegate.unregisterInternalStateService()
-
- override def getPackageMetadataSnapshot(implicit
- contextualizedErrorLogger: ContextualizedErrorLogger
- ): PackageMetadata =
- delegate.getPackageMetadataSnapshot
-
- override def listLfPackages()(implicit
- traceContext: TraceContext
- ): Future[Seq[PackageDescription]] =
- Timed.future(
- metrics.services.read.listLfPackages,
- delegate.listLfPackages(),
- )
-
- override def getLfArchive(
- packageId: PackageId
- )(implicit traceContext: TraceContext): Future[Option[Archive]] =
- Timed.future(
- metrics.services.read.getLfArchive,
- delegate.getLfArchive(packageId),
- )
-
- override def validateDar(dar: ByteString, darName: String)(implicit
- traceContext: TraceContext
- ): Future[SubmissionResult] =
- Timed.future(
- metrics.services.read.validateDar,
- delegate.validateDar(dar, darName),
- )
}
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/runner/common/PureConfigReaderWriter.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/runner/common/PureConfigReaderWriter.scala
index 1394b8c5b1..8d1be0e78d 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/runner/common/PureConfigReaderWriter.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/ledger/runner/common/PureConfigReaderWriter.scala
@@ -4,7 +4,7 @@
package com.digitalasset.canton.ledger.runner.common
import com.daml.jwt.JwtTimestampLeeway
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.daml.ports.Port
import com.daml.tls.TlsVersion.TlsVersion
import com.daml.tls.{TlsConfiguration, TlsVersion}
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/ApiOffset.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/ApiOffset.scala
index d74fa07d69..454b99cce5 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/ApiOffset.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/ApiOffset.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.platform
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.data.Offset
import scala.util.{Failure, Success, Try}
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/InMemoryState.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/InMemoryState.scala
index 37a8e4a53f..350d494bbd 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/InMemoryState.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/InMemoryState.scala
@@ -6,7 +6,6 @@ package com.digitalasset.canton.platform
import com.daml.ledger.resources.ResourceOwner
import com.digitalasset.canton.logging.{NamedLoggerFactory, NamedLogging}
import com.digitalasset.canton.metrics.LedgerApiServerMetrics
-import com.digitalasset.canton.platform.apiserver.execution.CommandProgressTracker
import com.digitalasset.canton.platform.apiserver.services.tracking.SubmissionTracker
import com.digitalasset.canton.platform.store.backend.ParameterStorageBackend.LedgerEnd
import com.digitalasset.canton.platform.store.cache.{
@@ -33,7 +32,6 @@ private[platform] class InMemoryState(
val stringInterningView: StringInterningView,
val dispatcherState: DispatcherState,
val submissionTracker: SubmissionTracker,
- val commandProgressTracker: CommandProgressTracker,
val loggerFactory: NamedLoggerFactory,
)(implicit executionContext: ExecutionContext)
extends NamedLogging {
@@ -72,7 +70,6 @@ private[platform] class InMemoryState(
object InMemoryState {
def owner(
- commandProgressTracker: CommandProgressTracker,
apiStreamShutdownTimeout: Duration,
bufferedStreamsPageSize: Int,
maxContractStateCacheSize: Long,
@@ -115,7 +112,6 @@ object InMemoryState {
),
stringInterningView = new StringInterningView(loggerFactory),
submissionTracker = submissionTracker,
- commandProgressTracker = commandProgressTracker,
loggerFactory = loggerFactory,
)(executionContext)
}
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/LedgerApiServer.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/LedgerApiServer.scala
index e06e6fe2e4..df401917d8 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/LedgerApiServer.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/LedgerApiServer.scala
@@ -6,7 +6,6 @@ package com.digitalasset.canton.platform
import com.daml.ledger.resources.ResourceOwner
import com.digitalasset.canton.logging.NamedLoggerFactory
import com.digitalasset.canton.metrics.LedgerApiServerMetrics
-import com.digitalasset.canton.platform.apiserver.execution.CommandProgressTracker
import com.digitalasset.canton.platform.config.IndexServiceConfig
import com.digitalasset.canton.platform.index.InMemoryStateUpdater
import com.digitalasset.canton.tracing.TraceContext
@@ -16,7 +15,6 @@ import scala.concurrent.ExecutionContext
object LedgerApiServer {
def createInMemoryStateAndUpdater(
- commandProgressTracker: CommandProgressTracker,
indexServiceConfig: IndexServiceConfig,
maxCommandsInFlight: Int,
metrics: LedgerApiServerMetrics,
@@ -28,7 +26,6 @@ object LedgerApiServer {
): ResourceOwner[(InMemoryState, InMemoryStateUpdater.UpdaterFlow)] = {
for {
inMemoryState <- InMemoryState.owner(
- commandProgressTracker = commandProgressTracker,
apiStreamShutdownTimeout = indexServiceConfig.apiStreamShutdownTimeout,
bufferedStreamsPageSize = indexServiceConfig.bufferedStreamsPageSize,
maxContractStateCacheSize = indexServiceConfig.maxContractStateCacheSize,
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/ApiServiceOwner.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/ApiServiceOwner.scala
index 0a645b5cff..426da4b408 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/ApiServiceOwner.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/ApiServiceOwner.scala
@@ -5,8 +5,8 @@ package com.digitalasset.canton.platform.apiserver
import com.daml.jwt.JwtTimestampLeeway
import com.daml.ledger.resources.ResourceOwner
-import com.daml.lf.data.Ref
-import com.daml.lf.engine.Engine
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.engine.Engine
import com.daml.tls.TlsConfiguration
import com.daml.tracing.Telemetry
import com.digitalasset.canton.config.RequireTypes.Port
@@ -22,6 +22,7 @@ import com.digitalasset.canton.ledger.localstore.api.{
UserManagementStore,
}
import com.digitalasset.canton.ledger.participant.state
+import com.digitalasset.canton.ledger.participant.state.ReadService
import com.digitalasset.canton.ledger.participant.state.index.IndexService
import com.digitalasset.canton.logging.{LoggingContextWithTrace, NamedLoggerFactory}
import com.digitalasset.canton.metrics.LedgerApiServerMetrics
@@ -30,7 +31,6 @@ import com.digitalasset.canton.platform.apiserver.configuration.EngineLoggingCon
import com.digitalasset.canton.platform.apiserver.execution.StoreBackedCommandExecutor.AuthenticateContract
import com.digitalasset.canton.platform.apiserver.execution.{
AuthorityResolver,
- CommandProgressTracker,
DynamicDomainParameterGetter,
}
import com.digitalasset.canton.platform.apiserver.meteringreport.MeteringReportKey
@@ -75,12 +75,12 @@ object ApiServiceOwner {
// objects
indexService: IndexService,
submissionTracker: SubmissionTracker,
- commandProgressTracker: CommandProgressTracker,
userManagementStore: UserManagementStore,
identityProviderConfigStore: IdentityProviderConfigStore,
partyRecordStore: PartyRecordStore,
command: CommandServiceConfig = ApiServiceOwner.DefaultCommandServiceConfig,
- writeService: state.WriteService,
+ optWriteService: Option[state.WriteService],
+ readService: ReadService,
healthChecks: HealthChecks,
metrics: LedgerApiServerMetrics,
timeServiceBackend: Option[TimeServiceBackend] = None,
@@ -138,7 +138,8 @@ object ApiServiceOwner {
executionSequencerFactory <- new ExecutionSequencerFactoryOwner()
apiServicesOwner = new ApiServices.Owner(
participantId = participantId,
- writeService = writeService,
+ optWriteService = optWriteService,
+ readService = readService,
indexService = indexService,
authorizer = authorizer,
engine = engine,
@@ -150,7 +151,6 @@ object ApiServiceOwner {
),
submissionTracker = submissionTracker,
initSyncTimeout = initSyncTimeout.underlying,
- commandProgressTracker = commandProgressTracker,
commandConfig = command,
optTimeServiceBackend = timeServiceBackend,
servicesExecutionContext = servicesExecutionContext,
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/ApiServices.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/ApiServices.scala
index f24e563f8f..a98c3bd200 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/ApiServices.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/ApiServices.scala
@@ -5,8 +5,8 @@ package com.digitalasset.canton.platform.apiserver
import com.daml.grpc.adapter.ExecutionSequencerFactory
import com.daml.ledger.resources.{Resource, ResourceContext, ResourceOwner}
-import com.daml.lf.data.Ref
-import com.daml.lf.engine.*
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.engine.*
import com.daml.tracing.Telemetry
import com.digitalasset.canton.config
import com.digitalasset.canton.ledger.api.SubmissionIdGenerator
@@ -22,6 +22,7 @@ import com.digitalasset.canton.ledger.localstore.api.{
UserManagementStore,
}
import com.digitalasset.canton.ledger.participant.state
+import com.digitalasset.canton.ledger.participant.state.ReadService
import com.digitalasset.canton.ledger.participant.state.index.*
import com.digitalasset.canton.logging.{NamedLoggerFactory, NamedLogging}
import com.digitalasset.canton.metrics.LedgerApiServerMetrics
@@ -35,7 +36,6 @@ import com.digitalasset.canton.platform.apiserver.meteringreport.MeteringReportK
import com.digitalasset.canton.platform.apiserver.services.*
import com.digitalasset.canton.platform.apiserver.services.admin.*
import com.digitalasset.canton.platform.apiserver.services.command.{
- CommandInspectionServiceImpl,
CommandServiceImpl,
CommandSubmissionServiceImpl,
}
@@ -74,7 +74,8 @@ object ApiServices {
final class Owner(
participantId: Ref.ParticipantId,
- writeService: state.WriteService,
+ optWriteService: Option[state.WriteService],
+ readService: ReadService,
indexService: IndexService,
userManagementStore: UserManagementStore,
identityProviderConfigStore: IdentityProviderConfigStore,
@@ -86,7 +87,6 @@ object ApiServices {
timeProviderType: TimeProviderType,
submissionTracker: SubmissionTracker,
initSyncTimeout: FiniteDuration,
- commandProgressTracker: CommandProgressTracker,
commandConfig: CommandServiceConfig,
optTimeServiceBackend: Option[TimeServiceBackend],
servicesExecutionContext: ExecutionContext,
@@ -128,7 +128,7 @@ object ApiServices {
)
override def acquire()(implicit context: ResourceContext): Resource[ApiServices] = {
- implicit val traceContext: TraceContext = TraceContext.empty
+ implicit val traceContext = TraceContext.empty
logger.info(engine.info.toString)
for {
services <- Resource {
@@ -170,19 +170,6 @@ object ApiServices {
partyValidator = new PartyValidator(PartyNameChecker.AllowAllParties)
)
- val apiInspectionServiceOpt =
- Option
- .when(ledgerFeatures.commandInspectionService.supported)(
- new CommandInspectionServiceAuthorization(
- CommandInspectionServiceImpl.createApiService(
- commandProgressTracker,
- telemetry,
- loggerFactory,
- ),
- authorizer,
- )
- )
-
val (ledgerApiV2Services, ledgerApiUpdateService) = {
val apiTimeServiceOpt =
optTimeServiceBackend.map(tsb =>
@@ -199,7 +186,7 @@ object ApiServices {
)
val apiEventQueryService =
new ApiEventQueryService(eventQueryService, telemetry, loggerFactory)
- val apiPackageService = new ApiPackageService(writeService, telemetry, loggerFactory)
+ val apiPackageService = new ApiPackageService(readService, telemetry, loggerFactory)
val apiUpdateService =
new ApiUpdateService(
transactionsService,
@@ -211,7 +198,7 @@ object ApiServices {
val apiStateService =
new ApiStateService(
acsService = activeContractsService,
- writeService = writeService,
+ readService = readService,
txService = transactionsService,
metrics = metrics,
telemetry = telemetry,
@@ -290,7 +277,6 @@ object ApiServices {
)
ledgerApiV2Services :::
- apiInspectionServiceOpt.toList :::
writeServiceBackedApiServices :::
List(
apiReflectionService,
@@ -305,118 +291,121 @@ object ApiServices {
)(implicit
executionContext: ExecutionContext
): List[BindableService] = {
- val commandExecutor = new TimedCommandExecutor(
- new LedgerTimeAwareCommandExecutor(
- new StoreBackedCommandExecutor(
- engine,
- participantId,
- writeService,
- contractStore,
- authorityResolver,
- authenticateContract,
+ optWriteService.toList.flatMap { writeService =>
+ val commandExecutor = new TimedCommandExecutor(
+ new LedgerTimeAwareCommandExecutor(
+ new StoreBackedCommandExecutor(
+ engine,
+ participantId,
+ readService,
+ contractStore,
+ authorityResolver,
+ authenticateContract,
+ metrics,
+ engineLoggingConfig,
+ loggerFactory,
+ dynParamGetter,
+ timeProvider,
+ ),
+ new ResolveMaximumLedgerTime(maximumLedgerTimeService, loggerFactory),
+ maxRetries = 3,
metrics,
- engineLoggingConfig,
loggerFactory,
- dynParamGetter,
- timeProvider,
),
- new ResolveMaximumLedgerTime(maximumLedgerTimeService, loggerFactory),
- maxRetries = 3,
metrics,
- loggerFactory,
- ),
- metrics,
- )
-
- val validateUpgradingPackageResolutions =
- new ValidateUpgradingPackageResolutionsImpl(
- getPackageMetadataSnapshot = writeService.getPackageMetadataSnapshot(_)
)
- val commandsValidator = new CommandsValidator(
- validateUpgradingPackageResolutions = validateUpgradingPackageResolutions
- )
- val commandSubmissionService =
- CommandSubmissionServiceImpl.createApiService(
+
+ val validateUpgradingPackageResolutions =
+ new ValidateUpgradingPackageResolutionsImpl(
+ getPackageMetadataSnapshot = readService.getPackageMetadataSnapshot(_)
+ )
+ val commandsValidator = new CommandsValidator(
+ validateUpgradingPackageResolutions = validateUpgradingPackageResolutions
+ )
+ val commandSubmissionService =
+ CommandSubmissionServiceImpl.createApiService(
+ writeService,
+ commandsValidator,
+ timeProvider,
+ timeProviderType,
+ seedService,
+ commandExecutor,
+ checkOverloaded,
+ metrics,
+ telemetry,
+ loggerFactory,
+ )
+
+ val apiPartyManagementService = ApiPartyManagementService.createApiService(
+ partyManagementService,
+ new IdentityProviderExists(identityProviderConfigStore),
+ partyManagementServiceConfig.maxPartiesPageSize,
+ partyRecordStore,
+ transactionsService,
writeService,
- commandsValidator,
- timeProvider,
- timeProviderType,
- seedService,
- commandExecutor,
- checkOverloaded,
+ managementServiceTimeout,
+ telemetry = telemetry,
+ loggerFactory = loggerFactory,
+ )
+
+ val apiPackageManagementService =
+ ApiPackageManagementService.createApiService(
+ readService = readService,
+ writeBackend = writeService,
+ telemetry = telemetry,
+ loggerFactory = loggerFactory,
+ )
+
+ val participantPruningService = ApiParticipantPruningService.createApiService(
+ indexService,
+ writeService,
+ readService,
metrics,
telemetry,
loggerFactory,
)
- val apiPartyManagementService = ApiPartyManagementService.createApiService(
- partyManagementService,
- new IdentityProviderExists(identityProviderConfigStore),
- partyManagementServiceConfig.maxPartiesPageSize,
- partyRecordStore,
- transactionsService,
- writeService,
- managementServiceTimeout,
- telemetry = telemetry,
- loggerFactory = loggerFactory,
- )
+ val ledgerApiV2Services = ledgerApiV2Enabled.toList.flatMap { apiUpdateService =>
+ val apiSubmissionService = new ApiCommandSubmissionService(
+ commandsValidator = commandsValidator,
+ commandSubmissionService = commandSubmissionService,
+ writeService = writeService,
+ currentLedgerTime = () => timeProvider.getCurrentTime,
+ currentUtcTime = () => Instant.now,
+ maxDeduplicationDuration = maxDeduplicationDuration.asJava,
+ submissionIdGenerator = SubmissionIdGenerator.Random,
+ metrics = metrics,
+ telemetry = telemetry,
+ loggerFactory = loggerFactory,
+ )
+ val apiCommandService = CommandServiceImpl.createApiService(
+ commandsValidator = commandsValidator,
+ submissionTracker = submissionTracker,
+ // Using local services skips the gRPC layer, improving performance.
+ submit = apiSubmissionService.submitWithTraceContext,
+ defaultTrackingTimeout = commandConfig.defaultTrackingTimeout,
+ transactionServices = new CommandServiceImpl.TransactionServices(
+ getTransactionTreeById = apiUpdateService.getTransactionTreeById,
+ getTransactionById = apiUpdateService.getTransactionById,
+ ),
+ timeProvider = timeProvider,
+ maxDeduplicationDuration = maxDeduplicationDuration,
+ telemetry = telemetry,
+ loggerFactory = loggerFactory,
+ )
- val apiPackageManagementService =
- ApiPackageManagementService.createApiService(
- writeService = writeService,
- telemetry = telemetry,
- loggerFactory = loggerFactory,
- )
-
- val participantPruningService = ApiParticipantPruningService.createApiService(
- indexService,
- writeService,
- metrics,
- telemetry,
- loggerFactory,
- )
-
- val ledgerApiV2Services = ledgerApiV2Enabled.toList.flatMap { apiUpdateService =>
- val apiSubmissionService = new ApiCommandSubmissionService(
- commandsValidator = commandsValidator,
- commandSubmissionService = commandSubmissionService,
- writeService = writeService,
- currentLedgerTime = () => timeProvider.getCurrentTime,
- currentUtcTime = () => Instant.now,
- maxDeduplicationDuration = maxDeduplicationDuration.asJava,
- submissionIdGenerator = SubmissionIdGenerator.Random,
- tracker = commandProgressTracker,
- metrics = metrics,
- telemetry = telemetry,
- loggerFactory = loggerFactory,
- )
- val apiCommandService = CommandServiceImpl.createApiService(
- commandsValidator = commandsValidator,
- submissionTracker = submissionTracker,
- // Using local services skips the gRPC layer, improving performance.
- submit = apiSubmissionService.submitWithTraceContext,
- defaultTrackingTimeout = commandConfig.defaultTrackingTimeout,
- transactionServices = new CommandServiceImpl.TransactionServices(
- getTransactionTreeById = apiUpdateService.getTransactionTreeById,
- getTransactionById = apiUpdateService.getTransactionById,
- ),
- timeProvider = timeProvider,
- maxDeduplicationDuration = maxDeduplicationDuration,
- telemetry = telemetry,
- loggerFactory = loggerFactory,
- )
+ List(
+ new CommandSubmissionServiceAuthorization(apiSubmissionService, authorizer),
+ new CommandServiceAuthorization(apiCommandService, authorizer),
+ )
+ }
List(
- new CommandSubmissionServiceAuthorization(apiSubmissionService, authorizer),
- new CommandServiceAuthorization(apiCommandService, authorizer),
- )
+ new PartyManagementServiceAuthorization(apiPartyManagementService, authorizer),
+ new PackageManagementServiceAuthorization(apiPackageManagementService, authorizer),
+ new ParticipantPruningServiceAuthorization(participantPruningService, authorizer),
+ ) ::: ledgerApiV2Services
}
-
- List(
- new PartyManagementServiceAuthorization(apiPartyManagementService, authorizer),
- new PackageManagementServiceAuthorization(apiPackageManagementService, authorizer),
- new ParticipantPruningServiceAuthorization(participantPruningService, authorizer),
- ) ::: ledgerApiV2Services
}
}
}
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/LedgerFeatures.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/LedgerFeatures.scala
index a8c6a3b0b4..c9c94fbce8 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/LedgerFeatures.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/LedgerFeatures.scala
@@ -3,10 +3,6 @@
package com.digitalasset.canton.platform.apiserver
-import com.daml.ledger.api.v2.experimental_features.ExperimentalCommandInspectionService
-
final case class LedgerFeatures(
- staticTime: Boolean = false,
- commandInspectionService: ExperimentalCommandInspectionService =
- ExperimentalCommandInspectionService(supported = true),
+ staticTime: Boolean = false
)
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/SeedService.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/SeedService.scala
index 91539cf623..46091541c0 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/SeedService.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/SeedService.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.platform.apiserver
-import com.daml.lf.crypto
+import com.digitalasset.daml.lf.crypto
import java.security.SecureRandom
import java.util.concurrent.TimeUnit
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/TimedIndexService.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/TimedIndexService.scala
index 1050c3ae04..532f98c38c 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/TimedIndexService.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/TimedIndexService.scala
@@ -12,12 +12,12 @@ import com.daml.ledger.api.v2.update_service.{
GetUpdateTreesResponse,
GetUpdatesResponse,
}
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.{ApplicationId, Party}
-import com.daml.lf.data.Time.Timestamp
-import com.daml.lf.transaction.GlobalKey
-import com.daml.lf.value.Value
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.{ApplicationId, Party}
+import com.digitalasset.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.transaction.GlobalKey
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value.ContractId
import com.daml.metrics.Timed
import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.ledger.api.domain
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/configuration/EngineLoggingConfig.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/configuration/EngineLoggingConfig.scala
index 9ec519d3d7..2b72856237 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/configuration/EngineLoggingConfig.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/configuration/EngineLoggingConfig.scala
@@ -4,7 +4,7 @@
package com.digitalasset.canton.platform.apiserver.configuration
import cats.implicits.catsSyntaxOptionId
-import com.daml.lf.engine.EngineLogger
+import com.digitalasset.daml.lf.engine.EngineLogger
import com.daml.logging.LoggingContext
import com.digitalasset.canton.logging.NamedLoggerFactory
import com.digitalasset.canton.tracing.TraceContext
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/configuration/LedgerEndObserverFromIndex.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/configuration/LedgerEndObserverFromIndex.scala
index 3c2a56ec65..b871ab68c3 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/configuration/LedgerEndObserverFromIndex.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/configuration/LedgerEndObserverFromIndex.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.platform.apiserver.configuration
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.daml.timer.RetryStrategy
import com.digitalasset.canton.ledger.api.domain.ParticipantOffset.Absolute
import com.digitalasset.canton.ledger.participant.state.index.LedgerEndService
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/execution/AuthorityResolver.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/execution/AuthorityResolver.scala
index 3b3acb96d2..ad5ae6589a 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/execution/AuthorityResolver.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/execution/AuthorityResolver.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.platform.apiserver.execution
-import com.daml.lf.data.Ref.*
+import com.digitalasset.daml.lf.data.Ref.*
import com.digitalasset.canton.platform.apiserver.execution.AuthorityResolver.AuthorityResponse
import com.digitalasset.canton.topology.DomainId
import com.digitalasset.canton.tracing.TraceContext
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/execution/CommandExecutionResult.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/execution/CommandExecutionResult.scala
index b29d49820e..f3dc9627f6 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/execution/CommandExecutionResult.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/execution/CommandExecutionResult.scala
@@ -3,9 +3,9 @@
package com.digitalasset.canton.platform.apiserver.execution
-import com.daml.lf.data.ImmArray
-import com.daml.lf.transaction.{GlobalKey, SubmittedTransaction}
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.data.ImmArray
+import com.digitalasset.daml.lf.transaction.{GlobalKey, SubmittedTransaction}
+import com.digitalasset.daml.lf.value.Value
import com.digitalasset.canton.data.ProcessedDisclosedContract
import com.digitalasset.canton.ledger.participant.state
import com.digitalasset.canton.topology.DomainId
@@ -18,7 +18,7 @@ import com.digitalasset.canton.topology.DomainId
* @param transaction The transaction
* @param dependsOnLedgerTime True if the output of command execution depends in any way
* on the ledger time, as specified through
- * [[com.daml.lf.command.ApiCommands.ledgerEffectiveTime]].
+ * [[com.digitalasset.daml.lf.command.ApiCommands.ledgerEffectiveTime]].
* If this value is false, then the ledger time of the resulting
* transaction ([[state.TransactionMeta.ledgerEffectiveTime]])
* can safely be changed after command interpretation.
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/execution/CommandExecutor.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/execution/CommandExecutor.scala
index 63e4c85120..4dd7246026 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/execution/CommandExecutor.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/execution/CommandExecutor.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.platform.apiserver.execution
-import com.daml.lf.crypto
+import com.digitalasset.daml.lf.crypto
import com.digitalasset.canton.ledger.api.domain.Commands as ApiCommands
import com.digitalasset.canton.logging.LoggingContextWithTrace
import com.digitalasset.canton.platform.apiserver.services.ErrorCause
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/execution/CommandProgressTracker.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/execution/CommandProgressTracker.scala
index 1f310f4963..5163e83acd 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/execution/CommandProgressTracker.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/execution/CommandProgressTracker.scala
@@ -148,7 +148,7 @@ trait CommandResultHandle {
def recordEnvelopeSizes(batchSize: Int, numRecipients: Int, numEnvelopes: Int): Unit
def recordTransactionImpact(
- transaction: com.daml.lf.transaction.SubmittedTransaction
+ transaction: com.digitalasset.daml.lf.transaction.SubmittedTransaction
): Unit
}
@@ -160,7 +160,7 @@ object CommandResultHandle {
override def recordEnvelopeSizes(batchSize: Int, numRecipients: Int, numEnvelopes: Int): Unit =
()
override def recordTransactionImpact(
- transaction: com.daml.lf.transaction.SubmittedTransaction
+ transaction: com.digitalasset.daml.lf.transaction.SubmittedTransaction
): Unit = ()
}
}
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/execution/LedgerTimeAwareCommandExecutor.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/execution/LedgerTimeAwareCommandExecutor.scala
index 8813656d03..08a086fa6a 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/execution/LedgerTimeAwareCommandExecutor.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/execution/LedgerTimeAwareCommandExecutor.scala
@@ -3,9 +3,9 @@
package com.digitalasset.canton.platform.apiserver.execution
-import com.daml.lf.crypto
-import com.daml.lf.data.Time
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.crypto
+import com.digitalasset.daml.lf.data.Time
+import com.digitalasset.daml.lf.value.Value.ContractId
import com.digitalasset.canton.ledger.api.domain.Commands
import com.digitalasset.canton.ledger.participant.state.index.MaximumLedgerTime
import com.digitalasset.canton.logging.LoggingContextWithTrace.implicitExtractTraceContext
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/execution/ResolveMaximumLedgerTime.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/execution/ResolveMaximumLedgerTime.scala
index b9f937f4bd..84877be0bb 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/execution/ResolveMaximumLedgerTime.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/execution/ResolveMaximumLedgerTime.scala
@@ -3,9 +3,9 @@
package com.digitalasset.canton.platform.apiserver.execution
-import com.daml.lf.data.ImmArray
-import com.daml.lf.data.Time.Timestamp
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.data.ImmArray
+import com.digitalasset.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.value.Value.ContractId
import com.digitalasset.canton.concurrent.DirectExecutionContext
import com.digitalasset.canton.data.ProcessedDisclosedContract
import com.digitalasset.canton.ledger.participant.state.index.{
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/execution/StoreBackedCommandExecutor.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/execution/StoreBackedCommandExecutor.scala
index 2410e89603..326db5fdf9 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/execution/StoreBackedCommandExecutor.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/execution/StoreBackedCommandExecutor.scala
@@ -5,18 +5,18 @@ package com.digitalasset.canton.platform.apiserver.execution
import cats.data.*
import cats.syntax.all.*
-import com.daml.lf.crypto
-import com.daml.lf.data.{ImmArray, Ref, Time}
-import com.daml.lf.engine.*
-import com.daml.lf.transaction.*
-import com.daml.lf.value.Value
-import com.daml.lf.value.Value.{ContractId, ContractInstance}
+import com.digitalasset.daml.lf.crypto
+import com.digitalasset.daml.lf.data.{ImmArray, Ref, Time}
+import com.digitalasset.daml.lf.engine.*
+import com.digitalasset.daml.lf.transaction.*
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value.{ContractId, ContractInstance}
import com.daml.metrics.{Timed, Tracked}
import com.digitalasset.canton.data.{CantonTimestamp, ProcessedDisclosedContract}
import com.digitalasset.canton.ledger.api.domain.{Commands as ApiCommands, DisclosedContract}
import com.digitalasset.canton.ledger.api.util.TimeProvider
import com.digitalasset.canton.ledger.participant.state
-import com.digitalasset.canton.ledger.participant.state.WriteService
+import com.digitalasset.canton.ledger.participant.state.ReadService
import com.digitalasset.canton.ledger.participant.state.index.{ContractState, ContractStore}
import com.digitalasset.canton.logging.LoggingContextWithTrace.implicitExtractTraceContext
import com.digitalasset.canton.logging.{LoggingContextWithTrace, NamedLoggerFactory, NamedLogging}
@@ -40,12 +40,12 @@ import java.util.concurrent.atomic.AtomicLong
import scala.concurrent.{ExecutionContext, Future}
/** @param ec [[scala.concurrent.ExecutionContext]] that will be used for scheduling CPU-intensive computations
- * performed by an [[com.daml.lf.engine.Engine]].
+ * performed by an [[com.digitalasset.daml.lf.engine.Engine]].
*/
private[apiserver] final class StoreBackedCommandExecutor(
engine: Engine,
participant: Ref.ParticipantId,
- writeService: WriteService,
+ readService: ReadService,
contractStore: ContractStore,
authorityResolver: AuthorityResolver,
authenticateContract: AuthenticateContract,
@@ -71,7 +71,7 @@ private[apiserver] final class StoreBackedCommandExecutor(
val interpretationTimeNanos = new AtomicLong(0L)
val start = System.nanoTime()
val coids = commands.commands.commands.toSeq.foldLeft(Set.empty[Value.ContractId]) {
- case (acc, com.daml.lf.command.ApiCommand.Exercise(_, coid, _, argument)) =>
+ case (acc, com.digitalasset.daml.lf.command.ApiCommand.Exercise(_, coid, _, argument)) =>
argument.collectCids(acc) + coid
case (acc, _) => acc
}
@@ -256,7 +256,7 @@ private[apiserver] final class StoreBackedCommandExecutor(
packageLoader
.loadPackage(
packageId = packageId,
- delegate = writeService.getLfArchive(_)(loggingContext.traceContext),
+ delegate = readService.getLfArchive(_)(loggingContext.traceContext),
metric = metrics.execution.getLfPackage,
)
.flatMap { maybePackage =>
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/execution/TimedCommandExecutor.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/execution/TimedCommandExecutor.scala
index f13b6ee0cd..3f80874078 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/execution/TimedCommandExecutor.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/execution/TimedCommandExecutor.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.platform.apiserver.execution
-import com.daml.lf.crypto
+import com.digitalasset.daml.lf.crypto
import com.daml.metrics.Timed
import com.digitalasset.canton.ledger.api.domain
import com.digitalasset.canton.logging.LoggingContextWithTrace
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/meteringreport/MeteringReport.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/meteringreport/MeteringReport.scala
index cf26e7f16a..ecc02fcba2 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/meteringreport/MeteringReport.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/meteringreport/MeteringReport.scala
@@ -3,8 +3,8 @@
package com.digitalasset.canton.platform.apiserver.meteringreport
-import com.daml.lf.data.Ref.{ApplicationId, ParticipantId}
-import com.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.data.Ref.{ApplicationId, ParticipantId}
+import com.digitalasset.daml.lf.data.Time.Timestamp
import spray.json.{DefaultJsonProtocol, RootJsonFormat, *}
import java.time.Instant
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/meteringreport/MeteringReportGenerator.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/meteringreport/MeteringReportGenerator.scala
index fab41f8942..5c17b11e20 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/meteringreport/MeteringReportGenerator.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/meteringreport/MeteringReportGenerator.scala
@@ -4,9 +4,9 @@
package com.digitalasset.canton.platform.apiserver.meteringreport
import com.daml.ledger.api.v2.admin.metering_report_service.*
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.ApplicationId
-import com.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.ApplicationId
+import com.digitalasset.daml.lf.data.Time.Timestamp
import com.daml.struct.spray.StructJsonFormat
import com.digitalasset.canton.ledger.participant.state.index.MeteringStore.ReportData
import com.digitalasset.canton.platform.apiserver.meteringreport.MeteringReport.*
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/ApiCommandSubmissionService.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/ApiCommandSubmissionService.scala
index 5158f5196f..25293f8774 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/ApiCommandSubmissionService.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/ApiCommandSubmissionService.scala
@@ -12,7 +12,6 @@ import com.daml.ledger.api.v2.command_submission_service.{
SubmitRequest,
SubmitResponse,
}
-import com.daml.ledger.api.v2.commands.Commands
import com.daml.metrics.Timed
import com.daml.scalautil.future.FutureConversion.CompletionStageConversionOps
import com.daml.tracing.{SpanAttribute, Telemetry, TelemetryContext}
@@ -31,10 +30,6 @@ import com.digitalasset.canton.logging.{
NamedLogging,
}
import com.digitalasset.canton.metrics.LedgerApiServerMetrics
-import com.digitalasset.canton.platform.apiserver.execution.{
- CommandProgressTracker,
- CommandResultHandle,
-}
import com.digitalasset.canton.tracing.Traced
import com.digitalasset.canton.util.OptionUtil
@@ -50,7 +45,6 @@ final class ApiCommandSubmissionService(
currentUtcTime: () => Instant,
maxDeduplicationDuration: Duration,
submissionIdGenerator: SubmissionIdGenerator,
- tracker: CommandProgressTracker,
metrics: LedgerApiServerMetrics,
telemetry: Telemetry,
val loggerFactory: NamedLoggerFactory,
@@ -78,34 +72,7 @@ final class ApiCommandSubmissionService(
loggingContextWithTrace,
requestWithSubmissionId.commands.map(_.submissionId),
)
- val resultHandle = requestWithSubmissionId.commands
- .map {
- case allCommands @ Commands(
- workflowId,
- applicationId,
- commandId,
- commands,
- deduplicationPeriod,
- minLedgerTimeAbs,
- minLedgerTimeRel,
- actAs,
- readAs,
- submissionId,
- disclosedContracts,
- domainId,
- packageIdSelectionPreference,
- ) =>
- tracker.registerCommand(
- commandId,
- Option.when(submissionId.nonEmpty)(submissionId),
- applicationId,
- commands,
- actAs = allCommands.actAs.toSet,
- )(loggingContextWithTrace.traceContext)
- }
- .getOrElse(CommandResultHandle.NoOp)
-
- val result = Timed.timedAndTrackedFuture(
+ Timed.timedAndTrackedFuture(
metrics.commands.submissions,
metrics.commands.submissionsRunning,
Timed
@@ -127,7 +94,6 @@ final class ApiCommandSubmissionService(
commandSubmissionService.submit(_).map(_ => SubmitResponse()),
),
)
- resultHandle.extractFailure(result)
}
override def submitReassignment(
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/ApiPackageService.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/ApiPackageService.scala
index 8c2e52497d..0215ea85bc 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/ApiPackageService.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/ApiPackageService.scala
@@ -17,7 +17,7 @@ import com.daml.ledger.api.v2.package_service.{
PackageServiceGrpc,
PackageStatus,
}
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.daml.logging.LoggingContext
import com.daml.tracing.Telemetry
import com.digitalasset.canton.ledger.api.ValidationLogger
@@ -25,7 +25,7 @@ import com.digitalasset.canton.ledger.api.grpc.GrpcApiService
import com.digitalasset.canton.ledger.api.grpc.Logging.traceId
import com.digitalasset.canton.ledger.api.validation.ValidationErrors
import com.digitalasset.canton.ledger.error.groups.RequestValidationErrors
-import com.digitalasset.canton.ledger.participant.state.WriteService
+import com.digitalasset.canton.ledger.participant.state.ReadService
import com.digitalasset.canton.logging.LoggingContextUtil.createLoggingContext
import com.digitalasset.canton.logging.LoggingContextWithTrace.{
implicitExtractTraceContext,
@@ -43,7 +43,7 @@ import io.grpc.ServerServiceDefinition
import scala.concurrent.{ExecutionContext, Future}
private[apiserver] final class ApiPackageService(
- writeService: WriteService,
+ readService: ReadService,
telemetry: Telemetry,
val loggerFactory: NamedLoggerFactory,
)(implicit executionContext: ExecutionContext)
@@ -62,7 +62,7 @@ private[apiserver] final class ApiPackageService(
implicit val loggingContextWithTrace: LoggingContextWithTrace =
LoggingContextWithTrace(loggerFactory, telemetry)
logger.info(s"Received request to list packages: $request")
- writeService
+ readService
.listLfPackages()
.map(p => ListPackagesResponse(p.map(_.packageId.toString)))
.andThen(logger.logErrorsOnCall[ListPackagesResponse])
@@ -75,7 +75,7 @@ private[apiserver] final class ApiPackageService(
) { implicit loggingContext =>
logger.info(s"Received request for a package: $request")
withValidatedPackageId(request.packageId, request) { packageId =>
- writeService
+ readService
.getLfArchive(packageId)
.flatMap {
case None =>
@@ -103,7 +103,7 @@ private[apiserver] final class ApiPackageService(
Future {
val result =
if (
- writeService.getPackageMetadataSnapshot.packageIdVersionMap.keySet.contains(packageId)
+ readService.getPackageMetadataSnapshot.packageIdVersionMap.keySet.contains(packageId)
) {
PackageStatus.PACKAGE_STATUS_REGISTERED
} else {
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/ApiStateService.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/ApiStateService.scala
index 9d94199b0e..c71dca103e 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/ApiStateService.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/ApiStateService.scala
@@ -11,7 +11,7 @@ import com.digitalasset.canton.ledger.api.ValidationLogger
import com.digitalasset.canton.ledger.api.grpc.{GrpcApiService, StreamingServiceLifecycleManagement}
import com.digitalasset.canton.ledger.api.validation.{FieldValidator, TransactionFilterValidator}
import com.digitalasset.canton.ledger.error.groups.RequestValidationErrors
-import com.digitalasset.canton.ledger.participant.state.WriteService
+import com.digitalasset.canton.ledger.participant.state.ReadService
import com.digitalasset.canton.ledger.participant.state.index.{
IndexActiveContractsService as ACSBackend,
IndexTransactionsService,
@@ -35,7 +35,7 @@ import scala.concurrent.{ExecutionContext, Future}
final class ApiStateService(
acsService: ACSBackend,
- writeService: WriteService,
+ readService: ReadService,
txService: IndexTransactionsService,
metrics: LedgerApiServerMetrics,
telemetry: Telemetry,
@@ -109,8 +109,8 @@ final class ApiStateService(
.fold(
t => Future.failed(ValidationLogger.logFailureWithTrace(logger, request, t)),
party =>
- writeService
- .getConnectedDomains(WriteService.ConnectedDomainRequest(party))
+ readService
+ .getConnectedDomains(ReadService.ConnectedDomainRequest(party))
.map(response =>
GetConnectedDomainsResponse(
response.connectedDomains.flatMap { connectedDomain =>
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/ApiUpdateService.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/ApiUpdateService.scala
index eaadd989bd..64ad445a91 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/ApiUpdateService.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/ApiUpdateService.scala
@@ -5,7 +5,7 @@ package com.digitalasset.canton.platform.apiserver.services
import com.daml.grpc.adapter.ExecutionSequencerFactory
import com.daml.ledger.api.v2.update_service.*
-import com.daml.lf.ledger.EventId
+import com.digitalasset.daml.lf.ledger.EventId
import com.daml.logging.entries.LoggingEntries
import com.daml.tracing.Telemetry
import com.digitalasset.canton.ledger.api.ValidationLogger
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/ApiVersionService.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/ApiVersionService.scala
index 3cc0fc5d29..3f8ade117a 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/ApiVersionService.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/ApiVersionService.scala
@@ -73,8 +73,7 @@ private[apiserver] final class ApiVersionService(
),
experimental = Some(
ExperimentalFeatures.of(
- staticTime = Some(ExperimentalStaticTime(supported = ledgerFeatures.staticTime)),
- commandInspectionService = Some(ledgerFeatures.commandInspectionService),
+ staticTime = Some(ExperimentalStaticTime(supported = ledgerFeatures.staticTime))
)
),
)
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/RejectionGenerators.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/RejectionGenerators.scala
index f2ebe5d904..580fc24dc5 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/RejectionGenerators.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/RejectionGenerators.scala
@@ -4,10 +4,10 @@
package com.digitalasset.canton.platform.apiserver.services
import com.daml.error.{ContextualizedErrorLogger, DamlError}
-import com.daml.lf.data.Time
-import com.daml.lf.engine.Error.{Interpretation, Package, Preprocessing, Validation}
-import com.daml.lf.engine.Error as LfError
-import com.daml.lf.interpretation.Error as LfInterpretationError
+import com.digitalasset.daml.lf.data.Time
+import com.digitalasset.daml.lf.engine.Error.{Interpretation, Package, Preprocessing, Validation}
+import com.digitalasset.daml.lf.engine.Error as LfError
+import com.digitalasset.daml.lf.interpretation.Error as LfInterpretationError
import com.digitalasset.canton.ledger.error.LedgerApiErrors
import com.digitalasset.canton.ledger.error.groups.{
CommandExecutionErrors,
@@ -63,7 +63,7 @@ object RejectionGenerators {
}
def processDamlException(
- err: com.daml.lf.interpretation.Error,
+ err: com.digitalasset.daml.lf.interpretation.Error,
renderedMessage: String,
detailMessage: Option[String],
): DamlError = {
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/admin/ApiMeteringReportService.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/admin/ApiMeteringReportService.scala
index 441249acc6..eb614e7ac0 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/admin/ApiMeteringReportService.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/admin/ApiMeteringReportService.scala
@@ -6,9 +6,9 @@ package com.digitalasset.canton.platform.apiserver.services.admin
import com.daml.error.ContextualizedErrorLogger
import com.daml.ledger.api.v2.admin.metering_report_service.MeteringReportServiceGrpc.MeteringReportService
import com.daml.ledger.api.v2.admin.metering_report_service.*
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.ApplicationId
-import com.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.ApplicationId
+import com.digitalasset.daml.lf.data.Time.Timestamp
import com.daml.tracing.Telemetry
import com.digitalasset.canton.ledger.api.ValidationLogger
import com.digitalasset.canton.ledger.api.grpc.GrpcApiService
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/admin/ApiPackageManagementService.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/admin/ApiPackageManagementService.scala
index 3ec03fe048..49a3b4bda0 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/admin/ApiPackageManagementService.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/admin/ApiPackageManagementService.scala
@@ -6,12 +6,13 @@ package com.digitalasset.canton.platform.apiserver.services.admin
import com.daml.error.DamlError
import com.daml.ledger.api.v2.admin.package_management_service.PackageManagementServiceGrpc.PackageManagementService
import com.daml.ledger.api.v2.admin.package_management_service.*
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.daml.logging.LoggingContext
import com.daml.tracing.Telemetry
import com.digitalasset.canton.ledger.api.grpc.GrpcApiService
import com.digitalasset.canton.ledger.api.util.TimestampConversion
-import com.digitalasset.canton.ledger.participant.state.{SubmissionResult, WriteService}
+import com.digitalasset.canton.ledger.participant.state
+import com.digitalasset.canton.ledger.participant.state.{ReadService, SubmissionResult}
import com.digitalasset.canton.logging.LoggingContextUtil.createLoggingContext
import com.digitalasset.canton.logging.LoggingContextWithTrace.implicitExtractTraceContext
import com.digitalasset.canton.logging.TracedLoggerOps.TracedLoggerOps
@@ -23,7 +24,8 @@ import scala.concurrent.{ExecutionContext, Future}
import scala.util.Try
private[apiserver] final class ApiPackageManagementService private (
- writeService: WriteService,
+ readService: ReadService,
+ packagesWrite: state.WritePackagesService,
submissionIdGenerator: String => Ref.SubmissionId,
telemetry: Telemetry,
val loggerFactory: NamedLoggerFactory,
@@ -50,7 +52,7 @@ private[apiserver] final class ApiPackageManagementService private (
LoggingContextWithTrace(loggerFactory, telemetry)
logger.info("Listing known packages.")
- writeService
+ readService
.listLfPackages()
.map { pkgs =>
ListKnownPackagesResponse(pkgs.map { pkgDescription =>
@@ -70,7 +72,7 @@ private[apiserver] final class ApiPackageManagementService private (
logging.submissionId(submissionIdGenerator(request.submissionId))
) { implicit loggingContext: LoggingContextWithTrace =>
logger.info(s"Validating DAR file, ${loggingContext.serializeFiltered("submissionId")}.")
- writeService
+ readService
.validateDar(dar = request.darFile, darName = "defaultDarName")
.flatMap {
case SubmissionResult.Acknowledged => Future.successful(ValidateDarFileResponse())
@@ -86,7 +88,7 @@ private[apiserver] final class ApiPackageManagementService private (
) { implicit loggingContext: LoggingContextWithTrace =>
logger.info(s"Uploading DAR file, ${loggingContext.serializeFiltered("submissionId")}.")
- writeService
+ packagesWrite
.uploadDar(request.darFile, submissionId)
.flatMap {
case SubmissionResult.Acknowledged => Future.successful(UploadDarFileResponse())
@@ -100,14 +102,16 @@ private[apiserver] final class ApiPackageManagementService private (
private[apiserver] object ApiPackageManagementService {
def createApiService(
- writeService: WriteService,
+ readService: ReadService,
+ writeBackend: state.WritePackagesService,
telemetry: Telemetry,
loggerFactory: NamedLoggerFactory,
)(implicit
executionContext: ExecutionContext
): PackageManagementServiceGrpc.PackageManagementService & GrpcApiService =
new ApiPackageManagementService(
- writeService,
+ readService,
+ writeBackend,
augmentSubmissionId,
telemetry,
loggerFactory,
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/admin/ApiParticipantPruningService.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/admin/ApiParticipantPruningService.scala
index 1f4339bf10..e4f73dcdee 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/admin/ApiParticipantPruningService.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/admin/ApiParticipantPruningService.scala
@@ -9,7 +9,7 @@ import com.daml.ledger.api.v2.admin.participant_pruning_service.{
PruneRequest,
PruneResponse,
}
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.daml.metrics.Tracked
import com.daml.metrics.api.MetricsContext
import com.daml.scalautil.future.FutureConversion.CompletionStageConversionOps
@@ -20,7 +20,7 @@ import com.digitalasset.canton.ledger.api.grpc.GrpcApiService
import com.digitalasset.canton.ledger.api.validation.ValidationErrors.*
import com.digitalasset.canton.ledger.error.groups.RequestValidationErrors
import com.digitalasset.canton.ledger.participant.state
-import com.digitalasset.canton.ledger.participant.state.WriteService
+import com.digitalasset.canton.ledger.participant.state.ReadService
import com.digitalasset.canton.ledger.participant.state.index.{
IndexParticipantPruningService,
LedgerEndService,
@@ -50,7 +50,8 @@ import scala.concurrent.{ExecutionContext, Future}
final class ApiParticipantPruningService private (
readBackend: IndexParticipantPruningService with LedgerEndService,
- writeService: WriteService,
+ writeBackend: state.WriteParticipantPruningService,
+ readService: ReadService,
metrics: LedgerApiServerMetrics,
telemetry: Telemetry,
val loggerFactory: NamedLoggerFactory,
@@ -105,7 +106,7 @@ final class ApiParticipantPruningService private (
)(MetricsContext(("phase", "underlyingLedger")))
_ = logger.debug("Getting incomplete reassignments")
- incompletReassignmentOffsets <- writeService.incompleteReassignmentOffsets(
+ incompletReassignmentOffsets <- readService.incompleteReassignmentOffsets(
validAt = pruneUpTo,
stakeholders = Set.empty, // getting all incomplete reassignments
)
@@ -152,7 +153,7 @@ final class ApiParticipantPruningService private (
logger.info(
s"About to prune participant ledger up to ${pruneUpTo.toApiString} inclusively starting with the write service."
)
- writeService
+ writeBackend
.prune(pruneUpTo, submissionId, pruneAllDivulgedContracts)
.toScalaUnwrapped
.flatMap {
@@ -240,7 +241,8 @@ final class ApiParticipantPruningService private (
object ApiParticipantPruningService {
def createApiService(
readBackend: IndexParticipantPruningService with LedgerEndService,
- writeService: WriteService,
+ writeBackend: state.WriteParticipantPruningService,
+ readService: state.ReadService,
metrics: LedgerApiServerMetrics,
telemetry: Telemetry,
loggerFactory: NamedLoggerFactory,
@@ -249,7 +251,8 @@ object ApiParticipantPruningService {
): ParticipantPruningServiceGrpc.ParticipantPruningService with GrpcApiService =
new ApiParticipantPruningService(
readBackend,
- writeService,
+ writeBackend,
+ readService,
metrics,
telemetry,
loggerFactory,
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/admin/ApiPartyManagementService.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/admin/ApiPartyManagementService.scala
index 811a975c96..3ff26b80a8 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/admin/ApiPartyManagementService.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/admin/ApiPartyManagementService.scala
@@ -22,8 +22,8 @@ import com.daml.ledger.api.v2.admin.party_management_service.{
UpdatePartyIdentityProviderIdRequest,
UpdatePartyIdentityProviderIdResponse,
}
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.Party
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.Party
import com.daml.logging.LoggingContext
import com.daml.platform.v1.page_tokens.ListPartiesPageTokenPayload
import com.daml.scalautil.future.FutureConversion.CompletionStageConversionOps
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/admin/ApiUserManagementService.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/admin/ApiUserManagementService.scala
index 3190223dd7..9c9c4fd926 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/admin/ApiUserManagementService.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/admin/ApiUserManagementService.scala
@@ -13,7 +13,7 @@ import com.daml.ledger.api.v2.admin.user_management_service.{
UpdateUserResponse,
}
import com.daml.ledger.api.v2.admin.user_management_service as proto
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.daml.platform.v1.page_tokens.ListUsersPageTokenPayload
import com.daml.tracing.Telemetry
import com.digitalasset.canton.ledger.api.SubmissionIdGenerator
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/admin/PackageUpgradeValidator.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/admin/PackageUpgradeValidator.scala
index 33259a9fff..e8cb8079e5 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/admin/PackageUpgradeValidator.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/admin/PackageUpgradeValidator.scala
@@ -6,10 +6,10 @@ package com.digitalasset.canton.platform.apiserver.services.admin
import cats.data.EitherT
import com.daml.daml_lf_dev.DamlLf.Archive
import com.daml.error.DamlError
-import com.daml.lf.archive.Decode
-import com.daml.lf.data.Ref
-import com.daml.lf.language.Ast
-import com.daml.lf.validation.{TypecheckUpgrades, UpgradeError}
+import com.digitalasset.daml.lf.archive.Decode
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.language.Ast
+import com.digitalasset.daml.lf.validation.{TypecheckUpgrades, UpgradeError}
import com.daml.logging.entries.LoggingValue.OfString
import com.digitalasset.canton.ledger.error.PackageServiceErrors.{InternalError, Validation}
import com.digitalasset.canton.logging.LoggingContextWithTrace.implicitExtractTraceContext
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/admin/PartyRecordsExist.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/admin/PartyRecordsExist.scala
index 0bf27c1e2b..8095e2cc88 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/admin/PartyRecordsExist.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/admin/PartyRecordsExist.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.platform.apiserver.services.admin
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.ledger.api.domain.IdentityProviderId
import com.digitalasset.canton.ledger.localstore.api.PartyRecordStore
import com.digitalasset.canton.logging.LoggingContextWithTrace
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/admin/SynchronousResponse.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/admin/SynchronousResponse.scala
index 1fd91728bf..952ad38794 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/admin/SynchronousResponse.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/admin/SynchronousResponse.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.platform.apiserver.services.admin
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.ledger.api.domain.ParticipantOffset
import com.digitalasset.canton.ledger.error.CommonErrors
import com.digitalasset.canton.ledger.participant.state
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/admin/package.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/admin/package.scala
index 145e8228b3..56a6004cfc 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/admin/package.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/admin/package.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.platform.apiserver.services
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import java.util.UUID
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/command/CommandSubmissionServiceImpl.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/command/CommandSubmissionServiceImpl.scala
index 620a9da0fb..c64636e88e 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/command/CommandSubmissionServiceImpl.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/command/CommandSubmissionServiceImpl.scala
@@ -5,8 +5,8 @@ package com.digitalasset.canton.platform.apiserver.services.command
import com.daml.error.ContextualizedErrorLogger
import com.daml.error.ErrorCode.LoggedApiException
-import com.daml.lf.command.ApiCommand
-import com.daml.lf.crypto
+import com.digitalasset.daml.lf.command.ApiCommand
+import com.digitalasset.daml.lf.crypto
import com.daml.scalautil.future.FutureConversion.CompletionStageConversionOps
import com.daml.timer.Delayed
import com.daml.tracing.Telemetry
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/logging/package.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/logging/package.scala
index cf80b00280..5dba1fcc53 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/logging/package.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/services/logging/package.scala
@@ -3,10 +3,10 @@
package com.digitalasset.canton.platform.apiserver.services
-import com.daml.lf.data.Ref.{Identifier, Party}
-import com.daml.lf.data.logging.*
-import com.daml.lf.value.Value
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.data.Ref.{Identifier, Party}
+import com.digitalasset.daml.lf.data.logging.*
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value.ContractId
import com.daml.logging.entries.LoggingValue.OfString
import com.daml.logging.entries.ToLoggingKey.*
import com.daml.logging.entries.{LoggingEntries, LoggingEntry, LoggingKey, LoggingValue}
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/update/UserUpdateMapper.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/update/UserUpdateMapper.scala
index 7d929a9dc2..1722e1953c 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/update/UserUpdateMapper.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/apiserver/update/UserUpdateMapper.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.platform.apiserver.update
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.ledger.api.domain
import com.digitalasset.canton.ledger.api.domain.User
import com.digitalasset.canton.ledger.localstore.api.{ObjectMetaUpdate, UserUpdate}
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/index/ContractStoreBasedMaximumLedgerTimeService.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/index/ContractStoreBasedMaximumLedgerTimeService.scala
index 51890dc0bf..60ea5b8321 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/index/ContractStoreBasedMaximumLedgerTimeService.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/index/ContractStoreBasedMaximumLedgerTimeService.scala
@@ -3,9 +3,9 @@
package com.digitalasset.canton.platform.index
-import com.daml.lf.data.Time.Timestamp
-import com.daml.lf.value.Value
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value.ContractId
import com.digitalasset.canton.concurrent.DirectExecutionContext
import com.digitalasset.canton.ledger.participant.state.index.{
ContractState,
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/index/InMemoryStateUpdater.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/index/InMemoryStateUpdater.scala
index 4f8f69f1a5..779c613729 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/index/InMemoryStateUpdater.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/index/InMemoryStateUpdater.scala
@@ -7,18 +7,17 @@ import cats.data.NonEmptyVector
import cats.implicits.toBifunctorOps
import com.daml.executors.InstrumentedExecutors
import com.daml.ledger.resources.ResourceOwner
-import com.daml.lf.data.Ref.HexString
-import com.daml.lf.engine.Blinding
-import com.daml.lf.ledger.EventId
-import com.daml.lf.transaction.Node.{Create, Exercise}
-import com.daml.lf.transaction.NodeId
+import com.digitalasset.daml.lf.data.Ref.HexString
+import com.digitalasset.daml.lf.engine.Blinding
+import com.digitalasset.daml.lf.ledger.EventId
+import com.digitalasset.daml.lf.transaction.Node.{Create, Exercise}
+import com.digitalasset.daml.lf.transaction.NodeId
import com.daml.timer.FutureCheck.*
import com.digitalasset.canton.data.DeduplicationPeriod.{DeduplicationDuration, DeduplicationOffset}
import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.ledger.participant.state.{CompletionInfo, Reassignment, Update}
import com.digitalasset.canton.logging.{NamedLoggerFactory, TracedLogger}
import com.digitalasset.canton.metrics.LedgerApiServerMetrics
-import com.digitalasset.canton.platform.apiserver.execution.CommandProgressTracker
import com.digitalasset.canton.platform.apiserver.services.tracking.SubmissionTracker
import com.digitalasset.canton.platform.index.InMemoryStateUpdater.{PrepareResult, UpdaterFlow}
import com.digitalasset.canton.platform.indexer.TransactionTraversalUtils
@@ -148,8 +147,6 @@ private[platform] object InMemoryStateUpdater {
)
// must be after LedgerEnd update because this could trigger API actions relating to this LedgerEnd
trackSubmissions(inMemoryState.submissionTracker, result.updates)
- // can be done at any point in the pipeline, it is for debugging only
- trackCommandProgress(inMemoryState.commandProgressTracker, result.updates)
}
private def trackSubmissions(
@@ -172,17 +169,11 @@ private[platform] object InMemoryStateUpdater {
)
) =>
completionDetails.completionStreamResponse -> completionDetails.submitters
- case Traced(TransactionLogUpdate.TransactionRejected(_, completionDetails)) =>
- completionDetails.completionStreamResponse -> completionDetails.submitters
+ case Traced(rejected: TransactionLogUpdate.TransactionRejected) =>
+ rejected.completionDetails.completionStreamResponse -> rejected.completionDetails.submitters
}
.foreach(submissionTracker.onCompletion)
- private def trackCommandProgress(
- commandProgressTracker: CommandProgressTracker,
- updates: Vector[Traced[TransactionLogUpdate]],
- ): Unit =
- updates.view.foreach(commandProgressTracker.processLedgerUpdate)
-
private def updateCaches(
inMemoryState: InMemoryState,
updates: Vector[Traced[TransactionLogUpdate]],
@@ -287,13 +278,13 @@ private[platform] object InMemoryStateUpdater {
commandId = txAccepted.completionInfoO.map(_.commandId).getOrElse(""),
workflowId = txAccepted.transactionMeta.workflowId.getOrElse(""),
contractKey =
- create.keyOpt.map(k => com.daml.lf.transaction.Versioned(create.version, k.value)),
+ create.keyOpt.map(k => com.digitalasset.daml.lf.transaction.Versioned(create.version, k.value)),
treeEventWitnesses = blinding.disclosure.getOrElse(nodeId, Set.empty),
flatEventWitnesses = create.stakeholders,
submitters = txAccepted.completionInfoO
.map(_.actAs.toSet)
.getOrElse(Set.empty),
- createArgument = com.daml.lf.transaction.Versioned(create.version, create.arg),
+ createArgument = com.digitalasset.daml.lf.transaction.Versioned(create.version, create.arg),
createSignatories = create.signatories,
createObservers = create.stakeholders.diff(create.signatories),
createKeyHash = create.keyOpt.map(_.globalKey.hash),
@@ -315,7 +306,7 @@ private[platform] object InMemoryStateUpdater {
commandId = txAccepted.completionInfoO.map(_.commandId).getOrElse(""),
workflowId = txAccepted.transactionMeta.workflowId.getOrElse(""),
contractKey =
- exercise.keyOpt.map(k => com.daml.lf.transaction.Versioned(exercise.version, k.value)),
+ exercise.keyOpt.map(k => com.digitalasset.daml.lf.transaction.Versioned(exercise.version, k.value)),
treeEventWitnesses = blinding.disclosure.getOrElse(nodeId, Set.empty),
flatEventWitnesses = if (exercise.consuming) exercise.stakeholders else Set.empty,
submitters = txAccepted.completionInfoO
@@ -456,13 +447,13 @@ private[platform] object InMemoryStateUpdater {
commandId = u.optCompletionInfo.map(_.commandId).getOrElse(""),
workflowId = u.workflowId.getOrElse(""),
contractKey =
- create.keyOpt.map(k => com.daml.lf.transaction.Versioned(create.version, k.value)),
+ create.keyOpt.map(k => com.digitalasset.daml.lf.transaction.Versioned(create.version, k.value)),
treeEventWitnesses = Set.empty,
flatEventWitnesses = u.reassignmentInfo.hostedStakeholders.toSet,
submitters = u.optCompletionInfo
.map(_.actAs.toSet)
.getOrElse(Set.empty),
- createArgument = com.daml.lf.transaction.Versioned(create.version, create.arg),
+ createArgument = com.digitalasset.daml.lf.transaction.Versioned(create.version, create.arg),
createSignatories = create.signatories,
createObservers = create.stakeholders.diff(create.signatories),
createKeyHash = create.keyOpt.map(_.globalKey.hash),
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/index/IndexServiceImpl.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/index/IndexServiceImpl.scala
index 1961a36eb7..3987a4541f 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/index/IndexServiceImpl.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/index/IndexServiceImpl.scala
@@ -13,11 +13,11 @@ import com.daml.ledger.api.v2.update_service.{
GetUpdateTreesResponse,
GetUpdatesResponse,
}
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.{ApplicationId, Identifier, PackageRef, TypeConRef}
-import com.daml.lf.data.Time.Timestamp
-import com.daml.lf.transaction.GlobalKey
-import com.daml.lf.value.Value.{ContractId, VersionedContractInstance}
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.{ApplicationId, Identifier, PackageRef, TypeConRef}
+import com.digitalasset.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.transaction.GlobalKey
+import com.digitalasset.daml.lf.value.Value.{ContractId, VersionedContractInstance}
import com.daml.metrics.InstrumentedGraph.*
import com.daml.tracing.{Event, SpanAttribute, Spans}
import com.digitalasset.canton.concurrent.DirectExecutionContext
@@ -321,7 +321,7 @@ private[index] class IndexServiceImpl(
// TODO(i16065): Re-enable getEventsByContractKey tests
// override def getEventsByContractKey(
-// contractKey: com.daml.lf.value.Value,
+// contractKey: com.digitalasset.daml.lf.value.Value,
// templateId: Ref.Identifier,
// requestingParties: Set[Ref.Party],
// endExclusiveSeqId: Option[Long],
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/index/IndexServiceOwner.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/index/IndexServiceOwner.scala
index f5333886c7..b67fb6814a 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/index/IndexServiceOwner.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/index/IndexServiceOwner.scala
@@ -6,8 +6,8 @@ package com.digitalasset.canton.platform.index
import com.daml.error.ContextualizedErrorLogger
import com.daml.executors.InstrumentedExecutors
import com.daml.ledger.resources.{Resource, ResourceContext, ResourceOwner}
-import com.daml.lf.data.Ref
-import com.daml.lf.engine.Engine
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.engine.Engine
import com.daml.resources.ProgramResource.StartupException
import com.daml.timer.RetryStrategy
import com.digitalasset.canton.data.Offset
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/indexer/IndexerServiceOwner.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/indexer/IndexerServiceOwner.scala
index dd8436038d..8d1e8c979b 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/indexer/IndexerServiceOwner.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/indexer/IndexerServiceOwner.scala
@@ -4,7 +4,7 @@
package com.digitalasset.canton.platform.indexer
import com.daml.ledger.resources.{Resource, ResourceContext, ResourceOwner}
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.ledger.api.health.ReportsHealth
import com.digitalasset.canton.ledger.participant.state.ReadService
import com.digitalasset.canton.logging.{NamedLoggerFactory, NamedLogging}
@@ -48,7 +48,7 @@ final class IndexerServiceOwner(
new FlywayMigrations(
participantDataSourceConfig.jdbcUrl,
loggerFactory,
- )(executionContext, traceContext)
+ )
val indexerFactory = new JdbcIndexer.Factory(
participantId,
participantDataSourceConfig,
@@ -104,7 +104,7 @@ object IndexerServiceOwner {
def migrateOnly(
jdbcUrl: String,
loggerFactory: NamedLoggerFactory,
- )(implicit ec: ExecutionContext, traceContext: TraceContext): Future[Unit] = {
+ )(implicit rc: ResourceContext, traceContext: TraceContext): Future[Unit] = {
val flywayMigrations =
new FlywayMigrations(jdbcUrl, loggerFactory)
flywayMigrations.migrate()
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/indexer/JdbcIndexer.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/indexer/JdbcIndexer.scala
index 5f74946e8f..ad6b00a576 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/indexer/JdbcIndexer.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/indexer/JdbcIndexer.scala
@@ -4,7 +4,7 @@
package com.digitalasset.canton.platform.indexer
import com.daml.ledger.resources.ResourceOwner
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.ledger.participant.state
import com.digitalasset.canton.logging.{LoggingContextWithTrace, NamedLoggerFactory, TracedLogger}
import com.digitalasset.canton.metrics.LedgerApiServerMetrics
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/indexer/MeteringAggregator.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/indexer/MeteringAggregator.scala
index a8b73d48b2..5ffeb96fb9 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/indexer/MeteringAggregator.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/indexer/MeteringAggregator.scala
@@ -4,7 +4,7 @@
package com.digitalasset.canton.platform.indexer
import com.daml.ledger.resources.ResourceOwner
-import com.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.data.Time.Timestamp
import com.daml.logging.LoggingContext
import com.digitalasset.canton.concurrent.DirectExecutionContext
import com.digitalasset.canton.data.Offset
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/indexer/TransactionTraversalUtils.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/indexer/TransactionTraversalUtils.scala
index cd8ba7c0d3..520b4c1c6a 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/indexer/TransactionTraversalUtils.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/indexer/TransactionTraversalUtils.scala
@@ -3,8 +3,8 @@
package com.digitalasset.canton.platform.indexer
-import com.daml.lf.transaction.Transaction.ChildrenRecursion
-import com.daml.lf.transaction.{Node, NodeId, Transaction}
+import com.digitalasset.daml.lf.transaction.Transaction.ChildrenRecursion
+import com.digitalasset.daml.lf.transaction.{Node, NodeId, Transaction}
object TransactionTraversalUtils {
def preorderTraversalForIngestion(transaction: Transaction): Iterator[(NodeId, Node)] =
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/indexer/parallel/BatchingParallelIngestionPipe.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/indexer/parallel/BatchingParallelIngestionPipe.scala
index 723c2df79f..d653a060d8 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/indexer/parallel/BatchingParallelIngestionPipe.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/indexer/parallel/BatchingParallelIngestionPipe.scala
@@ -3,9 +3,9 @@
package com.digitalasset.canton.platform.indexer.parallel
-import com.digitalasset.canton.util.BatchN
+import com.digitalasset.canton.util.PekkoUtil.syntax.*
import org.apache.pekko.NotUsed
-import org.apache.pekko.stream.scaladsl.Flow
+import org.apache.pekko.stream.scaladsl.Source
import scala.concurrent.Future
@@ -23,11 +23,11 @@ object BatchingParallelIngestionPipe {
ingester: DB_BATCH => Future[DB_BATCH],
maxTailerBatchSize: Int,
ingestTail: Vector[DB_BATCH] => Future[Vector[DB_BATCH]],
- ): Flow[IN, DB_BATCH, NotUsed] = {
+ )(source: Source[IN, NotUsed]): Source[DB_BATCH, NotUsed] =
// Stage 1: the stream coming from ReadService, involves deserialization and translation to Update-s
- Flow[IN]
+ source
// Stage 2: Batching plus mapping to Database DTOs encapsulates all the CPU intensive computation of the ingestion. Executed in parallel.
- .via(BatchN(submissionBatchSize.toInt, inputMappingParallelism))
+ .batchN(submissionBatchSize.toInt, inputMappingParallelism)
.mapAsync(inputMappingParallelism)(inputMapper)
// Stage 3: Encapsulates sequential/stateful computation (generation of sequential IDs for events)
.scan(seqMapperZero)(seqMapper)
@@ -43,5 +43,4 @@ object BatchingParallelIngestionPipe {
// Stage 7: Updating ledger-end and related data in database (this stage completion demarcates the consistent point-in-time)
.mapAsync(1)(ingestTail)
.mapConcat(identity)
- }
}
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/indexer/parallel/InitializeParallelIngestion.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/indexer/parallel/InitializeParallelIngestion.scala
index e01c8dff1e..26a180ebe7 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/indexer/parallel/InitializeParallelIngestion.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/indexer/parallel/InitializeParallelIngestion.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.platform.indexer.parallel
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.ledger.api.domain
import com.digitalasset.canton.ledger.participant.state.{ReadService, Update}
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/indexer/parallel/ParallelIndexerSubscription.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/indexer/parallel/ParallelIndexerSubscription.scala
index 7ee72eb20b..dbd74ecdf8 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/indexer/parallel/ParallelIndexerSubscription.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/indexer/parallel/ParallelIndexerSubscription.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.platform.indexer.parallel
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.daml.metrics.InstrumentedGraph.*
import com.daml.metrics.Timed
import com.daml.metrics.api.MetricsContext
@@ -73,53 +73,52 @@ private[platform] final case class ParallelIndexerSubscription[DB_BATCH](
)(implicit traceContext: TraceContext): InitializeParallelIngestion.Initialized => Handle = {
initialized =>
import MetricsContext.Implicits.empty
- val (killSwitch, completionFuture) = initialized.readServiceSource
- .buffered(metrics.parallelIndexer.inputBufferLength, maxInputBufferSize)
- .via(
- BatchingParallelIngestionPipe(
- submissionBatchSize = submissionBatchSize,
- inputMappingParallelism = inputMappingParallelism,
- inputMapper = inputMapperExecutor.execute(
- inputMapper(
- metrics,
- mapInSpan(
- UpdateToDbDto(
- participantId = participantId,
- translation = translation,
- compressionStrategy = compressionStrategy,
- metrics = metrics,
- )
- ),
- UpdateToMeteringDbDto(metrics = metrics.indexerEvents),
- logger,
+ val (killSwitch, completionFuture) = BatchingParallelIngestionPipe(
+ submissionBatchSize = submissionBatchSize,
+ inputMappingParallelism = inputMappingParallelism,
+ inputMapper = inputMapperExecutor.execute(
+ inputMapper(
+ metrics,
+ mapInSpan(
+ UpdateToDbDto(
+ participantId = participantId,
+ translation = translation,
+ compressionStrategy = compressionStrategy,
+ metrics = metrics,
)
),
- seqMapperZero =
- seqMapperZero(initialized.initialEventSeqId, initialized.initialStringInterningId),
- seqMapper = seqMapper(
- dtos => stringInterningView.internize(DbDtoToStringsForInterning(dtos)),
- metrics,
- ),
- batchingParallelism = batchingParallelism,
- batcher = batcherExecutor.execute(
- batcher(ingestionStorageBackend.batch(_, stringInterningView))
- ),
- ingestingParallelism = ingestionParallelism,
- ingester = ingester(
- ingestFunction = ingestionStorageBackend.insertBatch,
- zeroDbBatch = ingestionStorageBackend.batch(Vector.empty, stringInterningView),
- dbDispatcher = dbDispatcher,
- metrics = metrics,
- ),
- maxTailerBatchSize = maxTailerBatchSize,
- ingestTail = ingestTail[DB_BATCH](
- parameterStorageBackend.updateLedgerEnd,
- dbDispatcher,
- metrics,
- logger,
- ),
+ UpdateToMeteringDbDto(metrics = metrics.indexerEvents),
+ logger,
)
- )
+ ),
+ seqMapperZero =
+ seqMapperZero(initialized.initialEventSeqId, initialized.initialStringInterningId),
+ seqMapper = seqMapper(
+ dtos => stringInterningView.internize(DbDtoToStringsForInterning(dtos)),
+ metrics,
+ ),
+ batchingParallelism = batchingParallelism,
+ batcher = batcherExecutor.execute(
+ batcher(ingestionStorageBackend.batch(_, stringInterningView))
+ ),
+ ingestingParallelism = ingestionParallelism,
+ ingester = ingester(
+ ingestFunction = ingestionStorageBackend.insertBatch,
+ zeroDbBatch = ingestionStorageBackend.batch(Vector.empty, stringInterningView),
+ dbDispatcher = dbDispatcher,
+ metrics = metrics,
+ ),
+ maxTailerBatchSize = maxTailerBatchSize,
+ ingestTail = ingestTail[DB_BATCH](
+ parameterStorageBackend.updateLedgerEnd,
+ dbDispatcher,
+ metrics,
+ logger,
+ ),
+ )(
+ initialized.readServiceSource
+ .buffered(metrics.parallelIndexer.inputBufferLength, maxInputBufferSize)
+ )
.map(batch => batch.offsetsUpdates -> batch.lastSeqEventId)
.buffered(
counter = metrics.parallelIndexer.outputBatchedBufferLength,
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/package.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/package.scala
index ee98b95355..17543a2017 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/package.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/package.scala
@@ -3,22 +3,21 @@
package com.digitalasset.canton
-import com.daml.ledger.resources.{ResourceContext, ResourceOwner}
+import com.daml.ledger.resources.ResourceOwner
import com.digitalasset.canton.data.Offset
-import com.digitalasset.canton.tracing.TraceContext
-import scala.concurrent.{ExecutionContext, Future}
+import scala.concurrent.Future
/** Type aliases used throughout the package */
package object platform {
- import com.daml.lf.value.{Value as lfval}
+ import com.digitalasset.daml.lf.value.{Value as lfval}
private[platform] type ContractId = lfval.ContractId
- private[platform] val ContractId = com.daml.lf.value.Value.ContractId
+ private[platform] val ContractId = com.digitalasset.daml.lf.value.Value.ContractId
private[platform] type Value = lfval.VersionedValue
private[platform] type Contract = lfval.VersionedContractInstance
private[platform] val Contract = lfval.VersionedContractInstance
- import com.daml.lf.{transaction as lftx}
+ import com.digitalasset.daml.lf.{transaction as lftx}
private[platform] type NodeId = lftx.NodeId
private[platform] type Node = lftx.Node
private[platform] type Create = lftx.Node.Create
@@ -26,7 +25,7 @@ package object platform {
private[platform] type Key = lftx.GlobalKey
private[platform] val Key = lftx.GlobalKey
- import com.daml.lf.{data as lfdata}
+ import com.digitalasset.daml.lf.{data as lfdata}
private[platform] type Party = lfdata.Ref.Party
private[platform] val Party = lfdata.Ref.Party
private[platform] type Identifier = lfdata.Ref.Identifier
@@ -63,7 +62,7 @@ package object platform {
private[platform] type FilterRelation = Relation[lfdata.Ref.Identifier, Party]
- import com.daml.lf.crypto
+ import com.digitalasset.daml.lf.crypto
private[platform] type Hash = crypto.Hash
private[platform] type PruneBuffers = Offset => Unit
@@ -78,17 +77,4 @@ package object platform {
t <- resourceOwner
} yield t
}
-
- implicit class ResourceOwnerFlagCloseableOps[T <: ResourceCloseable](
- val resourceOwner: ResourceOwner[T]
- ) extends AnyVal {
- def acquireFlagCloseable(
- name: String
- )(implicit executionContext: ExecutionContext, traceContext: TraceContext): Future[T] = {
- val resource = resourceOwner.acquire()(ResourceContext(executionContext))
- resource.asFuture.map(
- _.registerResource(resource, name)
- )
- }
- }
}
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/packages/DeduplicatingPackageLoader.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/packages/DeduplicatingPackageLoader.scala
index eced5e2a52..609ba794a7 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/packages/DeduplicatingPackageLoader.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/packages/DeduplicatingPackageLoader.scala
@@ -4,10 +4,10 @@
package com.digitalasset.canton.platform.packages
import com.daml.daml_lf_dev.DamlLf
-import com.daml.lf.archive.Decode
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.PackageId
-import com.daml.lf.language.Ast.Package
+import com.digitalasset.daml.lf.archive.Decode
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.language.Ast.Package
import com.daml.metrics.Timed
import com.daml.metrics.api.MetricHandle.Timer
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/CompletionFromTransaction.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/CompletionFromTransaction.scala
index 3b46ec8f40..e18f45dd6b 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/CompletionFromTransaction.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/CompletionFromTransaction.scala
@@ -7,7 +7,7 @@ import com.daml.ledger.api.v2.checkpoint.Checkpoint
import com.daml.ledger.api.v2.command_completion_service.CompletionStreamResponse
import com.daml.ledger.api.v2.completion.Completion
import com.daml.ledger.api.v2.participant_offset.ParticipantOffset
-import com.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.data.Time.Timestamp
import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.ledger.api.util.TimestampConversion.fromInstant
import com.digitalasset.canton.platform.ApiOffset.ApiOffsetConverter
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/FlywayMigrations.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/FlywayMigrations.scala
index 6ee5726eea..b2c5179e0d 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/FlywayMigrations.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/FlywayMigrations.scala
@@ -3,6 +3,7 @@
package com.digitalasset.canton.platform.store
+import com.daml.ledger.resources.ResourceContext
import com.digitalasset.canton.logging.{NamedLoggerFactory, NamedLogging}
import com.digitalasset.canton.platform.store.FlywayMigrations.*
import com.digitalasset.canton.platform.store.backend.VerifiedDataSource
@@ -17,9 +18,10 @@ import scala.concurrent.{ExecutionContext, Future}
class FlywayMigrations(
jdbcUrl: String,
val loggerFactory: NamedLoggerFactory,
-)(implicit ec: ExecutionContext, traceContext: TraceContext)
+)(implicit resourceContext: ResourceContext, traceContext: TraceContext)
extends NamedLogging {
private val dbType = DbType.jdbcType(jdbcUrl)
+ implicit private val ec: ExecutionContext = resourceContext.executionContext
private def runF[T](t: FluentConfiguration => Future[T]): Future[T] =
VerifiedDataSource(jdbcUrl, loggerFactory).flatMap(dataSource =>
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/Conversions.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/Conversions.scala
index 891cfa61da..6b510a2101 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/Conversions.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/Conversions.scala
@@ -5,11 +5,11 @@ package com.digitalasset.canton.platform.store.backend
import anorm.Column.nonNull
import anorm.*
-import com.daml.lf.crypto.Hash
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Time.Timestamp
-import com.daml.lf.ledger.EventId
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.crypto.Hash
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.ledger.EventId
+import com.digitalasset.daml.lf.value.Value
import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.topology.DomainId
import com.digitalasset.canton.tracing.{SerializableTraceContext, TraceContext}
@@ -230,8 +230,8 @@ private[backend] object Conversions {
s.setLong(index, v.micros)
}
- def timestampFromMicros(name: String): RowParser[com.daml.lf.data.Time.Timestamp] =
- SqlParser.get[Long](name).map(com.daml.lf.data.Time.Timestamp.assertFromLong)
+ def timestampFromMicros(name: String): RowParser[com.digitalasset.daml.lf.data.Time.Timestamp] =
+ SqlParser.get[Long](name).map(com.digitalasset.daml.lf.data.Time.Timestamp.assertFromLong)
// Hash
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/StorageBackend.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/StorageBackend.scala
index 2bb3dd9dd9..5a6a0e1e31 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/StorageBackend.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/StorageBackend.scala
@@ -4,9 +4,9 @@
package com.digitalasset.canton.platform.store.backend
import com.daml.ledger.api.v2.command_completion_service.CompletionStreamResponse
-import com.daml.lf.crypto.Hash
-import com.daml.lf.data.Ref.PackageVersion
-import com.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.crypto.Hash
+import com.digitalasset.daml.lf.data.Ref.PackageVersion
+import com.digitalasset.daml.lf.data.Time.Timestamp
import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.ledger.api.domain.ParticipantId
import com.digitalasset.canton.ledger.participant.state.index.IndexerPartyDetails
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/UpdateToDbDto.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/UpdateToDbDto.scala
index 3c516db6c4..c154690ba2 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/UpdateToDbDto.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/UpdateToDbDto.scala
@@ -3,9 +3,9 @@
package com.digitalasset.canton.platform.store.backend
-import com.daml.lf.data.{Ref, Time}
-import com.daml.lf.engine.Blinding
-import com.daml.lf.ledger.EventId
+import com.digitalasset.daml.lf.data.{Ref, Time}
+import com.digitalasset.daml.lf.engine.Blinding
+import com.digitalasset.daml.lf.ledger.EventId
import com.daml.metrics.api.MetricsContext
import com.daml.metrics.api.MetricsContext.{withExtraMetricLabels, withOptionalMetricLabels}
import com.daml.platform.v1.index.StatusDetails
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/UpdateToMeteringDbDto.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/UpdateToMeteringDbDto.scala
index c4074a6544..df5ea74e94 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/UpdateToMeteringDbDto.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/UpdateToMeteringDbDto.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.platform.store.backend
-import com.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.data.Time.Timestamp
import com.daml.metrics.api.MetricsContext
import com.daml.metrics.api.MetricsContext.withExtraMetricLabels
import com.digitalasset.canton.data.Offset
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/common/CommonStorageBackendFactory.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/common/CommonStorageBackendFactory.scala
index 050f68e3fa..59c6a791ee 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/common/CommonStorageBackendFactory.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/common/CommonStorageBackendFactory.scala
@@ -16,6 +16,9 @@ import com.digitalasset.canton.platform.store.cache.LedgerEndCache
trait CommonStorageBackendFactory extends StorageBackendFactory {
+ override val createParameterStorageBackend: ParameterStorageBackend =
+ ParameterStorageBackendImpl
+
override val createMeteringParameterStorageBackend: MeteringParameterStorageBackend =
MeteringParameterStorageBackendImpl
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/common/CompletionStorageBackendTemplate.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/common/CompletionStorageBackendTemplate.scala
index 1888c33435..55903bc3f1 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/common/CompletionStorageBackendTemplate.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/common/CompletionStorageBackendTemplate.scala
@@ -6,7 +6,7 @@ package com.digitalasset.canton.platform.store.backend.common
import anorm.SqlParser.*
import anorm.{Row, RowParser, SimpleSql, ~}
import com.daml.ledger.api.v2.command_completion_service.CompletionStreamResponse
-import com.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.data.Time.Timestamp
import com.daml.platform.v1.index.StatusDetails
import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.logging.{NamedLoggerFactory, NamedLogging}
@@ -43,7 +43,7 @@ class CompletionStorageBackendTemplate(
)(connection: Connection): Vector[CompletionStreamResponse] = {
import ComposableQuery.*
import com.digitalasset.canton.platform.store.backend.Conversions.applicationIdToStatement
- import com.digitalasset.canton.platform.store.backend.common.SimpleSqlExtensions.*
+ import com.digitalasset.canton.platform.store.backend.common.SimpleSqlAsVectorOf.*
val internedParties =
parties.view.map(stringInterning.party.tryInternalize).flatMap(_.toList).toSet
if (internedParties.isEmpty) {
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/common/EventReaderQueries.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/common/EventReaderQueries.scala
index 3b7e1459a2..73e6f93c8a 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/common/EventReaderQueries.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/common/EventReaderQueries.scala
@@ -4,11 +4,11 @@
package com.digitalasset.canton.platform.store.backend.common
import anorm.RowParser
-import com.daml.lf.data.Ref.Party
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.data.Ref.Party
+import com.digitalasset.daml.lf.value.Value.ContractId
import com.digitalasset.canton.platform.store.backend.EventStorageBackend
import com.digitalasset.canton.platform.store.backend.common.ComposableQuery.SqlStringInterpolation
-import com.digitalasset.canton.platform.store.backend.common.SimpleSqlExtensions.*
+import com.digitalasset.canton.platform.store.backend.common.SimpleSqlAsVectorOf.*
import com.digitalasset.canton.platform.store.dao.events.Raw
import com.digitalasset.canton.platform.store.dao.events.Raw.FlatEvent
import com.digitalasset.canton.platform.store.interning.StringInterning
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/common/EventStorageBackendTemplate.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/common/EventStorageBackendTemplate.scala
index f65482fc06..09d1994f32 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/common/EventStorageBackendTemplate.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/common/EventStorageBackendTemplate.scala
@@ -5,9 +5,9 @@ package com.digitalasset.canton.platform.store.backend.common
import anorm.SqlParser.*
import anorm.{Row, RowParser, SimpleSql, ~}
-import com.daml.lf.crypto.Hash
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.crypto.Hash
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Time.Timestamp
import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.logging.{NamedLoggerFactory, NamedLogging}
import com.digitalasset.canton.platform.store.backend.Conversions.{
@@ -20,7 +20,7 @@ import com.digitalasset.canton.platform.store.backend.common.ComposableQuery.{
CompositeSql,
SqlStringInterpolation,
}
-import com.digitalasset.canton.platform.store.backend.common.SimpleSqlExtensions.*
+import com.digitalasset.canton.platform.store.backend.common.SimpleSqlAsVectorOf.*
import com.digitalasset.canton.platform.store.cache.LedgerEndCache
import com.digitalasset.canton.platform.store.dao.events.Raw
import com.digitalasset.canton.platform.store.interning.StringInterning
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/common/MeteringStorageBackendImpl.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/common/MeteringStorageBackendImpl.scala
index 86c5ba6e33..e2427365fd 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/common/MeteringStorageBackendImpl.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/common/MeteringStorageBackendImpl.scala
@@ -5,8 +5,8 @@ package com.digitalasset.canton.platform.store.backend.common
import anorm.SqlParser.{int, long}
import anorm.{ParameterMetaData, RowParser, ToStatement, ~}
-import com.daml.lf.data.Time
-import com.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.data.Time
+import com.digitalasset.daml.lf.data.Time.Timestamp
import com.daml.scalautil.Statement.discard
import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.discard.Implicits.DiscardOps
@@ -26,7 +26,7 @@ import com.digitalasset.canton.platform.store.backend.common.ComposableQuery.{
}
import com.digitalasset.canton.platform.store.backend.common.MeteringParameterStorageBackendImpl.assertLedgerMeteringEnd
import com.digitalasset.canton.platform.store.backend.common.MeteringStorageBackendImpl.*
-import com.digitalasset.canton.platform.store.backend.common.SimpleSqlExtensions.*
+import com.digitalasset.canton.platform.store.backend.common.SimpleSqlAsVectorOf.*
import com.digitalasset.canton.platform.store.backend.{
Conversions,
MeteringStorageReadBackend,
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/common/ParameterStorageBackendImpl.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/common/ParameterStorageBackendImpl.scala
index 10ec6cd2f5..6be62ab607 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/common/ParameterStorageBackendImpl.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/common/ParameterStorageBackendImpl.scala
@@ -17,14 +17,12 @@ import scalaz.syntax.tag.*
import java.sql.Connection
-private[backend] class ParameterStorageBackendImpl(queryStrategy: QueryStrategy)
- extends ParameterStorageBackend {
+private[backend] object ParameterStorageBackendImpl extends ParameterStorageBackend {
override def updateLedgerEnd(
ledgerEnd: ParameterStorageBackend.LedgerEnd
)(connection: Connection): Unit = {
import Conversions.OffsetToStatement
- queryStrategy.forceSynchronousCommitForCurrentTransactionForPostgreSQL(connection)
discard(
SQL"""
UPDATE
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/common/PartyStorageBackendTemplate.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/common/PartyStorageBackendTemplate.scala
index 49083232a1..b3a93f0acf 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/common/PartyStorageBackendTemplate.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/common/PartyStorageBackendTemplate.scala
@@ -16,7 +16,7 @@ import com.digitalasset.canton.platform.store.backend.Conversions.{
}
import com.digitalasset.canton.platform.store.backend.PartyStorageBackend
import com.digitalasset.canton.platform.store.backend.common.ComposableQuery.SqlStringInterpolation
-import com.digitalasset.canton.platform.store.backend.common.SimpleSqlExtensions.*
+import com.digitalasset.canton.platform.store.backend.common.SimpleSqlAsVectorOf.*
import com.digitalasset.canton.platform.store.cache.LedgerEndCache
import com.digitalasset.canton.platform.store.dao.JdbcLedgerDao.{acceptType, rejectType}
import com.digitalasset.canton.platform.store.entries.PartyLedgerEntry
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/common/QueryStrategy.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/common/QueryStrategy.scala
index 504902db29..5cb598014a 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/common/QueryStrategy.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/common/QueryStrategy.scala
@@ -9,8 +9,6 @@ import com.digitalasset.canton.platform.store.backend.common.ComposableQuery.{
SqlStringInterpolation,
}
-import java.sql.Connection
-
object QueryStrategy {
/** This populates the following part of the query:
@@ -137,6 +135,4 @@ trait QueryStrategy {
}
def analyzeTable(tableName: String): CompositeSql
-
- def forceSynchronousCommitForCurrentTransactionForPostgreSQL(connection: Connection): Unit = ()
}
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/common/SimpleSqlAsVectorOf.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/common/SimpleSqlAsVectorOf.scala
new file mode 100644
index 0000000000..33cf8c2869
--- /dev/null
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/common/SimpleSqlAsVectorOf.scala
@@ -0,0 +1,51 @@
+// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
+
+package com.digitalasset.canton.platform.store.backend.common
+
+import anorm.{Cursor, Row, RowParser, SimpleSql}
+
+import java.sql.Connection
+import scala.util.{Failure, Success, Try}
+
+private[backend] object SimpleSqlAsVectorOf {
+
+ implicit final class `SimpleSql ops`(val sql: SimpleSql[Row]) extends AnyVal {
+
+ /** Returns the result of [[sql]] as a [[Vector]].
+ *
+ * Allows to avoid linear operations in lists when using the default
+ * [[anorm.ResultSetParser]]s (e.g. when retrieving the result set
+ * length in [[com.digitalasset.canton.platform.store.dao.PaginatingAsyncStream]]
+ *
+ * @param parser knows how to turn each row in an [[A]]
+ * @param conn an implicit JDBC connection
+ * @tparam A the type of each item in the result
+ * @throws Throwable if either the query execution or parsing fails
+ * @return the query result as a vector
+ */
+ @throws[Throwable]
+ def asVectorOf[A](parser: RowParser[A])(implicit conn: Connection): Vector[A] = {
+
+ @annotation.tailrec
+ def go(results: Vector[A])(cursor: Option[Cursor]): Try[Vector[A]] =
+ cursor match {
+ case Some(cursor) =>
+ cursor.row.as(parser) match {
+ case Success(value) => go(results :+ value)(cursor.next)
+ case Failure(f) => Failure(f)
+ }
+ case _ => Try(results)
+ }
+
+ sql
+ .withResult(go(Vector.empty))
+ .fold(
+ _.headOption.fold(throw new NoSuchElementException("empty list of errors"))(throw _),
+ _.fold(throw _, identity),
+ )
+ }
+
+ }
+
+}
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/common/StringInterningStorageBackendImpl.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/common/StringInterningStorageBackendImpl.scala
index 5ab98a4326..8eb6e103fc 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/common/StringInterningStorageBackendImpl.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/common/StringInterningStorageBackendImpl.scala
@@ -6,7 +6,7 @@ package com.digitalasset.canton.platform.store.backend.common
import anorm.SqlParser.{int, str}
import anorm.{RowParser, SqlStringInterpolation, ~}
import com.digitalasset.canton.platform.store.backend.StringInterningStorageBackend
-import com.digitalasset.canton.platform.store.backend.common.SimpleSqlExtensions.*
+import com.digitalasset.canton.platform.store.backend.common.SimpleSqlAsVectorOf.*
import java.sql.Connection
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/common/TransactionPointwiseQueries.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/common/TransactionPointwiseQueries.scala
index 2134ba2ca0..85d7ba0770 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/common/TransactionPointwiseQueries.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/common/TransactionPointwiseQueries.scala
@@ -4,12 +4,12 @@
package com.digitalasset.canton.platform.store.backend.common
import anorm.RowParser
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.platform.Party
import com.digitalasset.canton.platform.store.backend.EventStorageBackend
import com.digitalasset.canton.platform.store.backend.common.ComposableQuery.SqlStringInterpolation
-import com.digitalasset.canton.platform.store.backend.common.SimpleSqlExtensions.*
+import com.digitalasset.canton.platform.store.backend.common.SimpleSqlAsVectorOf.*
import com.digitalasset.canton.platform.store.cache.LedgerEndCache
import com.digitalasset.canton.platform.store.dao.events.Raw
import com.digitalasset.canton.platform.store.interning.StringInterning
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/common/TransactionStreamingQueries.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/common/TransactionStreamingQueries.scala
index e7eecb6be5..86e6cf98df 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/common/TransactionStreamingQueries.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/common/TransactionStreamingQueries.scala
@@ -4,10 +4,10 @@
package com.digitalasset.canton.platform.store.backend.common
import anorm.SqlParser.long
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.platform.store.backend.EventStorageBackend
import com.digitalasset.canton.platform.store.backend.common.ComposableQuery.SqlStringInterpolation
-import com.digitalasset.canton.platform.store.backend.common.SimpleSqlExtensions.*
+import com.digitalasset.canton.platform.store.backend.common.SimpleSqlAsVectorOf.*
import com.digitalasset.canton.platform.store.dao.events.Raw
import com.digitalasset.canton.platform.store.interning.StringInterning
import com.digitalasset.canton.platform.{Identifier, Party}
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/h2/H2EventStorageBackend.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/h2/H2EventStorageBackend.scala
index ffe4e0d51f..203c324e8e 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/h2/H2EventStorageBackend.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/h2/H2EventStorageBackend.scala
@@ -4,21 +4,22 @@
package com.digitalasset.canton.platform.store.backend.h2
import com.digitalasset.canton.logging.NamedLoggerFactory
-import com.digitalasset.canton.platform.store.backend.ParameterStorageBackend
-import com.digitalasset.canton.platform.store.backend.common.EventStorageBackendTemplate
+import com.digitalasset.canton.platform.store.backend.common.{
+ EventStorageBackendTemplate,
+ ParameterStorageBackendImpl,
+}
import com.digitalasset.canton.platform.store.cache.LedgerEndCache
import com.digitalasset.canton.platform.store.interning.StringInterning
class H2EventStorageBackend(
ledgerEndCache: LedgerEndCache,
stringInterning: StringInterning,
- parameterStorageBackend: ParameterStorageBackend,
loggerFactory: NamedLoggerFactory,
) extends EventStorageBackendTemplate(
queryStrategy = H2QueryStrategy,
ledgerEndCache = ledgerEndCache,
stringInterning = stringInterning,
participantAllDivulgedContractsPrunedUpToInclusive =
- parameterStorageBackend.participantAllDivulgedContractsPrunedUpToInclusive,
+ ParameterStorageBackendImpl.participantAllDivulgedContractsPrunedUpToInclusive,
loggerFactory = loggerFactory,
) {}
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/h2/H2StorageBackendFactory.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/h2/H2StorageBackendFactory.scala
index f5cf2edbc4..18c0056a3f 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/h2/H2StorageBackendFactory.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/h2/H2StorageBackendFactory.scala
@@ -9,7 +9,6 @@ import com.digitalasset.canton.platform.store.backend.common.{
CompletionStorageBackendTemplate,
ContractStorageBackendTemplate,
IngestionStorageBackendTemplate,
- ParameterStorageBackendImpl,
PartyStorageBackendTemplate,
}
import com.digitalasset.canton.platform.store.backend.localstore.{
@@ -23,7 +22,6 @@ import com.digitalasset.canton.platform.store.backend.{
DataSourceStorageBackend,
EventStorageBackend,
IngestionStorageBackend,
- ParameterStorageBackend,
PartyStorageBackend,
ResetStorageBackend,
StorageBackendFactory,
@@ -36,9 +34,6 @@ object H2StorageBackendFactory extends StorageBackendFactory with CommonStorageB
override val createIngestionStorageBackend: IngestionStorageBackend[_] =
new IngestionStorageBackendTemplate(H2QueryStrategy, H2Schema.schema)
- override val createParameterStorageBackend: ParameterStorageBackend =
- new ParameterStorageBackendImpl(H2QueryStrategy)
-
override def createPartyStorageBackend(ledgerEndCache: LedgerEndCache): PartyStorageBackend =
new PartyStorageBackendTemplate(H2QueryStrategy, ledgerEndCache)
@@ -65,7 +60,6 @@ object H2StorageBackendFactory extends StorageBackendFactory with CommonStorageB
new H2EventStorageBackend(
ledgerEndCache = ledgerEndCache,
stringInterning = stringInterning,
- parameterStorageBackend = createParameterStorageBackend,
loggerFactory = loggerFactory,
)
@@ -77,5 +71,4 @@ object H2StorageBackendFactory extends StorageBackendFactory with CommonStorageB
override val createResetStorageBackend: ResetStorageBackend =
H2ResetStorageBackend
-
}
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/localstore/IdentityProviderStorageBackendImpl.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/localstore/IdentityProviderStorageBackendImpl.scala
index da40de125f..8f88e922f5 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/localstore/IdentityProviderStorageBackendImpl.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/localstore/IdentityProviderStorageBackendImpl.scala
@@ -12,7 +12,7 @@ import com.digitalasset.canton.ledger.api.domain.{
JwksUrl,
}
import com.digitalasset.canton.platform.store.backend.common.ComposableQuery.SqlStringInterpolation
-import com.digitalasset.canton.platform.store.backend.common.SimpleSqlExtensions.*
+import com.digitalasset.canton.platform.store.backend.common.SimpleSqlAsVectorOf.*
import java.sql.Connection
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/localstore/ParticipantMetadataBackend.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/localstore/ParticipantMetadataBackend.scala
index d1279f7e9a..ee3bc5b609 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/localstore/ParticipantMetadataBackend.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/localstore/ParticipantMetadataBackend.scala
@@ -5,7 +5,7 @@ package com.digitalasset.canton.platform.store.backend.localstore
import anorm.SqlParser.{long, str}
import anorm.{RowParser, SqlStringInterpolation, ~}
-import com.digitalasset.canton.platform.store.backend.common.SimpleSqlExtensions.*
+import com.digitalasset.canton.platform.store.backend.common.SimpleSqlAsVectorOf.*
import java.sql.Connection
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/localstore/PartyRecordStorageBackend.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/localstore/PartyRecordStorageBackend.scala
index da32ddc482..6ba4334ce4 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/localstore/PartyRecordStorageBackend.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/localstore/PartyRecordStorageBackend.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.platform.store.backend.localstore
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.ledger.api.domain.IdentityProviderId
import java.sql.Connection
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/localstore/PartyRecordStorageBackendImpl.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/localstore/PartyRecordStorageBackendImpl.scala
index 80c6819f34..4171678525 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/localstore/PartyRecordStorageBackendImpl.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/localstore/PartyRecordStorageBackendImpl.scala
@@ -5,7 +5,7 @@ package com.digitalasset.canton.platform.store.backend.localstore
import anorm.SqlParser.{int, long, str}
import anorm.{RowParser, SqlParser, SqlStringInterpolation, ~}
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.ledger.api.domain.IdentityProviderId
import com.digitalasset.canton.platform.store.backend.Conversions.party
@@ -110,7 +110,7 @@ object PartyRecordStorageBackendImpl extends PartyRecordStorageBackend {
parties: Set[Ref.Party],
identityProviderId: Option[IdentityProviderId.Id],
)(connection: Connection): Set[Ref.Party] = if (parties.nonEmpty) {
- import com.digitalasset.canton.platform.store.backend.common.SimpleSqlExtensions.*
+ import com.digitalasset.canton.platform.store.backend.common.SimpleSqlAsVectorOf.*
import com.digitalasset.canton.platform.store.backend.common.ComposableQuery.SqlStringInterpolation
val filteredParties = cSQL"party in (${parties.map(_.toString)})"
@@ -132,7 +132,7 @@ object PartyRecordStorageBackendImpl extends PartyRecordStorageBackend {
override def filterExistingParties(
parties: Set[Ref.Party]
)(connection: Connection): Set[Ref.Party] = if (parties.nonEmpty) {
- import com.digitalasset.canton.platform.store.backend.common.SimpleSqlExtensions.*
+ import com.digitalasset.canton.platform.store.backend.common.SimpleSqlAsVectorOf.*
import com.digitalasset.canton.platform.store.backend.common.ComposableQuery.SqlStringInterpolation
val filteredParties = cSQL"party in (${parties.map(_.toString)})"
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/localstore/UserManagementStorageBackend.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/localstore/UserManagementStorageBackend.scala
index d2f3dd86c4..f2c4269b73 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/localstore/UserManagementStorageBackend.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/localstore/UserManagementStorageBackend.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.platform.store.backend.localstore
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.ledger.api.domain.{IdentityProviderId, UserRight}
import com.digitalasset.canton.platform.UserId
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/localstore/UserManagementStorageBackendImpl.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/localstore/UserManagementStorageBackendImpl.scala
index 70fb4659c3..31173ffd55 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/localstore/UserManagementStorageBackendImpl.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/localstore/UserManagementStorageBackendImpl.scala
@@ -15,7 +15,7 @@ import com.digitalasset.canton.ledger.api.domain.UserRight.{
ParticipantAdmin,
}
import com.digitalasset.canton.ledger.api.domain.{IdentityProviderId, UserRight}
-import com.digitalasset.canton.platform.store.backend.common.SimpleSqlExtensions.*
+import com.digitalasset.canton.platform.store.backend.common.SimpleSqlAsVectorOf.*
import com.digitalasset.canton.platform.store.backend.common.{ComposableQuery, QueryStrategy}
import com.digitalasset.canton.platform.{LedgerString, Party, UserId}
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/oracle/OracleEventStorageBackend.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/oracle/OracleEventStorageBackend.scala
index be977c69c9..92f2932aec 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/oracle/OracleEventStorageBackend.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/oracle/OracleEventStorageBackend.scala
@@ -4,21 +4,22 @@
package com.digitalasset.canton.platform.store.backend.oracle
import com.digitalasset.canton.logging.NamedLoggerFactory
-import com.digitalasset.canton.platform.store.backend.ParameterStorageBackend
-import com.digitalasset.canton.platform.store.backend.common.EventStorageBackendTemplate
+import com.digitalasset.canton.platform.store.backend.common.{
+ EventStorageBackendTemplate,
+ ParameterStorageBackendImpl,
+}
import com.digitalasset.canton.platform.store.cache.LedgerEndCache
import com.digitalasset.canton.platform.store.interning.StringInterning
class OracleEventStorageBackend(
ledgerEndCache: LedgerEndCache,
stringInterning: StringInterning,
- parameterStorageBackend: ParameterStorageBackend,
loggerFactory: NamedLoggerFactory,
) extends EventStorageBackendTemplate(
queryStrategy = OracleQueryStrategy,
ledgerEndCache = ledgerEndCache,
stringInterning = stringInterning,
participantAllDivulgedContractsPrunedUpToInclusive =
- parameterStorageBackend.participantAllDivulgedContractsPrunedUpToInclusive,
+ ParameterStorageBackendImpl.participantAllDivulgedContractsPrunedUpToInclusive,
loggerFactory = loggerFactory,
) {}
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/oracle/OracleStorageBackendFactory.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/oracle/OracleStorageBackendFactory.scala
index 3e276bced3..293f672f19 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/oracle/OracleStorageBackendFactory.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/oracle/OracleStorageBackendFactory.scala
@@ -9,7 +9,6 @@ import com.digitalasset.canton.platform.store.backend.common.{
CompletionStorageBackendTemplate,
ContractStorageBackendTemplate,
IngestionStorageBackendTemplate,
- ParameterStorageBackendImpl,
PartyStorageBackendTemplate,
}
import com.digitalasset.canton.platform.store.backend.{
@@ -19,7 +18,6 @@ import com.digitalasset.canton.platform.store.backend.{
DataSourceStorageBackend,
EventStorageBackend,
IngestionStorageBackend,
- ParameterStorageBackend,
PartyStorageBackend,
ResetStorageBackend,
StorageBackendFactory,
@@ -32,9 +30,6 @@ object OracleStorageBackendFactory extends StorageBackendFactory with CommonStor
override val createIngestionStorageBackend: IngestionStorageBackend[_] =
new IngestionStorageBackendTemplate(OracleQueryStrategy, OracleSchema.schema)
- override val createParameterStorageBackend: ParameterStorageBackend =
- new ParameterStorageBackendImpl(OracleQueryStrategy)
-
override def createPartyStorageBackend(ledgerEndCache: LedgerEndCache): PartyStorageBackend =
new PartyStorageBackendTemplate(OracleQueryStrategy, ledgerEndCache)
@@ -58,7 +53,6 @@ object OracleStorageBackendFactory extends StorageBackendFactory with CommonStor
new OracleEventStorageBackend(
ledgerEndCache = ledgerEndCache,
stringInterning = stringInterning,
- parameterStorageBackend = createParameterStorageBackend,
loggerFactory = loggerFactory,
)
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/postgresql/PostgresEventStorageBackend.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/postgresql/PostgresEventStorageBackend.scala
index f79747b264..0f2a2ec45b 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/postgresql/PostgresEventStorageBackend.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/postgresql/PostgresEventStorageBackend.scala
@@ -4,21 +4,22 @@
package com.digitalasset.canton.platform.store.backend.postgresql
import com.digitalasset.canton.logging.NamedLoggerFactory
-import com.digitalasset.canton.platform.store.backend.ParameterStorageBackend
-import com.digitalasset.canton.platform.store.backend.common.EventStorageBackendTemplate
+import com.digitalasset.canton.platform.store.backend.common.{
+ EventStorageBackendTemplate,
+ ParameterStorageBackendImpl,
+}
import com.digitalasset.canton.platform.store.cache.LedgerEndCache
import com.digitalasset.canton.platform.store.interning.StringInterning
class PostgresEventStorageBackend(
ledgerEndCache: LedgerEndCache,
stringInterning: StringInterning,
- parameterStorageBackend: ParameterStorageBackend,
loggerFactory: NamedLoggerFactory,
) extends EventStorageBackendTemplate(
queryStrategy = PostgresQueryStrategy,
ledgerEndCache = ledgerEndCache,
stringInterning = stringInterning,
participantAllDivulgedContractsPrunedUpToInclusive =
- parameterStorageBackend.participantAllDivulgedContractsPrunedUpToInclusive,
+ ParameterStorageBackendImpl.participantAllDivulgedContractsPrunedUpToInclusive,
loggerFactory = loggerFactory,
) {}
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/postgresql/PostgresQueryStrategy.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/postgresql/PostgresQueryStrategy.scala
index d16625834f..008236dfdc 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/postgresql/PostgresQueryStrategy.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/postgresql/PostgresQueryStrategy.scala
@@ -3,15 +3,12 @@
package com.digitalasset.canton.platform.store.backend.postgresql
-import com.digitalasset.canton.discard.Implicits.DiscardOps
import com.digitalasset.canton.platform.store.backend.common.ComposableQuery.{
CompositeSql,
SqlStringInterpolation,
}
import com.digitalasset.canton.platform.store.backend.common.QueryStrategy
-import java.sql.Connection
-
object PostgresQueryStrategy extends QueryStrategy {
override def arrayContains(arrayColumnName: String, elementColumnName: String): String =
@@ -37,8 +34,4 @@ object PostgresQueryStrategy extends QueryStrategy {
override def analyzeTable(tableName: String): CompositeSql =
cSQL"ANALYZE #$tableName"
-
- override def forceSynchronousCommitForCurrentTransactionForPostgreSQL(
- connection: Connection
- ): Unit = SQL"SET LOCAL synchronous_commit TO ON".execute()(connection).discard
}
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/postgresql/PostgresStorageBackendFactory.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/postgresql/PostgresStorageBackendFactory.scala
index 37429ada43..4eb750c558 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/postgresql/PostgresStorageBackendFactory.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/backend/postgresql/PostgresStorageBackendFactory.scala
@@ -16,9 +16,6 @@ final case class PostgresStorageBackendFactory(loggerFactory: NamedLoggerFactory
override val createIngestionStorageBackend: IngestionStorageBackend[_] =
new IngestionStorageBackendTemplate(PostgresQueryStrategy, PGSchema.schema)
- override val createParameterStorageBackend: ParameterStorageBackend =
- new ParameterStorageBackendImpl(PostgresQueryStrategy)
-
override def createPartyStorageBackend(ledgerEndCache: LedgerEndCache): PartyStorageBackend =
new PartyStorageBackendTemplate(PostgresQueryStrategy, ledgerEndCache)
@@ -42,7 +39,6 @@ final case class PostgresStorageBackendFactory(loggerFactory: NamedLoggerFactory
new PostgresEventStorageBackend(
ledgerEndCache = ledgerEndCache,
stringInterning = stringInterning,
- parameterStorageBackend = createParameterStorageBackend,
loggerFactory = loggerFactory,
)
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/cache/ContractKeyStateCache.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/cache/ContractKeyStateCache.scala
index 288325ee42..797f4294c7 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/cache/ContractKeyStateCache.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/cache/ContractKeyStateCache.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.platform.store.cache
-import com.daml.lf.transaction.GlobalKey
+import com.digitalasset.daml.lf.transaction.GlobalKey
import com.digitalasset.canton.caching.SizedCache
import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.logging.NamedLoggerFactory
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/cache/ContractStateCaches.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/cache/ContractStateCaches.scala
index 139f324474..7488d1e442 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/cache/ContractStateCaches.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/cache/ContractStateCaches.scala
@@ -4,7 +4,7 @@
package com.digitalasset.canton.platform.store.cache
import cats.data.NonEmptyVector
-import com.daml.lf.transaction.GlobalKey
+import com.digitalasset.daml.lf.transaction.GlobalKey
import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.logging.{NamedLoggerFactory, NamedLogging}
import com.digitalasset.canton.metrics.LedgerApiServerMetrics
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/cache/ContractsStateCache.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/cache/ContractsStateCache.scala
index 5b7da2d3a0..c4162e72ce 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/cache/ContractsStateCache.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/cache/ContractsStateCache.scala
@@ -3,8 +3,8 @@
package com.digitalasset.canton.platform.store.cache
-import com.daml.lf.data.Time.Timestamp
-import com.daml.lf.transaction.GlobalKey
+import com.digitalasset.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.transaction.GlobalKey
import com.digitalasset.canton.caching.SizedCache
import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.logging.NamedLoggerFactory
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/cache/MutableCacheBackedContractStore.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/cache/MutableCacheBackedContractStore.scala
index fcdc0e2442..6861f7b76c 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/cache/MutableCacheBackedContractStore.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/cache/MutableCacheBackedContractStore.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.platform.store.cache
-import com.daml.lf.transaction.GlobalKey
+import com.digitalasset.daml.lf.transaction.GlobalKey
import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.ledger.participant.state.index
import com.digitalasset.canton.ledger.participant.state.index.ContractStore
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/cache/package.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/cache/package.scala
index 3cc01a1023..9f16f9bbb2 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/cache/package.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/cache/package.scala
@@ -4,16 +4,16 @@
package com.digitalasset.canton.platform.store
package object cache {
- import com.daml.lf.value.{Value as lfval}
+ import com.digitalasset.daml.lf.value.{Value as lfval}
private[cache] type ContractId = lfval.ContractId
- private[cache] val ContractId = com.daml.lf.value.Value.ContractId
+ private[cache] val ContractId = com.digitalasset.daml.lf.value.Value.ContractId
private[cache] type Value = lfval.VersionedValue
private[cache] type Contract = lfval.VersionedContractInstance
- import com.daml.lf.{transaction as lftx}
+ import com.digitalasset.daml.lf.{transaction as lftx}
private[cache] type Key = lftx.GlobalKey
- import com.daml.lf.{data as lfdata}
+ import com.digitalasset.daml.lf.{data as lfdata}
private[cache] type Party = lfdata.Ref.Party
private[cache] val Party = lfdata.Ref.Party
private[cache] type Identifier = lfdata.Ref.Identifier
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/BufferedTransactionByIdReader.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/BufferedTransactionByIdReader.scala
index 1377ea6dc3..9bd5d67af1 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/BufferedTransactionByIdReader.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/BufferedTransactionByIdReader.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.platform.store.dao
-import com.daml.lf.data.Ref.Party
+import com.digitalasset.daml.lf.data.Ref.Party
import com.digitalasset.canton.logging.LoggingContextWithTrace
import com.digitalasset.canton.platform.store.cache.InMemoryFanoutBuffer
import com.digitalasset.canton.platform.store.dao.BufferedTransactionByIdReader.{
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/EventProjectionProperties.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/EventProjectionProperties.scala
index b398f11de3..a46ff39575 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/EventProjectionProperties.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/EventProjectionProperties.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.platform.store.dao
-import com.daml.lf.data.Ref.*
+import com.digitalasset.daml.lf.data.Ref.*
import com.digitalasset.canton.ledger.api.domain
import com.digitalasset.canton.ledger.api.domain.{CumulativeFilter, TemplateWildcardFilter}
import com.digitalasset.canton.platform.store.dao.EventProjectionProperties.Projection
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/JdbcLedgerDao.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/JdbcLedgerDao.scala
index d5073ed2eb..757c5f0399 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/JdbcLedgerDao.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/JdbcLedgerDao.scala
@@ -3,10 +3,10 @@
package com.digitalasset.canton.platform.store.dao
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Time.Timestamp
-import com.daml.lf.engine.Engine
-import com.daml.lf.transaction.{BlindingInfo, CommittedTransaction}
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.engine.Engine
+import com.digitalasset.daml.lf.transaction.{BlindingInfo, CommittedTransaction}
import com.daml.logging.entries.LoggingEntry
import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.ledger.api.domain.ParticipantId
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/LedgerDao.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/LedgerDao.scala
index 673700d75b..888cf644c5 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/LedgerDao.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/LedgerDao.scala
@@ -12,9 +12,9 @@ import com.daml.ledger.api.v2.update_service.{
GetUpdateTreesResponse,
GetUpdatesResponse,
}
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Time.Timestamp
-import com.daml.lf.transaction.{BlindingInfo, CommittedTransaction}
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.transaction.{BlindingInfo, CommittedTransaction}
import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.ledger.api.domain.ParticipantId
import com.digitalasset.canton.ledger.api.health.ReportsHealth
@@ -85,7 +85,7 @@ private[platform] trait LedgerDaoEventsReader {
// TODO(i16065): Re-enable getEventsByContractKey tests
// def getEventsByContractKey(
-// contractKey: com.daml.lf.value.Value,
+// contractKey: com.digitalasset.daml.lf.value.Value,
// templateId: Ref.Identifier,
// requestingParties: Set[Party],
// endExclusiveSeqId: Option[Long],
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/SequentialWriteDao.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/SequentialWriteDao.scala
index b0b4ee69f9..4584ed1a5f 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/SequentialWriteDao.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/SequentialWriteDao.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.platform.store.dao
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.daml.metrics.api.MetricsContext
import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.ledger.participant.state.Update
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/events/ACSReader.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/events/ACSReader.scala
index fbbb582c47..06755b3304 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/events/ACSReader.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/events/ACSReader.scala
@@ -9,10 +9,10 @@ import com.daml.ledger.api.v2.state_service.{
IncompleteAssigned,
IncompleteUnassigned,
}
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.Identifier
-import com.daml.lf.ledger.EventId
-import com.daml.lf.transaction.NodeId
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.Identifier
+import com.digitalasset.daml.lf.ledger.EventId
+import com.digitalasset.daml.lf.transaction.NodeId
import com.daml.metrics.Timed
import com.daml.nameof.NameOf.qualifiedNameOfCurrentFunc
import com.daml.tracing
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/events/BufferedTransactionsReader.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/events/BufferedTransactionsReader.scala
index 49fa63339e..2086e3f501 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/events/BufferedTransactionsReader.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/events/BufferedTransactionsReader.scala
@@ -10,7 +10,7 @@ import com.daml.ledger.api.v2.update_service.{
GetUpdateTreesResponse,
GetUpdatesResponse,
}
-import com.daml.lf.data.Ref.TransactionId
+import com.digitalasset.daml.lf.data.Ref.TransactionId
import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.logging.{LoggingContextWithTrace, NamedLoggerFactory}
import com.digitalasset.canton.metrics.LedgerApiServerMetrics
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/events/ContractLoader.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/events/ContractLoader.scala
index 42e19b5406..86a558563c 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/events/ContractLoader.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/events/ContractLoader.scala
@@ -4,7 +4,7 @@
package com.digitalasset.canton.platform.store.dao.events
import com.daml.ledger.resources.ResourceOwner
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.value.Value.ContractId
import com.daml.metrics.InstrumentedGraph
import com.daml.metrics.api.MetricsContext
import com.digitalasset.canton.data.Offset
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/events/ContractStateEvent.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/events/ContractStateEvent.scala
index 8c2bb97a3e..0f5b90d6b1 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/events/ContractStateEvent.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/events/ContractStateEvent.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.platform.store.dao.events
-import com.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.data.Time.Timestamp
import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.platform.*
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/events/ContractsReader.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/events/ContractsReader.scala
index bd54b4519d..e92750a7dc 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/events/ContractsReader.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/events/ContractsReader.scala
@@ -3,9 +3,9 @@
package com.digitalasset.canton.platform.store.dao.events
-import com.daml.lf.data.Ref.{PackageName, PackageVersion}
-import com.daml.lf.transaction.GlobalKey
-import com.daml.lf.value.Value.VersionedValue
+import com.digitalasset.daml.lf.data.Ref.{PackageName, PackageVersion}
+import com.digitalasset.daml.lf.transaction.GlobalKey
+import com.digitalasset.daml.lf.value.Value.VersionedValue
import com.daml.metrics.Timed
import com.daml.metrics.api.MetricHandle.Timer
import com.digitalasset.canton.data.Offset
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/events/EventsReader.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/events/EventsReader.scala
index 7adc0a706e..8efb6e27e8 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/events/EventsReader.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/events/EventsReader.scala
@@ -5,8 +5,8 @@ package com.digitalasset.canton.platform.store.dao.events
import com.daml.ledger.api.v2.event.CreatedEvent
import com.daml.ledger.api.v2.event_query_service.{Archived, Created, GetEventsByContractIdResponse}
-import com.daml.lf.data.Ref.Party
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.data.Ref.Party
+import com.digitalasset.daml.lf.value.Value.ContractId
import com.digitalasset.canton.logging.LoggingContextWithTrace
import com.digitalasset.canton.metrics.LedgerApiServerMetrics
import com.digitalasset.canton.platform.store.backend.{EventStorageBackend, ParameterStorageBackend}
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/events/LfValueTranslation.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/events/LfValueTranslation.scala
index 1c752323fc..2ea0ce1889 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/events/LfValueTranslation.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/events/LfValueTranslation.scala
@@ -11,15 +11,15 @@ import com.daml.ledger.api.v2.value.{
Record as ApiRecord,
Value as ApiValue,
}
-import com.daml.lf.data.Bytes
-import com.daml.lf.data.Ref.{DottedName, Identifier, PackageId, Party}
-import com.daml.lf.data.Time.Timestamp
-import com.daml.lf.engine.{Engine, ValueEnricher}
-import com.daml.lf.ledger.EventId
-import com.daml.lf.transaction.*
-import com.daml.lf.value.Value
-import com.daml.lf.value.Value.VersionedValue
-import com.daml.lf.engine as LfEngine
+import com.digitalasset.daml.lf.data.Bytes
+import com.digitalasset.daml.lf.data.Ref.{DottedName, Identifier, PackageId, Party}
+import com.digitalasset.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.engine.{Engine, ValueEnricher}
+import com.digitalasset.daml.lf.ledger.EventId
+import com.digitalasset.daml.lf.transaction.*
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value.VersionedValue
+import com.digitalasset.daml.lf.engine as LfEngine
import com.daml.metrics.Timed
import com.digitalasset.canton.ledger.api.util.LfEngineToApi
import com.digitalasset.canton.logging.{
@@ -205,7 +205,7 @@ final class LfValueTranslation(
value: LfValue,
verbose: Boolean,
attribute: => String,
- enrich: LfValue => LfEngine.Result[com.daml.lf.value.Value],
+ enrich: LfValue => LfEngine.Result[com.digitalasset.daml.lf.value.Value],
)(implicit
ec: ExecutionContext,
loggingContext: LoggingContextWithTrace,
@@ -566,7 +566,7 @@ final class LfValueTranslation(
private def computeInterfaceView(
templateId: LfIdentifier,
- value: com.daml.lf.value.Value,
+ value: com.digitalasset.daml.lf.value.Value,
interfaceId: LfIdentifier,
)(implicit
loggingContext: LoggingContextWithTrace,
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/events/Raw.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/events/Raw.scala
index b57a3a637a..6b71feef06 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/events/Raw.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/events/Raw.scala
@@ -10,10 +10,10 @@ import com.daml.ledger.api.v2.event.{
ExercisedEvent as PbExercisedEvent,
}
import com.daml.ledger.api.v2.transaction.TreeEvent as PbTreeEvent
-import com.daml.lf.crypto.Hash
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.{PackageName, PackageVersion}
-import com.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.crypto.Hash
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.{PackageName, PackageVersion}
+import com.digitalasset.daml.lf.data.Time.Timestamp
import com.digitalasset.canton.ledger.api.util.{LfEngineToApi, TimestampConversion}
import com.digitalasset.canton.logging.LoggingContextWithTrace
import com.digitalasset.canton.platform.Identifier
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/events/ReassignmentStreamReader.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/events/ReassignmentStreamReader.scala
index a758efc889..e9d9aac2e5 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/events/ReassignmentStreamReader.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/events/ReassignmentStreamReader.scala
@@ -4,8 +4,8 @@
package com.digitalasset.canton.platform.store.dao.events
import com.daml.ledger.api.v2.reassignment.Reassignment
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.Party
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.Party
import com.daml.metrics.{DatabaseMetrics, Timed}
import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.ledger.api.util.TimestampConversion
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/events/TransactionLogUpdatesConversions.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/events/TransactionLogUpdatesConversions.scala
index 126c39185c..d7c6c0bf5b 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/events/TransactionLogUpdatesConversions.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/events/TransactionLogUpdatesConversions.scala
@@ -20,10 +20,10 @@ import com.daml.ledger.api.v2.update_service.{
GetUpdatesResponse,
}
import com.daml.ledger.api.v2.event as apiEvent
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.{Identifier, Party}
-import com.daml.lf.transaction.{FatContractInstance, GlobalKeyWithMaintainers, Node}
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.{Identifier, Party}
+import com.digitalasset.daml.lf.transaction.{FatContractInstance, GlobalKeyWithMaintainers, Node}
+import com.digitalasset.daml.lf.value.Value.ContractId
import com.digitalasset.canton.ledger.api.util.{LfEngineToApi, TimestampConversion}
import com.digitalasset.canton.logging.LoggingContextWithTrace
import com.digitalasset.canton.platform.store.ScalaPbStreamingOptimizations.*
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/events/TransactionPointwiseReader.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/events/TransactionPointwiseReader.scala
index 3c0386df48..4792e92a4d 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/events/TransactionPointwiseReader.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/events/TransactionPointwiseReader.scala
@@ -6,7 +6,7 @@ package com.digitalasset.canton.platform.store.dao.events
import com.daml.ledger.api.v2.event.Event
import com.daml.ledger.api.v2.transaction.TreeEvent
import com.daml.ledger.api.v2.update_service.{GetTransactionResponse, GetTransactionTreeResponse}
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.daml.metrics.{DatabaseMetrics, Timed}
import com.digitalasset.canton.logging.LoggingContextWithTrace
import com.digitalasset.canton.metrics.LedgerApiServerMetrics
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/events/TransactionsReader.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/events/TransactionsReader.scala
index 64c577fa47..1cb0e12d67 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/events/TransactionsReader.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/dao/events/TransactionsReader.scala
@@ -12,9 +12,9 @@ import com.daml.ledger.api.v2.update_service.{
GetUpdateTreesResponse,
GetUpdatesResponse,
}
-import com.daml.lf.data.Ref
-import com.daml.lf.ledger.EventId
-import com.daml.lf.transaction.NodeId
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.ledger.EventId
+import com.digitalasset.daml.lf.transaction.NodeId
import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.ledger.api.util.{LfEngineToApi, TimestampConversion}
import com.digitalasset.canton.logging.LoggingContextWithTrace
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/entries/PartyLedgerEntry.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/entries/PartyLedgerEntry.scala
index cb3b21c990..2fb59489a9 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/entries/PartyLedgerEntry.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/entries/PartyLedgerEntry.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.platform.store.entries
-import com.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.data.Time.Timestamp
import com.digitalasset.canton.ledger.participant.state.index.IndexerPartyDetails
import com.digitalasset.canton.platform.SubmissionId
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/interfaces/LedgerDaoContractsReader.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/interfaces/LedgerDaoContractsReader.scala
index 660cc04bbd..9e4edd2d16 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/interfaces/LedgerDaoContractsReader.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/interfaces/LedgerDaoContractsReader.scala
@@ -3,8 +3,8 @@
package com.digitalasset.canton.platform.store.interfaces
-import com.daml.lf.data.Time.Timestamp
-import com.daml.lf.transaction.GlobalKey
+import com.digitalasset.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.transaction.GlobalKey
import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.logging.LoggingContextWithTrace
import com.digitalasset.canton.platform.Party
@@ -36,7 +36,7 @@ private[platform] trait LedgerDaoContractsReader {
}
object LedgerDaoContractsReader {
- import com.daml.lf.value.Value as lfval
+ import com.digitalasset.daml.lf.value.Value as lfval
private type ContractId = lfval.ContractId
private type Value = lfval.VersionedValue
private type Contract = lfval.VersionedContractInstance
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/interfaces/TransactionLogUpdate.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/interfaces/TransactionLogUpdate.scala
index b65fef16da..f75c582409 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/interfaces/TransactionLogUpdate.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/interfaces/TransactionLogUpdate.scala
@@ -4,13 +4,13 @@
package com.digitalasset.canton.platform.store.interfaces
import com.daml.ledger.api.v2.command_completion_service.CompletionStreamResponse
-import com.daml.lf.crypto.Hash
-import com.daml.lf.data.Ref.{PackageName, Party}
-import com.daml.lf.data.Time.Timestamp
-import com.daml.lf.data.{Bytes, Ref}
-import com.daml.lf.ledger.EventId
-import com.daml.lf.transaction.GlobalKey
-import com.daml.lf.value.Value as LfValue
+import com.digitalasset.daml.lf.crypto.Hash
+import com.digitalasset.daml.lf.data.Ref.{PackageName, Party}
+import com.digitalasset.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.data.{Bytes, Ref}
+import com.digitalasset.daml.lf.ledger.EventId
+import com.digitalasset.daml.lf.transaction.GlobalKey
+import com.digitalasset.daml.lf.value.Value as LfValue
import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.ledger.participant.state.ReassignmentInfo
import com.digitalasset.canton.platform.store.cache.MutableCacheBackedContractStore.EventSequentialId
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/interning/StringInterning.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/interning/StringInterning.scala
index 9bc5bffdea..42f5d95b31 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/interning/StringInterning.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/interning/StringInterning.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.platform.store.interning
-import com.daml.lf.data.Ref.PackageVersion
+import com.digitalasset.daml.lf.data.Ref.PackageVersion
import com.digitalasset.canton.platform.{Identifier, PackageName, Party}
import com.digitalasset.canton.topology.DomainId
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/interning/StringInterningView.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/interning/StringInterningView.scala
index 0cd6889d2a..7c88dda642 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/interning/StringInterningView.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/interning/StringInterningView.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.platform.store.interning
-import com.daml.lf.data.Ref.PackageVersion
+import com.digitalasset.daml.lf.data.Ref.PackageVersion
import com.digitalasset.canton.concurrent.DirectExecutionContext
import com.digitalasset.canton.logging.{NamedLoggerFactory, NamedLogging}
import com.digitalasset.canton.platform.{Identifier, PackageName, Party}
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/packagemeta/PackageMetadata.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/packagemeta/PackageMetadata.scala
index 4a4b1f6b17..0f169267cb 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/packagemeta/PackageMetadata.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/packagemeta/PackageMetadata.scala
@@ -6,10 +6,10 @@ package com.digitalasset.canton.platform.store.packagemeta
import cats.kernel.Semigroup
import cats.syntax.semigroup.*
import com.daml.daml_lf_dev.DamlLf
-import com.daml.lf.archive.Decode
-import com.daml.lf.data.Ref
-import com.daml.lf.language.Ast
-import com.daml.lf.language.util.PackageInfo
+import com.digitalasset.daml.lf.archive.Decode
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.language.Ast
+import com.digitalasset.daml.lf.language.util.PackageInfo
import com.daml.nonempty.NonEmpty
import com.digitalasset.canton.platform.store.packagemeta.PackageMetadata.{
InterfacesImplementedBy,
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/serialization/ValueSerializer.scala b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/serialization/ValueSerializer.scala
index bda533a670..8843a4ff2a 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/serialization/ValueSerializer.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/main/scala/com/digitalasset/canton/platform/store/serialization/ValueSerializer.scala
@@ -3,8 +3,8 @@
package com.digitalasset.canton.platform.store.serialization
-import com.daml.lf.value.Value.VersionedValue
-import com.daml.lf.value.{ValueCoder, ValueOuterClass}
+import com.digitalasset.daml.lf.value.Value.VersionedValue
+import com.digitalasset.daml.lf.value.{ValueCoder, ValueOuterClass}
import com.google.protobuf.any.Any
import com.google.protobuf.{Any as JavaAny}
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/api/DomainMocks.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/api/DomainMocks.scala
index 4f2352f4e7..3c64ce8169 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/api/DomainMocks.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/api/DomainMocks.scala
@@ -5,8 +5,8 @@ package com.digitalasset.canton.ledger.api
import com.daml.ledger.api.v2.value.Value
import com.daml.ledger.api.v2.value.Value.Sum
-import com.daml.lf.data.Ref
-import com.daml.lf.value.Value as Lf
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.value.Value as Lf
import domain.*
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/api/IdentityProviderIdSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/api/IdentityProviderIdSpec.scala
index ec33e52704..f690be41e2 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/api/IdentityProviderIdSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/api/IdentityProviderIdSpec.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.ledger.api
-import com.daml.lf.data.Ref.LedgerString
+import com.digitalasset.daml.lf.data.Ref.LedgerString
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/api/ValueConversionRoundTripTest.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/api/ValueConversionRoundTripTest.scala
index 3e1c09d5f5..33e02d5431 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/api/ValueConversionRoundTripTest.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/api/ValueConversionRoundTripTest.scala
@@ -6,9 +6,9 @@ package com.digitalasset.canton.ledger.api
import com.daml.error.NoLogging
import com.daml.ledger.api.v2.value.Value.Sum
import com.daml.ledger.api.v2.value as api
-import com.daml.lf.crypto.Hash
-import com.daml.lf.data.Time
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.crypto.Hash
+import com.digitalasset.daml.lf.data.Time
+import com.digitalasset.daml.lf.value.Value.ContractId
import com.digitalasset.canton.ledger.api.util.LfEngineToApi
import com.digitalasset.canton.ledger.api.validation.{ValidatorTestUtils, ValueValidator}
import com.google.protobuf.empty.Empty
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/api/auth/StreamAuthorizationComponentSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/api/auth/StreamAuthorizationComponentSpec.scala
index 069580bb98..1e1ce60316 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/api/auth/StreamAuthorizationComponentSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/api/auth/StreamAuthorizationComponentSpec.scala
@@ -9,7 +9,7 @@ import com.daml.ledger.api.v2.transaction_filter.{Filters, TransactionFilter}
import com.daml.ledger.api.v2.update_service.UpdateServiceGrpc.{UpdateService, UpdateServiceStub}
import com.daml.ledger.api.v2.update_service.*
import com.daml.ledger.resources.{ResourceContext, ResourceOwner}
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.daml.tracing.NoOpTelemetry
import com.digitalasset.canton.concurrent.Threading
import com.digitalasset.canton.ledger.api.auth.interceptor.AuthorizationInterceptor
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/api/validation/CompletionServiceRequestValidatorTest.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/api/validation/CompletionServiceRequestValidatorTest.scala
index 3df2d9cbe6..6f5c952c4b 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/api/validation/CompletionServiceRequestValidatorTest.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/api/validation/CompletionServiceRequestValidatorTest.scala
@@ -7,7 +7,7 @@ import com.daml.error.{ContextualizedErrorLogger, NoLogging}
import com.daml.ledger.api.v2.command_completion_service.CompletionStreamRequest as GrpcCompletionStreamRequest
import com.daml.ledger.api.v2.participant_offset.ParticipantOffset
import com.daml.ledger.api.v2.participant_offset.ParticipantOffset.ParticipantBoundary
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.ledger.api.domain
import com.digitalasset.canton.ledger.api.messages.command.completion.CompletionStreamRequest
import io.grpc.Status.Code.*
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/api/validation/SubmitRequestValidatorTest.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/api/validation/SubmitRequestValidatorTest.scala
index d260838fff..9bb5af898e 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/api/validation/SubmitRequestValidatorTest.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/api/validation/SubmitRequestValidatorTest.scala
@@ -13,12 +13,12 @@ import com.daml.ledger.api.v2.value.{
TextMap as ApiTextMap,
*,
}
-import com.daml.lf.command.{ApiCommand as LfCommand, ApiCommands as LfCommands}
-import com.daml.lf.data.Ref.TypeConRef
-import com.daml.lf.data.*
-import com.daml.lf.transaction.TransactionVersion
-import com.daml.lf.value.Value.ValueRecord
-import com.daml.lf.value.Value as Lf
+import com.digitalasset.daml.lf.command.{ApiCommand as LfCommand, ApiCommands as LfCommands}
+import com.digitalasset.daml.lf.data.Ref.TypeConRef
+import com.digitalasset.daml.lf.data.*
+import com.digitalasset.daml.lf.transaction.TransactionVersion
+import com.digitalasset.daml.lf.value.Value.ValueRecord
+import com.digitalasset.daml.lf.value.Value as Lf
import com.digitalasset.canton.data.{DeduplicationPeriod, Offset}
import com.digitalasset.canton.ledger.api.DomainMocks.{
applicationId,
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/api/validation/UpdateServiceRequestValidatorTest.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/api/validation/UpdateServiceRequestValidatorTest.scala
index 29c62eda7f..90910f6562 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/api/validation/UpdateServiceRequestValidatorTest.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/api/validation/UpdateServiceRequestValidatorTest.scala
@@ -21,8 +21,8 @@ import com.daml.ledger.api.v2.update_service.{
GetUpdatesRequest,
}
import com.daml.ledger.api.v2.value.Identifier
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.TypeConRef
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.TypeConRef
import com.digitalasset.canton.ledger.api.domain
import io.grpc.Status.Code.*
import org.mockito.MockitoSugar
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/api/validation/ValidateDisclosedContractsTest.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/api/validation/ValidateDisclosedContractsTest.scala
index c722bfe1f3..70485b131f 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/api/validation/ValidateDisclosedContractsTest.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/api/validation/ValidateDisclosedContractsTest.scala
@@ -9,11 +9,11 @@ import com.daml.ledger.api.v2.commands.{
DisclosedContract as ProtoDisclosedContract,
}
import com.daml.ledger.api.v2.value.Identifier as ProtoIdentifier
-import com.daml.lf.crypto.Hash
-import com.daml.lf.data.{Bytes, ImmArray, Ref, Time}
-import com.daml.lf.transaction.*
-import com.daml.lf.value.Value.{ContractId, ValueRecord}
-import com.daml.lf.value.Value as Lf
+import com.digitalasset.daml.lf.crypto.Hash
+import com.digitalasset.daml.lf.data.{Bytes, ImmArray, Ref, Time}
+import com.digitalasset.daml.lf.transaction.*
+import com.digitalasset.daml.lf.value.Value.{ContractId, ValueRecord}
+import com.digitalasset.daml.lf.value.Value as Lf
import com.digitalasset.canton.LfValue
import com.digitalasset.canton.ledger.api.domain.DisclosedContract
import com.digitalasset.canton.ledger.api.validation.ValidateDisclosedContractsTest.{
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/api/validation/ValidateUpgradingPackageResolutionsTest.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/api/validation/ValidateUpgradingPackageResolutionsTest.scala
index 5f22b450eb..481e80db9a 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/api/validation/ValidateUpgradingPackageResolutionsTest.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/api/validation/ValidateUpgradingPackageResolutionsTest.scala
@@ -4,8 +4,8 @@
package com.digitalasset.canton.ledger.api.validation
import com.daml.error.{ContextualizedErrorLogger, NoLogging}
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.PackageVersion
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.PackageVersion
import com.daml.nonempty.NonEmpty
import com.digitalasset.canton.ledger.api.validation.ValidateUpgradingPackageResolutions.ValidatedCommandPackageResolutionsSnapshot
import com.digitalasset.canton.platform.store.packagemeta.PackageMetadata
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/api/validation/ValidatorTestUtils.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/api/validation/ValidatorTestUtils.scala
index 603ad9a7fa..fc16469773 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/api/validation/ValidatorTestUtils.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/api/validation/ValidatorTestUtils.scala
@@ -4,8 +4,8 @@
package com.digitalasset.canton.ledger.api.validation
import com.daml.grpc.GrpcStatus
-import com.daml.lf.data.Ref
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.value.Value.ContractId
import com.digitalasset.canton.ledger.api.domain
import com.digitalasset.canton.ledger.api.domain.{InterfaceFilter, TemplateFilter}
import com.digitalasset.canton.ledger.api.messages.transaction
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/localstore/CachedUserManagementStoreSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/localstore/CachedUserManagementStoreSpec.scala
index 430fc06b6c..0b432cab8f 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/localstore/CachedUserManagementStoreSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/localstore/CachedUserManagementStoreSpec.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.ledger.localstore
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.BaseTest
import com.digitalasset.canton.concurrent.Threading
import com.digitalasset.canton.ledger.api.domain.{
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/localstore/ConcurrentPersistentPartyRecordStoreTests.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/localstore/ConcurrentPersistentPartyRecordStoreTests.scala
index d0a926e7ac..587ce51685 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/localstore/ConcurrentPersistentPartyRecordStoreTests.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/localstore/ConcurrentPersistentPartyRecordStoreTests.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.ledger.localstore
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.platform.store.backend.StorageBackendProvider
import com.digitalasset.canton.platform.store.backend.localstore.{
PartyRecordStorageBackend,
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/localstore/ConcurrentPersistentUserStoreTests.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/localstore/ConcurrentPersistentUserStoreTests.scala
index 99e3427d4e..6527eff653 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/localstore/ConcurrentPersistentUserStoreTests.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/localstore/ConcurrentPersistentUserStoreTests.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.ledger.localstore
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.platform.store.backend.StorageBackendProvider
import com.digitalasset.canton.platform.store.backend.localstore.UserManagementStorageBackend.DbUserPayload
import com.digitalasset.canton.platform.store.backend.localstore.{
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/localstore/IdentityProviderConfigStoreTests.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/localstore/IdentityProviderConfigStoreTests.scala
index 8d8ba38019..be509be2dd 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/localstore/IdentityProviderConfigStoreTests.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/localstore/IdentityProviderConfigStoreTests.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.ledger.localstore
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.BaseTest
import com.digitalasset.canton.ledger.api.domain.{
IdentityProviderConfig,
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/localstore/PartyRecordStoreTests.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/localstore/PartyRecordStoreTests.scala
index 6abcb098a1..9fee9845df 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/localstore/PartyRecordStoreTests.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/localstore/PartyRecordStoreTests.scala
@@ -3,8 +3,8 @@
package com.digitalasset.canton.ledger.localstore
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.{LedgerString, Party}
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.{LedgerString, Party}
import com.digitalasset.canton.ledger.api.domain.{
IdentityProviderConfig,
IdentityProviderId,
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/localstore/UserStoreTests.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/localstore/UserStoreTests.scala
index f8946fee54..23cce6385c 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/localstore/UserStoreTests.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/localstore/UserStoreTests.scala
@@ -3,8 +3,8 @@
package com.digitalasset.canton.ledger.localstore
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.{LedgerString, Party, UserId}
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.{LedgerString, Party, UserId}
import com.digitalasset.canton.ledger.api.domain.{
IdentityProviderConfig,
IdentityProviderId,
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/runner/common/ArbitraryConfig.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/runner/common/ArbitraryConfig.scala
index 2008717a5b..fabfa09a67 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/runner/common/ArbitraryConfig.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/ledger/runner/common/ArbitraryConfig.scala
@@ -4,10 +4,10 @@
package com.digitalasset.canton.ledger.runner.common
import com.daml.jwt.JwtTimestampLeeway
-import com.daml.lf.VersionRange
-import com.daml.lf.interpretation.Limits
-import com.daml.lf.language.LanguageVersion
-import com.daml.lf.transaction.ContractKeyUniquenessMode
+import com.digitalasset.daml.lf.VersionRange
+import com.digitalasset.daml.lf.interpretation.Limits
+import com.digitalasset.daml.lf.language.LanguageVersion
+import com.digitalasset.daml.lf.transaction.ContractKeyUniquenessMode
import com.daml.tls.{TlsConfiguration, TlsVersion}
import com.digitalasset.canton.config.NonNegativeFiniteDuration
import com.digitalasset.canton.config.RequireTypes.{NonNegativeInt, Port}
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/DispatcherStateSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/DispatcherStateSpec.scala
index fda942c027..c03762f05b 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/DispatcherStateSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/DispatcherStateSpec.scala
@@ -5,7 +5,7 @@ package com.digitalasset.canton.platform
import com.daml.error.utils.ErrorDetails
import com.daml.ledger.api.testing.utils.PekkoBeforeAndAfterAll
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.BaseTest
import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.ledger.error.CommonErrors
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/InMemoryStateSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/InMemoryStateSpec.scala
index ef8a108e5a..2b58902b0e 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/InMemoryStateSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/InMemoryStateSpec.scala
@@ -3,10 +3,9 @@
package com.digitalasset.canton.platform
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.TestEssentials
import com.digitalasset.canton.data.Offset
-import com.digitalasset.canton.platform.apiserver.execution.CommandProgressTracker
import com.digitalasset.canton.platform.apiserver.services.tracking.SubmissionTracker
import com.digitalasset.canton.platform.store.backend.ParameterStorageBackend
import com.digitalasset.canton.platform.store.backend.ParameterStorageBackend.LedgerEnd
@@ -145,7 +144,6 @@ class InMemoryStateSpec extends AsyncFlatSpec with MockitoSugar with Matchers wi
val dispatcherState = mock[DispatcherState]
val updateStringInterningView = mock[(UpdatingStringInterningView, LedgerEnd) => Future[Unit]]
val submissionTracker = mock[SubmissionTracker]
- val commandProgressTracker = CommandProgressTracker.NoOp
// Mocks should be called in the asserted order
val inOrderMockCalls = Mockito.inOrder(
@@ -165,7 +163,6 @@ class InMemoryStateSpec extends AsyncFlatSpec with MockitoSugar with Matchers wi
stringInterningView = stringInterningView,
dispatcherState = dispatcherState,
submissionTracker = submissionTracker,
- commandProgressTracker = commandProgressTracker,
loggerFactory = loggerFactory,
)
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/IndexComponentTest.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/IndexComponentTest.scala
index 49e05672ec..30f3decabb 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/IndexComponentTest.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/IndexComponentTest.scala
@@ -5,10 +5,10 @@ package com.digitalasset.canton.platform
import com.daml.ledger.api.testing.utils.PekkoBeforeAndAfterAll
import com.daml.ledger.resources.{Resource, ResourceContext}
-import com.daml.lf.data.Ref
-import com.daml.lf.engine.{Engine, EngineConfig}
-import com.daml.lf.language.{LanguageMajorVersion, LanguageVersion}
-import com.daml.lf.transaction.test.{NodeIdTransactionBuilder, TestNodeBuilder}
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.engine.{Engine, EngineConfig}
+import com.digitalasset.daml.lf.language.{LanguageMajorVersion, LanguageVersion}
+import com.digitalasset.daml.lf.transaction.test.{NodeIdTransactionBuilder, TestNodeBuilder}
import com.digitalasset.canton.BaseTest
import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.ledger.api.health.HealthStatus
@@ -21,7 +21,6 @@ import com.digitalasset.canton.ledger.participant.state.{
import com.digitalasset.canton.logging.LoggingContextWithTrace
import com.digitalasset.canton.metrics.LedgerApiServerMetrics
import com.digitalasset.canton.platform.IndexComponentTest.{TestReadService, TestServices}
-import com.digitalasset.canton.platform.apiserver.execution.CommandProgressTracker
import com.digitalasset.canton.platform.config.{IndexServiceConfig, ServerRole}
import com.digitalasset.canton.platform.index.IndexServiceOwner
import com.digitalasset.canton.platform.indexer.ha.HaConfig
@@ -97,7 +96,6 @@ trait IndexComponentTest extends PekkoBeforeAndAfterAll with BaseTest {
val indexResourceOwner =
for {
(inMemoryState, updaterFlow) <- LedgerApiServer.createInMemoryStateAndUpdater(
- commandProgressTracker = CommandProgressTracker.NoOp,
indexServiceConfig = IndexServiceConfig(),
maxCommandsInFlight = 1, // not used
metrics = LedgerApiServerMetrics.ForTesting,
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/execution/LedgerTimeAwareCommandExecutorSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/execution/LedgerTimeAwareCommandExecutorSpec.scala
index 458a3c3b04..2236f7f219 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/execution/LedgerTimeAwareCommandExecutorSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/execution/LedgerTimeAwareCommandExecutorSpec.scala
@@ -3,14 +3,14 @@
package com.digitalasset.canton.platform.apiserver.execution
-import com.daml.lf.command.ApiCommands as LfCommands
-import com.daml.lf.crypto.Hash
-import com.daml.lf.data.Ref.{Identifier, PackageName, PackageVersion}
-import com.daml.lf.data.{Bytes, ImmArray, Ref, Time}
-import com.daml.lf.transaction.TransactionVersion
-import com.daml.lf.transaction.test.{TestNodeBuilder, TransactionBuilder}
-import com.daml.lf.value.Value
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.command.ApiCommands as LfCommands
+import com.digitalasset.daml.lf.crypto.Hash
+import com.digitalasset.daml.lf.data.Ref.{Identifier, PackageName, PackageVersion}
+import com.digitalasset.daml.lf.data.{Bytes, ImmArray, Ref, Time}
+import com.digitalasset.daml.lf.transaction.TransactionVersion
+import com.digitalasset.daml.lf.transaction.test.{TestNodeBuilder, TransactionBuilder}
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value.ContractId
import com.digitalasset.canton.BaseTest
import com.digitalasset.canton.data.{DeduplicationPeriod, ProcessedDisclosedContract}
import com.digitalasset.canton.ledger.api.domain.{CommandId, Commands}
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/execution/ResolveMaximumLedgerTimeSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/execution/ResolveMaximumLedgerTimeSpec.scala
index 7ac26bee2d..bfc1eac618 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/execution/ResolveMaximumLedgerTimeSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/execution/ResolveMaximumLedgerTimeSpec.scala
@@ -3,12 +3,12 @@
package com.digitalasset.canton.platform.apiserver.execution
-import com.daml.lf.crypto.Hash
-import com.daml.lf.data.Ref.{Identifier, PackageName, PackageVersion}
-import com.daml.lf.data.{Bytes, ImmArray, Time}
-import com.daml.lf.transaction.TransactionVersion
-import com.daml.lf.value.Value
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.crypto.Hash
+import com.digitalasset.daml.lf.data.Ref.{Identifier, PackageName, PackageVersion}
+import com.digitalasset.daml.lf.data.{Bytes, ImmArray, Time}
+import com.digitalasset.daml.lf.transaction.TransactionVersion
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value.ContractId
import com.digitalasset.canton.BaseTest
import com.digitalasset.canton.data.ProcessedDisclosedContract
import com.digitalasset.canton.ledger.participant.state.index.{
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/execution/StoreBackedCommandExecutorSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/execution/StoreBackedCommandExecutorSpec.scala
index 576aa4cf9b..05269e988b 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/execution/StoreBackedCommandExecutorSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/execution/StoreBackedCommandExecutorSpec.scala
@@ -3,21 +3,21 @@
package com.digitalasset.canton.platform.apiserver.execution
-import com.daml.lf.command.{ApiCommands as LfCommands, DisclosedContract as LfDisclosedContract}
-import com.daml.lf.crypto.Hash
-import com.daml.lf.data.Ref.{Identifier, ParticipantId, Party}
-import com.daml.lf.data.Time.Timestamp
-import com.daml.lf.data.{Bytes, ImmArray, Ref, Time}
-import com.daml.lf.engine.*
-import com.daml.lf.transaction.test.TransactionBuilder
-import com.daml.lf.transaction.{
+import com.digitalasset.daml.lf.command.{ApiCommands as LfCommands, DisclosedContract as LfDisclosedContract}
+import com.digitalasset.daml.lf.crypto.Hash
+import com.digitalasset.daml.lf.data.Ref.{Identifier, ParticipantId, Party}
+import com.digitalasset.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.data.{Bytes, ImmArray, Ref, Time}
+import com.digitalasset.daml.lf.engine.*
+import com.digitalasset.daml.lf.transaction.test.TransactionBuilder
+import com.digitalasset.daml.lf.transaction.{
GlobalKeyWithMaintainers,
SubmittedTransaction,
Transaction,
Versioned,
}
-import com.daml.lf.value.Value
-import com.daml.lf.value.Value.{ContractInstance, ValueTrue}
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value.{ContractInstance, ValueTrue}
import com.daml.logging.LoggingContext
import com.digitalasset.canton.concurrent.Threading
import com.digitalasset.canton.crypto.provider.symbolic.SymbolicPureCrypto
@@ -26,7 +26,7 @@ import com.digitalasset.canton.data.DeduplicationPeriod
import com.digitalasset.canton.ledger.api.domain
import com.digitalasset.canton.ledger.api.domain.{CommandId, Commands}
import com.digitalasset.canton.ledger.api.util.TimeProvider
-import com.digitalasset.canton.ledger.participant.state.WriteService
+import com.digitalasset.canton.ledger.participant.state.ReadService
import com.digitalasset.canton.ledger.participant.state.index.{ContractState, ContractStore}
import com.digitalasset.canton.logging.LoggingContextWithTrace
import com.digitalasset.canton.metrics.LedgerApiServerMetrics
@@ -83,7 +83,7 @@ class StoreBackedCommandExecutorSpec
packagePreference = any[Set[Ref.PackageId]],
submitters = any[Set[Ref.Party]],
readAs = any[Set[Ref.Party]],
- cmds = any[com.daml.lf.command.ApiCommands],
+ cmds = any[com.digitalasset.daml.lf.command.ApiCommands],
disclosures = any[ImmArray[LfDisclosedContract]],
participantId = any[ParticipantId],
submissionSeed = any[Hash],
@@ -117,7 +117,7 @@ class StoreBackedCommandExecutorSpec
new StoreBackedCommandExecutor(
engine,
Ref.ParticipantId.assertFromString("anId"),
- mock[WriteService],
+ mock[ReadService],
mock[ContractStore],
AuthorityResolver(),
authenticateContract = _ => Right(()),
@@ -280,7 +280,7 @@ class StoreBackedCommandExecutorSpec
packagePreference = any[Set[Ref.PackageId]],
submitters = any[Set[Ref.Party]],
readAs = any[Set[Ref.Party]],
- cmds = any[com.daml.lf.command.ApiCommands],
+ cmds = any[com.digitalasset.daml.lf.command.ApiCommands],
disclosures = any[ImmArray[LfDisclosedContract]],
participantId = any[ParticipantId],
submissionSeed = any[Hash],
@@ -328,7 +328,7 @@ class StoreBackedCommandExecutorSpec
val sut = new StoreBackedCommandExecutor(
mockEngine,
Ref.ParticipantId.assertFromString("anId"),
- mock[WriteService],
+ mock[ReadService],
store,
AuthorityResolver(),
authenticateContract = _ => authenticationResult,
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/meteringreport/JcsSignerSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/meteringreport/JcsSignerSpec.scala
index afde41f6cf..bc6d5e794e 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/meteringreport/JcsSignerSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/meteringreport/JcsSignerSpec.scala
@@ -3,8 +3,8 @@
package com.digitalasset.canton.platform.apiserver.meteringreport
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Time.Timestamp
import com.digitalasset.canton.platform.apiserver.meteringreport.JcsSigner.VerificationStatus.*
import com.digitalasset.canton.platform.apiserver.meteringreport.MeteringReport.{
ApplicationReport,
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/meteringreport/JcsSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/meteringreport/JcsSpec.scala
index 345f5bf712..da38cb2745 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/meteringreport/JcsSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/meteringreport/JcsSpec.scala
@@ -3,8 +3,8 @@
package com.digitalasset.canton.platform.apiserver.meteringreport
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Time.Timestamp
import com.digitalasset.canton.platform.apiserver.meteringreport.Jcs.{
MaximumSupportedAbsSize,
serialize,
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/meteringreport/MeteringReportGeneratorSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/meteringreport/MeteringReportGeneratorSpec.scala
index 6a556bb5dd..b3eeec5d70 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/meteringreport/MeteringReportGeneratorSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/meteringreport/MeteringReportGeneratorSpec.scala
@@ -7,8 +7,8 @@ import com.daml.ledger.api.v2.admin.metering_report_service.{
GetMeteringReportRequest,
GetMeteringReportResponse,
}
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Time.Timestamp
import com.digitalasset.canton.ledger.participant.state.index.MeteringStore.ReportData
import com.digitalasset.canton.platform.apiserver.services.admin.ApiMeteringReportService.toProtoTimestamp
import com.google.protobuf.struct.Struct
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/meteringreport/MeteringReportSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/meteringreport/MeteringReportSpec.scala
index 55fb60c08d..40bf497d0c 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/meteringreport/MeteringReportSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/meteringreport/MeteringReportSpec.scala
@@ -3,8 +3,8 @@
package com.digitalasset.canton.platform.apiserver.meteringreport
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Time.Timestamp
import com.digitalasset.canton.platform.apiserver.meteringreport.MeteringReport.*
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AsyncWordSpec
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/services/ApiCommandServiceSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/services/ApiCommandServiceSpec.scala
index 95d5e90dcc..3f08477c53 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/services/ApiCommandServiceSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/services/ApiCommandServiceSpec.scala
@@ -11,7 +11,7 @@ import com.daml.ledger.api.v2.command_service.{
}
import com.daml.ledger.api.v2.commands.{Command, CreateCommand}
import com.daml.ledger.api.v2.value.{Identifier, Record, RecordField, Value}
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.daml.tracing.NoOpTelemetry
import com.digitalasset.canton.BaseTest
import com.digitalasset.canton.ledger.api.MockMessages.*
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/services/ApiCommandSubmissionServiceSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/services/ApiCommandSubmissionServiceSpec.scala
index d5fd53fda5..5985b96ec7 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/services/ApiCommandSubmissionServiceSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/services/ApiCommandSubmissionServiceSpec.scala
@@ -5,7 +5,7 @@ package com.digitalasset.canton.platform.apiserver.services
import com.daml.ledger.api.v2.commands.{Command, CreateCommand}
import com.daml.ledger.api.v2.value.{Identifier, Record, RecordField, Value}
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.daml.tracing.{DefaultOpenTelemetry, SpanAttribute}
import com.digitalasset.canton.BaseTest
import com.digitalasset.canton.ledger.api.MockMessages.*
@@ -17,7 +17,6 @@ import com.digitalasset.canton.ledger.api.validation.{
}
import com.digitalasset.canton.logging.LoggingContextWithTrace
import com.digitalasset.canton.metrics.LedgerApiServerMetrics
-import com.digitalasset.canton.platform.apiserver.execution.CommandProgressTracker
import com.digitalasset.canton.tracing.TestTelemetrySetup
import io.opentelemetry.sdk.OpenTelemetrySdk
import org.mockito.captor.ArgCaptor
@@ -139,7 +138,6 @@ class ApiCommandSubmissionServiceSpec
currentUtcTime = () => Instant.EPOCH,
maxDeduplicationDuration = Duration.ZERO,
submissionIdGenerator = () => Ref.SubmissionId.assertFromString(generatedSubmissionId),
- tracker = CommandProgressTracker.NoOp,
metrics = LedgerApiServerMetrics.ForTesting,
telemetry = new DefaultOpenTelemetry(OpenTelemetrySdk.builder().build()),
loggerFactory = loggerFactory,
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/services/DisclosedContractCreator.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/services/DisclosedContractCreator.scala
index c0d45220c1..8c143c51b2 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/services/DisclosedContractCreator.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/services/DisclosedContractCreator.scala
@@ -5,15 +5,15 @@ package com.digitalasset.canton.platform.apiserver.services
import com.daml.ledger.api.v2.commands.DisclosedContract
import com.daml.ledger.api.v2.value.Identifier
-import com.daml.lf.data.{Bytes, ImmArray, Ref, Time}
-import com.daml.lf.transaction.{
+import com.digitalasset.daml.lf.data.{Bytes, ImmArray, Ref, Time}
+import com.digitalasset.daml.lf.transaction.{
FatContractInstance,
GlobalKeyWithMaintainers,
Node,
TransactionCoder,
TransactionVersion,
}
-import com.daml.lf.value.Value.{ContractId, ValueRecord, ValueTrue}
+import com.digitalasset.daml.lf.value.Value.{ContractId, ValueRecord, ValueTrue}
import com.digitalasset.canton.LfValue
import com.google.protobuf.ByteString
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/services/admin/ApiMeteringReportServiceSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/services/admin/ApiMeteringReportServiceSpec.scala
index 9da5df6089..3d2198f912 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/services/admin/ApiMeteringReportServiceSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/services/admin/ApiMeteringReportServiceSpec.scala
@@ -4,8 +4,8 @@
package com.digitalasset.canton.platform.apiserver.services.admin
import com.daml.ledger.api.v2.admin.metering_report_service.GetMeteringReportRequest
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Time.Timestamp
import com.daml.tracing.NoOpTelemetry
import com.digitalasset.canton.BaseTest
import com.digitalasset.canton.ledger.participant.state.index.MeteringStore
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/services/admin/ApiPackageManagementServiceSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/services/admin/ApiPackageManagementServiceSpec.scala
index d2207a6923..dce4fccf92 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/services/admin/ApiPackageManagementServiceSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/services/admin/ApiPackageManagementServiceSpec.scala
@@ -11,30 +11,26 @@ import com.daml.ledger.api.v2.admin.package_management_service.{
ValidateDarFileRequest,
ValidateDarFileResponse,
}
-import com.daml.lf.data.Ref.{ApplicationId, CommandId, Party, SubmissionId, WorkflowId}
-import com.daml.lf.data.{ImmArray, Ref}
-import com.daml.lf.transaction.{GlobalKey, SubmittedTransaction}
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.data.Ref
import com.daml.tracing.DefaultOpenTelemetry
import com.daml.tracing.TelemetrySpecBase.*
import com.digitalasset.canton.BaseTest
-import com.digitalasset.canton.data.{Offset, ProcessedDisclosedContract}
+import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.ledger.api.health.HealthStatus
import com.digitalasset.canton.ledger.participant.state
import com.digitalasset.canton.ledger.participant.state.{
InternalStateService,
- PruningResult,
- ReassignmentCommand,
+ ReadService,
SubmissionResult,
- SubmitterInfo,
- TransactionMeta,
+ Update,
}
import com.digitalasset.canton.logging.SuppressionRule
-import com.digitalasset.canton.topology.DomainId
-import com.digitalasset.canton.tracing.{TestTelemetrySetup, TraceContext}
+import com.digitalasset.canton.tracing.{TestTelemetrySetup, TraceContext, Traced}
import com.google.protobuf.ByteString
import io.opentelemetry.api.trace.Tracer
import io.opentelemetry.sdk.OpenTelemetrySdk
+import org.apache.pekko.NotUsed
+import org.apache.pekko.stream.scaladsl.Source
import org.mockito.{ArgumentMatchersSugar, MockitoSugar}
import org.scalatest.BeforeAndAfterEach
import org.scalatest.concurrent.Eventually
@@ -42,7 +38,6 @@ import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AsyncWordSpec
import org.slf4j.event.Level.DEBUG
-import java.util.concurrent.CompletionStage
import scala.concurrent.Future
// TODO(#17635) Very thin layer. Revisit utility of testing
@@ -116,7 +111,8 @@ class ApiPackageManagementServiceSpec
private def createApiService(): PackageManagementServiceGrpc.PackageManagementService = {
ApiPackageManagementService.createApiService(
- TestWriteService(testTelemetrySetup.tracer),
+ TestReadService(testTelemetrySetup.tracer),
+ TestWritePackagesService(testTelemetrySetup.tracer),
telemetry = new DefaultOpenTelemetry(OpenTelemetrySdk.builder().build()),
loggerFactory = loggerFactory,
)
@@ -126,7 +122,8 @@ class ApiPackageManagementServiceSpec
object ApiPackageManagementServiceSpec {
private val aSubmissionId = "aSubmission"
- private final case class TestWriteService(tracer: Tracer) extends state.WriteService {
+ private final case class TestWritePackagesService(tracer: Tracer)
+ extends state.WritePackagesService {
override def uploadDar(
dar: ByteString,
submissionId: Ref.SubmissionId,
@@ -140,7 +137,9 @@ object ApiPackageManagementServiceSpec {
)
Future.successful(state.SubmissionResult.Acknowledged)
}
+ }
+ private final case class TestReadService(tracer: Tracer) extends ReadService {
override def validateDar(dar: ByteString, darName: String)(implicit
traceContext: TraceContext
): Future[SubmissionResult] = {
@@ -152,6 +151,11 @@ object ApiPackageManagementServiceSpec {
Future.successful(state.SubmissionResult.Acknowledged)
}
+ override def stateUpdates(beginAfter: Option[Offset])(implicit
+ traceContext: TraceContext
+ ): Source[(Offset, Traced[Update]), NotUsed] =
+ throw new UnsupportedOperationException()
+
override def internalStateService: Option[InternalStateService] =
throw new UnsupportedOperationException()
@@ -163,40 +167,5 @@ object ApiPackageManagementServiceSpec {
override def currentHealth(): HealthStatus =
throw new UnsupportedOperationException()
-
- override def submitTransaction(
- submitterInfo: SubmitterInfo,
- optDomainId: Option[DomainId],
- transactionMeta: TransactionMeta,
- transaction: SubmittedTransaction,
- estimatedInterpretationCost: Long,
- globalKeyMapping: Map[GlobalKey, Option[Value.ContractId]],
- processedDisclosedContracts: ImmArray[ProcessedDisclosedContract],
- )(implicit traceContext: TraceContext): CompletionStage[SubmissionResult] =
- throw new UnsupportedOperationException()
-
- override def submitReassignment(
- submitter: Party,
- applicationId: ApplicationId,
- commandId: CommandId,
- submissionId: Option[SubmissionId],
- workflowId: Option[WorkflowId],
- reassignmentCommand: ReassignmentCommand,
- )(implicit traceContext: TraceContext): CompletionStage[SubmissionResult] =
- throw new UnsupportedOperationException()
-
- override def allocateParty(
- hint: Option[Party],
- displayName: Option[String],
- submissionId: SubmissionId,
- )(implicit traceContext: TraceContext): CompletionStage[SubmissionResult] =
- throw new UnsupportedOperationException()
-
- override def prune(
- pruneUpToInclusive: Offset,
- submissionId: SubmissionId,
- pruneAllDivulgedContracts: Boolean,
- ): CompletionStage[PruningResult] =
- throw new UnsupportedOperationException()
}
}
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/services/admin/ApiPartyManagementServiceSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/services/admin/ApiPartyManagementServiceSpec.scala
index aa9bc1d70a..15b5b743e6 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/services/admin/ApiPartyManagementServiceSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/services/admin/ApiPartyManagementServiceSpec.scala
@@ -11,7 +11,7 @@ import com.daml.ledger.api.v2.admin.party_management_service.{
AllocatePartyRequest,
PartyDetails as ProtoPartyDetails,
}
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.daml.tracing.TelemetrySpecBase.*
import com.daml.tracing.{DefaultOpenTelemetry, NoOpTelemetry}
import com.digitalasset.canton.BaseTest
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/services/admin/ApiUserManagementServiceSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/services/admin/ApiUserManagementServiceSpec.scala
index 190759e0de..fb7381c114 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/services/admin/ApiUserManagementServiceSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/services/admin/ApiUserManagementServiceSpec.scala
@@ -4,7 +4,7 @@
package com.digitalasset.canton.platform.apiserver.services.admin
import com.daml.error.ErrorsAssertions
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.daml.platform.v1.page_tokens.ListUsersPageTokenPayload
import com.digitalasset.canton.BaseTest
import com.digitalasset.canton.ledger.error.groups.RequestValidationErrors
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/services/command/CommandServiceImplSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/services/command/CommandServiceImplSpec.scala
index b5c40d512d..46de5f5213 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/services/command/CommandServiceImplSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/services/command/CommandServiceImplSpec.scala
@@ -13,7 +13,7 @@ import com.daml.ledger.api.v2.completion.Completion
import com.daml.ledger.api.v2.participant_offset.ParticipantOffset
import com.daml.ledger.api.v2.value.{Identifier, Record, RecordField, Value}
import com.daml.ledger.resources.{ResourceContext, ResourceOwner}
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.daml.tracing.DefaultOpenTelemetry
import com.digitalasset.canton.ledger.api.validation.{
CommandsValidator,
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/services/command/CommandSubmissionServiceImplSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/services/command/CommandSubmissionServiceImplSpec.scala
index 651c274ba6..0df43ce17b 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/services/command/CommandSubmissionServiceImplSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/services/command/CommandSubmissionServiceImplSpec.scala
@@ -3,19 +3,19 @@
package com.digitalasset.canton.platform.apiserver.services.command
-import com.daml.lf
-import com.daml.lf.command.ApiCommands as LfCommands
-import com.daml.lf.crypto.Hash
-import com.daml.lf.data.Ref.{Identifier, PackageName, PackageVersion}
-import com.daml.lf.data.Time.Timestamp
-import com.daml.lf.data.{Bytes, ImmArray, Ref, Time}
-import com.daml.lf.engine.Error as LfError
-import com.daml.lf.interpretation.Error as LfInterpretationError
-import com.daml.lf.language.{LookupError, Reference}
-import com.daml.lf.transaction.*
-import com.daml.lf.transaction.test.TreeTransactionBuilder.*
-import com.daml.lf.transaction.test.{TestNodeBuilder, TransactionBuilder, TreeTransactionBuilder}
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf
+import com.digitalasset.daml.lf.command.ApiCommands as LfCommands
+import com.digitalasset.daml.lf.crypto.Hash
+import com.digitalasset.daml.lf.data.Ref.{Identifier, PackageName, PackageVersion}
+import com.digitalasset.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.data.{Bytes, ImmArray, Ref, Time}
+import com.digitalasset.daml.lf.engine.Error as LfError
+import com.digitalasset.daml.lf.interpretation.Error as LfInterpretationError
+import com.digitalasset.daml.lf.language.{LookupError, Reference}
+import com.digitalasset.daml.lf.transaction.*
+import com.digitalasset.daml.lf.transaction.test.TreeTransactionBuilder.*
+import com.digitalasset.daml.lf.transaction.test.{TestNodeBuilder, TransactionBuilder, TreeTransactionBuilder}
+import com.digitalasset.daml.lf.value.Value
import com.digitalasset.canton.data.DeduplicationPeriod
import com.digitalasset.canton.data.DeduplicationPeriod.DeduplicationDuration
import com.digitalasset.canton.ledger.api.domain.{CommandId, Commands}
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/update/IdentityProviderConfigUpdateMapperSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/update/IdentityProviderConfigUpdateMapperSpec.scala
index 3901d43dde..ce93e02b5f 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/update/IdentityProviderConfigUpdateMapperSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/update/IdentityProviderConfigUpdateMapperSpec.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.platform.apiserver.update
-import com.daml.lf.data.Ref.LedgerString
+import com.digitalasset.daml.lf.data.Ref.LedgerString
import com.digitalasset.canton.ledger.api.domain.{IdentityProviderId, JwksUrl}
import com.digitalasset.canton.ledger.localstore.api.IdentityProviderConfigUpdate
import com.google.protobuf.field_mask.FieldMask
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/update/PartyRecordUpdateMapperSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/update/PartyRecordUpdateMapperSpec.scala
index a547cccdf2..36a80c6106 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/update/PartyRecordUpdateMapperSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/update/PartyRecordUpdateMapperSpec.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.platform.apiserver.update
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.ledger.api.domain.{IdentityProviderId, ObjectMeta, PartyDetails}
import com.digitalasset.canton.ledger.localstore.api.{ObjectMetaUpdate, PartyDetailsUpdate}
import com.google.protobuf.field_mask.FieldMask
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/update/UserUpdateMapperSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/update/UserUpdateMapperSpec.scala
index d9b6e14c20..5af150c66c 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/update/UserUpdateMapperSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/update/UserUpdateMapperSpec.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.platform.apiserver.update
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.ledger.api.domain.{IdentityProviderId, ObjectMeta, User}
import com.digitalasset.canton.ledger.localstore.api.{ObjectMetaUpdate, UserUpdate}
import com.google.protobuf.field_mask.FieldMask
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/validation/ErrorFactoriesSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/validation/ErrorFactoriesSpec.scala
index ff5089045d..42c416e4bc 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/validation/ErrorFactoriesSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/apiserver/validation/ErrorFactoriesSpec.scala
@@ -5,7 +5,7 @@ package com.digitalasset.canton.platform.apiserver.validation
import com.daml.error.*
import com.daml.error.utils.ErrorDetails
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.BaseTest
import com.digitalasset.canton.ledger.error.groups.RequestValidationErrors.InvalidDeduplicationPeriodField.ValidMaxDeduplicationFieldKey
import com.digitalasset.canton.ledger.error.groups.{
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/index/ContractStoreBasedMaximumLedgerTimeServiceSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/index/ContractStoreBasedMaximumLedgerTimeServiceSpec.scala
index 72f9e0aa97..215bd25bb0 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/index/ContractStoreBasedMaximumLedgerTimeServiceSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/index/ContractStoreBasedMaximumLedgerTimeServiceSpec.scala
@@ -3,11 +3,11 @@
package com.digitalasset.canton.platform.index
-import com.daml.lf.crypto.Hash
-import com.daml.lf.data.Ref.Party
-import com.daml.lf.data.Time.Timestamp
-import com.daml.lf.transaction.GlobalKey
-import com.daml.lf.value.Value.{ContractId, VersionedContractInstance}
+import com.digitalasset.daml.lf.crypto.Hash
+import com.digitalasset.daml.lf.data.Ref.Party
+import com.digitalasset.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.transaction.GlobalKey
+import com.digitalasset.daml.lf.value.Value.{ContractId, VersionedContractInstance}
import com.digitalasset.canton.BaseTest
import com.digitalasset.canton.ledger.participant.state.index.{
ContractState,
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/index/InMemoryStateUpdaterSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/index/InMemoryStateUpdaterSpec.scala
index f0612d7c30..f782984110 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/index/InMemoryStateUpdaterSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/index/InMemoryStateUpdaterSpec.scala
@@ -8,15 +8,15 @@ import com.daml.daml_lf_dev.DamlLf
import com.daml.ledger.api.testing.utils.PekkoBeforeAndAfterAll
import com.daml.ledger.api.v2.command_completion_service.CompletionStreamResponse
import com.daml.ledger.api.v2.completion.Completion
-import com.daml.lf.crypto
-import com.daml.lf.data.Ref.Identifier
-import com.daml.lf.data.Time.Timestamp
-import com.daml.lf.data.{Bytes, Ref, Time}
-import com.daml.lf.ledger.EventId
-import com.daml.lf.transaction.test.TestNodeBuilder.CreateTransactionVersion
-import com.daml.lf.transaction.test.{TestNodeBuilder, TransactionBuilder}
-import com.daml.lf.transaction.{CommittedTransaction, NodeId, TransactionVersion}
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.crypto
+import com.digitalasset.daml.lf.data.Ref.Identifier
+import com.digitalasset.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.data.{Bytes, Ref, Time}
+import com.digitalasset.daml.lf.ledger.EventId
+import com.digitalasset.daml.lf.transaction.test.TestNodeBuilder.CreateTransactionVersion
+import com.digitalasset.daml.lf.transaction.test.{TestNodeBuilder, TransactionBuilder}
+import com.digitalasset.daml.lf.transaction.{CommittedTransaction, NodeId, TransactionVersion}
+import com.digitalasset.daml.lf.value.Value
import com.digitalasset.canton.data.{CantonTimestamp, Offset}
import com.digitalasset.canton.ledger.participant.state.Update.CommandRejected.FinalReason
import com.digitalasset.canton.ledger.participant.state.{
@@ -28,7 +28,6 @@ import com.digitalasset.canton.ledger.participant.state.{
}
import com.digitalasset.canton.metrics.LedgerApiServerMetrics
import com.digitalasset.canton.pekkostreams.dispatcher.Dispatcher
-import com.digitalasset.canton.platform.apiserver.execution.CommandProgressTracker
import com.digitalasset.canton.platform.apiserver.services.tracking.SubmissionTracker
import com.digitalasset.canton.platform.index.InMemoryStateUpdater.PrepareResult
import com.digitalasset.canton.platform.index.InMemoryStateUpdaterSpec.*
@@ -249,7 +248,7 @@ object InMemoryStateUpdaterSpec {
flatEventWitnesses = Set(party2),
submitters = Set.empty,
createArgument =
- com.daml.lf.transaction.Versioned(someCreateNode.version, someCreateNode.arg),
+ com.digitalasset.daml.lf.transaction.Versioned(someCreateNode.version, someCreateNode.arg),
createSignatories = Set(party1),
createObservers = Set(party2),
createKeyHash = None,
@@ -296,7 +295,6 @@ object InMemoryStateUpdaterSpec {
val dispatcherState: DispatcherState = mock[DispatcherState]
val submissionTracker: SubmissionTracker = mock[SubmissionTracker]
val dispatcher: Dispatcher[Offset] = mock[Dispatcher[Offset]]
- val commandProgressTracker = CommandProgressTracker.NoOp
val inOrder: InOrder = inOrder(
ledgerEndCache,
@@ -317,7 +315,6 @@ object InMemoryStateUpdaterSpec {
stringInterningView = stringInterningView,
dispatcherState = dispatcherState,
submissionTracker = submissionTracker,
- commandProgressTracker = commandProgressTracker,
loggerFactory = loggerFactory,
)(executorService)
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/index/IndexServiceImplSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/index/IndexServiceImplSpec.scala
index 0ea458541d..0a1e57ab58 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/index/IndexServiceImplSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/index/IndexServiceImplSpec.scala
@@ -4,8 +4,8 @@
package com.digitalasset.canton.platform.index
import com.daml.error.{ContextualizedErrorLogger, NoLogging}
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.{Identifier, Party, QualifiedName, TypeConRef}
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.{Identifier, Party, QualifiedName, TypeConRef}
import com.daml.nonempty.NonEmpty
import com.digitalasset.canton.ledger.api.domain.{
CumulativeFilter,
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/indexer/MeteringAggregatorSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/indexer/MeteringAggregatorSpec.scala
index 7749f188b1..3dbd23a6c8 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/indexer/MeteringAggregatorSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/indexer/MeteringAggregatorSpec.scala
@@ -4,8 +4,8 @@
package com.digitalasset.canton.platform.indexer
import com.daml.executors.executors.QueueAwareExecutionContextExecutorService
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Time.Timestamp
import com.daml.metrics.DatabaseMetrics
import com.digitalasset.canton.TestEssentials
import com.digitalasset.canton.data.Offset
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/indexer/RecoveringIndexerIntegrationSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/indexer/RecoveringIndexerIntegrationSpec.scala
index 7694b982b5..5bad970408 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/indexer/RecoveringIndexerIntegrationSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/indexer/RecoveringIndexerIntegrationSpec.scala
@@ -4,8 +4,8 @@
package com.digitalasset.canton.platform.indexer
import com.daml.ledger.resources.ResourceOwner
-import com.daml.lf.data.Ref.{Party, SubmissionId}
-import com.daml.lf.data.{Ref, Time}
+import com.digitalasset.daml.lf.data.Ref.{Party, SubmissionId}
+import com.digitalasset.daml.lf.data.{Ref, Time}
import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.ledger.api.health.HealthStatus
import com.digitalasset.canton.ledger.participant.state.{
@@ -24,7 +24,6 @@ import com.digitalasset.canton.logging.{
}
import com.digitalasset.canton.metrics.LedgerApiServerMetrics
import com.digitalasset.canton.platform.LedgerApiServer
-import com.digitalasset.canton.platform.apiserver.execution.CommandProgressTracker
import com.digitalasset.canton.platform.config.{
CommandServiceConfig,
IndexServiceConfig,
@@ -255,7 +254,6 @@ class RecoveringIndexerIntegrationSpec
(inMemoryState, inMemoryStateUpdaterFlow) <-
LedgerApiServer
.createInMemoryStateAndUpdater(
- commandProgressTracker = CommandProgressTracker.NoOp,
IndexServiceConfig(),
CommandServiceConfig.DefaultMaxCommandsInFlight,
metrics,
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/indexer/ha/EndlessReadService.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/indexer/ha/EndlessReadService.scala
index 9481f6b738..3b3553778a 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/indexer/ha/EndlessReadService.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/indexer/ha/EndlessReadService.scala
@@ -4,12 +4,12 @@
package com.digitalasset.canton.platform.indexer.ha
import cats.syntax.bifunctor.toBifunctorOps
-import com.daml.lf.crypto
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Time.Timestamp
-import com.daml.lf.transaction.test.{TestNodeBuilder, TreeTransactionBuilder}
-import com.daml.lf.transaction.{CommittedTransaction, TransactionNodeStatistics}
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.crypto
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.transaction.test.{TestNodeBuilder, TreeTransactionBuilder}
+import com.digitalasset.daml.lf.transaction.{CommittedTransaction, TransactionNodeStatistics}
+import com.digitalasset.daml.lf.value.Value
import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.ledger.api.health.HealthStatus
import com.digitalasset.canton.ledger.participant.state.{
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/indexer/ha/IndexerStabilityTestFixture.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/indexer/ha/IndexerStabilityTestFixture.scala
index c9a4bf32f8..7d8dacad5b 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/indexer/ha/IndexerStabilityTestFixture.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/indexer/ha/IndexerStabilityTestFixture.scala
@@ -10,7 +10,6 @@ import com.digitalasset.canton.ledger.api.health.ReportsHealth
import com.digitalasset.canton.logging.{NamedLoggerFactory, TracedLogger}
import com.digitalasset.canton.metrics.{LedgerApiServerHistograms, LedgerApiServerMetrics}
import com.digitalasset.canton.platform.LedgerApiServer
-import com.digitalasset.canton.platform.apiserver.execution.CommandProgressTracker
import com.digitalasset.canton.platform.config.{CommandServiceConfig, IndexServiceConfig}
import com.digitalasset.canton.platform.indexer.{
IndexerConfig,
@@ -94,7 +93,6 @@ final class IndexerStabilityTestFixture(loggerFactory: NamedLoggerFactory) {
(inMemoryState, inMemoryStateUpdaterFlow) <-
LedgerApiServer
.createInMemoryStateAndUpdater(
- commandProgressTracker = CommandProgressTracker.NoOp,
IndexServiceConfig(),
CommandServiceConfig.DefaultMaxCommandsInFlight,
metrics,
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/indexer/parallel/BatchingParallelIngestionPipeSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/indexer/parallel/BatchingParallelIngestionPipeSpec.scala
index 63dec107ef..e53547f3b0 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/indexer/parallel/BatchingParallelIngestionPipeSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/indexer/parallel/BatchingParallelIngestionPipeSpec.scala
@@ -11,7 +11,6 @@ import org.scalatest.OptionValues
import org.scalatest.flatspec.AsyncFlatSpec
import org.scalatest.matchers.should.Matchers
-import java.util.concurrent.atomic.AtomicInteger
import scala.collection.mutable.ArrayBuffer
import scala.concurrent.duration.FiniteDuration
import scala.concurrent.{ExecutionContext, Future, Promise, blocking}
@@ -73,28 +72,19 @@ class BatchingParallelIngestionPipeSpec
}
it should "hold the stream if a single ingestion takes too long" in {
- val ingestedSizeAcc = new AtomicInteger(0)
- val ingestedTailAcc = new AtomicInteger(0)
runPipe(
inputMapperHook = () => Threading.sleep(1L),
ingesterHook = batch => {
// due to timing issues it can be that other than full batches are formed, so we check if the batch contains 21
- if (batch.min <= 21) {
- ingestedSizeAcc.accumulateAndGet(batch.size, _ + _)
- }
- if (batch.max < 21) {
- ingestedTailAcc.accumulateAndGet(batch.max, _ max _)
- }
if (batch.contains(21)) Threading.sleep(1000)
},
timeout = FiniteDuration(100, "milliseconds"),
).map { case (ingested, ingestedTail, err) =>
err.value.getMessage shouldBe "timed out"
- // 25 is the ideal case: due to timing issues it can be that other than full batches are formed, so either having < 20 before and < 5 after is possible
+ // 25 consists of 4 full batches before 21, then the one full batch after the frozen full batch since parallelism == 2
+ // 25 is the ideal case: due to timing issues it can be that other than full batches are formed, so either having < 20 before and < 5 after is possiblef
ingested.size should be <= 25
- ingestedTail.last should be < 21
- ingested.size shouldBe ingestedSizeAcc.get()
- ingestedTail.last shouldBe ingestedTailAcc.get()
+ ingestedTail.last shouldBe 20
}
}
@@ -179,7 +169,7 @@ class BatchingParallelIngestionPipeSpec
val semaphore = new Object
var ingested: Vector[(Int, String)] = Vector.empty
var ingestedTail: Vector[Int] = Vector.empty
- val indexingFlow =
+ val indexingSource: Source[Int, NotUsed] => Source[List[(Int, String)], NotUsed] =
BatchingParallelIngestionPipe[Int, List[(Int, Int)], List[(Int, String)]](
submissionBatchSize = MaxBatchSize.toLong,
inputMappingParallelism = 2,
@@ -227,7 +217,7 @@ class BatchingParallelIngestionPipeSpec
val timeoutF = org.apache.pekko.pattern.after(timeout, system.scheduler) {
Future.failed(new Exception("timed out"))
}
- val indexingF = inputSource.via(indexingFlow).run().map { _ =>
+ val indexingF = indexingSource(inputSource).run().map { _ =>
(ingested, ingestedTail, Option.empty[Throwable])
}
timeoutF.onComplete(p.tryComplete)
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/indexer/parallel/ParallelIndexerSubscriptionSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/indexer/parallel/ParallelIndexerSubscriptionSpec.scala
index 58ba1ec766..ae095cd55b 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/indexer/parallel/ParallelIndexerSubscriptionSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/indexer/parallel/ParallelIndexerSubscriptionSpec.scala
@@ -4,11 +4,11 @@
package com.digitalasset.canton.platform.indexer.parallel
import com.daml.executors.executors.{NamedExecutor, QueueAwareExecutor}
-import com.daml.lf.crypto.Hash
-import com.daml.lf.data.Time.Timestamp
-import com.daml.lf.data.{ImmArray, Ref, Time}
-import com.daml.lf.transaction.TransactionNodeStatistics.EmptyActions
-import com.daml.lf.transaction.{
+import com.digitalasset.daml.lf.crypto.Hash
+import com.digitalasset.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.data.{ImmArray, Ref, Time}
+import com.digitalasset.daml.lf.transaction.TransactionNodeStatistics.EmptyActions
+import com.digitalasset.daml.lf.transaction.{
CommittedTransaction,
TransactionNodeStatistics,
TransactionVersion,
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/multidomain/MultiDomainIndexComponentTest.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/multidomain/MultiDomainIndexComponentTest.scala
index bf0fd84713..4cbc2c3364 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/multidomain/MultiDomainIndexComponentTest.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/multidomain/MultiDomainIndexComponentTest.scala
@@ -3,8 +3,8 @@
package com.digitalasset.canton.platform.multidomain
-import com.daml.lf.data.{Bytes, Ref, Time}
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.data.{Bytes, Ref, Time}
+import com.digitalasset.daml.lf.value.Value
import com.digitalasset.canton.data.CantonTimestamp
import com.digitalasset.canton.ledger.participant.state.{Reassignment, ReassignmentInfo, Update}
import com.digitalasset.canton.platform.IndexComponentTest
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/packages/DeduplicatingPackageLoaderSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/packages/DeduplicatingPackageLoaderSpec.scala
index c357569857..c8b69d6231 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/packages/DeduplicatingPackageLoaderSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/packages/DeduplicatingPackageLoaderSpec.scala
@@ -4,8 +4,8 @@
package com.digitalasset.canton.platform.packages
import com.daml.daml_lf_dev.DamlLf
-import com.daml.lf.archive.DarParser
-import com.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.archive.DarParser
+import com.digitalasset.daml.lf.data.Ref.PackageId
import com.daml.metrics.api.noop.NoOpMetricsFactory
import com.daml.metrics.api.{MetricInfo, MetricName, MetricQualification}
import com.digitalasset.canton.concurrent.Threading
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/CompletionFromTransactionSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/CompletionFromTransactionSpec.scala
index ae99c8cf30..e90cd13e4d 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/CompletionFromTransactionSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/CompletionFromTransactionSpec.scala
@@ -4,7 +4,7 @@
package com.digitalasset.canton.platform.store
import com.daml.ledger.api.v2.completion.Completion.DeduplicationPeriod
-import com.daml.lf.data.Time
+import com.digitalasset.daml.lf.data.Time
import com.digitalasset.canton.TestEssentials
import com.digitalasset.canton.data.Offset
import com.google.protobuf.duration.Duration
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/PruningDtoQueries.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/PruningDtoQueries.scala
index 135c1b841a..fc8460924d 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/PruningDtoQueries.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/PruningDtoQueries.scala
@@ -6,7 +6,7 @@ package com.digitalasset.canton.platform.store.backend
import anorm.SqlParser.{long, str}
import anorm.{RowParser, ~}
import com.digitalasset.canton.platform.store.backend.common.ComposableQuery.SqlStringInterpolation
-import com.digitalasset.canton.platform.store.backend.common.SimpleSqlExtensions.*
+import com.digitalasset.canton.platform.store.backend.common.SimpleSqlAsVectorOf.*
import java.sql.Connection
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendSpec.scala
index 1024cc1a1f..5995da258d 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendSpec.scala
@@ -3,6 +3,7 @@
package com.digitalasset.canton.platform.store.backend
+import com.daml.ledger.resources.ResourceContext
import com.digitalasset.canton.BaseTest
import com.digitalasset.canton.platform.store.FlywayMigrations
import org.scalatest.{BeforeAndAfterAll, BeforeAndAfterEach, TestSuite}
@@ -73,6 +74,7 @@ trait StorageBackendSpec
// Note: reusing the connection pool EC for initialization
implicit val ec: ExecutionContext = connectionPoolExecutionContext
+ implicit val resourceContext: ResourceContext = ResourceContext(ec)
val dataSourceFuture = for {
_ <- new FlywayMigrations(jdbcUrl, loggerFactory = loggerFactory).migrate()
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestValues.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestValues.scala
index e2ec825957..8cbb1fa676 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestValues.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestValues.scala
@@ -4,12 +4,12 @@
package com.digitalasset.canton.platform.store.backend
import com.daml.daml_lf_dev.DamlLf
-import com.daml.lf.crypto.Hash
-import com.daml.lf.data.Time.Timestamp
-import com.daml.lf.data.{Bytes, Ref}
-import com.daml.lf.ledger.EventId
-import com.daml.lf.transaction.NodeId
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.crypto.Hash
+import com.digitalasset.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.data.{Bytes, Ref}
+import com.digitalasset.daml.lf.ledger.EventId
+import com.digitalasset.daml.lf.transaction.NodeId
+import com.digitalasset.daml.lf.value.Value.ContractId
import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.ledger.api.domain.ParticipantId
import com.digitalasset.canton.ledger.participant.state.index.MeteringStore.TransactionMetering
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsContracts.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsContracts.scala
index 1683db74af..dc557c8cc0 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsContracts.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsContracts.scala
@@ -3,8 +3,8 @@
package com.digitalasset.canton.platform.store.backend
-import com.daml.lf.data.Ref
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.value.Value.ContractId
import org.scalatest.Inside
import org.scalatest.flatspec.AnyFlatSpec
import org.scalatest.matchers.should.Matchers
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsEvents.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsEvents.scala
index 8a302ac437..e227673285 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsEvents.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsEvents.scala
@@ -5,7 +5,7 @@ package com.digitalasset.canton.platform.store.backend
import com.daml.ledger.api.v2.event.Event
import com.daml.ledger.api.v2.transaction.TreeEvent
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.platform.store.dao.events.Raw
import com.digitalasset.canton.tracing.{SerializableTraceContext, TraceContext}
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsIDPConfig.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsIDPConfig.scala
index 2c0fa4e99d..465ed3cae1 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsIDPConfig.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsIDPConfig.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.platform.store.backend
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.ledger.api.domain.{
IdentityProviderConfig,
IdentityProviderId,
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsInitialization.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsInitialization.scala
index 5b119e021a..007d7bd3eb 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsInitialization.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsInitialization.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.platform.store.backend
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.ledger.api.domain.ParticipantId
import com.digitalasset.canton.platform.store.backend.common.MismatchException
import org.scalatest.flatspec.AnyFlatSpec
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsInitializeIngestion.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsInitializeIngestion.scala
index 1179d839af..17e67db791 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsInitializeIngestion.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsInitializeIngestion.scala
@@ -3,8 +3,8 @@
package com.digitalasset.canton.platform.store.backend
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Time.Timestamp
import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.ledger.participant.state.index.MeteringStore.TransactionMetering
import com.digitalasset.canton.logging.SuppressingLogger
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsMeteringParameters.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsMeteringParameters.scala
index a7a0da25a6..e96fb1df6a 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsMeteringParameters.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsMeteringParameters.scala
@@ -3,8 +3,8 @@
package com.digitalasset.canton.platform.store.backend
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Time.Timestamp
import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.logging.SuppressingLogger
import com.digitalasset.canton.platform.store.backend.MeteringParameterStorageBackend.LedgerMeteringEnd
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsParties.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsParties.scala
index 0a705a0aa5..22f05782ce 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsParties.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsParties.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.platform.store.backend
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.ledger.participant.state.index.IndexerPartyDetails
import com.digitalasset.canton.{HasExecutionContext, LfPartyId}
import org.scalatest.flatspec.AnyFlatSpec
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsPartyRecord.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsPartyRecord.scala
index bcfd506d4e..3d4fe40a3e 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsPartyRecord.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsPartyRecord.scala
@@ -3,8 +3,8 @@
package com.digitalasset.canton.platform.store.backend
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.LedgerString
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.LedgerString
import com.digitalasset.canton.ledger.api.domain.{
IdentityProviderConfig,
IdentityProviderId,
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsPruning.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsPruning.scala
index 36c83d7357..ec2ebf9fca 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsPruning.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsPruning.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.platform.store.backend
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.daml.scalautil.Statement
import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.platform.store.backend.PruningDto.*
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsReadMetering.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsReadMetering.scala
index c30bd173c1..5fa4dc97ea 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsReadMetering.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsReadMetering.scala
@@ -3,9 +3,9 @@
package com.digitalasset.canton.platform.store.backend
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.ApplicationId
-import com.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.ApplicationId
+import com.digitalasset.daml.lf.data.Time.Timestamp
import com.daml.scalautil.Statement.discard
import com.digitalasset.canton.ledger.participant.state.index.MeteringStore.{
ParticipantMetering,
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsReassignmentEvents.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsReassignmentEvents.scala
index f2ba45d346..5fc49c098a 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsReassignmentEvents.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsReassignmentEvents.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.platform.store.backend
-import com.daml.lf.data.{Ref, Time}
+import com.digitalasset.daml.lf.data.{Ref, Time}
import com.digitalasset.canton.platform.store.backend.EventStorageBackend.RawCreatedEvent
import com.digitalasset.canton.tracing.{SerializableTraceContext, TraceContext}
import org.scalatest.OptionValues
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsTimestamps.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsTimestamps.scala
index ce65e2bb29..1dec79a79a 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsTimestamps.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsTimestamps.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.platform.store.backend
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import org.scalatest.flatspec.AnyFlatSpec
import org.scalatest.matchers.should.Matchers
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsTransactionStreamsEvents.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsTransactionStreamsEvents.scala
index 31f33bf06d..bdfba9df0a 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsTransactionStreamsEvents.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsTransactionStreamsEvents.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.platform.store.backend
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.platform.store.backend.common.{
EventPayloadSourceForFlatTx,
EventPayloadSourceForTreeTx,
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsUserManagement.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsUserManagement.scala
index 33ce00c469..bea1a47307 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsUserManagement.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsUserManagement.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.platform.store.backend
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.ledger.api.domain.UserRight.{CanActAs, CanReadAs, ParticipantAdmin}
import com.digitalasset.canton.ledger.api.domain.{
IdentityProviderConfig,
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsWriteMetering.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsWriteMetering.scala
index 8866758b2b..1f22db525d 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsWriteMetering.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/StorageBackendTestsWriteMetering.scala
@@ -3,8 +3,8 @@
package com.digitalasset.canton.platform.store.backend
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Time.Timestamp
import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.ledger.participant.state.index.MeteringStore.{
ParticipantMetering,
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/UpdateToDbDtoSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/UpdateToDbDtoSpec.scala
index 3df8fd6f2d..20e2b28fa3 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/UpdateToDbDtoSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/UpdateToDbDtoSpec.scala
@@ -5,13 +5,13 @@ package com.digitalasset.canton.platform.store.backend
import com.daml.daml_lf_dev.DamlLf
import com.daml.ledger.api.v2.event.{CreatedEvent, ExercisedEvent}
-import com.daml.lf.crypto
-import com.daml.lf.data.{Bytes, Ref, Time}
-import com.daml.lf.ledger.EventId
-import com.daml.lf.transaction.GlobalKey
-import com.daml.lf.transaction.test.TestNodeBuilder.CreateKey
-import com.daml.lf.transaction.test.{NodeIdTransactionBuilder, TestNodeBuilder, TransactionBuilder}
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.crypto
+import com.digitalasset.daml.lf.data.{Bytes, Ref, Time}
+import com.digitalasset.daml.lf.ledger.EventId
+import com.digitalasset.daml.lf.transaction.GlobalKey
+import com.digitalasset.daml.lf.transaction.test.TestNodeBuilder.CreateKey
+import com.digitalasset.daml.lf.transaction.test.{NodeIdTransactionBuilder, TestNodeBuilder, TransactionBuilder}
+import com.digitalasset.daml.lf.value.Value
import com.daml.metrics.api.MetricsContext
import com.daml.platform.v1.index.StatusDetails
import com.digitalasset.canton.data.DeduplicationPeriod.{DeduplicationDuration, DeduplicationOffset}
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/UpdateToMeteringDbDtoSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/UpdateToMeteringDbDtoSpec.scala
index 1adc74bc5f..3e1fef7165 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/UpdateToMeteringDbDtoSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/backend/UpdateToMeteringDbDtoSpec.scala
@@ -3,10 +3,10 @@
package com.digitalasset.canton.platform.store.backend
-import com.daml.lf.crypto.Hash
-import com.daml.lf.data.{ImmArray, Ref, Time}
-import com.daml.lf.transaction.TransactionNodeStatistics.EmptyActions
-import com.daml.lf.transaction.{
+import com.digitalasset.daml.lf.crypto.Hash
+import com.digitalasset.daml.lf.data.{ImmArray, Ref, Time}
+import com.digitalasset.daml.lf.transaction.TransactionNodeStatistics.EmptyActions
+import com.digitalasset.daml.lf.transaction.{
CommittedTransaction,
TransactionNodeStatistics,
TransactionVersion,
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/cache/ContractStateCachesSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/cache/ContractStateCachesSpec.scala
index 9334620ef9..db497fa863 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/cache/ContractStateCachesSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/cache/ContractStateCachesSpec.scala
@@ -4,10 +4,10 @@
package com.digitalasset.canton.platform.store.cache
import cats.data.NonEmptyVector
-import com.daml.lf.crypto.Hash
-import com.daml.lf.data.{ImmArray, Ref, Time}
-import com.daml.lf.transaction.{GlobalKey, TransactionVersion, Versioned}
-import com.daml.lf.value.Value.{ContractInstance, ValueInt64, ValueRecord}
+import com.digitalasset.daml.lf.crypto.Hash
+import com.digitalasset.daml.lf.data.{ImmArray, Ref, Time}
+import com.digitalasset.daml.lf.transaction.{GlobalKey, TransactionVersion, Versioned}
+import com.digitalasset.daml.lf.value.Value.{ContractInstance, ValueInt64, ValueRecord}
import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.metrics.LedgerApiServerMetrics
import com.digitalasset.canton.platform.store.dao.events.ContractStateEvent
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/cache/InMemoryFanoutBufferSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/cache/InMemoryFanoutBufferSpec.scala
index 0adfc3e153..d1fa52915a 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/cache/InMemoryFanoutBufferSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/cache/InMemoryFanoutBufferSpec.scala
@@ -5,7 +5,7 @@ package com.digitalasset.canton.platform.store.cache
import cats.syntax.bifunctor.toBifunctorOps
import com.daml.ledger.api.v2.command_completion_service.CompletionStreamResponse
-import com.daml.lf.data.Time
+import com.digitalasset.daml.lf.data.Time
import com.digitalasset.canton.BaseTest
import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.metrics.LedgerApiServerMetrics
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/cache/MutableCacheBackedContractStoreRaceTests.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/cache/MutableCacheBackedContractStoreRaceTests.scala
index 210a47f0b6..3adffb69e0 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/cache/MutableCacheBackedContractStoreRaceTests.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/cache/MutableCacheBackedContractStoreRaceTests.scala
@@ -5,11 +5,11 @@ package com.digitalasset.canton.platform.store.cache
import cats.data.NonEmptyVector
import com.daml.ledger.api.testing.utils.PekkoBeforeAndAfterAll
-import com.daml.lf.crypto.Hash
-import com.daml.lf.data.{Ref, Time}
-import com.daml.lf.transaction.{GlobalKey, TransactionVersion, Versioned}
-import com.daml.lf.value.Value
-import com.daml.lf.value.Value.{ContractInstance, ValueInt64}
+import com.digitalasset.daml.lf.crypto.Hash
+import com.digitalasset.daml.lf.data.{Ref, Time}
+import com.digitalasset.daml.lf.transaction.{GlobalKey, TransactionVersion, Versioned}
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value.{ContractInstance, ValueInt64}
import com.digitalasset.canton.TestEssentials
import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.logging.LoggingContextWithTrace.implicitExtractTraceContext
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/cache/MutableCacheBackedContractStoreSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/cache/MutableCacheBackedContractStoreSpec.scala
index f93d275439..ce10a37173 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/cache/MutableCacheBackedContractStoreSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/cache/MutableCacheBackedContractStoreSpec.scala
@@ -5,12 +5,12 @@ package com.digitalasset.canton.platform.store.cache
import cats.data.NonEmptyVector
import com.daml.ledger.resources.Resource
-import com.daml.lf.crypto.Hash
-import com.daml.lf.data.Ref.IdString
-import com.daml.lf.data.Time.Timestamp
-import com.daml.lf.data.{ImmArray, Ref}
-import com.daml.lf.transaction.{GlobalKey, TransactionVersion, Versioned}
-import com.daml.lf.value.Value.{ContractInstance, ValueRecord, ValueText}
+import com.digitalasset.daml.lf.crypto.Hash
+import com.digitalasset.daml.lf.data.Ref.IdString
+import com.digitalasset.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.data.{ImmArray, Ref}
+import com.digitalasset.daml.lf.transaction.{GlobalKey, TransactionVersion, Versioned}
+import com.digitalasset.daml.lf.value.Value.{ContractInstance, ValueRecord, ValueText}
import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.ledger.participant.state.index.ContractState
import com.digitalasset.canton.logging.{LoggingContextWithTrace, NamedLoggerFactory}
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/BufferedStreamsReaderSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/BufferedStreamsReaderSpec.scala
index ff4fa88e51..da63337a14 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/BufferedStreamsReaderSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/BufferedStreamsReaderSpec.scala
@@ -4,7 +4,7 @@
package com.digitalasset.canton.platform.store.dao
import com.daml.ledger.api.testing.utils.PekkoBeforeAndAfterAll
-import com.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.data.Time.Timestamp
import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.logging.LoggingContextWithTrace
import com.digitalasset.canton.metrics.LedgerApiServerMetrics
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/BufferedTransactionByIdReaderSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/BufferedTransactionByIdReaderSpec.scala
index 858611541a..5ec2d0d461 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/BufferedTransactionByIdReaderSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/BufferedTransactionByIdReaderSpec.scala
@@ -3,9 +3,9 @@
package com.digitalasset.canton.platform.store.dao
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.Party
-import com.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.Party
+import com.digitalasset.daml.lf.data.Time.Timestamp
import com.digitalasset.canton.BaseTest
import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.logging.LoggingContextWithTrace
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/EventProjectionPropertiesSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/EventProjectionPropertiesSpec.scala
index fde55d5882..debed2a394 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/EventProjectionPropertiesSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/EventProjectionPropertiesSpec.scala
@@ -3,8 +3,8 @@
package com.digitalasset.canton.platform.store.dao
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.{Identifier, Party, TypeConRef}
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.{Identifier, Party, TypeConRef}
import com.digitalasset.canton.ledger.api.domain.{
CumulativeFilter,
InterfaceFilter,
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/JdbcLedgerDaoActiveContractsSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/JdbcLedgerDaoActiveContractsSpec.scala
index e6d1e7960b..819c92c5f6 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/JdbcLedgerDaoActiveContractsSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/JdbcLedgerDaoActiveContractsSpec.scala
@@ -5,7 +5,7 @@ package com.digitalasset.canton.platform.store.dao
import com.daml.ledger.api.v2.event.CreatedEvent
import com.daml.ledger.api.v2.state_service.GetActiveContractsResponse
-import com.daml.lf.data.Ref.{Identifier, Party}
+import com.digitalasset.daml.lf.data.Ref.{Identifier, Party}
import com.digitalasset.canton.ledger.api.util.LfEngineToApi
import com.digitalasset.canton.platform.TemplatePartiesFilter
import com.digitalasset.canton.platform.store.dao.EventProjectionProperties.Projection
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/JdbcLedgerDaoBackend.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/JdbcLedgerDaoBackend.scala
index d63bcac168..408aaad1ab 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/JdbcLedgerDaoBackend.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/JdbcLedgerDaoBackend.scala
@@ -6,9 +6,9 @@ package com.digitalasset.canton.platform.store.dao
import com.daml.daml_lf_dev.DamlLf.Archive
import com.daml.ledger.api.testing.utils.PekkoBeforeAndAfterAll
import com.daml.ledger.resources.{Resource, ResourceContext, ResourceOwner}
-import com.daml.lf.data.Ref
-import com.daml.lf.engine.{Engine, EngineConfig}
-import com.daml.lf.language.{LanguageMajorVersion, LanguageVersion}
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.engine.{Engine, EngineConfig}
+import com.digitalasset.daml.lf.language.{LanguageMajorVersion, LanguageVersion}
import com.daml.metrics.api.noop.NoOpMetricsFactory
import com.daml.metrics.api.{HistogramInventory, MetricName}
import com.daml.resources.PureResource
@@ -91,10 +91,7 @@ private[dao] trait JdbcLedgerDaoBackend extends PekkoBeforeAndAfterAll with Base
_ <- new ResourceOwner[Unit] {
override def acquire()(implicit context: ResourceContext): Resource[Unit] =
PureResource(
- new FlywayMigrations(dbConfig.jdbcUrl, loggerFactory = loggerFactory)(
- ec,
- traceContext,
- ).migrate()
+ new FlywayMigrations(dbConfig.jdbcUrl, loggerFactory = loggerFactory).migrate()
)
}
dbSupport <- DbSupport.owner(
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/JdbcLedgerDaoCompletionsSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/JdbcLedgerDaoCompletionsSpec.scala
index 6063d85f9f..07e5a373e8 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/JdbcLedgerDaoCompletionsSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/JdbcLedgerDaoCompletionsSpec.scala
@@ -4,9 +4,9 @@
package com.digitalasset.canton.platform.store.dao
import com.daml.ledger.api.v2.command_completion_service.CompletionStreamResponse
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Time.Timestamp
-import com.daml.lf.transaction.TransactionNodeStatistics
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.transaction.TransactionNodeStatistics
import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.ledger.participant.state
import com.digitalasset.canton.platform.ApiOffset
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/JdbcLedgerDaoContractsSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/JdbcLedgerDaoContractsSpec.scala
index 566beb8123..3dffc54a50 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/JdbcLedgerDaoContractsSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/JdbcLedgerDaoContractsSpec.scala
@@ -3,9 +3,9 @@
package com.digitalasset.canton.platform.store.dao
-import com.daml.lf.data.Ref.PackageVersion
-import com.daml.lf.transaction.{GlobalKeyWithMaintainers, TransactionVersion, Versioned}
-import com.daml.lf.value.Value.{ContractInstance, ValueText}
+import com.digitalasset.daml.lf.data.Ref.PackageVersion
+import com.digitalasset.daml.lf.transaction.{GlobalKeyWithMaintainers, TransactionVersion, Versioned}
+import com.digitalasset.daml.lf.value.Value.{ContractInstance, ValueText}
import com.digitalasset.canton.platform.store.interfaces.LedgerDaoContractsReader
import org.scalatest.flatspec.AsyncFlatSpec
import org.scalatest.matchers.should.Matchers
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/JdbcLedgerDaoEventsSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/JdbcLedgerDaoEventsSpec.scala
index 39ed30bd8e..5cb93407ae 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/JdbcLedgerDaoEventsSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/JdbcLedgerDaoEventsSpec.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.platform.store.dao
-import com.daml.lf.transaction.{GlobalKey, GlobalKeyWithMaintainers}
+import com.digitalasset.daml.lf.transaction.{GlobalKey, GlobalKeyWithMaintainers}
import org.scalatest.flatspec.AsyncFlatSpec
import org.scalatest.matchers.should.Matchers
import org.scalatest.{Inside, LoneElement, OptionValues}
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/JdbcLedgerDaoExceptionSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/JdbcLedgerDaoExceptionSpec.scala
index dbbadea8c6..14e1a869a3 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/JdbcLedgerDaoExceptionSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/JdbcLedgerDaoExceptionSpec.scala
@@ -3,8 +3,8 @@
package com.digitalasset.canton.platform.store.dao
-import com.daml.lf.transaction.test.TreeTransactionBuilder.*
-import com.daml.lf.transaction.test.{TestIdFactory, TestNodeBuilder, TreeTransactionBuilder}
+import com.digitalasset.daml.lf.transaction.test.TreeTransactionBuilder.*
+import com.digitalasset.daml.lf.transaction.test.{TestIdFactory, TestNodeBuilder, TreeTransactionBuilder}
import com.digitalasset.canton.platform.store.interfaces.LedgerDaoContractsReader
import org.scalatest.flatspec.AsyncFlatSpec
import org.scalatest.matchers.should.Matchers
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/JdbcLedgerDaoPartiesSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/JdbcLedgerDaoPartiesSpec.scala
index 78b80f3378..8690f13706 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/JdbcLedgerDaoPartiesSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/JdbcLedgerDaoPartiesSpec.scala
@@ -3,8 +3,8 @@
package com.digitalasset.canton.platform.store.dao
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Time.Timestamp
import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.ledger.participant.state.index.IndexerPartyDetails
import com.digitalasset.canton.platform.store.entries.PartyLedgerEntry
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/JdbcLedgerDaoSuite.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/JdbcLedgerDaoSuite.scala
index 4db2ee7d6c..1fe68346a6 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/JdbcLedgerDaoSuite.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/JdbcLedgerDaoSuite.scala
@@ -4,16 +4,16 @@
package com.digitalasset.canton.platform.store.dao
import com.daml.daml_lf_dev.DamlLf
-import com.daml.lf.archive.{DarParser, Decode}
-import com.daml.lf.crypto.Hash
-import com.daml.lf.data.Ref.{Identifier, PackageId, PackageName, PackageVersion, Party}
-import com.daml.lf.data.Time.Timestamp
-import com.daml.lf.data.{FrontStack, ImmArray, Ref, Time}
-import com.daml.lf.language.LanguageVersion
-import com.daml.lf.transaction.*
-import com.daml.lf.transaction.test.{NodeIdTransactionBuilder, TransactionBuilder}
-import com.daml.lf.value.Value.{ContractId, ContractInstance, ValueText, VersionedContractInstance}
-import com.daml.lf.value.Value as LfValue
+import com.digitalasset.daml.lf.archive.{DarParser, Decode}
+import com.digitalasset.daml.lf.crypto.Hash
+import com.digitalasset.daml.lf.data.Ref.{Identifier, PackageId, PackageName, PackageVersion, Party}
+import com.digitalasset.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.data.{FrontStack, ImmArray, Ref, Time}
+import com.digitalasset.daml.lf.language.LanguageVersion
+import com.digitalasset.daml.lf.transaction.*
+import com.digitalasset.daml.lf.transaction.test.{NodeIdTransactionBuilder, TransactionBuilder}
+import com.digitalasset.daml.lf.value.Value.{ContractId, ContractInstance, ValueText, VersionedContractInstance}
+import com.digitalasset.daml.lf.value.Value as LfValue
import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.ledger.api.domain.TemplateFilter
import com.digitalasset.canton.ledger.participant.state
@@ -41,12 +41,17 @@ private[dao] trait JdbcLedgerDaoSuite extends JdbcLedgerDaoBackend with OptionVa
new AtomicReference[Option[Offset]](Option.empty)
protected final val nextOffset: () => Offset = {
- val counter = new AtomicLong(1)
+ val base = BigInt(1) << 32
+ val counter = new AtomicLong(0)
() => {
- Offset.fromLong(counter.getAndIncrement())
+ Offset.fromByteArray((base + counter.getAndIncrement()).toByteArray)
}
}
+ protected final implicit class OffsetToLong(offset: Offset) {
+ def toLong: Long = BigInt(offset.toByteArray).toLong
+ }
+
private[this] lazy val dar =
TestModels.com_daml_ledger_test_ModelTestDar_path
.pipe(JarResourceUtils.resourceFileFromJar)
@@ -94,7 +99,7 @@ private[dao] trait JdbcLedgerDaoSuite extends JdbcLedgerDaoBackend with OptionVa
protected final val someValueText = LfValue.ValueText("some text")
protected final val someValueInt = LfValue.ValueInt64(1)
protected final val someValueNumeric =
- LfValue.ValueNumeric(com.daml.lf.data.Numeric.assertFromString("1.1"))
+ LfValue.ValueNumeric(com.digitalasset.daml.lf.data.Numeric.assertFromString("1.1"))
protected final val someNestedOptionalInteger = LfValue.ValueRecord(
None,
ImmArray(
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/JdbcLedgerDaoTransactionTreesSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/JdbcLedgerDaoTransactionTreesSpec.scala
index 27c11cd56e..a1dbfdab1a 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/JdbcLedgerDaoTransactionTreesSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/JdbcLedgerDaoTransactionTreesSpec.scala
@@ -5,9 +5,9 @@ package com.digitalasset.canton.platform.store.dao
import com.daml.ledger.api.v2.transaction.TransactionTree
import com.daml.ledger.api.v2.update_service.GetUpdateTreesResponse
-import com.daml.lf.data.Ref
-import com.daml.lf.ledger.EventId
-import com.daml.lf.transaction.{Node, NodeId}
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.ledger.EventId
+import com.digitalasset.daml.lf.transaction.{Node, NodeId}
import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.ledger.api.util.TimestampConversion
import com.digitalasset.canton.platform.ApiOffset
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/JdbcLedgerDaoTransactionsSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/JdbcLedgerDaoTransactionsSpec.scala
index 087ac68159..10062c0bff 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/JdbcLedgerDaoTransactionsSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/JdbcLedgerDaoTransactionsSpec.scala
@@ -7,10 +7,10 @@ import com.daml.ledger.api.v2.event.CreatedEvent
import com.daml.ledger.api.v2.transaction.Transaction
import com.daml.ledger.api.v2.update_service.GetUpdatesResponse
import com.daml.ledger.resources.ResourceContext
-import com.daml.lf.data.Ref.Party
-import com.daml.lf.data.Time.Timestamp
-import com.daml.lf.ledger.EventId
-import com.daml.lf.transaction.Node
+import com.digitalasset.daml.lf.data.Ref.Party
+import com.digitalasset.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.ledger.EventId
+import com.digitalasset.daml.lf.transaction.Node
import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.ledger.api.util.{LfEngineToApi, TimestampConversion}
import com.digitalasset.canton.platform.store.dao.*
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/JdbcLedgerDaoTransactionsWriterSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/JdbcLedgerDaoTransactionsWriterSpec.scala
index 72aaaa1935..096c5dd897 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/JdbcLedgerDaoTransactionsWriterSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/JdbcLedgerDaoTransactionsWriterSpec.scala
@@ -3,8 +3,8 @@
package com.digitalasset.canton.platform.store.dao
-import com.daml.lf.data.Ref
-import com.daml.lf.transaction.{BlindingInfo, NodeId}
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.transaction.{BlindingInfo, NodeId}
import com.digitalasset.canton.platform.store.interfaces.LedgerDaoContractsReader
import org.scalatest.flatspec.AsyncFlatSpec
import org.scalatest.matchers.should.Matchers
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/SequentialWriteDaoSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/SequentialWriteDaoSpec.scala
index c8c36ffc36..7bcb3d3283 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/SequentialWriteDaoSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/SequentialWriteDaoSpec.scala
@@ -3,9 +3,9 @@
package com.digitalasset.canton.platform.store.dao
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.Party
-import com.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.Party
+import com.digitalasset.daml.lf.data.Time.Timestamp
import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.ledger.participant.state.Update
import com.digitalasset.canton.logging.NamedLoggerFactory
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/events/TransactionConversionSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/events/TransactionConversionSpec.scala
index cfc85aedab..5b256a625d 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/events/TransactionConversionSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/dao/events/TransactionConversionSpec.scala
@@ -4,8 +4,8 @@
package com.digitalasset.canton.platform.store.dao.events
import com.daml.ledger.api.v2.event.{ArchivedEvent, CreatedEvent, Event}
-import com.daml.lf.transaction.test.TransactionBuilder
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.transaction.test.TransactionBuilder
+import com.digitalasset.daml.lf.value.Value
import com.digitalasset.canton.platform.store.dao.events.TransactionConversion.removeTransient
import com.google.protobuf.ByteString
import org.scalatest.Inside.inside
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/entries/LedgerEntry.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/entries/LedgerEntry.scala
index 0b67fb9e35..e283149f1e 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/entries/LedgerEntry.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/entries/LedgerEntry.scala
@@ -3,9 +3,9 @@
package com.digitalasset.canton.platform.store.entries
-import com.daml.lf.data.Relation
-import com.daml.lf.data.Time.Timestamp
-import com.daml.lf.transaction.{CommittedTransaction, NodeId}
+import com.digitalasset.daml.lf.data.Relation
+import com.digitalasset.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.transaction.{CommittedTransaction, NodeId}
import com.digitalasset.canton.platform.*
private[platform] sealed abstract class LedgerEntry extends Product with Serializable
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/interning/MockStringInterning.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/interning/MockStringInterning.scala
index fc5ff11306..5e4c29f08c 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/interning/MockStringInterning.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/interning/MockStringInterning.scala
@@ -3,8 +3,8 @@
package com.digitalasset.canton.platform.store.interning
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.Party
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.Party
import com.digitalasset.canton.topology.DomainId
import scala.concurrent.blocking
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/interning/StringInterningViewSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/interning/StringInterningViewSpec.scala
index 86af3ec0e2..20d3a39ccf 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/interning/StringInterningViewSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/interning/StringInterningViewSpec.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.platform.store.interning
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.BaseTest
import com.digitalasset.canton.topology.DomainId
import org.scalatest.Assertion
diff --git a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/packagemeta/PackageMetadataSpec.scala b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/packagemeta/PackageMetadataSpec.scala
index e243b2a043..8f3652abd2 100644
--- a/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/packagemeta/PackageMetadataSpec.scala
+++ b/sdk/canton/community/ledger/ledger-api-core/src/test/scala/com/digitalasset/canton/platform/store/packagemeta/PackageMetadataSpec.scala
@@ -4,7 +4,7 @@
package com.digitalasset.canton.platform.store.packagemeta
import cats.implicits.catsSyntaxSemigroup
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.daml.nonempty.NonEmpty
import com.digitalasset.canton.platform.store.packagemeta.PackageMetadata.Implicits.packageMetadataSemigroup
import com.digitalasset.canton.platform.store.packagemeta.PackageMetadata.{
diff --git a/sdk/canton/community/ledger/ledger-api-tools/src/main/scala/com/digitalasset/canton/ledger/indexerbenchmark/Config.scala b/sdk/canton/community/ledger/ledger-api-tools/src/main/scala/com/digitalasset/canton/ledger/indexerbenchmark/Config.scala
index 5b8e4bbee4..8d7bec121d 100644
--- a/sdk/canton/community/ledger/ledger-api-tools/src/main/scala/com/digitalasset/canton/ledger/indexerbenchmark/Config.scala
+++ b/sdk/canton/community/ledger/ledger-api-tools/src/main/scala/com/digitalasset/canton/ledger/indexerbenchmark/Config.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.ledger.indexerbenchmark
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.config.RequireTypes.NonNegativeInt
import com.digitalasset.canton.discard.Implicits.DiscardOps
import com.digitalasset.canton.platform.config.IndexServiceConfig
diff --git a/sdk/canton/community/ledger/ledger-api-tools/src/main/scala/com/digitalasset/canton/ledger/indexerbenchmark/IndexerBenchmark.scala b/sdk/canton/community/ledger/ledger-api-tools/src/main/scala/com/digitalasset/canton/ledger/indexerbenchmark/IndexerBenchmark.scala
index 9b4ffbf27a..ff567ebe85 100644
--- a/sdk/canton/community/ledger/ledger-api-tools/src/main/scala/com/digitalasset/canton/ledger/indexerbenchmark/IndexerBenchmark.scala
+++ b/sdk/canton/community/ledger/ledger-api-tools/src/main/scala/com/digitalasset/canton/ledger/indexerbenchmark/IndexerBenchmark.scala
@@ -19,7 +19,6 @@ import com.digitalasset.canton.ledger.participant.state.{
import com.digitalasset.canton.logging.{NamedLoggerFactory, NamedLogging}
import com.digitalasset.canton.metrics.{LedgerApiServerHistograms, LedgerApiServerMetrics}
import com.digitalasset.canton.platform.LedgerApiServer
-import com.digitalasset.canton.platform.apiserver.execution.CommandProgressTracker
import com.digitalasset.canton.platform.indexer.ha.HaConfig
import com.digitalasset.canton.platform.indexer.{Indexer, IndexerServiceOwner, JdbcIndexer}
import com.digitalasset.canton.platform.store.DbSupport.DataSourceProperties
@@ -75,7 +74,6 @@ class IndexerBenchmark extends NamedLogging {
(inMemoryState, inMemoryStateUpdaterFlow) <-
LedgerApiServer
.createInMemoryStateAndUpdater(
- CommandProgressTracker.NoOp,
config.indexServiceConfig,
256,
metrics,
@@ -145,7 +143,7 @@ class IndexerBenchmark extends NamedLogging {
Await
.result(
IndexerServiceOwner
- .migrateOnly(config.dataSource.jdbcUrl, loggerFactory)(rc.executionContext, traceContext)
+ .migrateOnly(config.dataSource.jdbcUrl, loggerFactory)
.map(_ => indexerFactory.initialized(logger))(indexerExecutionContext),
Duration(5, "minute"),
)
diff --git a/sdk/canton/community/ledger/ledger-common-dars/src/main/daml/carbonv1/daml.yaml b/sdk/canton/community/ledger/ledger-common-dars/src/main/daml/carbonv1/daml.yaml
index 41aa21ced9..ca939ddaeb 100644
--- a/sdk/canton/community/ledger/ledger-common-dars/src/main/daml/carbonv1/daml.yaml
+++ b/sdk/canton/community/ledger/ledger-common-dars/src/main/daml/carbonv1/daml.yaml
@@ -1,4 +1,4 @@
-sdk-version: 3.1.0-snapshot.20240620.13140.0.v996a1164
+sdk-version: 3.1.0-snapshot.20240613.13124.0.v24e0f5e8
build-options:
- --enable-interfaces=yes
name: carbonv1-tests
diff --git a/sdk/canton/community/ledger/ledger-common-dars/src/main/daml/carbonv2/daml.yaml b/sdk/canton/community/ledger/ledger-common-dars/src/main/daml/carbonv2/daml.yaml
index 81a0797839..f98b1b05a3 100644
--- a/sdk/canton/community/ledger/ledger-common-dars/src/main/daml/carbonv2/daml.yaml
+++ b/sdk/canton/community/ledger/ledger-common-dars/src/main/daml/carbonv2/daml.yaml
@@ -1,4 +1,4 @@
-sdk-version: 3.1.0-snapshot.20240620.13140.0.v996a1164
+sdk-version: 3.1.0-snapshot.20240613.13124.0.v24e0f5e8
build-options:
- --enable-interfaces=yes
name: carbonv2-tests
diff --git a/sdk/canton/community/ledger/ledger-common-dars/src/main/daml/experimental/daml.yaml b/sdk/canton/community/ledger/ledger-common-dars/src/main/daml/experimental/daml.yaml
index 52eb1291b3..ec563c73ae 100644
--- a/sdk/canton/community/ledger/ledger-common-dars/src/main/daml/experimental/daml.yaml
+++ b/sdk/canton/community/ledger/ledger-common-dars/src/main/daml/experimental/daml.yaml
@@ -1,4 +1,4 @@
-sdk-version: 3.1.0-snapshot.20240620.13140.0.v996a1164
+sdk-version: 3.1.0-snapshot.20240613.13124.0.v24e0f5e8
name: experimental-tests
source: .
version: 3.1.0
diff --git a/sdk/canton/community/ledger/ledger-common-dars/src/main/daml/model/daml.yaml b/sdk/canton/community/ledger/ledger-common-dars/src/main/daml/model/daml.yaml
index 3b51888ce4..a47827095b 100644
--- a/sdk/canton/community/ledger/ledger-common-dars/src/main/daml/model/daml.yaml
+++ b/sdk/canton/community/ledger/ledger-common-dars/src/main/daml/model/daml.yaml
@@ -1,4 +1,4 @@
-sdk-version: 3.1.0-snapshot.20240620.13140.0.v996a1164
+sdk-version: 3.1.0-snapshot.20240613.13124.0.v24e0f5e8
build-options:
- --enable-interfaces=yes
name: model-tests
diff --git a/sdk/canton/community/ledger/ledger-common-dars/src/main/daml/package_management/daml.yaml b/sdk/canton/community/ledger/ledger-common-dars/src/main/daml/package_management/daml.yaml
index 307f58ec05..a8f6d8b092 100644
--- a/sdk/canton/community/ledger/ledger-common-dars/src/main/daml/package_management/daml.yaml
+++ b/sdk/canton/community/ledger/ledger-common-dars/src/main/daml/package_management/daml.yaml
@@ -1,4 +1,4 @@
-sdk-version: 3.1.0-snapshot.20240620.13140.0.v996a1164
+sdk-version: 3.1.0-snapshot.20240613.13124.0.v24e0f5e8
name: package-management-tests
source: .
version: 3.1.0
diff --git a/sdk/canton/community/ledger/ledger-common-dars/src/main/daml/semantic/daml.yaml b/sdk/canton/community/ledger/ledger-common-dars/src/main/daml/semantic/daml.yaml
index 9618a2f8d2..384daf09d9 100644
--- a/sdk/canton/community/ledger/ledger-common-dars/src/main/daml/semantic/daml.yaml
+++ b/sdk/canton/community/ledger/ledger-common-dars/src/main/daml/semantic/daml.yaml
@@ -1,4 +1,4 @@
-sdk-version: 3.1.0-snapshot.20240620.13140.0.v996a1164
+sdk-version: 3.1.0-snapshot.20240613.13124.0.v24e0f5e8
build-options:
- --enable-interfaces=yes
name: semantic-tests
diff --git a/sdk/canton/community/ledger/ledger-common-dars/src/main/daml/upgrade/1.0.0/daml.yaml b/sdk/canton/community/ledger/ledger-common-dars/src/main/daml/upgrade/1.0.0/daml.yaml
index e0ea3add2b..125d225f08 100644
--- a/sdk/canton/community/ledger/ledger-common-dars/src/main/daml/upgrade/1.0.0/daml.yaml
+++ b/sdk/canton/community/ledger/ledger-common-dars/src/main/daml/upgrade/1.0.0/daml.yaml
@@ -1,4 +1,4 @@
-sdk-version: 3.1.0-snapshot.20240620.13140.0.v996a1164
+sdk-version: 3.1.0-snapshot.20240613.13124.0.v24e0f5e8
name: upgrade-tests
source: .
version: 1.0.0
diff --git a/sdk/canton/community/ledger/ledger-common-dars/src/main/daml/upgrade/2.0.0/daml.yaml b/sdk/canton/community/ledger/ledger-common-dars/src/main/daml/upgrade/2.0.0/daml.yaml
index 28d3ab2bba..48100167a4 100644
--- a/sdk/canton/community/ledger/ledger-common-dars/src/main/daml/upgrade/2.0.0/daml.yaml
+++ b/sdk/canton/community/ledger/ledger-common-dars/src/main/daml/upgrade/2.0.0/daml.yaml
@@ -1,4 +1,4 @@
-sdk-version: 3.1.0-snapshot.20240620.13140.0.v996a1164
+sdk-version: 3.1.0-snapshot.20240613.13124.0.v24e0f5e8
name: upgrade-tests
source: .
version: 2.0.0
diff --git a/sdk/canton/community/ledger/ledger-common-dars/src/main/daml/upgrade/3.0.0/daml.yaml b/sdk/canton/community/ledger/ledger-common-dars/src/main/daml/upgrade/3.0.0/daml.yaml
index d0b04666cb..1cb78b932c 100644
--- a/sdk/canton/community/ledger/ledger-common-dars/src/main/daml/upgrade/3.0.0/daml.yaml
+++ b/sdk/canton/community/ledger/ledger-common-dars/src/main/daml/upgrade/3.0.0/daml.yaml
@@ -1,4 +1,4 @@
-sdk-version: 3.1.0-snapshot.20240620.13140.0.v996a1164
+sdk-version: 3.1.0-snapshot.20240613.13124.0.v24e0f5e8
name: upgrade-tests
source: .
version: 3.0.0
diff --git a/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/api/domain/package.scala b/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/api/domain/package.scala
index fe549f3adb..986c00c869 100644
--- a/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/api/domain/package.scala
+++ b/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/api/domain/package.scala
@@ -3,9 +3,9 @@
package com.digitalasset.canton.ledger.api
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.LedgerString.ordering
-import com.daml.lf.value.Value as Lf
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.LedgerString.ordering
+import com.digitalasset.daml.lf.value.Value as Lf
import scalaz.syntax.tag.*
import scalaz.{@@, Tag}
diff --git a/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/api/util/LfEngineToApi.scala b/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/api/util/LfEngineToApi.scala
index 75159f19e3..e2259f9662 100644
--- a/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/api/util/LfEngineToApi.scala
+++ b/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/api/util/LfEngineToApi.scala
@@ -4,8 +4,8 @@
package com.digitalasset.canton.ledger.api.util
import com.daml.ledger.api.v2.value as api
-import com.daml.lf.data.{Numeric, Ref}
-import com.daml.lf.value.Value as Lf
+import com.digitalasset.daml.lf.data.{Numeric, Ref}
+import com.digitalasset.daml.lf.value.Value as Lf
import com.google.protobuf.empty.Empty
import com.google.protobuf.timestamp.Timestamp
import scalaz.std.either.*
@@ -14,14 +14,14 @@ import scalaz.syntax.traverse.*
import java.time.Instant
-/** Translates [[com.daml.lf.value.Value]] values to Ledger API values.
+/** Translates [[com.digitalasset.daml.lf.value.Value]] values to Ledger API values.
*
* All conversion functions are pure and total.
*
* Most conversion functions have a verbose flag:
* - If verbose mode is disabled, then all resulting Api values have missing type identifiers and record field names.
* - If verbose mode is enabled, then type identifiers and record field names are copied from the input Daml-LF values.
- * The caller is responsible for filling in missing type information using [[com.daml.lf.engine.ValueEnricher]],
+ * The caller is responsible for filling in missing type information using [[com.digitalasset.daml.lf.engine.ValueEnricher]],
* which may involve loading Daml-LF packages.
*/
object LfEngineToApi {
diff --git a/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/api/util/TimestampConversion.scala b/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/api/util/TimestampConversion.scala
index 4f4bc7e03b..96b1c9db6a 100644
--- a/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/api/util/TimestampConversion.scala
+++ b/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/api/util/TimestampConversion.scala
@@ -4,7 +4,7 @@
package com.digitalasset.canton.ledger.api.util
import com.daml.ledger.api.v2.value.Value
-import com.daml.lf.data.Time.{Timestamp as LfTimestamp}
+import com.digitalasset.daml.lf.data.Time.{Timestamp as LfTimestamp}
import com.google.protobuf.timestamp.{Timestamp as ProtoTimestamp}
import java.time.Instant
diff --git a/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/api/validation/ValueValidator.scala b/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/api/validation/ValueValidator.scala
index 84b5473a34..22094142a1 100644
--- a/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/api/validation/ValueValidator.scala
+++ b/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/api/validation/ValueValidator.scala
@@ -6,9 +6,9 @@ package com.digitalasset.canton.ledger.api.validation
import com.daml.error.{ContextualizedErrorLogger, NoLogging}
import com.daml.ledger.api.v2.value.Value.Sum
import com.daml.ledger.api.v2.value as api
-import com.daml.lf.data.*
-import com.daml.lf.value.Value.{ContractId, ValueUnit}
-import com.daml.lf.value.Value as Lf
+import com.digitalasset.daml.lf.data.*
+import com.digitalasset.daml.lf.value.Value.{ContractId, ValueUnit}
+import com.digitalasset.daml.lf.value.Value as Lf
import com.digitalasset.canton.ledger.api.domain
import io.grpc.StatusRuntimeException
import scalaz.std.either.*
diff --git a/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/client/services/admin/IdentityProviderConfigClient.scala b/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/client/services/admin/IdentityProviderConfigClient.scala
index 470699350d..e33fde9dd9 100644
--- a/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/client/services/admin/IdentityProviderConfigClient.scala
+++ b/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/client/services/admin/IdentityProviderConfigClient.scala
@@ -5,7 +5,7 @@ package com.digitalasset.canton.ledger.client.services.admin
import com.daml.ledger.api.v2.admin.identity_provider_config_service.IdentityProviderConfigServiceGrpc.IdentityProviderConfigServiceStub
import com.daml.ledger.api.v2.admin.identity_provider_config_service as proto
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.ledger.api.domain.{
IdentityProviderConfig,
IdentityProviderId,
diff --git a/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/client/services/admin/PartyManagementClient.scala b/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/client/services/admin/PartyManagementClient.scala
index 45916bb86c..e969fac06f 100644
--- a/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/client/services/admin/PartyManagementClient.scala
+++ b/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/client/services/admin/PartyManagementClient.scala
@@ -11,8 +11,8 @@ import com.daml.ledger.api.v2.admin.party_management_service.{
ListKnownPartiesRequest,
PartyDetails as ApiPartyDetails,
}
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.Party
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.Party
import com.digitalasset.canton.ledger.api.domain.{
IdentityProviderId,
ObjectMeta,
diff --git a/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/client/services/admin/UserManagementClient.scala b/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/client/services/admin/UserManagementClient.scala
index d88c31835d..9278c9943b 100644
--- a/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/client/services/admin/UserManagementClient.scala
+++ b/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/client/services/admin/UserManagementClient.scala
@@ -6,8 +6,8 @@ package com.digitalasset.canton.ledger.client.services.admin
import com.daml.ledger.api.v2.admin.user_management_service.UserManagementServiceGrpc.UserManagementServiceStub
import com.daml.ledger.api.v2.admin.user_management_service as proto
import com.daml.ledger.api.v2.admin as admin_proto
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.{Party, UserId}
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.{Party, UserId}
import com.digitalasset.canton.ledger.api.domain
import com.digitalasset.canton.ledger.api.domain.{ObjectMeta, User, UserRight}
import com.digitalasset.canton.ledger.client.LedgerClient
diff --git a/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/error/LedgerApiErrors.scala b/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/error/LedgerApiErrors.scala
index cc592176d7..0e2292f4d1 100644
--- a/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/error/LedgerApiErrors.scala
+++ b/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/error/LedgerApiErrors.scala
@@ -4,8 +4,8 @@
package com.digitalasset.canton.ledger.error
import com.daml.error.*
-import com.daml.lf.engine.Error.Validation.ReplayMismatch
-import com.daml.lf.engine.Error as LfError
+import com.digitalasset.daml.lf.engine.Error.Validation.ReplayMismatch
+import com.digitalasset.daml.lf.engine.Error as LfError
import com.daml.metrics.ExecutorServiceMetrics
import com.digitalasset.canton.ledger.error.ParticipantErrorGroup.LedgerApiErrorGroup
import org.slf4j.event.Level
diff --git a/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/error/PackageServiceErrors.scala b/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/error/PackageServiceErrors.scala
index 819bfcff1a..150fc72279 100644
--- a/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/error/PackageServiceErrors.scala
+++ b/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/error/PackageServiceErrors.scala
@@ -4,12 +4,12 @@
package com.digitalasset.canton.ledger.error
import com.daml.error.*
-import com.daml.lf.archive.Error as LfArchiveError
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.PackageId
-import com.daml.lf.engine.Error
-import com.daml.lf.validation.UpgradeError
-import com.daml.lf.{VersionRange, language, validation}
+import com.digitalasset.daml.lf.archive.Error as LfArchiveError
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.engine.Error
+import com.digitalasset.daml.lf.validation.UpgradeError
+import com.digitalasset.daml.lf.{VersionRange, language, validation}
import com.digitalasset.canton.ledger.error.groups.CommandExecutionErrors
import ParticipantErrorGroup.LedgerApiErrorGroup.PackageServiceErrorGroup
diff --git a/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/error/groups/CommandExecutionErrors.scala b/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/error/groups/CommandExecutionErrors.scala
index 6e020b4821..ddacb60f56 100644
--- a/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/error/groups/CommandExecutionErrors.scala
+++ b/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/error/groups/CommandExecutionErrors.scala
@@ -14,14 +14,14 @@ import com.daml.error.{
Explanation,
Resolution,
}
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.{Identifier, PackageId}
-import com.daml.lf.engine.Error as LfError
-import com.daml.lf.interpretation.Error as LfInterpretationError
-import com.daml.lf.language.{Ast, LanguageVersion}
-import com.daml.lf.transaction.{GlobalKey, TransactionVersion}
-import com.daml.lf.value.{Value, ValueCoder}
-import com.daml.lf.{VersionRange, language}
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.{Identifier, PackageId}
+import com.digitalasset.daml.lf.engine.Error as LfError
+import com.digitalasset.daml.lf.interpretation.Error as LfInterpretationError
+import com.digitalasset.daml.lf.language.{Ast, LanguageVersion}
+import com.digitalasset.daml.lf.transaction.{GlobalKey, TransactionVersion}
+import com.digitalasset.daml.lf.value.{Value, ValueCoder}
+import com.digitalasset.daml.lf.{VersionRange, language}
import com.digitalasset.canton.ledger.error.ParticipantErrorGroup.LedgerApiErrorGroup.CommandExecutionErrorGroup
import com.google.common.io.BaseEncoding
import org.slf4j.event.Level
diff --git a/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/error/groups/ConsistencyErrors.scala b/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/error/groups/ConsistencyErrors.scala
index 027e35c7f9..ac6bad6150 100644
--- a/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/error/groups/ConsistencyErrors.scala
+++ b/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/error/groups/ConsistencyErrors.scala
@@ -12,8 +12,8 @@ import com.daml.error.{
Explanation,
Resolution,
}
-import com.daml.lf.transaction.GlobalKey
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.transaction.GlobalKey
+import com.digitalasset.daml.lf.value.Value
import com.digitalasset.canton.ledger.error.ParticipantErrorGroup.LedgerApiErrorGroup.ConsistencyErrorGroup
import java.time.Instant
diff --git a/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/error/groups/RequestValidationErrors.scala b/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/error/groups/RequestValidationErrors.scala
index 78caf974c6..1f7a9e2e73 100644
--- a/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/error/groups/RequestValidationErrors.scala
+++ b/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/error/groups/RequestValidationErrors.scala
@@ -14,9 +14,9 @@ import com.daml.error.{
Explanation,
Resolution,
}
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.PackageId
-import com.daml.lf.language.{LookupError, Reference}
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.language.{LookupError, Reference}
import com.digitalasset.canton.ledger.error.LedgerApiErrors.{
EarliestOffsetMetadataKey,
LatestOffsetMetadataKey,
diff --git a/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/error/groups/WriteServiceRejectionErrors.scala b/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/error/groups/WriteServiceRejectionErrors.scala
index 3f87b7ef74..9bd1251b30 100644
--- a/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/error/groups/WriteServiceRejectionErrors.scala
+++ b/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/error/groups/WriteServiceRejectionErrors.scala
@@ -13,7 +13,7 @@ import com.daml.error.{
Explanation,
Resolution,
}
-import com.daml.lf.transaction.GlobalKey
+import com.digitalasset.daml.lf.transaction.GlobalKey
import com.digitalasset.canton.ledger.error.ParticipantErrorGroup.LedgerApiErrorGroup.WriteServiceRejectionErrorGroup
@Explanation(
diff --git a/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/localstore/InMemoryPartyRecordStore.scala b/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/localstore/InMemoryPartyRecordStore.scala
index e4c6022d96..427c07804f 100644
--- a/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/localstore/InMemoryPartyRecordStore.scala
+++ b/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/localstore/InMemoryPartyRecordStore.scala
@@ -3,8 +3,8 @@
package com.digitalasset.canton.ledger.localstore
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.Party
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.Party
import com.digitalasset.canton.discard.Implicits.DiscardOps
import com.digitalasset.canton.ledger.api.domain
import com.digitalasset.canton.ledger.api.domain.{IdentityProviderId, ObjectMeta}
diff --git a/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/localstore/InMemoryUserManagementStore.scala b/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/localstore/InMemoryUserManagementStore.scala
index 0ab799763a..664fa795bc 100644
--- a/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/localstore/InMemoryUserManagementStore.scala
+++ b/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/localstore/InMemoryUserManagementStore.scala
@@ -3,8 +3,8 @@
package com.digitalasset.canton.ledger.localstore
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.UserId
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.UserId
import com.digitalasset.canton.discard.Implicits.DiscardOps
import com.digitalasset.canton.ledger.api.domain.{IdentityProviderId, ObjectMeta, User, UserRight}
import com.digitalasset.canton.ledger.api.validation.ResourceAnnotationValidator
diff --git a/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/localstore/api/PartyRecord.scala b/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/localstore/api/PartyRecord.scala
index 97ff0c8e32..fb5f2ff1c8 100644
--- a/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/localstore/api/PartyRecord.scala
+++ b/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/localstore/api/PartyRecord.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.ledger.localstore.api
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.ledger.api.domain.{IdentityProviderId, ObjectMeta}
final case class PartyRecord(
diff --git a/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/localstore/api/PartyRecordStore.scala b/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/localstore/api/PartyRecordStore.scala
index 856a02152d..ca6a5d109e 100644
--- a/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/localstore/api/PartyRecordStore.scala
+++ b/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/localstore/api/PartyRecordStore.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.ledger.localstore.api
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.ledger.api.domain.IdentityProviderId
import com.digitalasset.canton.ledger.api.validation.ResourceAnnotationValidator
import com.digitalasset.canton.logging.LoggingContextWithTrace
diff --git a/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/localstore/api/UserManagementStore.scala b/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/localstore/api/UserManagementStore.scala
index cc2169c188..0691139a4e 100644
--- a/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/localstore/api/UserManagementStore.scala
+++ b/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/localstore/api/UserManagementStore.scala
@@ -4,7 +4,7 @@
package com.digitalasset.canton.ledger.localstore.api
import com.daml.error.ContextualizedErrorLogger
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.ledger.api.domain
import com.digitalasset.canton.ledger.api.domain.{IdentityProviderId, User, UserRight}
import com.digitalasset.canton.ledger.error.groups.{
diff --git a/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/participant/state/ChangeId.scala b/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/participant/state/ChangeId.scala
index c5b9e061b8..88aa33336a 100644
--- a/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/participant/state/ChangeId.scala
+++ b/sdk/canton/community/ledger/ledger-common/src/main/scala/com/digitalasset/canton/ledger/participant/state/ChangeId.scala
@@ -3,8 +3,8 @@
package com.digitalasset.canton.ledger.participant.state
-import com.daml.lf.crypto.Hash
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.crypto.Hash
+import com.digitalasset.daml.lf.data.Ref
/** Identifier for ledger changes used by command deduplication.
* Equality is defined in terms of the cryptographic hash.
diff --git a/sdk/canton/community/ledger/ledger-common/src/test/scala/com/digitalasset/canton/ledger/api/util/TimestampConversionSpec.scala b/sdk/canton/community/ledger/ledger-common/src/test/scala/com/digitalasset/canton/ledger/api/util/TimestampConversionSpec.scala
index a671713bfc..791d9b9a77 100644
--- a/sdk/canton/community/ledger/ledger-common/src/test/scala/com/digitalasset/canton/ledger/api/util/TimestampConversionSpec.scala
+++ b/sdk/canton/community/ledger/ledger-common/src/test/scala/com/digitalasset/canton/ledger/api/util/TimestampConversionSpec.scala
@@ -4,7 +4,7 @@
package com.digitalasset.canton.ledger.api.util
import com.daml.ledger.api.v2.value.Value.{Sum as VSum}
-import com.daml.lf.data.Time
+import com.digitalasset.daml.lf.data.Time
import org.scalacheck.{Gen, Prop}
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
diff --git a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/daml/lf/value/json/ApiCodecCompressed.scala b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/daml/lf/value/json/ApiCodecCompressed.scala
index 091f34f390..e7fe687d4b 100644
--- a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/daml/lf/value/json/ApiCodecCompressed.scala
+++ b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/daml/lf/value/json/ApiCodecCompressed.scala
@@ -3,12 +3,12 @@
package com.digitalasset.canton.daml.lf.value.json
-import com.daml.lf.data.{FrontStack, ImmArray, Ref, SortedLookupList, Time, Numeric as LfNumeric}
-import com.daml.lf.data.ImmArray.ImmArraySeq
-import com.daml.lf.data.ScalazEqual.*
-import com.daml.lf.typesig
-import com.daml.lf.value.{Value as V}
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.data.{FrontStack, ImmArray, Ref, SortedLookupList, Time, Numeric as LfNumeric}
+import com.digitalasset.daml.lf.data.ImmArray.ImmArraySeq
+import com.digitalasset.daml.lf.data.ScalazEqual.*
+import com.digitalasset.daml.lf.typesig
+import com.digitalasset.daml.lf.value.{Value as V}
+import com.digitalasset.daml.lf.value.Value.ContractId
import NavigatorModelAliases.{DamlLfIdentifier, DamlLfType, DamlLfTypeLookup}
import ApiValueImplicits.*
import com.digitalasset.canton.daml.lf.value.json.NavigatorModelAliases as Model
diff --git a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/daml/lf/value/json/ApiValueImplicits.scala b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/daml/lf/value/json/ApiValueImplicits.scala
index 431bd824fc..02899df8d2 100644
--- a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/daml/lf/value/json/ApiValueImplicits.scala
+++ b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/daml/lf/value/json/ApiValueImplicits.scala
@@ -6,8 +6,8 @@ package com.digitalasset.canton.daml.lf.value.json
import java.time.{Instant, LocalDate}
import java.time.format.DateTimeFormatter
-import com.daml.lf.data.Time
-import com.daml.lf.value.{Value => V}
+import com.digitalasset.daml.lf.data.Time
+import com.digitalasset.daml.lf.value.{Value => V}
object ApiValueImplicits {
diff --git a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/daml/lf/value/json/JsonVariant.scala b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/daml/lf/value/json/JsonVariant.scala
index c91c624864..4c9aa40199 100644
--- a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/daml/lf/value/json/JsonVariant.scala
+++ b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/daml/lf/value/json/JsonVariant.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.daml.lf.value.json
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import spray.json.{JsObject, JsString, JsValue}
object JsonVariant {
diff --git a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/daml/lf/value/json/NavigatorModelAliases.scala b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/daml/lf/value/json/NavigatorModelAliases.scala
index 81ffb5b910..6a51caee82 100644
--- a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/daml/lf/value/json/NavigatorModelAliases.scala
+++ b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/daml/lf/value/json/NavigatorModelAliases.scala
@@ -3,9 +3,9 @@
package com.digitalasset.canton.daml.lf.value.json
-import com.daml.lf.data.Ref as DamlLfRef
-import com.daml.lf.typesig
-import com.daml.lf.value.Value as V
+import com.digitalasset.daml.lf.data.Ref as DamlLfRef
+import com.digitalasset.daml.lf.typesig
+import com.digitalasset.daml.lf.value.Value as V
/** Aliases used by navigator's Scala backend, from which this package
* was derived.
diff --git a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/fetchcontracts/domain.scala b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/fetchcontracts/domain.scala
index fc34f50844..979b8846d4 100644
--- a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/fetchcontracts/domain.scala
+++ b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/fetchcontracts/domain.scala
@@ -5,7 +5,7 @@ package com.digitalasset.canton.fetchcontracts
import com.digitalasset.canton.ledger.api.refinements.ApiTypes as lar
import com.daml.ledger.api.v2 as lav2
-import com.daml.lf
+import com.digitalasset.daml.lf
import util.ClientUtil.boxedRecord
import com.daml.nonempty.NonEmpty
import scalaz.std.option.*
diff --git a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/fetchcontracts/util/IdentifierConverters.scala b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/fetchcontracts/util/IdentifierConverters.scala
index fb08e909b2..6ddf2b0b7d 100644
--- a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/fetchcontracts/util/IdentifierConverters.scala
+++ b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/fetchcontracts/util/IdentifierConverters.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.fetchcontracts.util
-import com.daml.lf
+import com.digitalasset.daml.lf
import com.daml.ledger.api.v2 as lav2
import com.digitalasset.canton.http.domain.ContractTypeId
diff --git a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/CommandService.scala b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/CommandService.scala
index 6464fa430b..d0252e1632 100644
--- a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/CommandService.scala
+++ b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/CommandService.scala
@@ -8,7 +8,7 @@ import com.daml.jwt.domain.Jwt
import com.digitalasset.canton.ledger.api.refinements.ApiTypes as lar
import com.daml.ledger.api.v2 as lav2
import com.daml.ledger.api.v2.commands.Commands.DeduplicationPeriod
-import com.daml.lf.data.ImmArray.ImmArraySeq
+import com.digitalasset.daml.lf.data.ImmArray.ImmArraySeq
import com.daml.logging.LoggingContextOf
import com.daml.logging.LoggingContextOf.{label, withEnrichedLoggingContext}
import com.digitalasset.canton.http.LedgerClientJwt.Grpc
diff --git a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/ContractsService.scala b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/ContractsService.scala
index a4f628a2b9..9766323606 100644
--- a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/ContractsService.scala
+++ b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/ContractsService.scala
@@ -6,7 +6,7 @@ package com.digitalasset.canton.http
import org.apache.pekko.NotUsed
import org.apache.pekko.http.scaladsl.model.StatusCodes
import org.apache.pekko.stream.scaladsl.*
-import com.daml.lf
+import com.digitalasset.daml.lf
import com.digitalasset.canton.http.LedgerClientJwt.Terminates
import com.digitalasset.canton.http.json.JsonProtocol.LfValueCodec
import com.digitalasset.canton.http.domain.{
diff --git a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/EndpointsCompanion.scala b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/EndpointsCompanion.scala
index 2241830de7..463cddac85 100644
--- a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/EndpointsCompanion.scala
+++ b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/EndpointsCompanion.scala
@@ -27,7 +27,7 @@ import com.digitalasset.canton.http.util.Logging.{
}
import com.digitalasset.canton.ledger.client.services.admin.UserManagementClient
import com.digitalasset.canton.ledger.service.Grpc.StatusEnvelope
-import com.daml.lf.data.Ref.UserId
+import com.digitalasset.daml.lf.data.Ref.UserId
import com.daml.logging.LoggingContextOf
import com.digitalasset.canton.http.domain.{JwtPayload, JwtWritePayload, LedgerApiError}
import com.digitalasset.canton.logging.TracedLogger
diff --git a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/LedgerClientJwt.scala b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/LedgerClientJwt.scala
index 1eb4cf7e81..8e8c6a8812 100644
--- a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/LedgerClientJwt.scala
+++ b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/LedgerClientJwt.scala
@@ -24,7 +24,7 @@ import com.daml.ledger.api.v2.participant_offset.ParticipantOffset.Value.Boundar
import com.daml.ledger.api.v2.transaction.Transaction
import com.daml.ledger.api.v2.transaction_filter.TransactionFilter
import com.daml.ledger.api.v2.update_service.GetUpdatesResponse.Update
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.daml.logging.LoggingContextOf
import com.digitalasset.canton.http.LedgerClientJwt.Grpc
import com.digitalasset.canton.http.util.Logging.{InstanceUUID, RequestID}
diff --git a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/PackageService.scala b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/PackageService.scala
index 3441084d8b..59a37013f0 100644
--- a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/PackageService.scala
+++ b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/PackageService.scala
@@ -4,9 +4,9 @@
package com.digitalasset.canton.http
import com.daml.jwt.domain.Jwt
-import com.daml.lf.data.ImmArray.ImmArraySeq
-import com.daml.lf.data.Ref
-import com.daml.lf.typesig
+import com.digitalasset.daml.lf.data.ImmArray.ImmArraySeq
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.typesig
import com.digitalasset.canton.http.domain.ContractTypeId
import com.daml.logging.LoggingContextOf
import com.daml.nonempty.{NonEmpty, Singleton}
diff --git a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/PartiesService.scala b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/PartiesService.scala
index 145627a291..3652b50b7e 100644
--- a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/PartiesService.scala
+++ b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/PartiesService.scala
@@ -4,7 +4,7 @@
package com.digitalasset.canton.http
import com.daml.jwt.domain.Jwt
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.daml.logging.LoggingContextOf
import com.daml.nonempty.*
import com.digitalasset.canton.http.EndpointsCompanion.{Error, InvalidUserInput, Unauthorized}
diff --git a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/WebSocketService.scala b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/WebSocketService.scala
index bbf08860f2..bc21f2c561 100644
--- a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/WebSocketService.scala
+++ b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/WebSocketService.scala
@@ -514,7 +514,7 @@ object WebSocketService extends NoTracing {
.decodeUnderlyingValuesToLf(a, jwt)
.run
.map(
- _.valueOr(_ => a.map(_ => com.daml.lf.value.Value.ValueUnit))
+ _.valueOr(_ => a.map(_ => com.digitalasset.daml.lf.value.Value.ValueUnit))
) // unit will not match any key
}
diff --git a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/domain.scala b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/domain.scala
index 4ae5432c7f..da408477bd 100644
--- a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/domain.scala
+++ b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/domain.scala
@@ -6,7 +6,7 @@ package com.digitalasset.canton.http
import org.apache.pekko.http.scaladsl.model.{StatusCode, StatusCodes}
import com.digitalasset.canton.ledger.api.refinements.ApiTypes as lar
import com.daml.ledger.api.v2 as lav2
-import com.daml.lf.typesig
+import com.digitalasset.daml.lf.typesig
import com.daml.nonempty.NonEmpty
import com.daml.nonempty.NonEmptyReturningOps.*
import com.digitalasset.canton.fetchcontracts.util.IdentifierConverters.apiIdentifier
@@ -84,7 +84,7 @@ package object domain {
package domain {
import com.daml.ledger.api.v2.commands.Commands
- import com.daml.lf.data.Ref.HexString
+ import com.digitalasset.daml.lf.data.Ref.HexString
import com.digitalasset.canton.fetchcontracts.domain.`fc domain ErrorOps`
import com.digitalasset.canton.topology.DomainId
@@ -197,7 +197,7 @@ package domain {
final case object CanReadAsAnyParty extends UserRight
object UserRights {
- import com.daml.lf.data.Ref
+ import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.ledger.api.domain.UserRight as LedgerUserRight
import scalaz.syntax.std.either.*
import scalaz.syntax.traverse.*
@@ -850,7 +850,7 @@ package domain {
final case class AsyncWarningsWrapper(warnings: ServiceWarning)
- import com.daml.lf.data.Ref
+ import com.digitalasset.daml.lf.data.Ref
import scala.collection.IterableOps
diff --git a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/endpoints/ContractList.scala b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/endpoints/ContractList.scala
index d5e833e04f..b1e1043d78 100644
--- a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/endpoints/ContractList.scala
+++ b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/endpoints/ContractList.scala
@@ -6,7 +6,7 @@ package com.digitalasset.canton.http.endpoints
import org.apache.pekko.NotUsed
import org.apache.pekko.http.scaladsl.model.*
import org.apache.pekko.stream.scaladsl.{Flow, Source}
-import com.daml.lf.value.Value as LfValue
+import com.digitalasset.daml.lf.value.Value as LfValue
import com.digitalasset.canton.http.ContractsService.SearchResult
import com.digitalasset.canton.http.EndpointsCompanion.*
import com.digitalasset.canton.http.Endpoints.{ET, IntoEndpointsError}
diff --git a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/endpoints/CreateAndExercise.scala b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/endpoints/CreateAndExercise.scala
index 810b39324c..23a7e50031 100644
--- a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/endpoints/CreateAndExercise.scala
+++ b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/endpoints/CreateAndExercise.scala
@@ -4,7 +4,7 @@
package com.digitalasset.canton.http.endpoints
import org.apache.pekko.http.scaladsl.model.*
-import com.daml.lf.value.Value as LfValue
+import com.digitalasset.daml.lf.value.Value as LfValue
import com.digitalasset.canton.http.EndpointsCompanion.*
import com.digitalasset.canton.http.Endpoints.ET
import com.digitalasset.canton.http.domain.{
diff --git a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/endpoints/MeteringReportEndpoint.scala b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/endpoints/MeteringReportEndpoint.scala
index a73ab7b9ce..5bd4f8f049 100644
--- a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/endpoints/MeteringReportEndpoint.scala
+++ b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/endpoints/MeteringReportEndpoint.scala
@@ -9,8 +9,8 @@ import com.digitalasset.canton.http.endpoints.MeteringReportEndpoint.{MeteringRe
import com.digitalasset.canton.http.util.Logging.{InstanceUUID, RequestID}
import com.daml.jwt.domain.Jwt
import com.daml.ledger.api.v2.admin.metering_report_service
-import com.daml.lf.data.Ref.ApplicationId
-import com.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.data.Ref.ApplicationId
+import com.digitalasset.daml.lf.data.Time.Timestamp
import com.daml.logging.LoggingContextOf
import com.digitalasset.canton.http.{MeteringReportService, domain}
import com.google.protobuf
diff --git a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/endpoints/UserManagement.scala b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/endpoints/UserManagement.scala
index 687f11bd05..148b4f5531 100644
--- a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/endpoints/UserManagement.scala
+++ b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/endpoints/UserManagement.scala
@@ -17,7 +17,7 @@ import scalaz.{-\/, EitherT, Monad, \/, \/-}
import com.digitalasset.canton.http.{EndpointsCompanion, domain}
import com.digitalasset.canton.ledger.api.domain.{User, UserRight}
import com.digitalasset.canton.ledger.client.services.admin.UserManagementClient
-import com.daml.lf.data.Ref.UserId
+import com.digitalasset.daml.lf.data.Ref.UserId
import com.digitalasset.canton.tracing.TraceContext
import scala.concurrent.{ExecutionContext, Future}
@@ -45,7 +45,7 @@ import scala.concurrent.{ExecutionContext, Future}
import scalaz.std.option._
import scalaz.syntax.traverse._
import scalaz.syntax.std.either._
- import com.daml.lf.data.Ref
+ import com.digitalasset.daml.lf.data.Ref
val input =
for {
username <- UserId.fromString(createUserRequest.userId).disjunction
diff --git a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/json/JsValueToApiValueConverter.scala b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/json/JsValueToApiValueConverter.scala
index 45f9c09962..71fe2678a8 100644
--- a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/json/JsValueToApiValueConverter.scala
+++ b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/json/JsValueToApiValueConverter.scala
@@ -3,8 +3,8 @@
package com.digitalasset.canton.http.json
-import com.daml.lf
-import com.daml.lf.typesig
+import com.digitalasset.daml.lf
+import com.digitalasset.daml.lf.typesig
import JsValueToApiValueConverter.LfTypeLookup
import JsonProtocol.LfValueCodec
import com.daml.ledger.api.{v2 => lav2}
diff --git a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/json/JsonProtocol.scala b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/json/JsonProtocol.scala
index be314ebd1d..b74c44d6f0 100644
--- a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/json/JsonProtocol.scala
+++ b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/json/JsonProtocol.scala
@@ -3,8 +3,8 @@
package com.digitalasset.canton.http.json
-import com.daml.lf.data.Ref.HexString
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.data.Ref.HexString
+import com.digitalasset.daml.lf.value.Value.ContractId
import com.daml.nonempty.NonEmpty
import com.daml.struct.spray.StructJsonFormat
import com.digitalasset.canton.daml.lf.value.json.ApiCodecCompressed
diff --git a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/json2/JsUserManagementService.scala b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/json2/JsUserManagementService.scala
index ce3b569541..35967f2e1c 100644
--- a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/json2/JsUserManagementService.scala
+++ b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/json2/JsUserManagementService.scala
@@ -4,7 +4,7 @@
package com.digitalasset.canton.http.json2
import com.daml.ledger.api.v2.admin.user_management_service
-import com.daml.lf.data.Ref.UserId
+import com.digitalasset.daml.lf.data.Ref.UserId
import com.digitalasset.canton.ledger.client.services.admin.UserManagementClient
import com.digitalasset.canton.http.json2.JsSchema.DirectScalaPbRwImplicits.*
import com.digitalasset.canton.http.json2.JsSchema.JsCantonError
diff --git a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/json2/JsVersionService.scala b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/json2/JsVersionService.scala
index bc51d74b67..9262d58a56 100644
--- a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/json2/JsVersionService.scala
+++ b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/json2/JsVersionService.scala
@@ -38,7 +38,6 @@ class JsVersionService(versionClient: VersionClient)(implicit
object JsVersionServiceCodecs {
implicit val est: Codec[experimental_features.ExperimentalStaticTime] = deriveCodec
- implicit val ecis: Codec[experimental_features.ExperimentalCommandInspectionService] = deriveCodec
implicit val ef: Codec[experimental_features.ExperimentalFeatures] = deriveCodec
implicit val umf: Codec[version_service.UserManagementFeature] = deriveCodec
implicit val pmf: Codec[version_service.PartyManagementFeature] = deriveCodec
diff --git a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/query/ValuePredicate.scala b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/query/ValuePredicate.scala
index 20b69e8269..03c03d6152 100644
--- a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/query/ValuePredicate.scala
+++ b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/query/ValuePredicate.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.http.query
-import com.daml.lf.value.Value as V
+import com.digitalasset.daml.lf.value.Value as V
object ValuePredicate {
type LfV = V
diff --git a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/util/ApiValueToLfValueConverter.scala b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/util/ApiValueToLfValueConverter.scala
index d9ebbff1d0..68f9f04398 100644
--- a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/util/ApiValueToLfValueConverter.scala
+++ b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/util/ApiValueToLfValueConverter.scala
@@ -4,7 +4,7 @@
package com.digitalasset.canton.http.util
import com.daml.error.NoLogging
-import com.daml.lf
+import com.digitalasset.daml.lf
import com.digitalasset.canton.ledger.api.validation.StricterValueValidator
import com.daml.ledger.api.{v2 => lav2}
import io.grpc.StatusRuntimeException
diff --git a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/util/IdentifierConverters.scala b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/util/IdentifierConverters.scala
index 3532352391..58d4622c6f 100644
--- a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/util/IdentifierConverters.scala
+++ b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/util/IdentifierConverters.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.http.util
-import com.daml.lf
+import com.digitalasset.daml.lf
import com.digitalasset.canton.ledger.api.refinements.ApiTypes as lar
import com.daml.ledger.api.v2 as lav2
import com.digitalasset.canton.fetchcontracts.util.IdentifierConverters as FC
diff --git a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/util/Transactions.scala b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/util/Transactions.scala
index caf7717f3b..36899aa6ff 100644
--- a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/util/Transactions.scala
+++ b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/http/util/Transactions.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.http.util
-import com.daml.lf.data.ImmArray.ImmArraySeq
+import com.digitalasset.daml.lf.data.ImmArray.ImmArraySeq
import com.daml.ledger.api.v2.event.CreatedEvent
import com.daml.ledger.api.v2.transaction.Transaction
diff --git a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/ledger/service/LedgerReader.scala b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/ledger/service/LedgerReader.scala
index 21c2bb36d8..8359103921 100644
--- a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/ledger/service/LedgerReader.scala
+++ b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/ledger/service/LedgerReader.scala
@@ -4,11 +4,11 @@
package com.digitalasset.canton.ledger.service
import com.daml.ledger.api.v2.package_service.GetPackageResponse
-import com.daml.lf.archive
-import com.daml.lf.data.ImmArray.ImmArraySeq
-import com.daml.lf.data.Ref.{Identifier, PackageId}
-import com.daml.lf.typesig.reader.SignatureReader
-import com.daml.lf.typesig.{DefDataType, PackageSignature}
+import com.digitalasset.daml.lf.archive
+import com.digitalasset.daml.lf.data.ImmArray.ImmArraySeq
+import com.digitalasset.daml.lf.data.Ref.{Identifier, PackageId}
+import com.digitalasset.daml.lf.typesig.reader.SignatureReader
+import com.digitalasset.daml.lf.typesig.{DefDataType, PackageSignature}
import com.daml.logging.LoggingContextOf
import com.daml.scalautil.TraverseFMSyntax.*
import com.daml.timer.RetryStrategy
diff --git a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/ledger/service/MetadataReader.scala b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/ledger/service/MetadataReader.scala
index ec30869427..6bfc8ca64a 100644
--- a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/ledger/service/MetadataReader.scala
+++ b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/ledger/service/MetadataReader.scala
@@ -5,10 +5,10 @@ package com.digitalasset.canton.ledger.service
import java.io.File
-import com.daml.lf.archive.{ArchivePayload, Dar, DarReader}
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.PackageId
-import com.daml.lf.typesig
+import com.digitalasset.daml.lf.archive.{ArchivePayload, Dar, DarReader}
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.typesig
import com.daml.scalautil.ExceptionOps._
import scalaz.std.list._
import scalaz.syntax.traverse._
diff --git a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/ledger/service/TemplateIds.scala b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/ledger/service/TemplateIds.scala
index a77e9fdd77..1d407c1161 100644
--- a/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/ledger/service/TemplateIds.scala
+++ b/sdk/canton/community/ledger/ledger-json-api/src/main/scala/com/digitalasset/canton/ledger/service/TemplateIds.scala
@@ -3,8 +3,8 @@
package com.digitalasset.canton.ledger.service
-import com.daml.lf.data.Ref
-import com.daml.lf.typesig.PackageSignature
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.typesig.PackageSignature
import PackageSignature.TypeDecl.Template
import com.daml.ledger.api.v2.value.Identifier
diff --git a/sdk/canton/community/ledger/ledger-json-api/src/test/daml/v2_1/daml.yaml b/sdk/canton/community/ledger/ledger-json-api/src/test/daml/v2_1/daml.yaml
index 183467ca1e..703b421489 100644
--- a/sdk/canton/community/ledger/ledger-json-api/src/test/daml/v2_1/daml.yaml
+++ b/sdk/canton/community/ledger/ledger-json-api/src/test/daml/v2_1/daml.yaml
@@ -1,4 +1,4 @@
-sdk-version: 3.1.0-snapshot.20240620.13140.0.v996a1164
+sdk-version: 3.1.0-snapshot.20240613.13124.0.v24e0f5e8
build-options:
- --target=2.1
name: JsonEncodingTest
diff --git a/sdk/canton/community/ledger/ledger-json-api/src/test/daml/v2_dev/daml.yaml b/sdk/canton/community/ledger/ledger-json-api/src/test/daml/v2_dev/daml.yaml
index 9d22e94298..3d971885b8 100644
--- a/sdk/canton/community/ledger/ledger-json-api/src/test/daml/v2_dev/daml.yaml
+++ b/sdk/canton/community/ledger/ledger-json-api/src/test/daml/v2_dev/daml.yaml
@@ -1,4 +1,4 @@
-sdk-version: 3.1.0-snapshot.20240620.13140.0.v996a1164
+sdk-version: 3.1.0-snapshot.20240613.13124.0.v24e0f5e8
build-options:
- --target=2.dev
name: JsonEncodingTestDev
diff --git a/sdk/canton/community/ledger/ledger-json-api/src/test/scala/com/digitalasset/canton/daml/lf/value/json/ApiCodecCompressedSpec.scala b/sdk/canton/community/ledger/ledger-json-api/src/test/scala/com/digitalasset/canton/daml/lf/value/json/ApiCodecCompressedSpec.scala
index c698e58b33..5ea0d2e0cc 100644
--- a/sdk/canton/community/ledger/ledger-json-api/src/test/scala/com/digitalasset/canton/daml/lf/value/json/ApiCodecCompressedSpec.scala
+++ b/sdk/canton/community/ledger/ledger-json-api/src/test/scala/com/digitalasset/canton/daml/lf/value/json/ApiCodecCompressedSpec.scala
@@ -3,10 +3,10 @@
package com.digitalasset.canton.daml.lf.value.json
-import com.daml.lf.value.Value.ContractId
-import com.daml.lf.data.{ImmArray, Numeric, Ref, SortedLookupList, Time}
-import com.daml.lf.value.test.TypedValueGenerators.{genAddend, genTypeAndValue, ValueAddend as VA}
-import com.daml.lf.value.test.ValueGenerators.coidGen
+import com.digitalasset.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.data.{ImmArray, Numeric, Ref, SortedLookupList, Time}
+import com.digitalasset.daml.lf.value.test.TypedValueGenerators.{genAddend, genTypeAndValue, ValueAddend as VA}
+import com.digitalasset.daml.lf.value.test.ValueGenerators.coidGen
import ApiCodecCompressed.{apiValueToJsValue, jsValueToApiValue}
import com.digitalasset.canton.daml.lf.value.json.NavigatorModelAliases as model
import com.digitalasset.canton.ledger.service.MetadataReader
@@ -413,7 +413,7 @@ class ApiCodecCompressedSpecStable extends ApiCodecCompressedSpec {
}
}
- import com.daml.lf.value.{Value as LfValue}
+ import com.digitalasset.daml.lf.value.{Value as LfValue}
import ApiCodecCompressed.JsonImplicits.*
val packageId: Ref.PackageId = mustBeOne(
@@ -534,11 +534,11 @@ class ApiCodecCompressedSpecStable extends ApiCodecCompressedSpec {
class ApiCodecCompressedSpecDev extends ApiCodecCompressedSpec {
override def darPath: String = "JsonEncodingTestDev.dar"
- import com.daml.lf.value.{Value as LfValue}
+ import com.digitalasset.daml.lf.value.{Value as LfValue}
"API compressed JSON codec" when {
"dealing with Contract Key" should {
- import com.daml.lf.typesig.PackageSignature.TypeDecl.{Template as TDTemplate}
+ import com.digitalasset.daml.lf.typesig.PackageSignature.TypeDecl.{Template as TDTemplate}
"decode type Key = Party from JSON" in {
val templateDef: TDTemplate = mustBeOne(
diff --git a/sdk/canton/community/ledger/ledger-json-api/src/test/scala/com/digitalasset/canton/http/endpoints/MeteringReportEndpointTest.scala b/sdk/canton/community/ledger/ledger-json-api/src/test/scala/com/digitalasset/canton/http/endpoints/MeteringReportEndpointTest.scala
index 486145cb8c..e4831f7a5c 100644
--- a/sdk/canton/community/ledger/ledger-json-api/src/test/scala/com/digitalasset/canton/http/endpoints/MeteringReportEndpointTest.scala
+++ b/sdk/canton/community/ledger/ledger-json-api/src/test/scala/com/digitalasset/canton/http/endpoints/MeteringReportEndpointTest.scala
@@ -4,8 +4,8 @@
package com.digitalasset.canton.http.endpoints
import com.daml.ledger.api.v2.admin.metering_report_service
-import com.daml.lf.data.Ref.ApplicationId
-import com.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.data.Ref.ApplicationId
+import com.digitalasset.daml.lf.data.Time.Timestamp
import com.google.protobuf.struct
import com.google.protobuf.struct.Struct
import org.scalatest.freespec.AnyFreeSpec
diff --git a/sdk/canton/community/ledger/ledger-json-api/src/test/scala/com/digitalasset/canton/http/json/JsonProtocolTest.scala b/sdk/canton/community/ledger/ledger-json-api/src/test/scala/com/digitalasset/canton/http/json/JsonProtocolTest.scala
index 5e0d4af23c..dfd842b5fe 100644
--- a/sdk/canton/community/ledger/ledger-json-api/src/test/scala/com/digitalasset/canton/http/json/JsonProtocolTest.scala
+++ b/sdk/canton/community/ledger/ledger-json-api/src/test/scala/com/digitalasset/canton/http/json/JsonProtocolTest.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.http.json
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.daml.scalautil.Statement.discard
import com.digitalasset.canton.http.Generators.{OptionalPackageIdGen, contractGen, contractIdGen, contractLocatorGen, exerciseCmdGen, genDomainTemplateId, genDomainTemplateIdO, genServiceWarning, genUnknownParties, genUnknownTemplateIds, genWarningsWrapper}
import com.digitalasset.canton.http.domain
diff --git a/sdk/canton/community/ledger/ledger-json-api/src/test/scala/com/digitalasset/canton/http/util/ApiValueToLfValueConverterTest.scala b/sdk/canton/community/ledger/ledger-json-api/src/test/scala/com/digitalasset/canton/http/util/ApiValueToLfValueConverterTest.scala
index b478f4e301..03a3a0a4cc 100644
--- a/sdk/canton/community/ledger/ledger-json-api/src/test/scala/com/digitalasset/canton/http/util/ApiValueToLfValueConverterTest.scala
+++ b/sdk/canton/community/ledger/ledger-json-api/src/test/scala/com/digitalasset/canton/http/util/ApiValueToLfValueConverterTest.scala
@@ -3,9 +3,9 @@
package com.digitalasset.canton.http.util
-import com.daml.lf.value.test.TypedValueGenerators.genAddend
-import com.daml.lf.value.test.ValueGenerators.coidGen
-import com.daml.lf.value.Value as V
+import com.digitalasset.daml.lf.value.test.TypedValueGenerators.genAddend
+import com.digitalasset.daml.lf.value.test.ValueGenerators.coidGen
+import com.digitalasset.daml.lf.value.Value as V
import com.digitalasset.canton.ledger.api.util.LfEngineToApi.lfValueToApiValue
import org.scalacheck.Arbitrary
import org.scalatestplus.scalacheck.ScalaCheckDrivenPropertyChecks
diff --git a/sdk/canton/community/ledger/ledger-json-api/src/test/scala/com/digitalasset/canton/http/util/JwtPartiesTest.scala b/sdk/canton/community/ledger/ledger-json-api/src/test/scala/com/digitalasset/canton/http/util/JwtPartiesTest.scala
index 4721618bd4..73a7738bf2 100644
--- a/sdk/canton/community/ledger/ledger-json-api/src/test/scala/com/digitalasset/canton/http/util/JwtPartiesTest.scala
+++ b/sdk/canton/community/ledger/ledger-json-api/src/test/scala/com/digitalasset/canton/http/util/JwtPartiesTest.scala
@@ -5,7 +5,7 @@ package com.digitalasset.canton.http.util
import com.digitalasset.canton.http.domain.{JwtPayload, JwtWritePayload}
import com.digitalasset.canton.http.EndpointsCompanion.Unauthorized
-import com.daml.lf.value.test.ValueGenerators.party as partyGen
+import com.digitalasset.daml.lf.value.test.ValueGenerators.party as partyGen
import com.daml.scalautil.Statement.discard
import com.daml.nonempty.NonEmpty
import com.daml.nonempty.NonEmptyReturningOps.*
diff --git a/sdk/canton/community/participant/src/main/daml/daml.yaml b/sdk/canton/community/participant/src/main/daml/daml.yaml
index 41b0b3d0df..ce84b27540 100644
--- a/sdk/canton/community/participant/src/main/daml/daml.yaml
+++ b/sdk/canton/community/participant/src/main/daml/daml.yaml
@@ -1,4 +1,4 @@
-sdk-version: 3.1.0-snapshot.20240620.13140.0.v996a1164
+sdk-version: 3.1.0-snapshot.20240613.13124.0.v24e0f5e8
build-options:
- --target=2.1
name: AdminWorkflows
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/CantonLedgerApiServerFactory.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/CantonLedgerApiServerFactory.scala
index 9820de1a37..d1d67d19a4 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/CantonLedgerApiServerFactory.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/CantonLedgerApiServerFactory.scala
@@ -6,7 +6,7 @@ package com.digitalasset.canton.participant
import cats.Eval
import cats.data.EitherT
import cats.syntax.either.*
-import com.daml.lf.engine.Engine
+import com.digitalasset.daml.lf.engine.Engine
import com.digitalasset.canton.LedgerParticipantId
import com.digitalasset.canton.concurrent.{
ExecutionContextIdlenessExecutorService,
@@ -110,7 +110,6 @@ class CantonLedgerApiServerFactory(
cantonParameterConfig = parameters,
testingTimeService = ledgerTestingTimeService,
adminToken = adminToken,
- enableCommandInspection = config.ledgerApi.enableCommandInspection,
loggerFactory = loggerFactory,
tracerProvider = tracerProvider,
metrics = metrics,
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/GlobalOffset.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/GlobalOffset.scala
index d5d0ae8811..61adc51bca 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/GlobalOffset.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/GlobalOffset.scala
@@ -5,7 +5,6 @@ package com.digitalasset.canton.participant
import cats.syntax.either.*
import com.digitalasset.canton.config.RequireTypes.{NonNegativeInt, NonNegativeLong, PositiveLong}
-import com.digitalasset.canton.data.Offset
import com.digitalasset.canton.logging.pretty.{Pretty, PrettyPrinting}
import slick.jdbc.{GetResult, SetParameter}
@@ -30,8 +29,6 @@ final case class GlobalOffset(v: PositiveLong) extends Ordered[GlobalOffset] wit
def +(i: PositiveLong): GlobalOffset = new GlobalOffset(v + i)
def +(i: NonNegativeInt): GlobalOffset = new GlobalOffset(v.tryAdd(i.unwrap.toLong))
-
- def toLedgerOffset: Offset = Offset.fromLong(v.value)
}
object GlobalOffset {
@@ -52,11 +49,4 @@ object GlobalOffset {
def fromLong(i: Long): Either[String, GlobalOffset] = PositiveLong
.create(i)
.bimap(_ => s"Expecting positive value for global offset; found $i", GlobalOffset(_))
-
- def tryFromLedgerOffset(offset: Offset): GlobalOffset =
- if (offset == Offset.beforeBegin)
- throw new IllegalArgumentException(
- "offset expected to be an explicit offset, not before-begin"
- )
- else tryFromLong(offset.toLong)
}
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/ParticipantNode.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/ParticipantNode.scala
index 06f01b1ac8..ddd4c393c8 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/ParticipantNode.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/ParticipantNode.scala
@@ -8,7 +8,7 @@ import cats.data.EitherT
import cats.syntax.either.*
import cats.syntax.option.*
import com.daml.grpc.adapter.ExecutionSequencerFactory
-import com.daml.lf.engine.Engine
+import com.digitalasset.daml.lf.engine.Engine
import com.daml.nameof.NameOf.functionFullName
import com.digitalasset.canton.admin.participant.v30.*
import com.digitalasset.canton.common.domain.grpc.SequencerInfoLoader
@@ -69,7 +69,6 @@ import com.digitalasset.canton.store.IndexedStringStore
import com.digitalasset.canton.time.EnrichedDurations.*
import com.digitalasset.canton.time.*
import com.digitalasset.canton.time.admin.v30.DomainTimeServiceGrpc
-import com.digitalasset.canton.topology.TopologyManagerError.InvalidTopologyMapping
import com.digitalasset.canton.topology.*
import com.digitalasset.canton.topology.client.{
DomainTopologyClient,
@@ -255,30 +254,21 @@ class ParticipantNodeBootstrap(
protocolVersion: ProtocolVersion,
)(implicit
traceContext: TraceContext
- ): EitherT[FutureUnlessShutdown, ParticipantTopologyManagerError, Unit] = for {
- ptp <- EitherT.fromEither[FutureUnlessShutdown](
- PartyToParticipant
- .create(
- partyId,
- None,
- threshold = PositiveInt.one,
- participants =
- Seq(HostingParticipant(participantId, ParticipantPermission.Submission)),
- groupAddressing = false,
- )
- .leftMap(err =>
- ParticipantTopologyManagerError.IdentityManagerParentError(
- InvalidTopologyMapping.Reject(err)
- )
- )
- )
+ ): EitherT[FutureUnlessShutdown, ParticipantTopologyManagerError, Unit] = {
// TODO(#14069) make this "extend" / not replace
// this will also be potentially racy!
- _ <- performUnlessClosingEitherUSF(functionFullName)(
+ performUnlessClosingEitherUSF(functionFullName)(
topologyManager
.proposeAndAuthorize(
TopologyChangeOp.Replace,
- ptp,
+ PartyToParticipant(
+ partyId,
+ None,
+ threshold = PositiveInt.one,
+ participants =
+ Seq(HostingParticipant(participantId, ParticipantPermission.Submission)),
+ groupAddressing = false,
+ ),
serial = None,
// TODO(#12390) auto-determine signing keys
signingKeys = Seq(partyId.uid.namespace.fingerprint),
@@ -288,7 +278,7 @@ class ParticipantNodeBootstrap(
)
.leftMap(IdentityManagerParentError(_): ParticipantTopologyManagerError)
.map(_ => ())
- } yield ()
+ }
}
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/ParticipantNodeParameters.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/ParticipantNodeParameters.scala
index 58b6577338..0e2b4296d3 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/ParticipantNodeParameters.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/ParticipantNodeParameters.scala
@@ -21,7 +21,6 @@ import com.digitalasset.canton.participant.config.{
ParticipantStoreConfig,
PartyNotificationConfig,
}
-import com.digitalasset.canton.participant.sync.CommandProgressTrackerConfig
import com.digitalasset.canton.sequencing.client.SequencerClientConfig
import com.digitalasset.canton.time.NonNegativeFiniteDuration
import com.digitalasset.canton.tracing.TracingConfig
@@ -41,7 +40,6 @@ final case class ParticipantNodeParameters(
journalGarbageCollectionDelay: NonNegativeFiniteDuration,
disableUpgradeValidation: Boolean,
allowForUnauthenticatedContractIds: Boolean,
- commandProgressTracking: CommandProgressTrackerConfig,
) extends CantonNodeParameters
with HasGeneralCantonNodeParameters {
override def dontWarnOnDeprecatedPV: Boolean = protocolConfig.dontWarnOnDeprecatedPV
@@ -90,6 +88,5 @@ object ParticipantNodeParameters {
journalGarbageCollectionDelay = NonNegativeFiniteDuration.Zero,
disableUpgradeValidation = false,
allowForUnauthenticatedContractIds = false,
- commandProgressTracking = CommandProgressTrackerConfig(),
)
}
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/admin/AdminWorkflowServices.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/admin/AdminWorkflowServices.scala
index e7c25ef600..9f069bccab 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/admin/AdminWorkflowServices.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/admin/AdminWorkflowServices.scala
@@ -10,8 +10,8 @@ import cats.syntax.parallel.*
import com.daml.error.*
import com.daml.grpc.adapter.ExecutionSequencerFactory
import com.daml.ledger.api.v2.update_service.GetUpdatesResponse
-import com.daml.lf.data.Ref.PackageId
-import com.daml.lf.language.Ast
+import com.digitalasset.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.language.Ast
import com.digitalasset.canton.concurrent.FutureSupervisor
import com.digitalasset.canton.config.ProcessingTimeout
import com.digitalasset.canton.discard.Implicits.DiscardOps
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/admin/CantonPackageServiceError.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/admin/CantonPackageServiceError.scala
index 5112321bf8..f6f3d08ee0 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/admin/CantonPackageServiceError.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/admin/CantonPackageServiceError.scala
@@ -4,8 +4,8 @@
package com.digitalasset.canton.participant.admin
import com.daml.error.{DamlError, ErrorCategory, ErrorCode, Explanation, Resolution}
-import com.daml.lf.data.Ref.PackageId
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.value.Value.ContractId
import com.digitalasset.canton.error.CantonErrorGroups.ParticipantErrorGroup.PackageServiceErrorGroup
import com.digitalasset.canton.error.{CantonError, ParentCantonError}
import com.digitalasset.canton.logging.ErrorLoggingContext
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/admin/PackageDependencyResolver.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/admin/PackageDependencyResolver.scala
index f3649de0d2..9c3be41e91 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/admin/PackageDependencyResolver.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/admin/PackageDependencyResolver.scala
@@ -6,7 +6,7 @@ package com.digitalasset.canton.participant.admin
import cats.data.{EitherT, OptionT}
import cats.syntax.either.*
import cats.syntax.parallel.*
-import com.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.data.Ref.PackageId
import com.daml.nameof.NameOf.functionFullName
import com.digitalasset.canton.config.ProcessingTimeout
import com.digitalasset.canton.lifecycle.{FlagCloseable, FutureUnlessShutdown, Lifecycle}
@@ -68,7 +68,7 @@ class PackageDependencyResolver(
Future(
Either
.catchOnly[Exception](
- com.daml.lf.archive.Decode.assertDecodeArchive(pckg)._2.directDeps
+ com.digitalasset.daml.lf.archive.Decode.assertDecodeArchive(pckg)._2.directDeps
)
.leftMap { e =>
logger.error(
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/admin/PackageOps.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/admin/PackageOps.scala
index 477bbe8215..10de19b916 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/admin/PackageOps.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/admin/PackageOps.scala
@@ -6,7 +6,7 @@ package com.digitalasset.canton.participant.admin
import cats.data.EitherT
import cats.implicits.toBifunctorOps
import cats.syntax.parallel.*
-import com.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.data.Ref.PackageId
import com.daml.nameof.NameOf.functionFullName
import com.digitalasset.canton.LfPackageId
import com.digitalasset.canton.config.ProcessingTimeout
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/admin/PackageService.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/admin/PackageService.scala
index 677a747a55..7eb72fd769 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/admin/PackageService.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/admin/PackageService.scala
@@ -11,11 +11,11 @@ import cats.syntax.functorFilter.*
import cats.syntax.parallel.*
import com.daml.daml_lf_dev.DamlLf
import com.daml.error.{ContextualizedErrorLogger, DamlError}
-import com.daml.lf.archive
-import com.daml.lf.archive.{DarParser, Error as LfArchiveError}
-import com.daml.lf.data.Ref.PackageId
-import com.daml.lf.engine.Engine
-import com.daml.lf.language.Ast.Package
+import com.digitalasset.daml.lf.archive
+import com.digitalasset.daml.lf.archive.{DarParser, Error as LfArchiveError}
+import com.digitalasset.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.engine.Engine
+import com.digitalasset.daml.lf.language.Ast.Package
import com.digitalasset.canton.LedgerSubmissionId
import com.digitalasset.canton.concurrent.FutureSupervisor
import com.digitalasset.canton.config.CantonRequireTypes.LengthLimitedString.DarName
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/admin/PackageUploader.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/admin/PackageUploader.scala
index fc102d028f..2b972ac213 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/admin/PackageUploader.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/admin/PackageUploader.scala
@@ -7,10 +7,10 @@ import cats.data.EitherT
import cats.implicits.{catsSyntaxParallelTraverse1, toBifunctorOps, toTraverseOps}
import com.daml.daml_lf_dev.DamlLf
import com.daml.error.{ContextualizedErrorLogger, DamlError}
-import com.daml.lf.archive.{Dar as LfDar, DarParser, Decode}
-import com.daml.lf.data.Ref
-import com.daml.lf.engine.Engine
-import com.daml.lf.language.Ast
+import com.digitalasset.daml.lf.archive.{Dar as LfDar, DarParser, Decode}
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.engine.Engine
+import com.digitalasset.daml.lf.language.Ast
import com.digitalasset.canton.concurrent.FutureSupervisor
import com.digitalasset.canton.config.CantonRequireTypes.String255
import com.digitalasset.canton.config.ProcessingTimeout
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/admin/repair/ChangeAssignation.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/admin/repair/ChangeAssignation.scala
index 1be7aa1389..ae24205a23 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/admin/repair/ChangeAssignation.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/admin/repair/ChangeAssignation.scala
@@ -6,7 +6,7 @@ package com.digitalasset.canton.participant.admin.repair
import cats.data.EitherT
import cats.syntax.parallel.*
import cats.syntax.traverse.*
-import com.daml.lf.data.Bytes
+import com.digitalasset.daml.lf.data.Bytes
import com.digitalasset.canton.*
import com.digitalasset.canton.crypto.SyncCryptoApiProvider
import com.digitalasset.canton.discard.Implicits.DiscardOps
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/admin/repair/EnsureValidContractIds.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/admin/repair/EnsureValidContractIds.scala
index a369aee0d5..93a2cbbb64 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/admin/repair/EnsureValidContractIds.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/admin/repair/EnsureValidContractIds.scala
@@ -8,7 +8,7 @@ import cats.data.EitherT
import cats.syntax.either.*
import cats.syntax.parallel.*
import cats.syntax.traverse.*
-import com.daml.lf.crypto.Hash
+import com.digitalasset.daml.lf.crypto.Hash
import com.digitalasset.canton.crypto.{HashOps, HmacOps, Salt}
import com.digitalasset.canton.discard.Implicits.DiscardOps
import com.digitalasset.canton.logging.{NamedLoggerFactory, NamedLogging}
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/admin/repair/RepairService.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/admin/repair/RepairService.scala
index f37014f93d..8461eb226c 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/admin/repair/RepairService.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/admin/repair/RepairService.scala
@@ -11,7 +11,7 @@ import cats.syntax.foldable.*
import cats.syntax.parallel.*
import cats.syntax.traverse.*
import com.daml.ledger.api.v2.value.{Identifier, Record}
-import com.daml.lf.data.{Bytes, ImmArray}
+import com.digitalasset.daml.lf.data.{Bytes, ImmArray}
import com.daml.nonempty.NonEmpty
import com.digitalasset.canton.*
import com.digitalasset.canton.config.ProcessingTimeout
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/config/LocalParticipantConfig.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/config/LocalParticipantConfig.scala
index ca235b358b..81034dea32 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/config/LocalParticipantConfig.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/config/LocalParticipantConfig.scala
@@ -14,7 +14,6 @@ import com.digitalasset.canton.http.HttpApiConfig
import com.digitalasset.canton.networking.grpc.CantonServerBuilder
import com.digitalasset.canton.participant.admin.AdminWorkflowConfig
import com.digitalasset.canton.participant.config.LedgerApiServerConfig.DefaultRateLimit
-import com.digitalasset.canton.participant.sync.CommandProgressTrackerConfig
import com.digitalasset.canton.platform.apiserver.ApiServiceOwner
import com.digitalasset.canton.platform.apiserver.SeedService.Seeding
import com.digitalasset.canton.platform.apiserver.configuration.RateLimitingConfig
@@ -171,8 +170,6 @@ final case class RemoteParticipantConfig(
* @param databaseConnectionTimeout database connection timeout
* @param additionalMigrationPaths optional extra paths for the database migrations
* @param rateLimit limit the ledger api server request rates based on system metrics
- * @param enableExplicitDisclosure enable usage of explicitly disclosed contracts in command submission and transaction validation.
- * @param enableCommandInspection enable command inspection service over the ledger api
*/
final case class LedgerApiServerConfig(
address: String = "127.0.0.1",
@@ -193,7 +190,6 @@ final case class LedgerApiServerConfig(
databaseConnectionTimeout: config.NonNegativeFiniteDuration =
LedgerApiServerConfig.DefaultDatabaseConnectionTimeout,
rateLimit: Option[RateLimitingConfig] = Some(DefaultRateLimit),
- enableCommandInspection: Boolean = true,
adminToken: Option[String] = None,
identityProviderManagement: IdentityProviderManagementConfig =
LedgerApiServerConfig.DefaultIdentityProviderManagementConfig,
@@ -371,7 +367,6 @@ final case class ParticipantNodeParameterConfig(
allowForUnauthenticatedContractIds: Boolean = false,
watchdog: Option[WatchdogConfig] = None,
packageMetadataView: PackageMetadataViewConfig = PackageMetadataViewConfig(),
- commandProgressTracker: CommandProgressTrackerConfig = CommandProgressTrackerConfig(),
) extends LocalNodeParametersConfig
/** Parameters for the participant node's stores
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/ledger/api/CantonLedgerApiServerWrapper.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/ledger/api/CantonLedgerApiServerWrapper.scala
index 1a986d218b..e8b56949fa 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/ledger/api/CantonLedgerApiServerWrapper.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/ledger/api/CantonLedgerApiServerWrapper.scala
@@ -5,7 +5,7 @@ package com.digitalasset.canton.participant.ledger.api
import cats.data.EitherT
import cats.syntax.either.*
-import com.daml.lf.engine.Engine
+import com.digitalasset.daml.lf.engine.Engine
import com.daml.tracing.DefaultOpenTelemetry
import com.digitalasset.canton.LedgerParticipantId
import com.digitalasset.canton.concurrent.{
@@ -39,21 +39,21 @@ object CantonLedgerApiServerWrapper extends NoTracing {
/** Config for ledger API server and indexer
*
- * @param serverConfig ledger API server configuration
- * @param jsonApiConfig JSON API configuration
- * @param indexerConfig indexer configuration
- * @param indexerHaConfig configuration for indexer HA
- * @param participantId unique participant id used e.g. for a unique ledger API server index db name
- * @param engine daml engine shared with Canton for performance reasons
- * @param syncService canton sync service implementing both read and write services
- * @param storageConfig canton storage config so that indexer can share the participant db
- * @param cantonParameterConfig configurations meant to be overridden primarily in tests (applying to all participants)
- * @param testingTimeService an optional service during testing for advancing time, participant-specific
- * @param adminToken canton admin token for ledger api auth
- * @param enableCommandInspection whether canton should support inspection service or not
- * @param loggerFactory canton logger factory
- * @param tracerProvider tracer provider for open telemetry grpc injection
- * @param metrics upstream metrics module
+ * @param serverConfig ledger API server configuration
+ * @param jsonApiConfig JSON API configuration
+ * @param indexerConfig indexer configuration
+ * @param indexerLockIds Optional lock IDs to be used for indexer HA
+ * @param participantId unique participant id used e.g. for a unique ledger API server index db name
+ * @param engine daml engine shared with Canton for performance reasons
+ * @param syncService canton sync service implementing both read and write services
+ * @param storageConfig canton storage config so that indexer can share the participant db
+ * @param cantonParameterConfig configurations meant to be overridden primarily in tests (applying to all participants)
+ * @param testingTimeService an optional service during testing for advancing time, participant-specific
+ * @param adminToken canton admin token for ledger api auth
+ * @param loggerFactory canton logger factory
+ * @param tracerProvider tracer provider for open telemetry grpc injection
+ * @param metrics upstream metrics module
+ * @param maxDeduplicationDuration maximum time window during which commands can be deduplicated.
*/
final case class Config(
serverConfig: LedgerApiServerConfig,
@@ -67,7 +67,6 @@ object CantonLedgerApiServerWrapper extends NoTracing {
cantonParameterConfig: ParticipantNodeParameters,
testingTimeService: Option[TimeServiceBackend],
adminToken: CantonAdminToken,
- enableCommandInspection: Boolean,
override val loggerFactory: NamedLoggerFactory,
tracerProvider: TracerProvider,
metrics: LedgerApiServerMetrics,
@@ -128,7 +127,6 @@ object CantonLedgerApiServerWrapper extends NoTracing {
telemetry = new DefaultOpenTelemetry(config.tracerProvider.openTelemetry),
futureSupervisor = futureSupervisor,
parameters = parameters,
- commandProgressTracker = config.syncService.commandProgressTracker,
)
val startFUS = for {
_ <-
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/ledger/api/StartableStoppableLedgerApiServer.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/ledger/api/StartableStoppableLedgerApiServer.scala
index d966be1819..8763947ba5 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/ledger/api/StartableStoppableLedgerApiServer.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/ledger/api/StartableStoppableLedgerApiServer.scala
@@ -4,7 +4,6 @@
package com.digitalasset.canton.participant.ledger.api
import com.daml.executors.executors.{NamedExecutor, QueueAwareExecutor}
-import com.daml.ledger.api.v2.experimental_features.ExperimentalCommandInspectionService
import com.daml.ledger.api.v2.state_service.GetActiveContractsResponse
import com.daml.ledger.resources.{Resource, ResourceContext, ResourceOwner}
import com.daml.logging.entries.LoggingEntries
@@ -43,7 +42,6 @@ import com.digitalasset.canton.participant.ParticipantNodeParameters
import com.digitalasset.canton.participant.config.LedgerApiServerConfig
import com.digitalasset.canton.participant.protocol.SerializableContractAuthenticator
import com.digitalasset.canton.platform.LedgerApiServer
-import com.digitalasset.canton.platform.apiserver.execution.CommandProgressTracker
import com.digitalasset.canton.platform.apiserver.execution.StoreBackedCommandExecutor.AuthenticateContract
import com.digitalasset.canton.platform.apiserver.ratelimiting.{
RateLimitingInterceptor,
@@ -87,7 +85,6 @@ class StartableStoppableLedgerApiServer(
telemetry: Telemetry,
futureSupervisor: FutureSupervisor,
parameters: ParticipantNodeParameters,
- commandProgressTracker: CommandProgressTracker,
)(implicit
executionContext: ExecutionContextIdlenessExecutorService,
actorSystem: ActorSystem,
@@ -213,7 +210,6 @@ class StartableStoppableLedgerApiServer(
for {
(inMemoryState, inMemoryStateUpdaterFlow) <-
LedgerApiServer.createInMemoryStateAndUpdater(
- commandProgressTracker,
indexServiceConfig,
config.serverConfig.commandService.maxCommandsInFlight,
config.metrics,
@@ -221,7 +217,6 @@ class StartableStoppableLedgerApiServer(
tracer,
loggerFactory,
)
- timedWriteService = new TimedWriteService(config.syncService, config.metrics)
timedReadService = new TimedReadService(config.syncService, config.metrics)
dbSupport <- DbSupport
.owner(
@@ -279,18 +274,18 @@ class StartableStoppableLedgerApiServer(
tracer = config.tracerProvider.tracer,
loggerFactory = loggerFactory,
incompleteOffsets = (off, ps, tc) =>
- timedWriteService.incompleteReassignmentOffsets(off, ps.getOrElse(Set.empty))(tc),
+ timedReadService.incompleteReassignmentOffsets(off, ps.getOrElse(Set.empty))(tc),
contractLoader = contractLoader,
- getPackageMetadataSnapshot = timedWriteService.getPackageMetadataSnapshot(_),
+ getPackageMetadataSnapshot = timedReadService.getPackageMetadataSnapshot(_),
lfValueTranslation = new LfValueTranslation(
metrics = config.metrics,
engineO = Some(config.engine),
loadPackage = (packageId, loggingContext) =>
- timedWriteService.getLfArchive(packageId)(loggingContext.traceContext),
+ timedReadService.getLfArchive(packageId)(loggingContext.traceContext),
loggerFactory = loggerFactory,
),
)
- _ = timedWriteService.registerInternalStateService(new InternalStateService {
+ _ = timedReadService.registerInternalStateService(new InternalStateService {
override def activeContracts(
partyIds: Set[LfPartyId],
validAt: Option[Offset],
@@ -321,10 +316,10 @@ class StartableStoppableLedgerApiServer(
authenticateContract: AuthenticateContract = c =>
serializableContractAuthenticator.authenticate(c)
+ timedWriteService = new TimedWriteService(config.syncService, config.metrics)
_ <- ApiServiceOwner(
- indexService = indexService,
submissionTracker = inMemoryState.submissionTracker,
- commandProgressTracker = commandProgressTracker,
+ indexService = indexService,
userManagementStore = userManagementStore,
identityProviderConfigStore = getIdentityProviderConfigStore(
dbSupport,
@@ -344,7 +339,8 @@ class StartableStoppableLedgerApiServer(
maxInboundMessageSize = config.serverConfig.maxInboundMessageSize.unwrap,
port = config.serverConfig.port,
seeding = config.cantonParameterConfig.ledgerApiServerParameters.contractIdSeeding,
- writeService = timedWriteService,
+ optWriteService = Some(timedWriteService),
+ readService = timedReadService,
healthChecks = new HealthChecks(
"read" -> timedReadService,
"write" -> (() => config.syncService.currentWriteHealth()),
@@ -448,9 +444,7 @@ class StartableStoppableLedgerApiServer(
.toList
private def getLedgerFeatures: LedgerFeatures = LedgerFeatures(
- staticTime = config.testingTimeService.isDefined,
- commandInspectionService =
- ExperimentalCommandInspectionService.of(supported = config.enableCommandInspection),
+ staticTime = config.testingTimeService.isDefined
)
private def startHttpApiIfEnabled: ResourceOwner[Unit] =
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/package.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/package.scala
index aa22c49618..73da726f6c 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/package.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/package.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton
-import com.daml.lf.data.Time
+import com.digitalasset.daml.lf.data.Time
import com.digitalasset.canton.data.Offset
package object participant {
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/MessageDispatcher.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/MessageDispatcher.scala
index ae07654cd7..11bad0c322 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/MessageDispatcher.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/MessageDispatcher.scala
@@ -426,10 +426,7 @@ trait MessageDispatcher { this: NamedLogging =>
)
} yield goodRequest
- /** Return only the root hash messages sent to a mediator, along with the mediator group recipient.
- * The mediator group recipient can be `None` if there is no root hash message sent to a mediator group.
- * @throws IllegalArgumentException if there are root hash messages that address more than one mediator group.
- */
+ /** Return only the root hash messages sent to a mediator, along with the set of all mediator recipients */
private def filterRootHashMessagesToMediator(
rootHashMessages: List[OpenEnvelope[RootHashMessage[SerializedRootHashMessagePayload]]],
encryptedViews: List[OpenEnvelope[EncryptedViewMessage[ViewType]]],
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/SerializableContractAuthenticatorImpl.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/SerializableContractAuthenticatorImpl.scala
index 9c2a217df8..4bbfb94ff5 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/SerializableContractAuthenticatorImpl.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/SerializableContractAuthenticatorImpl.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.participant.protocol
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.value.Value.ContractId
import com.digitalasset.canton.crypto.{HashOps, HmacOps, Salt}
import com.digitalasset.canton.participant.ParticipantNodeParameters
import com.digitalasset.canton.protocol.SerializableContract.LedgerCreateTime
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/TransactionProcessingSteps.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/TransactionProcessingSteps.scala
index 45cfceef11..c92b857242 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/TransactionProcessingSteps.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/TransactionProcessingSteps.scala
@@ -11,7 +11,7 @@ import cats.syntax.option.*
import cats.syntax.parallel.*
import cats.syntax.traverse.*
import com.daml.error.utils.DecodedCantonError
-import com.daml.lf.data.ImmArray
+import com.digitalasset.daml.lf.data.ImmArray
import com.daml.metrics.api.MetricsContext
import com.daml.nonempty.NonEmpty
import com.daml.nonempty.catsinstances.*
@@ -70,7 +70,6 @@ import com.digitalasset.canton.participant.protocol.validation.*
import com.digitalasset.canton.participant.store.*
import com.digitalasset.canton.participant.sync.SyncServiceError.SyncServiceAlarm
import com.digitalasset.canton.participant.sync.*
-import com.digitalasset.canton.platform.apiserver.execution.CommandProgressTracker
import com.digitalasset.canton.protocol.WellFormedTransaction.{
WithSuffixesAndMerged,
WithoutSuffixes,
@@ -124,7 +123,6 @@ class TransactionProcessingSteps(
authenticationValidator: AuthenticationValidator,
authorizationValidator: AuthorizationValidator,
internalConsistencyChecker: InternalConsistencyChecker,
- tracker: CommandProgressTracker,
protected val loggerFactory: NamedLoggerFactory,
futureSupervisor: FutureSupervisor,
)(implicit val ec: ExecutionContext)
@@ -386,17 +384,6 @@ class TransactionProcessingSteps(
.mapK(FutureUnlessShutdown.outcomeK)
} yield {
val batchSize = batch.toProtoVersioned.serializedSize
- val numRecipients = batch.allRecipients.size
- val numEnvelopes = batch.envelopesCount
- tracker
- .findHandle(
- submitterInfoWithDedupPeriod.commandId,
- submitterInfoWithDedupPeriod.applicationId,
- submitterInfoWithDedupPeriod.actAs,
- submitterInfoWithDedupPeriod.submissionId,
- )
- .recordEnvelopeSizes(batchSize, numRecipients, numEnvelopes)
-
metrics.protocolMessages.confirmationRequestSize.update(batchSize)(MetricsContext.Empty)
new PreparedTransactionBatch(
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/TransactionProcessor.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/TransactionProcessor.scala
index ef7605dba4..468ad7539e 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/TransactionProcessor.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/TransactionProcessor.scala
@@ -37,7 +37,6 @@ import com.digitalasset.canton.participant.protocol.validation.{
import com.digitalasset.canton.participant.store.SyncDomainEphemeralState
import com.digitalasset.canton.participant.util.DAMLe
import com.digitalasset.canton.participant.util.DAMLe.PackageResolver
-import com.digitalasset.canton.platform.apiserver.execution.CommandProgressTracker
import com.digitalasset.canton.protocol.WellFormedTransaction.WithoutSuffixes
import com.digitalasset.canton.protocol.*
import com.digitalasset.canton.sequencing.client.{SendAsyncClientError, SequencerClient}
@@ -61,7 +60,6 @@ class TransactionProcessor(
sequencerClient: SequencerClient,
inFlightSubmissionTracker: InFlightSubmissionTracker,
ephemeral: SyncDomainEphemeralState,
- commandProgressTracker: CommandProgressTracker,
metrics: TransactionProcessingMetrics,
override protected val timeouts: ProcessingTimeout,
override protected val loggerFactory: NamedLoggerFactory,
@@ -104,7 +102,6 @@ class TransactionProcessor(
staticDomainParameters.protocolVersion,
loggerFactory,
),
- commandProgressTracker,
loggerFactory,
futureSupervisor,
),
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/submission/DomainsFilter.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/submission/DomainsFilter.scala
index bb998494fb..acfac06ef9 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/submission/DomainsFilter.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/submission/DomainsFilter.scala
@@ -5,9 +5,9 @@ package com.digitalasset.canton.participant.protocol.submission
import cats.syntax.alternative.*
import cats.syntax.parallel.*
-import com.daml.lf.data.Ref.{PackageId, Party}
-import com.daml.lf.engine.Blinding
-import com.daml.lf.transaction.TransactionVersion
+import com.digitalasset.daml.lf.data.Ref.{PackageId, Party}
+import com.digitalasset.daml.lf.engine.Blinding
+import com.digitalasset.daml.lf.transaction.TransactionVersion
import com.digitalasset.canton.logging.{NamedLoggerFactory, NamedLogging}
import com.digitalasset.canton.participant.protocol.submission.UsableDomain.DomainNotUsedReason
import com.digitalasset.canton.protocol.LfVersionedTransaction
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/submission/TransactionTreeFactory.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/submission/TransactionTreeFactory.scala
index 01943aafe7..35ad8f2781 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/submission/TransactionTreeFactory.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/submission/TransactionTreeFactory.scala
@@ -4,7 +4,7 @@
package com.digitalasset.canton.participant.protocol.submission
import cats.data.EitherT
-import com.daml.lf.transaction.TransactionErrors.KeyInputError
+import com.digitalasset.daml.lf.transaction.TransactionErrors.KeyInputError
import com.digitalasset.canton.*
import com.digitalasset.canton.crypto.{Salt, SaltSeed}
import com.digitalasset.canton.data.{
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/submission/TransactionTreeFactoryImpl.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/submission/TransactionTreeFactoryImpl.scala
index b8d8f406c9..8c19fcbc31 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/submission/TransactionTreeFactoryImpl.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/submission/TransactionTreeFactoryImpl.scala
@@ -10,10 +10,10 @@ import cats.syntax.functor.*
import cats.syntax.functorFilter.*
import cats.syntax.parallel.*
import cats.syntax.traverse.*
-import com.daml.lf.data.Ref.PackageId
-import com.daml.lf.transaction.ContractStateMachine.KeyInactive
-import com.daml.lf.transaction.Transaction.{KeyActive, KeyCreate, KeyInput, NegativeKeyLookup}
-import com.daml.lf.transaction.{ContractKeyUniquenessMode, ContractStateMachine}
+import com.digitalasset.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.transaction.ContractStateMachine.KeyInactive
+import com.digitalasset.daml.lf.transaction.Transaction.{KeyActive, KeyCreate, KeyInput, NegativeKeyLookup}
+import com.digitalasset.daml.lf.transaction.{ContractKeyUniquenessMode, ContractStateMachine}
import com.digitalasset.canton.*
import com.digitalasset.canton.crypto.{HashOps, HmacOps, Salt, SaltSeed}
import com.digitalasset.canton.data.TransactionViewDecomposition.{NewView, SameView}
@@ -609,14 +609,14 @@ class TransactionTreeFactoryImpl(
*
* All resolved contract IDs in the map difference are core input contracts by the following argument:
* Suppose that the map difference resolves a key `k` to a contract ID `cid`.
- * - In mode [[com.daml.lf.transaction.ContractKeyUniquenessMode.Strict]],
+ * - In mode [[com.digitalasset.daml.lf.transaction.ContractKeyUniquenessMode.Strict]],
* the first node (in execution order) involving the key `k` determines the key's resolution for the view.
* So the first node `n` in execution order involving `k` is an Exercise, Fetch, or positive LookupByKey node.
- * - In mode [[com.daml.lf.transaction.ContractKeyUniquenessMode.Off]],
+ * - In mode [[com.digitalasset.daml.lf.transaction.ContractKeyUniquenessMode.Off]],
* the first by-key node (in execution order, including Creates) determines the global key input of the view.
* So the first by-key node `n` is an ExerciseByKey, FetchByKey, or positive LookupByKey node.
* In particular, `n` cannot be a Create node because then the resolution for the view
- * would be [[com.daml.lf.transaction.ContractStateMachine.KeyInactive]].
+ * would be [[com.digitalasset.daml.lf.transaction.ContractStateMachine.KeyInactive]].
* If this node `n` is in the core of the view, then `cid` is a core input and we are done.
* If this node `n` is in a proper subview, then the aggregated global key inputs
* [[com.digitalasset.canton.data.TransactionView.globalKeyInputs]]
@@ -750,7 +750,7 @@ class TransactionTreeFactoryImpl(
}
/** Check that we correctly reconstruct the csm state machine
- * Canton does not distinguish between the different com.daml.lf.transaction.Transaction.KeyInactive forms right now
+ * Canton does not distinguish between the different com.digitalasset.daml.lf.transaction.Transaction.KeyInactive forms right now
*/
private def checkCsmStateMatchesView(
csmState: ContractStateMachine.State[Unit],
@@ -1001,9 +1001,9 @@ object TransactionTreeFactoryImpl {
val keyVersionAndMaintainers: mutable.Map[LfGlobalKey, (LfTransactionVersion, Set[LfPartyId])] =
mutable.Map.empty
- /** Out parameter for the [[com.daml.lf.transaction.ContractStateMachine.State]]
+ /** Out parameter for the [[com.digitalasset.daml.lf.transaction.ContractStateMachine.State]]
*
- * The state of the [[com.daml.lf.transaction.ContractStateMachine]]
+ * The state of the [[com.digitalasset.daml.lf.transaction.ContractStateMachine]]
* after iterating over the following nodes in execution order:
* 1. The iteration starts at the root node of the current view.
* 2. The iteration includes all processed nodes of the view. This includes the nodes of fully processed subviews.
@@ -1011,7 +1011,7 @@ object TransactionTreeFactoryImpl {
@SuppressWarnings(Array("org.wartremover.warts.Var"))
var csmState: ContractStateMachine.State[Unit] = initialCsmState
- /** This resolver is used to feed [[com.daml.lf.transaction.ContractStateMachine.State.handleLookupWith]].
+ /** This resolver is used to feed [[com.digitalasset.daml.lf.transaction.ContractStateMachine.State.handleLookupWith]].
*/
@SuppressWarnings(Array("org.wartremover.warts.Var"))
var currentResolver: LfKeyResolver = initialResolver
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/submission/UsableDomain.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/submission/UsableDomain.scala
index 512acb2427..79d720d338 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/submission/UsableDomain.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/submission/UsableDomain.scala
@@ -6,7 +6,7 @@ package com.digitalasset.canton.participant.protocol.submission
import cats.data.EitherT
import cats.syntax.bifunctor.*
import cats.syntax.parallel.*
-import com.daml.lf.transaction.TransactionVersion
+import com.digitalasset.daml.lf.transaction.TransactionVersion
import com.daml.nonempty.NonEmpty
import com.digitalasset.canton.lifecycle.FutureUnlessShutdown
import com.digitalasset.canton.lifecycle.FutureUnlessShutdownImpl.AbortedDueToShutdownException
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/submission/routing/ContractsDomainData.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/submission/routing/ContractsDomainData.scala
index 6401b3dcd8..569964365c 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/submission/routing/ContractsDomainData.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/submission/routing/ContractsDomainData.scala
@@ -4,7 +4,7 @@
package com.digitalasset.canton.participant.protocol.submission.routing
import cats.data.EitherT
-import com.daml.lf.data.Ref.Party
+import com.digitalasset.daml.lf.data.Ref.Party
import com.daml.nonempty.NonEmpty
import com.digitalasset.canton.LfPartyId
import com.digitalasset.canton.protocol.LfContractId
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/submission/routing/DomainRouter.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/submission/routing/DomainRouter.scala
index 7c63aeddc8..2ba5a69d32 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/submission/routing/DomainRouter.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/submission/routing/DomainRouter.scala
@@ -8,7 +8,7 @@ import cats.syntax.bifunctor.*
import cats.syntax.either.*
import cats.syntax.foldable.*
import cats.syntax.parallel.*
-import com.daml.lf.data.{ImmArray, Ref}
+import com.digitalasset.daml.lf.data.{ImmArray, Ref}
import com.digitalasset.canton.config.ProcessingTimeout
import com.digitalasset.canton.crypto.CryptoPureApi
import com.digitalasset.canton.data.ProcessedDisclosedContract
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/submission/routing/DomainSelector.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/submission/routing/DomainSelector.scala
index 4fa63da3b3..370c73946e 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/submission/routing/DomainSelector.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/submission/routing/DomainSelector.scala
@@ -6,7 +6,7 @@ package com.digitalasset.canton.participant.protocol.submission.routing
import cats.data.EitherT
import cats.syntax.alternative.*
import cats.syntax.parallel.*
-import com.daml.lf.transaction.TransactionVersion
+import com.digitalasset.daml.lf.transaction.TransactionVersion
import com.daml.nonempty.NonEmpty
import com.daml.nonempty.NonEmptyColl.*
import com.digitalasset.canton.logging.{NamedLoggerFactory, NamedLogging}
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/submission/routing/TransactionData.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/submission/routing/TransactionData.scala
index 082a08f0a7..85c4dd433d 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/submission/routing/TransactionData.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/submission/routing/TransactionData.scala
@@ -6,8 +6,8 @@ package com.digitalasset.canton.participant.protocol.submission.routing
import cats.data.EitherT
import cats.syntax.either.*
import cats.syntax.traverse.*
-import com.daml.lf.data.Ref.Party
-import com.daml.lf.engine.Blinding
+import com.digitalasset.daml.lf.data.Ref.Party
+import com.digitalasset.daml.lf.engine.Blinding
import com.digitalasset.canton.ledger.participant.state.SubmitterInfo
import com.digitalasset.canton.participant.sync.TransactionRoutingError
import com.digitalasset.canton.participant.sync.TransactionRoutingError.MalformedInputErrors
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/transfer/TransferInProcessingSteps.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/transfer/TransferInProcessingSteps.scala
index 6e229f89af..2d46da71c0 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/transfer/TransferInProcessingSteps.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/transfer/TransferInProcessingSteps.scala
@@ -6,7 +6,7 @@ package com.digitalasset.canton.participant.protocol.transfer
import cats.data.EitherT
import cats.syntax.either.*
import cats.syntax.functor.*
-import com.daml.lf.data.Bytes
+import com.digitalasset.daml.lf.data.Bytes
import com.daml.nonempty.{NonEmpty, NonEmptyUtil}
import com.digitalasset.canton.crypto.{DecryptionError as _, EncryptionError as _, *}
import com.digitalasset.canton.data.ViewType.TransferInViewType
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/transfer/TransferInValidation.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/transfer/TransferInValidation.scala
index c2fe2962c5..63e96d9424 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/transfer/TransferInValidation.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/transfer/TransferInValidation.scala
@@ -6,8 +6,8 @@ package com.digitalasset.canton.participant.protocol.transfer
import cats.data.EitherT
import cats.syntax.bifunctor.*
import cats.syntax.traverse.*
-import com.daml.lf.engine.Error as LfError
-import com.daml.lf.interpretation.Error as LfInterpretationError
+import com.digitalasset.daml.lf.engine.Error as LfError
+import com.digitalasset.daml.lf.interpretation.Error as LfInterpretationError
import com.digitalasset.canton.crypto.{DomainSnapshotSyncCryptoApi, SyncCryptoError}
import com.digitalasset.canton.data.*
import com.digitalasset.canton.logging.{NamedLoggerFactory, NamedLogging}
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/transfer/TransferKnownAndVetted.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/transfer/TransferKnownAndVetted.scala
index fa62d02868..499bea59e2 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/transfer/TransferKnownAndVetted.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/transfer/TransferKnownAndVetted.scala
@@ -5,8 +5,8 @@ package com.digitalasset.canton.participant.protocol.transfer
import cats.data.EitherT
import cats.syntax.bifunctor.*
-import com.daml.lf.data.Ref.PackageId
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.value.Value.ContractId
import com.digitalasset.canton.LfPartyId
import com.digitalasset.canton.lifecycle.FutureUnlessShutdown
import com.digitalasset.canton.participant.protocol.submission.UsableDomain
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/transfer/TransferProcessingSteps.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/transfer/TransferProcessingSteps.scala
index b2df4209f5..0297deb5bf 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/transfer/TransferProcessingSteps.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/transfer/TransferProcessingSteps.scala
@@ -6,7 +6,7 @@ package com.digitalasset.canton.participant.protocol.transfer
import cats.data.{EitherT, OptionT}
import cats.syntax.option.*
import cats.syntax.parallel.*
-import com.daml.lf.engine
+import com.digitalasset.daml.lf.engine
import com.daml.nonempty.NonEmpty
import com.daml.nonempty.catsinstances.*
import com.digitalasset.canton.crypto.{DomainSnapshotSyncCryptoApi, Signature}
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/validation/ExtractUsedAndCreated.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/validation/ExtractUsedAndCreated.scala
index 1d38a0dac5..b6f914f093 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/validation/ExtractUsedAndCreated.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/validation/ExtractUsedAndCreated.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.participant.protocol.validation
-import com.daml.lf.transaction.Versioned
+import com.digitalasset.daml.lf.transaction.Versioned
import com.daml.nonempty.NonEmpty
import com.digitalasset.canton.LfPartyId
import com.digitalasset.canton.data.*
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/validation/InternalConsistencyChecker.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/validation/InternalConsistencyChecker.scala
index 24d0523fb0..bf0ce7d1ce 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/validation/InternalConsistencyChecker.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/validation/InternalConsistencyChecker.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.participant.protocol.validation
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value
import com.daml.nonempty.NonEmpty
import com.digitalasset.canton.LfPartyId
import com.digitalasset.canton.data.FullTransactionViewTree
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/validation/ModelConformanceChecker.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/validation/ModelConformanceChecker.scala
index 8fea90db20..2d6e66cfe2 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/validation/ModelConformanceChecker.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/validation/ModelConformanceChecker.scala
@@ -8,7 +8,7 @@ import cats.implicits.toTraverseOps
import cats.syntax.alternative.*
import cats.syntax.bifunctor.*
import cats.syntax.parallel.*
-import com.daml.lf.data.Ref.{Identifier, PackageId, PackageName}
+import com.digitalasset.daml.lf.data.Ref.{Identifier, PackageId, PackageName}
import com.daml.nonempty.NonEmpty
import com.digitalasset.canton.data.ViewParticipantData.RootAction
import com.digitalasset.canton.data.{
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/validation/RecipientsValidator.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/validation/RecipientsValidator.scala
index bd94941119..5418d0e5ed 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/validation/RecipientsValidator.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/protocol/validation/RecipientsValidator.scala
@@ -112,7 +112,7 @@ class RecipientsValidator[I](
)
(wrongRecipients, goodInputs, errors) = resultsWithSequencingSnapshot
- actualWrongRecipients <- {
+ actualWrongRecupients <- {
if (errors.isEmpty) {
// The recipients check reported no error.
Future.successful(wrongRecipients)
@@ -150,7 +150,7 @@ class RecipientsValidator[I](
}
}
} yield {
- (actualWrongRecipients, goodInputs)
+ (actualWrongRecupients, goodInputs)
}
}
@@ -163,7 +163,7 @@ class RecipientsValidator[I](
): Future[(Seq[WrongRecipients], Seq[I], RecipientsValidatorErrors)] = {
// Used to accumulate all the errors to report later.
- // Each error also has an associated flag indicating whether it may be due to a topology change.
+ // Each error also has an associated flag indicating whether it may be due to a topology change.
val errorBuilder = Seq.newBuilder[Error]
val rootHashes = inputs.map(viewOfInput(_).rootHash).distinct
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/store/ActiveContractStore.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/store/ActiveContractStore.scala
index dad49e8ff0..59a6c63072 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/store/ActiveContractStore.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/store/ActiveContractStore.scala
@@ -5,7 +5,7 @@ package com.digitalasset.canton.participant.store
import cats.syntax.foldable.*
import cats.syntax.parallel.*
-import com.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.data.Ref.PackageId
import com.digitalasset.canton.config.CantonRequireTypes.{LengthLimitedString, String100, String36}
import com.digitalasset.canton.data.CantonTimestamp
import com.digitalasset.canton.logging.ErrorLoggingContext
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/store/DamlLfSerializers.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/store/DamlLfSerializers.scala
index 82620e7045..13ba92e287 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/store/DamlLfSerializers.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/store/DamlLfSerializers.scala
@@ -3,10 +3,10 @@
package com.digitalasset.canton.participant.store
-import com.daml.lf.CantonOnly
-import com.daml.lf.transaction.{Node, TransactionCoder, TransactionOuterClass, Versioned}
-import com.daml.lf.value.Value.ContractInstance
-import com.daml.lf.value.ValueCoder.{DecodeError, EncodeError}
+import com.digitalasset.daml.lf.CantonOnly
+import com.digitalasset.daml.lf.transaction.{Node, TransactionCoder, TransactionOuterClass, Versioned}
+import com.digitalasset.daml.lf.value.Value.ContractInstance
+import com.digitalasset.daml.lf.value.ValueCoder.{DecodeError, EncodeError}
import com.digitalasset.canton.protocol
import com.digitalasset.canton.protocol.{
LfActionNode,
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/store/DamlPackageStore.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/store/DamlPackageStore.scala
index 890b97e069..9b8c1095f4 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/store/DamlPackageStore.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/store/DamlPackageStore.scala
@@ -5,7 +5,7 @@ package com.digitalasset.canton.participant.store
import cats.data.OptionT
import com.daml.daml_lf_dev.DamlLf
-import com.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.data.Ref.PackageId
import com.digitalasset.canton.concurrent.FutureSupervisor
import com.digitalasset.canton.config.CantonRequireTypes.String255
import com.digitalasset.canton.crypto.Hash
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/store/SerializableLedgerSyncEvent.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/store/SerializableLedgerSyncEvent.scala
index 601f9f7ad4..2c954c58cc 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/store/SerializableLedgerSyncEvent.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/store/SerializableLedgerSyncEvent.scala
@@ -5,11 +5,11 @@ package com.digitalasset.canton.participant.store
import cats.syntax.either.*
import cats.syntax.traverse.*
-import com.daml.lf.crypto.Hash as LfHash
-import com.daml.lf.data.Time.Timestamp
-import com.daml.lf.data.{Bytes as LfBytes, ImmArray}
-import com.daml.lf.transaction.{BlindingInfo, TransactionOuterClass}
-import com.daml.lf.value.ValueCoder.DecodeError
+import com.digitalasset.daml.lf.crypto.Hash as LfHash
+import com.digitalasset.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.data.{Bytes as LfBytes, ImmArray}
+import com.digitalasset.daml.lf.transaction.{BlindingInfo, TransactionOuterClass}
+import com.digitalasset.daml.lf.value.ValueCoder.DecodeError
import com.digitalasset.canton.ProtoDeserializationError.ValueConversionError
import com.digitalasset.canton.data.CantonTimestamp
import com.digitalasset.canton.ledger.participant.state.*
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/store/db/DbActiveContractStore.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/store/db/DbActiveContractStore.scala
index ebf8154cc2..d5a2830329 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/store/db/DbActiveContractStore.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/store/db/DbActiveContractStore.scala
@@ -10,7 +10,7 @@ import cats.syntax.functor.*
import cats.syntax.functorFilter.*
import cats.syntax.parallel.*
import cats.syntax.traverse.*
-import com.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.data.Ref.PackageId
import com.daml.nameof.NameOf.functionFullName
import com.daml.nonempty.NonEmpty
import com.digitalasset.canton.config.CantonRequireTypes.{LengthLimitedString, String100}
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/store/db/DbDamlPackageStore.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/store/db/DbDamlPackageStore.scala
index ef58fc46d2..2a1678cd78 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/store/db/DbDamlPackageStore.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/store/db/DbDamlPackageStore.scala
@@ -5,7 +5,7 @@ package com.digitalasset.canton.participant.store.db
import cats.data.OptionT
import com.daml.daml_lf_dev.DamlLf
-import com.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.data.Ref.PackageId
import com.daml.nameof.NameOf.functionFullName
import com.daml.nonempty.NonEmpty
import com.digitalasset.canton.LfPackageId
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/store/memory/InMemoryActiveContractStore.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/store/memory/InMemoryActiveContractStore.scala
index 4a39822361..4431ebc939 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/store/memory/InMemoryActiveContractStore.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/store/memory/InMemoryActiveContractStore.scala
@@ -10,7 +10,7 @@ import cats.syntax.functor.*
import cats.syntax.functorFilter.*
import cats.syntax.parallel.*
import cats.syntax.traverse.*
-import com.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.data.Ref.PackageId
import com.daml.nonempty.NonEmpty
import com.digitalasset.canton.data.CantonTimestamp
import com.digitalasset.canton.discard.Implicits.DiscardOps
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/store/memory/InMemoryDamlPackageStore.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/store/memory/InMemoryDamlPackageStore.scala
index fbcb2e701b..72b3df82b5 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/store/memory/InMemoryDamlPackageStore.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/store/memory/InMemoryDamlPackageStore.scala
@@ -6,7 +6,7 @@ package com.digitalasset.canton.participant.store.memory
import cats.Monoid
import cats.data.OptionT
import com.daml.daml_lf_dev.DamlLf
-import com.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.data.Ref.PackageId
import com.digitalasset.canton.LfPackageId
import com.digitalasset.canton.config.CantonRequireTypes.String255
import com.digitalasset.canton.crypto.Hash
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/store/memory/PackageMetadataView.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/store/memory/PackageMetadataView.scala
index ce3a60a19e..b7de23514e 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/store/memory/PackageMetadataView.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/store/memory/PackageMetadataView.scala
@@ -6,7 +6,7 @@ package com.digitalasset.canton.participant.store.memory
import cats.implicits.catsSyntaxSemigroup
import com.daml.daml_lf_dev.DamlLf
import com.daml.error.ContextualizedErrorLogger
-import com.daml.lf.archive.Decode
+import com.digitalasset.daml.lf.archive.Decode
import com.daml.timer.FutureCheck.*
import com.digitalasset.canton.LfPackageId
import com.digitalasset.canton.config.{PackageMetadataViewConfig, ProcessingTimeout}
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/sync/CantonSyncService.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/sync/CantonSyncService.scala
index bece53a2ea..96891a7f1b 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/sync/CantonSyncService.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/sync/CantonSyncService.scala
@@ -13,9 +13,9 @@ import cats.syntax.parallel.*
import cats.syntax.traverse.*
import com.daml.daml_lf_dev.DamlLf
import com.daml.error.*
-import com.daml.lf.data.Ref.{PackageId, Party, SubmissionId}
-import com.daml.lf.data.{ImmArray, Ref}
-import com.daml.lf.engine.Engine
+import com.digitalasset.daml.lf.data.Ref.{PackageId, Party, SubmissionId}
+import com.digitalasset.daml.lf.data.{ImmArray, Ref}
+import com.digitalasset.daml.lf.engine.Engine
import com.daml.nameof.NameOf.functionFullName
import com.daml.nonempty.NonEmpty
import com.digitalasset.canton.*
@@ -36,7 +36,7 @@ import com.digitalasset.canton.ledger.api.health.HealthStatus
import com.digitalasset.canton.ledger.error.CommonErrors
import com.digitalasset.canton.ledger.error.groups.RequestValidationErrors
import com.digitalasset.canton.ledger.participant.state
-import com.digitalasset.canton.ledger.participant.state.WriteService.ConnectedDomainResponse
+import com.digitalasset.canton.ledger.participant.state.ReadService.ConnectedDomainResponse
import com.digitalasset.canton.ledger.participant.state.*
import com.digitalasset.canton.lifecycle.{
FlagCloseable,
@@ -90,10 +90,7 @@ import com.digitalasset.canton.participant.sync.SyncServiceError.{
import com.digitalasset.canton.participant.topology.*
import com.digitalasset.canton.participant.topology.client.MissingKeysAlerter
import com.digitalasset.canton.participant.util.DAMLe
-import com.digitalasset.canton.platform.apiserver.execution.{
- AuthorityResolver,
- CommandProgressTracker,
-}
+import com.digitalasset.canton.platform.apiserver.execution.AuthorityResolver
import com.digitalasset.canton.platform.store.packagemeta.PackageMetadata
import com.digitalasset.canton.protocol.*
import com.digitalasset.canton.resource.DbStorage.PassiveInstanceException
@@ -311,10 +308,6 @@ class CantonSyncService(
syncDomainPersistentStateManager.get(domainId.unwrap).map(_.transferStore),
protocolVersionFor = protocolVersionGetter,
)
- val commandProgressTracker: CommandProgressTracker =
- if (parameters.commandProgressTracking.enabled)
- new CommandProgressTrackerImpl(parameters.commandProgressTracking, clock, loggerFactory)
- else CommandProgressTracker.NoOp
private val commandDeduplicator = new CommandDeduplicatorImpl(
participantNodePersistentState.map(_.commandDeduplicationStore),
@@ -413,19 +406,6 @@ class CantonSyncService(
loggerFactory,
)
- private def trackSubmission(
- submitterInfo: SubmitterInfo,
- transaction: LfSubmittedTransaction,
- ): Unit =
- commandProgressTracker
- .findHandle(
- submitterInfo.commandId,
- submitterInfo.applicationId,
- submitterInfo.actAs,
- submitterInfo.submissionId,
- )
- .recordTransactionImpact(transaction)
-
// Submit a transaction (write service implementation)
override def submitTransaction(
submitterInfo: SubmitterInfo,
@@ -442,7 +422,6 @@ class CantonSyncService(
withSpan("CantonSyncService.submitTransaction") { implicit traceContext => span =>
span.setAttribute("command_id", submitterInfo.commandId)
logger.debug(s"Received submit-transaction ${submitterInfo.commandId} from ledger-api server")
- trackSubmission(submitterInfo, transaction)
submitTransactionF(
submitterInfo,
optDomainId,
@@ -1426,7 +1405,6 @@ class CantonSyncService(
missingKeysAlerter,
transferCoordination,
inFlightSubmissionTracker,
- commandProgressTracker,
clock,
domainMetrics,
futureSupervisor,
@@ -1777,8 +1755,8 @@ class CantonSyncService(
}
override def getConnectedDomains(
- request: WriteService.ConnectedDomainRequest
- )(implicit traceContext: TraceContext): Future[WriteService.ConnectedDomainResponse] = {
+ request: ReadService.ConnectedDomainRequest
+ )(implicit traceContext: TraceContext): Future[ReadService.ConnectedDomainResponse] = {
def getSnapshot(domainAlias: DomainAlias, domainId: DomainId): Future[TopologySnapshot] =
syncCrypto.ips
.forDomain(domainId)
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/sync/CommandProgressTrackerImpl.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/sync/CommandProgressTrackerImpl.scala
index fd53d1dd94..e9954107da 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/sync/CommandProgressTrackerImpl.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/sync/CommandProgressTrackerImpl.scala
@@ -10,10 +10,10 @@ import com.daml.ledger.api.v2.admin.command_inspection_service.GetCommandStatusR
}
import com.daml.ledger.api.v2.commands.Command
import com.daml.ledger.api.v2.value.Identifier
-import com.daml.lf.data.Ref.TypeConName
-import com.daml.lf.transaction.Node.LeafOnlyAction
-import com.daml.lf.transaction.Transaction.ChildrenRecursion
-import com.daml.lf.transaction.{GlobalKeyWithMaintainers, Node}
+import com.digitalasset.daml.lf.data.Ref.TypeConName
+import com.digitalasset.daml.lf.transaction.Node.LeafOnlyAction
+import com.digitalasset.daml.lf.transaction.Transaction.ChildrenRecursion
+import com.digitalasset.daml.lf.transaction.{GlobalKeyWithMaintainers, Node}
import com.digitalasset.canton.config.RequireTypes.NonNegativeInt
import com.digitalasset.canton.discard.Implicits.DiscardOps
import com.digitalasset.canton.ledger.api.util.LfEngineToApi
@@ -127,7 +127,7 @@ class CommandProgressTrackerImpl(
.discard
def recordTransactionImpact(
- transaction: LfSubmittedTransaction
+ transaction: com.digitalasset.daml.lf.transaction.SubmittedTransaction
): Unit = {
val creates = mutable.ListBuffer.empty[CommandUpdates.Contract]
val archives = mutable.ListBuffer.empty[CommandUpdates.Contract]
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/sync/LedgerSyncEvent.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/sync/LedgerSyncEvent.scala
index f221fa9469..843781e562 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/sync/LedgerSyncEvent.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/sync/LedgerSyncEvent.scala
@@ -4,9 +4,9 @@
package com.digitalasset.canton.participant.sync
import com.daml.error.GrpcStatuses
-import com.daml.lf.CantonOnly
-import com.daml.lf.data.{Bytes, ImmArray}
-import com.daml.lf.transaction.{BlindingInfo, CommittedTransaction}
+import com.digitalasset.daml.lf.CantonOnly
+import com.digitalasset.daml.lf.data.{Bytes, ImmArray}
+import com.digitalasset.daml.lf.transaction.{BlindingInfo, CommittedTransaction}
import com.daml.nonempty.NonEmpty
import com.digitalasset.canton.data.CantonTimestamp
import com.digitalasset.canton.ledger.participant.state.*
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/sync/SyncDomain.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/sync/SyncDomain.scala
index 4eba6a2b7d..bedb27ff01 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/sync/SyncDomain.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/sync/SyncDomain.scala
@@ -7,7 +7,7 @@ import cats.data.EitherT
import cats.syntax.functor.*
import cats.syntax.parallel.*
import cats.{Eval, Monad}
-import com.daml.lf.engine.Engine
+import com.digitalasset.daml.lf.engine.Engine
import com.daml.nameof.NameOf.functionFullName
import com.digitalasset.canton.*
import com.digitalasset.canton.concurrent.FutureSupervisor
@@ -64,10 +64,7 @@ import com.digitalasset.canton.participant.topology.client.MissingKeysAlerter
import com.digitalasset.canton.participant.traffic.ParticipantTrafficControlSubscriber
import com.digitalasset.canton.participant.util.DAMLe.PackageResolver
import com.digitalasset.canton.participant.util.{DAMLe, TimeOfChange}
-import com.digitalasset.canton.platform.apiserver.execution.{
- AuthorityResolver,
- CommandProgressTracker,
-}
+import com.digitalasset.canton.platform.apiserver.execution.AuthorityResolver
import com.digitalasset.canton.protocol.WellFormedTransaction.WithoutSuffixes
import com.digitalasset.canton.protocol.*
import com.digitalasset.canton.sequencing.*
@@ -123,7 +120,6 @@ class SyncDomain(
missingKeysAlerter: MissingKeysAlerter,
transferCoordination: TransferCoordination,
inFlightSubmissionTracker: InFlightSubmissionTracker,
- commandProgressTracker: CommandProgressTracker,
messageDispatcherFactory: MessageDispatcher.Factory[MessageDispatcher],
clock: Clock,
metrics: SyncDomainMetrics,
@@ -190,7 +186,6 @@ class SyncDomain(
sequencerClient,
inFlightSubmissionTracker,
ephemeral,
- commandProgressTracker,
metrics.transactionProcessing,
timeouts,
loggerFactory,
@@ -1008,7 +1003,6 @@ object SyncDomain {
missingKeysAlerter: MissingKeysAlerter,
transferCoordination: TransferCoordination,
inFlightSubmissionTracker: InFlightSubmissionTracker,
- commandProgressTracker: CommandProgressTracker,
clock: Clock,
syncDomainMetrics: SyncDomainMetrics,
futureSupervisor: FutureSupervisor,
@@ -1035,7 +1029,6 @@ object SyncDomain {
missingKeysAlerter: MissingKeysAlerter,
transferCoordination: TransferCoordination,
inFlightSubmissionTracker: InFlightSubmissionTracker,
- commandProgressTracker: CommandProgressTracker,
clock: Clock,
syncDomainMetrics: SyncDomainMetrics,
futureSupervisor: FutureSupervisor,
@@ -1059,7 +1052,6 @@ object SyncDomain {
missingKeysAlerter,
transferCoordination,
inFlightSubmissionTracker,
- commandProgressTracker,
MessageDispatcher.DefaultFactory,
clock,
syncDomainMetrics,
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/sync/SyncServiceError.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/sync/SyncServiceError.scala
index 5c188277bc..b0b6de11e4 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/sync/SyncServiceError.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/sync/SyncServiceError.scala
@@ -31,7 +31,7 @@ trait SyncServiceError extends Serializable with Product with CantonError
object SyncServiceInjectionError extends InjectionErrorGroup {
- import com.daml.lf.data.Ref.{ApplicationId, CommandId}
+ import com.digitalasset.daml.lf.data.Ref.{ApplicationId, CommandId}
@Explanation("This error results if a command is submitted to the passive replica.")
@Resolution("Send the command to the active replica.")
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/sync/TimestampedEvent.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/sync/TimestampedEvent.scala
index 5bfb16b11f..3f29d58314 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/sync/TimestampedEvent.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/sync/TimestampedEvent.scala
@@ -5,7 +5,7 @@ package com.digitalasset.canton.participant.sync
import cats.syntax.either.*
import cats.syntax.option.*
-import com.daml.lf.data.ImmArray
+import com.digitalasset.daml.lf.data.ImmArray
import com.digitalasset.canton.config.CantonRequireTypes.String300
import com.digitalasset.canton.data.CantonTimestamp
import com.digitalasset.canton.logging.pretty.{Pretty, PrettyPrinting}
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/sync/UpstreamOffsetConvert.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/sync/UpstreamOffsetConvert.scala
index 8e32cf431e..837ba47e90 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/sync/UpstreamOffsetConvert.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/sync/UpstreamOffsetConvert.scala
@@ -5,7 +5,7 @@ package com.digitalasset.canton.participant.sync
import cats.syntax.either.*
import com.daml.ledger.api.v2.participant_offset.ParticipantOffset
-import com.daml.lf.data.{Bytes as LfBytes, Ref}
+import com.digitalasset.daml.lf.data.{Bytes as LfBytes, Ref}
import com.digitalasset.canton.participant.{GlobalOffset, LedgerSyncOffset}
import com.digitalasset.canton.util.ShowUtil.*
import com.google.protobuf.ByteString
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/topology/ParticipantTopologyDispatcher.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/topology/ParticipantTopologyDispatcher.scala
index 2b2e907785..5cba3d46a2 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/topology/ParticipantTopologyDispatcher.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/topology/ParticipantTopologyDispatcher.scala
@@ -144,7 +144,7 @@ class ParticipantTopologyDispatcher(
domains.values.toList
.flatMap(_.forgetNE)
.collect { case outbox: StoreBasedDomainOutbox => outbox }
- .parTraverse(_.newTransactionsAdded(timestamp, num))
+ .parTraverse(_.newTransactionsAddedToAuthorizedStore(timestamp, num))
.map(_ => ())
}
})
@@ -304,7 +304,7 @@ class ParticipantTopologyDispatcher(
timestamp: CantonTimestamp,
transactions: Seq[SignedTopologyTransaction[TopologyChangeOp, TopologyMapping]],
)(implicit traceContext: TraceContext): FutureUnlessShutdown[Unit] =
- queueBasedDomainOutbox.newTransactionsAdded(
+ queueBasedDomainOutbox.newTransactionsAddedToAuthorizedStore(
timestamp,
transactions.size,
)
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/topology/ParticipantTopologyManager.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/topology/ParticipantTopologyManager.scala
index 13c1d191a3..7ce2be24ce 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/topology/ParticipantTopologyManager.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/topology/ParticipantTopologyManager.scala
@@ -5,7 +5,7 @@ package com.digitalasset.canton.participant.topology
import cats.data.EitherT
import com.daml.error.{ErrorCategory, ErrorCode, Explanation, Resolution}
-import com.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.data.Ref.PackageId
import com.digitalasset.canton.config.CantonRequireTypes.String255
import com.digitalasset.canton.error.*
import com.digitalasset.canton.lifecycle.FutureUnlessShutdown
diff --git a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/util/DAMLe.scala b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/util/DAMLe.scala
index 072a711037..d605b0437c 100644
--- a/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/util/DAMLe.scala
+++ b/sdk/canton/community/participant/src/main/scala/com/digitalasset/canton/participant/util/DAMLe.scala
@@ -5,14 +5,14 @@ package com.digitalasset.canton.participant.util
import cats.data.EitherT
import cats.syntax.either.*
-import com.daml.lf.VersionRange
-import com.daml.lf.data.Ref.{PackageId, PackageName}
-import com.daml.lf.data.{ImmArray, Ref, Time}
-import com.daml.lf.engine.*
-import com.daml.lf.interpretation.Error as LfInterpretationError
-import com.daml.lf.language.Ast.Package
-import com.daml.lf.language.{LanguageMajorVersion, LanguageVersion}
-import com.daml.lf.transaction.{ContractKeyUniquenessMode, TransactionVersion, Versioned}
+import com.digitalasset.daml.lf.VersionRange
+import com.digitalasset.daml.lf.data.Ref.{PackageId, PackageName}
+import com.digitalasset.daml.lf.data.{ImmArray, Ref, Time}
+import com.digitalasset.daml.lf.engine.*
+import com.digitalasset.daml.lf.interpretation.Error as LfInterpretationError
+import com.digitalasset.daml.lf.language.Ast.Package
+import com.digitalasset.daml.lf.language.{LanguageMajorVersion, LanguageVersion}
+import com.digitalasset.daml.lf.transaction.{ContractKeyUniquenessMode, TransactionVersion, Versioned}
import com.digitalasset.canton.data.CantonTimestamp
import com.digitalasset.canton.logging.pretty.{Pretty, PrettyPrinting}
import com.digitalasset.canton.logging.{LoggingContextUtil, NamedLoggerFactory, NamedLogging}
@@ -66,9 +66,9 @@ object DAMLe {
)
)
- /** Resolves packages by [[com.daml.lf.data.Ref.PackageId]].
+ /** Resolves packages by [[com.digitalasset.daml.lf.data.Ref.PackageId]].
* The returned packages must have been validated
- * so that [[com.daml.lf.engine.Engine]] can skip validation.
+ * so that [[com.digitalasset.daml.lf.engine.Engine]] can skip validation.
*/
type PackageResolver = PackageId => TraceContext => Future[Option[Package]]
diff --git a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/DefaultParticipantStateValues.scala b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/DefaultParticipantStateValues.scala
index 36f78e74a4..3fdb26d4a6 100644
--- a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/DefaultParticipantStateValues.scala
+++ b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/DefaultParticipantStateValues.scala
@@ -4,7 +4,7 @@
package com.digitalasset.canton.participant
import cats.syntax.option.*
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.DefaultDamlValues.*
import com.digitalasset.canton.data.{CantonTimestamp, DeduplicationPeriod}
import com.digitalasset.canton.ledger.participant.state.*
diff --git a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/admin/GrpcTrafficControlServiceTest.scala b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/admin/GrpcTrafficControlServiceTest.scala
index dd01b4190e..da1f796eb0 100644
--- a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/admin/GrpcTrafficControlServiceTest.scala
+++ b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/admin/GrpcTrafficControlServiceTest.scala
@@ -42,7 +42,6 @@ class GrpcTrafficControlServiceTest
extraTrafficPurchased = NonNegativeLong.tryCreate(5),
extraTrafficConsumed = NonNegativeLong.tryCreate(6),
baseTrafficRemainder = NonNegativeLong.tryCreate(7),
- lastConsumedCost = NonNegativeLong.tryCreate(8),
timestamp = CantonTimestamp.now(),
serial = Some(PositiveInt.one),
)
diff --git a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/admin/PackageOpsForTesting.scala b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/admin/PackageOpsForTesting.scala
index 30b6279b73..a0df0882b8 100644
--- a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/admin/PackageOpsForTesting.scala
+++ b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/admin/PackageOpsForTesting.scala
@@ -4,7 +4,7 @@
package com.digitalasset.canton.participant.admin
import cats.data.EitherT
-import com.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.data.Ref.PackageId
import com.digitalasset.canton.LfPackageId
import com.digitalasset.canton.error.CantonError
import com.digitalasset.canton.lifecycle.FutureUnlessShutdown
diff --git a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/admin/PackageOpsTest.scala b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/admin/PackageOpsTest.scala
index 29dbcfa9a5..64815d8d96 100644
--- a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/admin/PackageOpsTest.scala
+++ b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/admin/PackageOpsTest.scala
@@ -4,7 +4,7 @@
package com.digitalasset.canton.participant.admin
import cats.data.EitherT
-import com.daml.lf.transaction.test.TransactionBuilder
+import com.digitalasset.daml.lf.transaction.test.TransactionBuilder
import com.daml.nonempty.NonEmpty
import com.digitalasset.canton.config.CantonRequireTypes.String255
import com.digitalasset.canton.config.ProcessingTimeout
diff --git a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/admin/PackageServiceTest.scala b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/admin/PackageServiceTest.scala
index 895df274e9..c720838bfd 100644
--- a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/admin/PackageServiceTest.scala
+++ b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/admin/PackageServiceTest.scala
@@ -8,12 +8,12 @@ import cats.data.EitherT
import com.daml.daml_lf_dev.DamlLf
import com.daml.daml_lf_dev.DamlLf.Archive
import com.daml.error.DamlError
-import com.daml.lf.archive
-import com.daml.lf.archive.testing.Encode
-import com.daml.lf.archive.{Dar as LfDar, DarParser, DarWriter}
-import com.daml.lf.language.{Ast, LanguageMajorVersion, LanguageVersion}
-import com.daml.lf.testing.parser.Implicits.SyntaxHelper
-import com.daml.lf.testing.parser.ParserParameters
+import com.digitalasset.daml.lf.archive
+import com.digitalasset.daml.lf.archive.testing.Encode
+import com.digitalasset.daml.lf.archive.{Dar as LfDar, DarParser, DarWriter}
+import com.digitalasset.daml.lf.language.{Ast, LanguageMajorVersion, LanguageVersion}
+import com.digitalasset.daml.lf.testing.parser.Implicits.SyntaxHelper
+import com.digitalasset.daml.lf.testing.parser.ParserParameters
import com.digitalasset.canton.buildinfo.BuildInfo
import com.digitalasset.canton.concurrent.FutureSupervisor
import com.digitalasset.canton.config.CantonRequireTypes.String255
@@ -192,7 +192,7 @@ class PackageServiceTest
val dar = PackageServiceTest.loadExampleDar()
val mainPackageId = DamlPackageStore.readPackageId(dar.main)
- val dependencyIds = com.daml.lf.archive.Decode.assertDecodeArchive(dar.main)._2.directDeps
+ val dependencyIds = com.digitalasset.daml.lf.archive.Decode.assertDecodeArchive(dar.main)._2.directDeps
(for {
_ <- sut
.upload(
@@ -232,7 +232,7 @@ class PackageServiceTest
} yield {
error match {
case validation: PackageServiceErrors.Validation.ValidationError.Error =>
- validation.validationError shouldBe a[com.daml.lf.validation.ETypeMismatch]
+ validation.validationError shouldBe a[com.digitalasset.daml.lf.validation.ETypeMismatch]
case _ => fail(s"$error is not a validation error")
}
}
@@ -258,7 +258,7 @@ class PackageServiceTest
} yield {
error match {
case validation: PackageServiceErrors.Validation.ValidationError.Error =>
- validation.validationError shouldBe a[com.daml.lf.validation.ETypeMismatch]
+ validation.validationError shouldBe a[com.digitalasset.daml.lf.validation.ETypeMismatch]
case _ => fail(s"$error is not a validation error")
}
}
diff --git a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/admin/inspection/AcsInspectionTest.scala b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/admin/inspection/AcsInspectionTest.scala
index 18c1fbb5e4..69f8ff20d0 100644
--- a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/admin/inspection/AcsInspectionTest.scala
+++ b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/admin/inspection/AcsInspectionTest.scala
@@ -4,7 +4,7 @@
package com.digitalasset.canton.participant.admin.inspection
import cats.data.OptionT
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.daml.nonempty.NonEmpty
import com.digitalasset.canton.data.CantonTimestamp
import com.digitalasset.canton.participant.admin.inspection.AcsInspectionTest.{
diff --git a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/protocol/MessageDispatcherTest.scala b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/protocol/MessageDispatcherTest.scala
index 334d1a4a3f..82f202f5da 100644
--- a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/protocol/MessageDispatcherTest.scala
+++ b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/protocol/MessageDispatcherTest.scala
@@ -85,8 +85,6 @@ trait MessageDispatcherTest {
private val otherParticipant = ParticipantId.tryFromProtoPrimitive("PAR::other::participant")
private val mediatorGroup = MediatorGroupRecipient(MediatorGroupIndex.zero)
private val mediatorGroup2 = MediatorGroupRecipient(MediatorGroupIndex.one)
- private val partyId = PartyId.tryFromProtoPrimitive("party::default")
- private val otherPartyId = PartyId.tryFromProtoPrimitive("party::other")
private val encryptedRandomnessTest =
Encrypted.fromByteString[SecureRandomness](ByteString.EMPTY)
@@ -808,45 +806,6 @@ trait MessageDispatcherTest {
error.getMessage should include(show"No processor for view type $UnknownTestViewType")
}
- "ignore protocol messages for foreign domains" in {
- val sut = mk()
- val sc = SequencerCounter(1)
- val ts = CantonTimestamp.ofEpochSecond(1)
- val txForeignDomain = TopologyTransactionsBroadcast.create(
- DomainId.tryFromString("foo::bar"),
- Seq(
- Broadcast(
- String255.tryCreate("some request"),
- List(factory.ns1k1_k1),
- )
- ),
- testedProtocolVersion,
- )
- val event =
- mkDeliver(
- Batch.of(testedProtocolVersion, txForeignDomain -> Recipients.cc(participantId)),
- sc,
- ts,
- )
-
- loggerFactory.assertLoggedWarningsAndErrorsSeq(
- handle(sut, event) {
- verify(sut.topologyProcessor).apply(
- isEq(sc),
- isEq(SequencedTime(ts)),
- isEq(Traced(List.empty)),
- )
-
- checkTicks(sut, sc, ts)
- }.futureValue,
- logEntries => {
- logEntries should not be empty
- forEvery(logEntries) {
- _.warningMessage should include("Received messages with wrong domain IDs")
- }
- },
- )
- }
def request(
view: EncryptedViewMessage[ViewType],
@@ -1070,35 +1029,6 @@ trait MessageDispatcherTest {
testTopologyTimestamp,
SerializedRootHashMessagePayload.empty,
)
-
- def mkRootHashMessageRecipients(recipients: NonEmpty[Seq[Recipient]]): Recipients =
- Recipients.recipientGroups(
- recipients.map(recipient => NonEmpty(Set, recipient, mediatorGroup))
- )
-
- val goodBatches = List(
- Batch.of[ProtocolMessage](
- testedProtocolVersion,
- view -> Recipients.cc(participantId),
- rootHashMessage -> Recipients.cc(MemberRecipient(participantId), mediatorGroup),
- commitment -> Recipients.cc(participantId),
- ) -> Seq(),
- Batch.of[ProtocolMessage](
- testedProtocolVersion,
- view -> Recipients.cc(participantId),
- rootHashMessage -> Recipients.cc(ParticipantsOfParty(partyId), mediatorGroup),
- commitment -> Recipients.cc(participantId),
- ) -> Seq(),
- Batch.of[ProtocolMessage](
- testedProtocolVersion,
- view -> Recipients.cc(participantId),
- rootHashMessage -> mkRootHashMessageRecipients(
- NonEmpty(Seq, ParticipantsOfParty(partyId), ParticipantsOfParty(otherPartyId))
- ),
- commitment -> Recipients.cc(participantId),
- ) -> Seq(),
- )
-
val badBatches = List(
Batch.of[ProtocolMessage](
testedProtocolVersion,
@@ -1109,18 +1039,10 @@ trait MessageDispatcherTest {
Batch.of[ProtocolMessage](
testedProtocolVersion,
view -> Recipients.cc(participantId),
- rootHashMessage -> mkRootHashMessageRecipients(
- NonEmpty(
- Seq,
- MemberRecipient(participantId),
- ParticipantsOfParty(partyId),
- ParticipantsOfParty(otherPartyId),
- )
- ),
+ rootHashMessage -> Recipients.cc(MemberRecipient(participantId), mediatorGroup),
commitment -> Recipients.cc(participantId),
- ) -> Seq(
- "The root hash message has more than one recipient group, not all using group addressing."
- ),
+ // We used to include a DomainTopologyTransactionMessage which no longer exist in 3.x
+ ) -> Seq(),
Batch.of[ProtocolMessage](
testedProtocolVersion,
view -> Recipients.cc(participantId),
@@ -1141,15 +1063,13 @@ trait MessageDispatcherTest {
rootHashMessage -> Recipients
.cc(MemberRecipient(participantId), MemberRecipient(otherParticipant), mediatorGroup2),
) -> Seq(
- "The root hash message has invalid recipient groups."
+ "The root hash message has an invalid recipient group."
),
)
- val batchesToTest = goodBatches ++ badBatches
-
// sequentially process the test cases so that the log messages don't interfere
MonadUtil
- .sequentialTraverse_(batchesToTest.zipWithIndex) { case ((batch, alarms), index) =>
+ .sequentialTraverse_(badBatches.zipWithIndex) { case ((batch, alarms), index) =>
val initRc = RequestCounter(index)
val sut = mk(initRc = initRc)
val sc = SequencerCounter(index)
diff --git a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/protocol/SerializableContractAuthenticatorImplTest.scala b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/protocol/SerializableContractAuthenticatorImplTest.scala
index bf2a7b5423..760b1b2ba0 100644
--- a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/protocol/SerializableContractAuthenticatorImplTest.scala
+++ b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/protocol/SerializableContractAuthenticatorImplTest.scala
@@ -3,8 +3,8 @@
package com.digitalasset.canton.participant.protocol
-import com.daml.lf.transaction.Versioned
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.transaction.Versioned
+import com.digitalasset.daml.lf.value.Value
import com.digitalasset.canton.crypto.provider.symbolic.SymbolicPureCrypto
import com.digitalasset.canton.crypto.{Salt, TestSalt}
import com.digitalasset.canton.data.{CantonTimestamp, ViewPosition}
diff --git a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/protocol/TopologyTransactionsToEventsTest.scala b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/protocol/TopologyTransactionsToEventsTest.scala
index 8f002f0c34..4999894d3c 100644
--- a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/protocol/TopologyTransactionsToEventsTest.scala
+++ b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/protocol/TopologyTransactionsToEventsTest.scala
@@ -30,7 +30,7 @@ class TopologyTransactionsToEventsTest
participants: List[ParticipantId],
): SignedTopologyTransaction[Replace, PartyToParticipant] = {
- val mapping = PartyToParticipant.tryCreate(
+ val mapping = PartyToParticipant(
partyId,
None,
PositiveInt.one,
diff --git a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/protocol/TransactionProcessingStepsTest.scala b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/protocol/TransactionProcessingStepsTest.scala
index 24c47b8338..d4256a3818 100644
--- a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/protocol/TransactionProcessingStepsTest.scala
+++ b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/protocol/TransactionProcessingStepsTest.scala
@@ -13,7 +13,6 @@ import com.digitalasset.canton.participant.protocol.TransactionProcessor.Transac
import com.digitalasset.canton.participant.protocol.submission.TransactionConfirmationRequestFactory
import com.digitalasset.canton.participant.protocol.validation.*
import com.digitalasset.canton.participant.store.ContractStore
-import com.digitalasset.canton.platform.apiserver.execution.CommandProgressTracker
import com.digitalasset.canton.protocol.{ContractMetadata, LfContractId, SerializableContract}
import com.digitalasset.canton.topology.{DomainId, ParticipantId, UniqueIdentifier}
import org.scalatest.Assertion
@@ -52,7 +51,6 @@ class TransactionProcessingStepsTest extends AsyncWordSpec with BaseTest {
defaultStaticDomainParameters.protocolVersion,
loggerFactory,
),
- CommandProgressTracker.NoOp,
loggerFactory = loggerFactory,
FutureSupervisor.Noop,
)
diff --git a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/protocol/submission/CommandDeduplicatorTest.scala b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/protocol/submission/CommandDeduplicatorTest.scala
index d64e5b9270..20c7d24287 100644
--- a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/protocol/submission/CommandDeduplicatorTest.scala
+++ b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/protocol/submission/CommandDeduplicatorTest.scala
@@ -5,7 +5,7 @@ package com.digitalasset.canton.participant.protocol.submission
import cats.Eval
import cats.syntax.option.*
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.data.{CantonTimestamp, DeduplicationPeriod}
import com.digitalasset.canton.participant.protocol.ProcessingSteps
import com.digitalasset.canton.participant.protocol.submission.CommandDeduplicator.{
diff --git a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/protocol/submission/DomainSelectionFixture.scala b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/protocol/submission/DomainSelectionFixture.scala
index 5701d49c99..58df56794a 100644
--- a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/protocol/submission/DomainSelectionFixture.scala
+++ b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/protocol/submission/DomainSelectionFixture.scala
@@ -3,15 +3,15 @@
package com.digitalasset.canton.participant.protocol.submission
-import com.daml.lf.data.Ref.QualifiedName
-import com.daml.lf.data.{ImmArray, Ref}
-import com.daml.lf.language.LanguageVersion
-import com.daml.lf.transaction.test.TestNodeBuilder.{CreateKey, CreateTransactionVersion}
-import com.daml.lf.transaction.test.TransactionBuilder.Implicits.*
-import com.daml.lf.transaction.test.TreeTransactionBuilder.*
-import com.daml.lf.transaction.test.{TestIdFactory, TestNodeBuilder, TreeTransactionBuilder}
-import com.daml.lf.transaction.{Node, TransactionVersion}
-import com.daml.lf.value.Value.ValueRecord
+import com.digitalasset.daml.lf.data.Ref.QualifiedName
+import com.digitalasset.daml.lf.data.{ImmArray, Ref}
+import com.digitalasset.daml.lf.language.LanguageVersion
+import com.digitalasset.daml.lf.transaction.test.TestNodeBuilder.{CreateKey, CreateTransactionVersion}
+import com.digitalasset.daml.lf.transaction.test.TransactionBuilder.Implicits.*
+import com.digitalasset.daml.lf.transaction.test.TreeTransactionBuilder.*
+import com.digitalasset.daml.lf.transaction.test.{TestIdFactory, TestNodeBuilder, TreeTransactionBuilder}
+import com.digitalasset.daml.lf.transaction.{Node, TransactionVersion}
+import com.digitalasset.daml.lf.value.Value.ValueRecord
import com.digitalasset.canton.protocol.{LfContractId, LfVersionedTransaction}
import com.digitalasset.canton.topology.*
import com.digitalasset.canton.topology.client.TopologySnapshot
diff --git a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/protocol/submission/DomainsFilterTest.scala b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/protocol/submission/DomainsFilterTest.scala
index c8f790a783..bc7a3baeaf 100644
--- a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/protocol/submission/DomainsFilterTest.scala
+++ b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/protocol/submission/DomainsFilterTest.scala
@@ -3,8 +3,8 @@
package com.digitalasset.canton.participant.protocol.submission
-import com.daml.lf.transaction.TransactionVersion
-import com.daml.lf.transaction.test.TransactionBuilder.Implicits.*
+import com.digitalasset.daml.lf.transaction.TransactionVersion
+import com.digitalasset.daml.lf.transaction.test.TransactionBuilder.Implicits.*
import com.digitalasset.canton.logging.NamedLoggerFactory
import com.digitalasset.canton.participant.protocol.submission.DomainSelectionFixture.Transactions.ExerciseByInterface
import com.digitalasset.canton.participant.protocol.submission.DomainSelectionFixture.*
diff --git a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/protocol/submission/TransactionTreeFactoryImplTest.scala b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/protocol/submission/TransactionTreeFactoryImplTest.scala
index f1547b4b6f..2a136400c7 100644
--- a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/protocol/submission/TransactionTreeFactoryImplTest.scala
+++ b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/protocol/submission/TransactionTreeFactoryImplTest.scala
@@ -4,7 +4,7 @@
package com.digitalasset.canton.participant.protocol.submission
import cats.data.EitherT
-import com.daml.lf.data.Ref.{IdString, PackageId}
+import com.digitalasset.daml.lf.data.Ref.{IdString, PackageId}
import com.digitalasset.canton.*
import com.digitalasset.canton.data.GenTransactionTree
import com.digitalasset.canton.lifecycle.FutureUnlessShutdown
diff --git a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/protocol/submission/routing/DomainSelectorTest.scala b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/protocol/submission/routing/DomainSelectorTest.scala
index 488cdca058..653c33bfac 100644
--- a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/protocol/submission/routing/DomainSelectorTest.scala
+++ b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/protocol/submission/routing/DomainSelectorTest.scala
@@ -4,9 +4,9 @@
package com.digitalasset.canton.participant.protocol.submission.routing
import cats.data.EitherT
-import com.daml.lf.data.Ref
-import com.daml.lf.transaction.TransactionVersion
-import com.daml.lf.transaction.test.TransactionBuilder.Implicits.*
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.transaction.TransactionVersion
+import com.digitalasset.daml.lf.transaction.test.TransactionBuilder.Implicits.*
import com.daml.nonempty.NonEmpty
import com.digitalasset.canton.logging.{NamedLoggerFactory, SuppressingLogger}
import com.digitalasset.canton.participant.protocol.submission.DomainSelectionFixture.Transactions.{
diff --git a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/protocol/validation/ModelConformanceCheckerTest.scala b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/protocol/validation/ModelConformanceCheckerTest.scala
index d9d71c964d..1211ed273d 100644
--- a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/protocol/validation/ModelConformanceCheckerTest.scala
+++ b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/protocol/validation/ModelConformanceCheckerTest.scala
@@ -5,11 +5,11 @@ package com.digitalasset.canton.participant.protocol.validation
import cats.data.EitherT
import cats.syntax.parallel.*
-import com.daml.lf.data.ImmArray
-import com.daml.lf.data.Ref.{PackageId, PackageName}
-import com.daml.lf.engine.Error as LfError
-import com.daml.lf.language.Ast.{Expr, GenPackage, PackageMetadata}
-import com.daml.lf.language.LanguageVersion
+import com.digitalasset.daml.lf.data.ImmArray
+import com.digitalasset.daml.lf.data.Ref.{PackageId, PackageName}
+import com.digitalasset.daml.lf.engine.Error as LfError
+import com.digitalasset.daml.lf.language.Ast.{Expr, GenPackage, PackageMetadata}
+import com.digitalasset.daml.lf.language.LanguageVersion
import com.daml.nonempty.{NonEmpty, NonEmptyUtil}
import com.digitalasset.canton.data.*
import com.digitalasset.canton.lifecycle.FutureUnlessShutdown
diff --git a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/pruning/AcsCommitmentProcessorTest.scala b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/pruning/AcsCommitmentProcessorTest.scala
index b49e69c65c..dbdcbd31b9 100644
--- a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/pruning/AcsCommitmentProcessorTest.scala
+++ b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/pruning/AcsCommitmentProcessorTest.scala
@@ -6,7 +6,7 @@ package com.digitalasset.canton.participant.pruning
import cats.syntax.functor.*
import cats.syntax.option.*
import cats.syntax.parallel.*
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.daml.nonempty.NonEmpty
import com.digitalasset.canton.*
import com.digitalasset.canton.config.RequireTypes.{NonNegativeInt, PositiveInt, PositiveNumeric}
diff --git a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/store/ActiveContractStoreTest.scala b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/store/ActiveContractStoreTest.scala
index 75ef8448e5..2d9b3e035f 100644
--- a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/store/ActiveContractStoreTest.scala
+++ b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/store/ActiveContractStoreTest.scala
@@ -5,8 +5,8 @@ package com.digitalasset.canton.participant.store
import cats.data.Chain
import cats.syntax.parallel.*
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.QualifiedName
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.QualifiedName
import com.digitalasset.canton.config.CantonRequireTypes.String300
import com.digitalasset.canton.data.CantonTimestamp
import com.digitalasset.canton.lifecycle.CloseContext
diff --git a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/store/ContractStoreTest.scala b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/store/ContractStoreTest.scala
index a014dca49a..79617997b3 100644
--- a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/store/ContractStoreTest.scala
+++ b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/store/ContractStoreTest.scala
@@ -4,8 +4,8 @@
package com.digitalasset.canton.participant.store
import cats.syntax.parallel.*
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.QualifiedName
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.QualifiedName
import com.digitalasset.canton.data.CantonTimestamp
import com.digitalasset.canton.protocol.ExampleTransactionFactory.{
asSerializable,
diff --git a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/store/ExtendedContractLookupTest.scala b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/store/ExtendedContractLookupTest.scala
index 65b060627c..ccce90fdaa 100644
--- a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/store/ExtendedContractLookupTest.scala
+++ b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/store/ExtendedContractLookupTest.scala
@@ -4,7 +4,7 @@
package com.digitalasset.canton.participant.store
import cats.syntax.parallel.*
-import com.daml.lf.value.Value.{ValueText, ValueUnit}
+import com.digitalasset.daml.lf.value.Value.{ValueText, ValueUnit}
import com.digitalasset.canton.data.CantonTimestamp
import com.digitalasset.canton.participant.protocol.SerializableContractAuthenticator
import com.digitalasset.canton.participant.store.memory.InMemoryContractStore
diff --git a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/store/HookedAcs.scala b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/store/HookedAcs.scala
index 498c76b191..ea9474ac00 100644
--- a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/store/HookedAcs.scala
+++ b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/store/HookedAcs.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.participant.store
-import com.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.data.Ref.PackageId
import com.digitalasset.canton.data.CantonTimestamp
import com.digitalasset.canton.participant.store.ActiveContractSnapshot.ActiveContractIdsChange
import com.digitalasset.canton.participant.store.ActiveContractStore.{
diff --git a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/store/SingleDimensionEventLogTest.scala b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/store/SingleDimensionEventLogTest.scala
index ba1306e5b3..cfeba82a13 100644
--- a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/store/SingleDimensionEventLogTest.scala
+++ b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/store/SingleDimensionEventLogTest.scala
@@ -4,7 +4,7 @@
package com.digitalasset.canton.participant.store
import cats.syntax.option.*
-import com.daml.lf.data.{ImmArray, Ref, Time}
+import com.digitalasset.daml.lf.data.{ImmArray, Ref, Time}
import com.daml.nonempty.NonEmpty
import com.digitalasset.canton.config.RequireTypes.NegativeLong
import com.digitalasset.canton.data.CantonTimestamp
diff --git a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/store/ThrowingAcs.scala b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/store/ThrowingAcs.scala
index c27b8cbb66..7fe91b4e0f 100644
--- a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/store/ThrowingAcs.scala
+++ b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/store/ThrowingAcs.scala
@@ -3,7 +3,7 @@
package com.digitalasset.canton.participant.store
-import com.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.data.Ref.PackageId
import com.digitalasset.canton.data.CantonTimestamp
import com.digitalasset.canton.participant.store.ActiveContractSnapshot.ActiveContractIdsChange
import com.digitalasset.canton.participant.store.ActiveContractStore.{
diff --git a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/sync/CantonSyncServiceTest.scala b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/sync/CantonSyncServiceTest.scala
index 500a1a3246..2a179a519b 100644
--- a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/sync/CantonSyncServiceTest.scala
+++ b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/sync/CantonSyncServiceTest.scala
@@ -6,10 +6,10 @@ package com.digitalasset.canton.participant.sync
import cats.data.EitherT
import cats.implicits.*
import cats.{Eval, Id}
-import com.daml.lf.data.{ImmArray, Ref}
-import com.daml.lf.transaction.test.{TestNodeBuilder, TransactionBuilder, TreeTransactionBuilder}
-import com.daml.lf.transaction.{CommittedTransaction, VersionedTransaction}
-import com.daml.lf.value.Value.ValueRecord
+import com.digitalasset.daml.lf.data.{ImmArray, Ref}
+import com.digitalasset.daml.lf.transaction.test.{TestNodeBuilder, TransactionBuilder, TreeTransactionBuilder}
+import com.digitalasset.daml.lf.transaction.{CommittedTransaction, VersionedTransaction}
+import com.digitalasset.daml.lf.value.Value.ValueRecord
import com.digitalasset.canton.common.domain.grpc.SequencerInfoLoader
import com.digitalasset.canton.concurrent.FutureSupervisor
import com.digitalasset.canton.config.CantonRequireTypes.String255
diff --git a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/topology/LedgerServerPartyNotifierTest.scala b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/topology/LedgerServerPartyNotifierTest.scala
index c40ac87264..0ba67776fb 100644
--- a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/topology/LedgerServerPartyNotifierTest.scala
+++ b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/topology/LedgerServerPartyNotifierTest.scala
@@ -84,7 +84,7 @@ final class LedgerServerPartyNotifierTest extends AsyncWordSpec with BaseTest {
participantId: ParticipantId,
): Future[Unit] =
simulateTransaction(
- PartyToParticipant.tryCreate(
+ PartyToParticipant(
partyId,
None,
PositiveInt.one,
@@ -139,7 +139,7 @@ final class LedgerServerPartyNotifierTest extends AsyncWordSpec with BaseTest {
"add admin parties" in Fixture { fixture =>
for {
_ <- fixture.simulateTransaction(
- PartyToParticipant.tryCreate(
+ PartyToParticipant(
participant1.adminParty,
Some(domainId),
PositiveInt.one,
diff --git a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/topology/QueueBasedDomainOutboxTest.scala b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/topology/QueueBasedDomainOutboxTest.scala
index a8116389ee..9b5208d83d 100644
--- a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/topology/QueueBasedDomainOutboxTest.scala
+++ b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/topology/QueueBasedDomainOutboxTest.scala
@@ -278,7 +278,7 @@ class QueueBasedDomainOutboxTest
transactions: Seq[GenericSignedTopologyTransaction],
)(implicit traceContext: TraceContext): FutureUnlessShutdown[Unit] = {
val num = transactions.size
- outbox.newTransactionsAdded(timestamp, num)
+ outbox.newTransactionsAddedToAuthorizedStore(timestamp, num)
}
})
),
diff --git a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/topology/StoreBasedDomainOutboxTest.scala b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/topology/StoreBasedDomainOutboxTest.scala
index f3c73584cd..5eb713a2e8 100644
--- a/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/topology/StoreBasedDomainOutboxTest.scala
+++ b/sdk/canton/community/participant/src/test/scala/com/digitalasset/canton/participant/topology/StoreBasedDomainOutboxTest.scala
@@ -250,7 +250,7 @@ class StoreBasedDomainOutboxTest
transactions: Seq[GenericSignedTopologyTransaction],
)(implicit traceContext: TraceContext): FutureUnlessShutdown[Unit] = {
val num = transactions.size
- outbox.newTransactionsAdded(timestamp, num)
+ outbox.newTransactionsAddedToAuthorizedStore(timestamp, num)
}
})
),
diff --git a/sdk/canton/community/testing/src/main/scala/com/digitalasset/canton/topology/TestingIdentityFactory.scala b/sdk/canton/community/testing/src/main/scala/com/digitalasset/canton/topology/TestingIdentityFactory.scala
index 727deb3dca..d7b50e9ece 100644
--- a/sdk/canton/community/testing/src/main/scala/com/digitalasset/canton/topology/TestingIdentityFactory.scala
+++ b/sdk/canton/community/testing/src/main/scala/com/digitalasset/canton/topology/TestingIdentityFactory.scala
@@ -522,16 +522,15 @@ class TestingIdentityFactory(
val partyId = PartyId.tryFromLfParty(lfParty)
val participantsForParty = participants.iterator.filter(_._1.uid != partyId.uid)
mkAdd(
- PartyToParticipant
- .tryCreate(
- partyId,
- None,
- threshold = PositiveInt.one,
- participantsForParty.map { case (id, permission) =>
- HostingParticipant(id, permission)
- }.toSeq,
- groupAddressing = false,
- )
+ PartyToParticipant(
+ partyId,
+ None,
+ threshold = PositiveInt.one,
+ participantsForParty.map { case (id, permission) =>
+ HostingParticipant(id, permission)
+ }.toSeq,
+ groupAddressing = false,
+ )
)
}
@@ -722,7 +721,7 @@ class TestingOwnerWithKeys(
)
val p1p1 = mkAdd(
- PartyToParticipant.tryCreate(
+ PartyToParticipant(
PartyId(UniqueIdentifier.tryCreate("one", key1.id)),
None,
PositiveInt.one,
diff --git a/sdk/canton/community/util-logging/src/main/scala/com/digitalasset/canton/telemetry/OpenTelemetryFactory.scala b/sdk/canton/community/util-logging/src/main/scala/com/digitalasset/canton/telemetry/OpenTelemetryFactory.scala
index 544ea800d0..41efb6e88a 100644
--- a/sdk/canton/community/util-logging/src/main/scala/com/digitalasset/canton/telemetry/OpenTelemetryFactory.scala
+++ b/sdk/canton/community/util-logging/src/main/scala/com/digitalasset/canton/telemetry/OpenTelemetryFactory.scala
@@ -15,10 +15,7 @@ import io.opentelemetry.context.propagation.ContextPropagators
import io.opentelemetry.exporter.otlp.trace.OtlpGrpcSpanExporter
import io.opentelemetry.exporter.zipkin.ZipkinSpanExporter
import io.opentelemetry.sdk.OpenTelemetrySdk
-import io.opentelemetry.sdk.metrics.`export`.MetricReader
-import io.opentelemetry.sdk.metrics.internal.SdkMeterProviderUtil
-import io.opentelemetry.sdk.metrics.internal.`export`.CardinalityLimitSelector
-import io.opentelemetry.sdk.metrics.{InstrumentType, SdkMeterProvider, SdkMeterProviderBuilder}
+import io.opentelemetry.sdk.metrics.{SdkMeterProvider, SdkMeterProviderBuilder}
import io.opentelemetry.sdk.trace.`export`.{
BatchSpanProcessor,
BatchSpanProcessorBuilder,
@@ -33,23 +30,6 @@ import scala.util.chaining.scalaUtilChainingOps
object OpenTelemetryFactory {
- def registerMetricsReaderWithCardinality(
- builder: SdkMeterProviderBuilder,
- reader: MetricReader,
- cardinality: Int,
- ): SdkMeterProviderBuilder = {
- val cardinalityLimit = new CardinalityLimitSelector {
- override def getCardinalityLimit(instrumentType: InstrumentType): Int = cardinality
- }
- SdkMeterProviderUtil
- .registerMetricReaderWithCardinalitySelector(
- builder,
- reader,
- cardinalityLimit,
- )
- builder
- }
-
def initializeOpenTelemetry(
initializeGlobalOpenTelemetry: Boolean,
testingSupportAdhocMetrics: Boolean,
@@ -59,7 +39,6 @@ object OpenTelemetryFactory {
histogramInventory: HistogramInventory,
histogramFilter: MetricsInfoFilter,
histogramConfigs: Seq[HistogramDefinition],
- cardinality: Int,
loggerFactory: NamedLoggerFactory,
): ConfiguredOpenTelemetry = {
val logger: TracedLogger = loggerFactory.getTracedLogger(getClass)
@@ -95,10 +74,7 @@ object OpenTelemetryFactory {
.setSampler(sampler)
def setMetricsReader: SdkMeterProviderBuilder => SdkMeterProviderBuilder = builder =>
- if (metricsEnabled)
- registerMetricsReaderWithCardinality(builder, onDemandMetricReader, cardinality).pipe(
- attachReporters
- )
+ if (metricsEnabled) builder.registerMetricReader(onDemandMetricReader).pipe(attachReporters)
else builder
val meterProviderBuilder =
diff --git a/sdk/canton/community/util-logging/src/main/scala/com/digitalasset/canton/tracing/TraceContext.scala b/sdk/canton/community/util-logging/src/main/scala/com/digitalasset/canton/tracing/TraceContext.scala
index f0d2bd684c..06f4c8810a 100644
--- a/sdk/canton/community/util-logging/src/main/scala/com/digitalasset/canton/tracing/TraceContext.scala
+++ b/sdk/canton/community/util-logging/src/main/scala/com/digitalasset/canton/tracing/TraceContext.scala
@@ -4,7 +4,7 @@
package com.digitalasset.canton.tracing
import cats.Show.Shown
-import com.daml.lf.data.NoCopy
+import com.digitalasset.daml.lf.data.NoCopy
import com.daml.nonempty.NonEmpty
import com.daml.tracing as damlTelemetry
import com.digitalasset.canton.logging.{ErrorLoggingContext, TracedLogger}
diff --git a/sdk/canton/ref b/sdk/canton/ref
index 63272b67f4..b406bfebc8 100644
--- a/sdk/canton/ref
+++ b/sdk/canton/ref
@@ -1 +1 @@
-20240624.13529.vdf9677d5
+20240619.13499.vba6e9375
diff --git a/sdk/compiler/scenario-service/protos/scenario_service.proto b/sdk/compiler/scenario-service/protos/scenario_service.proto
index d4dbebb017..41247288c6 100644
--- a/sdk/compiler/scenario-service/protos/scenario_service.proto
+++ b/sdk/compiler/scenario-service/protos/scenario_service.proto
@@ -4,7 +4,7 @@
syntax = "proto3";
option java_multiple_files = true;
-option java_package = "com.daml.lf.scenario.api.v1";
+option java_package = "com.digitalasset.daml.lf.scenario.api.v1";
option java_outer_classname = "ScenarioServiceProto";
package scenarioservice;
diff --git a/sdk/compiler/scenario-service/server/BUILD.bazel b/sdk/compiler/scenario-service/server/BUILD.bazel
index 1297ed4c5f..b59972f9b8 100644
--- a/sdk/compiler/scenario-service/server/BUILD.bazel
+++ b/sdk/compiler/scenario-service/server/BUILD.bazel
@@ -14,7 +14,7 @@ genrule(
da_scala_binary(
name = "scenario-service-raw",
srcs = glob(["src/main/scala/**/*.scala"]),
- main_class = "com.daml.lf.scenario.ScenarioServiceMain",
+ main_class = "com.digitalasset.daml.lf.scenario.ScenarioServiceMain",
resources = glob(["src/main/resources/*"]),
scala_deps = [
"@maven//:com_github_scopt_scopt",
diff --git a/sdk/compiler/scenario-service/server/src/main/scala/com/daml/lf/scenario/Context.scala b/sdk/compiler/scenario-service/server/src/main/scala/com/digitalasset/daml/lf/scenario/Context.scala
similarity index 92%
rename from sdk/compiler/scenario-service/server/src/main/scala/com/daml/lf/scenario/Context.scala
rename to sdk/compiler/scenario-service/server/src/main/scala/com/digitalasset/daml/lf/scenario/Context.scala
index 1a05710987..60c0e1ac5a 100644
--- a/sdk/compiler/scenario-service/server/src/main/scala/com/daml/lf/scenario/Context.scala
+++ b/sdk/compiler/scenario-service/server/src/main/scala/com/digitalasset/daml/lf/scenario/Context.scala
@@ -1,14 +1,14 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package scenario
import java.util.concurrent.atomic.AtomicLong
import org.apache.pekko.stream.Materializer
import com.daml.grpc.adapter.ExecutionSequencerFactory
-import com.daml.lf.data.{ImmArray, assertRight}
-import com.daml.lf.data.Ref.{
+import com.digitalasset.daml.lf.data.{ImmArray, assertRight}
+import com.digitalasset.daml.lf.data.Ref.{
Identifier,
ModuleName,
PackageId,
@@ -16,16 +16,16 @@ import com.daml.lf.data.Ref.{
PackageVersion,
QualifiedName,
}
-import com.daml.lf.engine.script.ScriptTimeMode
-import com.daml.lf.engine.script.ledgerinteraction.IdeLedgerClient
-import com.daml.lf.language.{Ast, LanguageVersion, Util => AstUtil}
-import com.daml.lf.scenario.api.v1.{ScenarioModule => ProtoScenarioModule}
-import com.daml.lf.speedy.{Compiler, SDefinition, Speedy}
-import com.daml.lf.speedy.SExpr.{LfDefRef, SDefinitionRef}
-import com.daml.lf.validation.Validation
+import com.digitalasset.daml.lf.engine.script.ScriptTimeMode
+import com.digitalasset.daml.lf.engine.script.ledgerinteraction.IdeLedgerClient
+import com.digitalasset.daml.lf.language.{Ast, LanguageVersion, Util => AstUtil}
+import com.digitalasset.daml.lf.scenario.api.v1.{ScenarioModule => ProtoScenarioModule}
+import com.digitalasset.daml.lf.speedy.{Compiler, SDefinition, Speedy}
+import com.digitalasset.daml.lf.speedy.SExpr.{LfDefRef, SDefinitionRef}
+import com.digitalasset.daml.lf.validation.Validation
import com.daml.script.converter
import com.google.protobuf.ByteString
-import com.daml.lf.engine.script.{Runner, Script}
+import com.digitalasset.daml.lf.engine.script.{Runner, Script}
import com.daml.logging.LoggingContext
import org.slf4j.LoggerFactory
@@ -275,7 +275,7 @@ class Context(
}
case Failure(e: converter.ConverterException) =>
handleFailure(Error.Internal("Unexpected conversion exception: " + e.getMessage))
- case Failure(e: com.daml.lf.engine.free.ConversionError) =>
+ case Failure(e: com.digitalasset.daml.lf.engine.free.ConversionError) =>
handleFailure(Error.Internal("Unexpected conversion exception: " + e.getMessage))
case Failure(e) =>
// something bad happened, we log and fail
diff --git a/sdk/compiler/scenario-service/server/src/main/scala/com/daml/lf/scenario/Conversions.scala b/sdk/compiler/scenario-service/server/src/main/scala/com/digitalasset/daml/lf/scenario/Conversions.scala
similarity index 98%
rename from sdk/compiler/scenario-service/server/src/main/scala/com/daml/lf/scenario/Conversions.scala
rename to sdk/compiler/scenario-service/server/src/main/scala/com/digitalasset/daml/lf/scenario/Conversions.scala
index 0d284f169d..789269ff38 100644
--- a/sdk/compiler/scenario-service/server/src/main/scala/com/daml/lf/scenario/Conversions.scala
+++ b/sdk/compiler/scenario-service/server/src/main/scala/com/digitalasset/daml/lf/scenario/Conversions.scala
@@ -1,23 +1,23 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package scenario
-import com.daml.lf.data.{ImmArray, Numeric, Ref}
-import com.daml.lf.language.Ast.PackageMetadata
-import com.daml.lf.ledger.EventId
-import com.daml.lf.scenario.api.{v1 => proto}
-import com.daml.lf.speedy.{SError, SValue, TraceLog, Warning, WarningLog}
-import com.daml.lf.transaction.{
+import com.digitalasset.daml.lf.data.{ImmArray, Numeric, Ref}
+import com.digitalasset.daml.lf.language.Ast.PackageMetadata
+import com.digitalasset.daml.lf.ledger.EventId
+import com.digitalasset.daml.lf.scenario.api.{v1 => proto}
+import com.digitalasset.daml.lf.speedy.{SError, SValue, TraceLog, Warning, WarningLog}
+import com.digitalasset.daml.lf.transaction.{
GlobalKey,
GlobalKeyWithMaintainers,
IncompleteTransaction,
Node,
NodeId,
}
-import com.daml.lf.ledger._
-import com.daml.lf.value.{Value => V}
+import com.digitalasset.daml.lf.ledger._
+import com.digitalasset.daml.lf.value.{Value => V}
import scala.jdk.CollectionConverters._
diff --git a/sdk/compiler/scenario-service/server/src/main/scala/com/daml/lf/scenario/ScenarioServiceMain.scala b/sdk/compiler/scenario-service/server/src/main/scala/com/digitalasset/daml/lf/scenario/ScenarioServiceMain.scala
similarity index 97%
rename from sdk/compiler/scenario-service/server/src/main/scala/com/daml/lf/scenario/ScenarioServiceMain.scala
rename to sdk/compiler/scenario-service/server/src/main/scala/com/digitalasset/daml/lf/scenario/ScenarioServiceMain.scala
index 2dc7726d8c..091dcc7dee 100644
--- a/sdk/compiler/scenario-service/server/src/main/scala/com/daml/lf/scenario/ScenarioServiceMain.scala
+++ b/sdk/compiler/scenario-service/server/src/main/scala/com/digitalasset/daml/lf/scenario/ScenarioServiceMain.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.scenario
+package com.digitalasset.daml.lf.scenario
import org.apache.pekko.actor.ActorSystem
import com.daml.grpc.adapter.{PekkoExecutionSequencerPool, ExecutionSequencerFactory}
@@ -12,12 +12,12 @@ import java.util.logging.{Level, Logger}
import scalaz.std.option._
import scalaz.std.scalaFuture._
import scalaz.syntax.traverse._
-import com.daml.lf.archive
-import com.daml.lf.data.ImmArray
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.ModuleName
-import com.daml.lf.language.LanguageVersion
-import com.daml.lf.scenario.api.v1.{Map => _, _}
+import com.digitalasset.daml.lf.archive
+import com.digitalasset.daml.lf.data.ImmArray
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.ModuleName
+import com.digitalasset.daml.lf.language.LanguageVersion
+import com.digitalasset.daml.lf.scenario.api.v1.{Map => _, _}
import com.daml.logging.LoggingContext
import io.grpc.stub.StreamObserver
import io.grpc.{Status, StatusRuntimeException}
diff --git a/sdk/daml-assistant/daml-sdk/src/main/scala/com/daml/sdk/SdkMain.scala b/sdk/daml-assistant/daml-sdk/src/main/scala/com/daml/sdk/SdkMain.scala
index 00cfc859ac..3c0b776ad8 100644
--- a/sdk/daml-assistant/daml-sdk/src/main/scala/com/daml/sdk/SdkMain.scala
+++ b/sdk/daml-assistant/daml-sdk/src/main/scala/com/daml/sdk/SdkMain.scala
@@ -4,7 +4,7 @@
package com.daml.sdk
import com.daml.codegen.{CodegenMain => Codegen}
-import com.daml.lf.engine.script.{ScriptMain => Script}
+import com.digitalasset.daml.lf.engine.script.{ScriptMain => Script}
object SdkMain {
def main(args: Array[String]): Unit = {
diff --git a/sdk/daml-lf/api-type-signature/src/main/scala/com/daml/lf/typesig/DefDataType.scala b/sdk/daml-lf/api-type-signature/src/main/scala/com/digitalasset/daml/lf/typesig/DefDataType.scala
similarity index 99%
rename from sdk/daml-lf/api-type-signature/src/main/scala/com/daml/lf/typesig/DefDataType.scala
rename to sdk/daml-lf/api-type-signature/src/main/scala/com/digitalasset/daml/lf/typesig/DefDataType.scala
index c49feeb73e..48d403b031 100644
--- a/sdk/daml-lf/api-type-signature/src/main/scala/com/daml/lf/typesig/DefDataType.scala
+++ b/sdk/daml-lf/api-type-signature/src/main/scala/com/digitalasset/daml/lf/typesig/DefDataType.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.typesig
+package com.digitalasset.daml.lf.typesig
import scalaz.std.map._
import scalaz.std.option._
@@ -26,8 +26,8 @@ import scalaz.{
import scalaz.Tags.FirstVal
import java.{util => j}
-import com.daml.lf.data.ImmArray.ImmArraySeq
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.ImmArray.ImmArraySeq
+import com.digitalasset.daml.lf.data.Ref
import com.daml.nonempty.NonEmpty
import scala.jdk.CollectionConverters._
diff --git a/sdk/daml-lf/api-type-signature/src/main/scala/com/daml/lf/typesig/EnvironmentSignature.scala b/sdk/daml-lf/api-type-signature/src/main/scala/com/digitalasset/daml/lf/typesig/EnvironmentSignature.scala
similarity index 97%
rename from sdk/daml-lf/api-type-signature/src/main/scala/com/daml/lf/typesig/EnvironmentSignature.scala
rename to sdk/daml-lf/api-type-signature/src/main/scala/com/digitalasset/daml/lf/typesig/EnvironmentSignature.scala
index d5b88cc8b5..835f92f2e7 100644
--- a/sdk/daml-lf/api-type-signature/src/main/scala/com/daml/lf/typesig/EnvironmentSignature.scala
+++ b/sdk/daml-lf/api-type-signature/src/main/scala/com/digitalasset/daml/lf/typesig/EnvironmentSignature.scala
@@ -1,10 +1,10 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package typesig
-import com.daml.lf.archive.Dar
+import com.digitalasset.daml.lf.archive.Dar
import data.Ref, Ref.{Identifier, PackageId}
import scala.collection.immutable.Map
diff --git a/sdk/daml-lf/api-type-signature/src/main/scala/com/daml/lf/typesig/PackageSignature.scala b/sdk/daml-lf/api-type-signature/src/main/scala/com/digitalasset/daml/lf/typesig/PackageSignature.scala
similarity index 97%
rename from sdk/daml-lf/api-type-signature/src/main/scala/com/daml/lf/typesig/PackageSignature.scala
rename to sdk/daml-lf/api-type-signature/src/main/scala/com/digitalasset/daml/lf/typesig/PackageSignature.scala
index f82c5d74e0..a6c5eecc74 100644
--- a/sdk/daml-lf/api-type-signature/src/main/scala/com/daml/lf/typesig/PackageSignature.scala
+++ b/sdk/daml-lf/api-type-signature/src/main/scala/com/digitalasset/daml/lf/typesig/PackageSignature.scala
@@ -1,15 +1,15 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.typesig
+package com.digitalasset.daml.lf.typesig
import java.{util => j}
-import com.daml.lf.data.ImmArray.ImmArraySeq
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.ImmArray.ImmArraySeq
+import com.digitalasset.daml.lf.data.Ref
import Ref.{Identifier, PackageId, PackageName, PackageVersion, QualifiedName}
import reader.Errors
import com.daml.daml_lf_dev.DamlLf
-import com.daml.lf.archive.ArchivePayload
+import com.digitalasset.daml.lf.archive.ArchivePayload
import scalaz.std.either._
import scalaz.std.tuple._
import scalaz.syntax.bifunctor._
@@ -18,7 +18,7 @@ import scalaz.syntax.std.boolean._
import scala.collection.immutable.{Map, SeqOps}
import scala.jdk.CollectionConverters._
-// Duplicate of the one in com.daml.lf.language to separate Ast and Iface
+// Duplicate of the one in com.digitalasset.daml.lf.language to separate Ast and Iface
final case class PackageMetadata(
name: PackageName,
version: PackageVersion,
diff --git a/sdk/daml-lf/api-type-signature/src/main/scala/com/daml/lf/typesig/Type.scala b/sdk/daml-lf/api-type-signature/src/main/scala/com/digitalasset/daml/lf/typesig/Type.scala
similarity index 97%
rename from sdk/daml-lf/api-type-signature/src/main/scala/com/daml/lf/typesig/Type.scala
rename to sdk/daml-lf/api-type-signature/src/main/scala/com/digitalasset/daml/lf/typesig/Type.scala
index a79ae1b774..0f873f94f3 100644
--- a/sdk/daml-lf/api-type-signature/src/main/scala/com/daml/lf/typesig/Type.scala
+++ b/sdk/daml-lf/api-type-signature/src/main/scala/com/digitalasset/daml/lf/typesig/Type.scala
@@ -1,12 +1,12 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.typesig
+package com.digitalasset.daml.lf.typesig
import java.{util => j}
-import com.daml.lf.data.ImmArray.ImmArraySeq
-import com.daml.lf.data.{Numeric, Ref}
+import com.digitalasset.daml.lf.data.ImmArray.ImmArraySeq
+import com.digitalasset.daml.lf.data.{Numeric, Ref}
import scalaz.Monoid
import scalaz.syntax.foldable._
import scalaz.syntax.monoid._
diff --git a/sdk/daml-lf/api-type-signature/src/main/scala/com/daml/lf/typesig/package.scala b/sdk/daml-lf/api-type-signature/src/main/scala/com/digitalasset/daml/lf/typesig/package.scala
similarity index 94%
rename from sdk/daml-lf/api-type-signature/src/main/scala/com/daml/lf/typesig/package.scala
rename to sdk/daml-lf/api-type-signature/src/main/scala/com/digitalasset/daml/lf/typesig/package.scala
index 37301040bc..1e0ed7e2e3 100644
--- a/sdk/daml-lf/api-type-signature/src/main/scala/com/daml/lf/typesig/package.scala
+++ b/sdk/daml-lf/api-type-signature/src/main/scala/com/digitalasset/daml/lf/typesig/package.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
import data.Ref
diff --git a/sdk/daml-lf/api-type-signature/src/main/scala/com/daml/lf/typesig/reader/DamlLfArchiveReader.scala b/sdk/daml-lf/api-type-signature/src/main/scala/com/digitalasset/daml/lf/typesig/reader/DamlLfArchiveReader.scala
similarity index 89%
rename from sdk/daml-lf/api-type-signature/src/main/scala/com/daml/lf/typesig/reader/DamlLfArchiveReader.scala
rename to sdk/daml-lf/api-type-signature/src/main/scala/com/digitalasset/daml/lf/typesig/reader/DamlLfArchiveReader.scala
index b576dd99c1..9f013ce296 100644
--- a/sdk/daml-lf/api-type-signature/src/main/scala/com/daml/lf/typesig/reader/DamlLfArchiveReader.scala
+++ b/sdk/daml-lf/api-type-signature/src/main/scala/com/digitalasset/daml/lf/typesig/reader/DamlLfArchiveReader.scala
@@ -1,12 +1,12 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package typesig
package reader
-import com.daml.lf.data.Ref
-import com.daml.lf.language.Ast
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.language.Ast
import com.daml.daml_lf_dev.DamlLf
import scalaz.\/
diff --git a/sdk/daml-lf/api-type-signature/src/main/scala/com/daml/lf/typesig/reader/Errors.scala b/sdk/daml-lf/api-type-signature/src/main/scala/com/digitalasset/daml/lf/typesig/reader/Errors.scala
similarity index 98%
rename from sdk/daml-lf/api-type-signature/src/main/scala/com/daml/lf/typesig/reader/Errors.scala
rename to sdk/daml-lf/api-type-signature/src/main/scala/com/digitalasset/daml/lf/typesig/reader/Errors.scala
index 1fb6c891bf..d2f68b2c93 100644
--- a/sdk/daml-lf/api-type-signature/src/main/scala/com/daml/lf/typesig/reader/Errors.scala
+++ b/sdk/daml-lf/api-type-signature/src/main/scala/com/digitalasset/daml/lf/typesig/reader/Errors.scala
@@ -1,10 +1,10 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.typesig
+package com.digitalasset.daml.lf.typesig
package reader
-import com.daml.lf.data.Ref.{DottedName, Name}
+import com.digitalasset.daml.lf.data.Ref.{DottedName, Name}
import scala.language.implicitConversions
import scala.collection.immutable.Map
diff --git a/sdk/daml-lf/api-type-signature/src/main/scala/com/daml/lf/typesig/reader/SignatureReader.scala b/sdk/daml-lf/api-type-signature/src/main/scala/com/digitalasset/daml/lf/typesig/reader/SignatureReader.scala
similarity index 96%
rename from sdk/daml-lf/api-type-signature/src/main/scala/com/daml/lf/typesig/reader/SignatureReader.scala
rename to sdk/daml-lf/api-type-signature/src/main/scala/com/digitalasset/daml/lf/typesig/reader/SignatureReader.scala
index aa8553f38e..bcce5c66fe 100644
--- a/sdk/daml-lf/api-type-signature/src/main/scala/com/daml/lf/typesig/reader/SignatureReader.scala
+++ b/sdk/daml-lf/api-type-signature/src/main/scala/com/digitalasset/daml/lf/typesig/reader/SignatureReader.scala
@@ -1,22 +1,22 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package typesig
package reader
import com.daml.daml_lf_dev.DamlLf
-import com.daml.lf.archive.ArchivePayload
+import com.digitalasset.daml.lf.archive.ArchivePayload
import scalaz.{Enum => _, _}
import scalaz.syntax.monoid._
import scalaz.syntax.traverse._
import scalaz.std.map._
import scalaz.std.option._
-import com.daml.lf.data.{FrontStack, ImmArray, Ref}
-import com.daml.lf.data.ImmArray.ImmArraySeq
-import com.daml.lf.data.Ref.{PackageId, QualifiedName}
-import com.daml.lf.language.Ast
-import com.daml.lf.language.{Util => AstUtil}
+import com.digitalasset.daml.lf.data.{FrontStack, ImmArray, Ref}
+import com.digitalasset.daml.lf.data.ImmArray.ImmArraySeq
+import com.digitalasset.daml.lf.data.Ref.{PackageId, QualifiedName}
+import com.digitalasset.daml.lf.language.Ast
+import com.digitalasset.daml.lf.language.{Util => AstUtil}
import com.daml.nonempty.NonEmpty
import scala.collection.immutable.Map
diff --git a/sdk/daml-lf/api-type-signature/src/main/scala/com/daml/lf/typesig/reader/SignatureReaderMain.scala b/sdk/daml-lf/api-type-signature/src/main/scala/com/digitalasset/daml/lf/typesig/reader/SignatureReaderMain.scala
similarity index 92%
rename from sdk/daml-lf/api-type-signature/src/main/scala/com/daml/lf/typesig/reader/SignatureReaderMain.scala
rename to sdk/daml-lf/api-type-signature/src/main/scala/com/digitalasset/daml/lf/typesig/reader/SignatureReaderMain.scala
index b00732799d..e30932a1cc 100644
--- a/sdk/daml-lf/api-type-signature/src/main/scala/com/daml/lf/typesig/reader/SignatureReaderMain.scala
+++ b/sdk/daml-lf/api-type-signature/src/main/scala/com/digitalasset/daml/lf/typesig/reader/SignatureReaderMain.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.typesig.reader
+package com.digitalasset.daml.lf.typesig.reader
import java.io.BufferedInputStream
import java.nio.file.Files
diff --git a/sdk/daml-lf/api-type-signature/src/test/scala/com/daml/lf/typesig/DefDataTypeSpec.scala b/sdk/daml-lf/api-type-signature/src/test/scala/com/digitalasset/daml/lf/typesig/DefDataTypeSpec.scala
similarity index 93%
rename from sdk/daml-lf/api-type-signature/src/test/scala/com/daml/lf/typesig/DefDataTypeSpec.scala
rename to sdk/daml-lf/api-type-signature/src/test/scala/com/digitalasset/daml/lf/typesig/DefDataTypeSpec.scala
index 2c6edaa21c..eaa85f897a 100644
--- a/sdk/daml-lf/api-type-signature/src/test/scala/com/daml/lf/typesig/DefDataTypeSpec.scala
+++ b/sdk/daml-lf/api-type-signature/src/test/scala/com/digitalasset/daml/lf/typesig/DefDataTypeSpec.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.typesig
+package com.digitalasset.daml.lf.typesig
import com.daml.nonempty.NonEmpty
import com.daml.scalatest.WordSpecCheckLaws
@@ -19,8 +19,8 @@ class DefDataTypeSpec extends AnyWordSpec with Matchers with WordSpecCheckLaws {
object DefDataTypeSpec {
import org.scalacheck.{Arbitrary, Gen}, Arbitrary.arbitrary
- import com.daml.lf.data.Ref
- import com.daml.lf.value.test.ValueGenerators
+ import com.digitalasset.daml.lf.data.Ref
+ import com.digitalasset.daml.lf.value.test.ValueGenerators
implicit def `TemplateChoices arb`[Ty: Arbitrary]: Arbitrary[TemplateChoices[Ty]] =
Arbitrary(
diff --git a/sdk/daml-lf/api-type-signature/src/test/scala/com/daml/lf/typesig/TypeSpec.scala b/sdk/daml-lf/api-type-signature/src/test/scala/com/digitalasset/daml/lf/typesig/TypeSpec.scala
similarity index 92%
rename from sdk/daml-lf/api-type-signature/src/test/scala/com/daml/lf/typesig/TypeSpec.scala
rename to sdk/daml-lf/api-type-signature/src/test/scala/com/digitalasset/daml/lf/typesig/TypeSpec.scala
index 4617e3e58e..b85510bd28 100644
--- a/sdk/daml-lf/api-type-signature/src/test/scala/com/daml/lf/typesig/TypeSpec.scala
+++ b/sdk/daml-lf/api-type-signature/src/test/scala/com/digitalasset/daml/lf/typesig/TypeSpec.scala
@@ -1,16 +1,16 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.typesig
+package com.digitalasset.daml.lf.typesig
-import com.daml.lf.data.ImmArray.ImmArraySeq
-import com.daml.lf.data.Ref.{Identifier, PackageId, QualifiedName}
-import com.daml.lf.data.BackStack
+import com.digitalasset.daml.lf.data.ImmArray.ImmArraySeq
+import com.digitalasset.daml.lf.data.Ref.{Identifier, PackageId, QualifiedName}
+import com.digitalasset.daml.lf.data.BackStack
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
-import com.daml.lf.testing.parser.Implicits._
-import com.daml.lf.language.{LanguageMajorVersion, Ast => Pkg, Util => PkgUtil}
-import com.daml.lf.testing.parser.ParserParameters
+import com.digitalasset.daml.lf.testing.parser.Implicits._
+import com.digitalasset.daml.lf.language.{LanguageMajorVersion, Ast => Pkg, Util => PkgUtil}
+import com.digitalasset.daml.lf.testing.parser.ParserParameters
import scala.language.implicitConversions
diff --git a/sdk/daml-lf/api-type-signature/src/test/scala/com/daml/lf/typesig/reader/SignatureReaderSpec.scala b/sdk/daml-lf/api-type-signature/src/test/scala/com/digitalasset/daml/lf/typesig/reader/SignatureReaderSpec.scala
similarity index 97%
rename from sdk/daml-lf/api-type-signature/src/test/scala/com/daml/lf/typesig/reader/SignatureReaderSpec.scala
rename to sdk/daml-lf/api-type-signature/src/test/scala/com/digitalasset/daml/lf/typesig/reader/SignatureReaderSpec.scala
index a0cb1cdedb..7697cbacf5 100644
--- a/sdk/daml-lf/api-type-signature/src/test/scala/com/daml/lf/typesig/reader/SignatureReaderSpec.scala
+++ b/sdk/daml-lf/api-type-signature/src/test/scala/com/digitalasset/daml/lf/typesig/reader/SignatureReaderSpec.scala
@@ -1,17 +1,17 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package typesig
package reader
import com.daml.bazeltools.BazelRunfiles.rlocation
-import com.daml.lf.data.ImmArray
-import com.daml.lf.data.ImmArray.ImmArraySeq
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.{QualifiedName, DottedName}
-import com.daml.lf.language.Ast
-import com.daml.lf.language.LanguageVersion
+import com.digitalasset.daml.lf.data.ImmArray
+import com.digitalasset.daml.lf.data.ImmArray.ImmArraySeq
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.{QualifiedName, DottedName}
+import com.digitalasset.daml.lf.language.Ast
+import com.digitalasset.daml.lf.language.LanguageVersion
import org.scalatest.Inside
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
diff --git a/sdk/daml-lf/archive/BUILD.bazel b/sdk/daml-lf/archive/BUILD.bazel
index 7c50ffbd64..479c6a83f9 100644
--- a/sdk/daml-lf/archive/BUILD.bazel
+++ b/sdk/daml-lf/archive/BUILD.bazel
@@ -178,7 +178,7 @@ daml_compile_with_dalf(
# An ad-hoc tool for testing, benchmarking and profiling package decoding performance in isolation.
da_scala_binary(
name = "decode-tester",
- srcs = ["src/test/scala/com/daml/lf/archive/DecodeMain.scala"],
+ srcs = ["src/test/scala/com/digitalasset/daml/lf/archive/DecodeMain.scala"],
main_class = "com.daml.lf.archive.DecodeMain",
deps = [
":daml_lf_archive_reader",
diff --git a/sdk/daml-lf/archive/encoder/src/main/scala/com/daml/lf/archive/DarManifestWriter.scala b/sdk/daml-lf/archive/encoder/src/main/scala/com/digitalasset/daml/lf/archive/DarManifestWriter.scala
similarity index 95%
rename from sdk/daml-lf/archive/encoder/src/main/scala/com/daml/lf/archive/DarManifestWriter.scala
rename to sdk/daml-lf/archive/encoder/src/main/scala/com/digitalasset/daml/lf/archive/DarManifestWriter.scala
index c4faa67f51..5e639ae109 100644
--- a/sdk/daml-lf/archive/encoder/src/main/scala/com/daml/lf/archive/DarManifestWriter.scala
+++ b/sdk/daml-lf/archive/encoder/src/main/scala/com/digitalasset/daml/lf/archive/DarManifestWriter.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.archive
+package com.digitalasset.daml.lf.archive
import java.util.jar.{Attributes, Manifest}
diff --git a/sdk/daml-lf/archive/encoder/src/main/scala/com/daml/lf/archive/DarWriter.scala b/sdk/daml-lf/archive/encoder/src/main/scala/com/digitalasset/daml/lf/archive/DarWriter.scala
similarity index 96%
rename from sdk/daml-lf/archive/encoder/src/main/scala/com/daml/lf/archive/DarWriter.scala
rename to sdk/daml-lf/archive/encoder/src/main/scala/com/digitalasset/daml/lf/archive/DarWriter.scala
index d1c4aed501..e20c9cc9ca 100644
--- a/sdk/daml-lf/archive/encoder/src/main/scala/com/daml/lf/archive/DarWriter.scala
+++ b/sdk/daml-lf/archive/encoder/src/main/scala/com/digitalasset/daml/lf/archive/DarWriter.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.archive
+package com.digitalasset.daml.lf.archive
import java.io.{ByteArrayOutputStream, FileOutputStream, OutputStream}
import java.nio.file.Path
diff --git a/sdk/daml-lf/archive/src/main/scala/com/daml/lf/Work.scala b/sdk/daml-lf/archive/src/main/scala/com/digitalasset/daml/lf/Work.scala
similarity index 97%
rename from sdk/daml-lf/archive/src/main/scala/com/daml/lf/Work.scala
rename to sdk/daml-lf/archive/src/main/scala/com/digitalasset/daml/lf/Work.scala
index 2df9901b33..cee2d0650e 100644
--- a/sdk/daml-lf/archive/src/main/scala/com/daml/lf/Work.scala
+++ b/sdk/daml-lf/archive/src/main/scala/com/digitalasset/daml/lf/Work.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml
+package com.digitalasset.daml
package lf
import scala.collection.SeqView
diff --git a/sdk/daml-lf/archive/src/main/scala/com/daml/lf/archive/Dar.scala b/sdk/daml-lf/archive/src/main/scala/com/digitalasset/daml/lf/archive/Dar.scala
similarity index 97%
rename from sdk/daml-lf/archive/src/main/scala/com/daml/lf/archive/Dar.scala
rename to sdk/daml-lf/archive/src/main/scala/com/digitalasset/daml/lf/archive/Dar.scala
index 2cd91f6ad3..33059114e8 100644
--- a/sdk/daml-lf/archive/src/main/scala/com/daml/lf/archive/Dar.scala
+++ b/sdk/daml-lf/archive/src/main/scala/com/digitalasset/daml/lf/archive/Dar.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package archive
import scalaz.{Applicative, Equal, Traverse}
diff --git a/sdk/daml-lf/archive/src/main/scala/com/daml/lf/archive/DarManifestReader.scala b/sdk/daml-lf/archive/src/main/scala/com/digitalasset/daml/lf/archive/DarManifestReader.scala
similarity index 94%
rename from sdk/daml-lf/archive/src/main/scala/com/daml/lf/archive/DarManifestReader.scala
rename to sdk/daml-lf/archive/src/main/scala/com/digitalasset/daml/lf/archive/DarManifestReader.scala
index 3ed62f3c2a..67fe45fb37 100644
--- a/sdk/daml-lf/archive/src/main/scala/com/daml/lf/archive/DarManifestReader.scala
+++ b/sdk/daml-lf/archive/src/main/scala/com/digitalasset/daml/lf/archive/DarManifestReader.scala
@@ -1,10 +1,10 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package archive
-import com.daml.lf.data.Bytes
+import com.digitalasset.daml.lf.data.Bytes
import java.io.InputStream
import java.util.jar.{Attributes, Manifest}
diff --git a/sdk/daml-lf/archive/src/main/scala/com/daml/lf/archive/Decode.scala b/sdk/daml-lf/archive/src/main/scala/com/digitalasset/daml/lf/archive/Decode.scala
similarity index 91%
rename from sdk/daml-lf/archive/src/main/scala/com/daml/lf/archive/Decode.scala
rename to sdk/daml-lf/archive/src/main/scala/com/digitalasset/daml/lf/archive/Decode.scala
index 22d6acc86e..2e67de0ab0 100644
--- a/sdk/daml-lf/archive/src/main/scala/com/daml/lf/archive/Decode.scala
+++ b/sdk/daml-lf/archive/src/main/scala/com/digitalasset/daml/lf/archive/Decode.scala
@@ -1,11 +1,11 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.archive
+package com.digitalasset.daml.lf.archive
import com.daml.daml_lf_dev.DamlLf
-import com.daml.lf.data.Ref.PackageId
-import com.daml.lf.language.{Ast, LanguageMajorVersion}
+import com.digitalasset.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.language.{Ast, LanguageMajorVersion}
object Decode {
diff --git a/sdk/daml-lf/archive/src/main/scala/com/daml/lf/archive/DecodeV1.scala b/sdk/daml-lf/archive/src/main/scala/com/digitalasset/daml/lf/archive/DecodeV1.scala
similarity index 99%
rename from sdk/daml-lf/archive/src/main/scala/com/daml/lf/archive/DecodeV1.scala
rename to sdk/daml-lf/archive/src/main/scala/com/digitalasset/daml/lf/archive/DecodeV1.scala
index b1451421eb..35ced7d25d 100644
--- a/sdk/daml-lf/archive/src/main/scala/com/daml/lf/archive/DecodeV1.scala
+++ b/sdk/daml-lf/archive/src/main/scala/com/digitalasset/daml/lf/archive/DecodeV1.scala
@@ -1,17 +1,17 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package archive
import java.util
import com.daml.daml_lf_dev.{DamlLf1 => PLF}
-import com.daml.lf.data.ImmArray.ImmArraySeq
-import com.daml.lf.data.Ref._
-import com.daml.lf.data.{ImmArray, Numeric, Struct}
-import com.daml.lf.language.Ast._
-import com.daml.lf.language.Util._
-import com.daml.lf.language.{LanguageVersion => LV}
+import com.digitalasset.daml.lf.data.ImmArray.ImmArraySeq
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.data.{ImmArray, Numeric, Struct}
+import com.digitalasset.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.language.Util._
+import com.digitalasset.daml.lf.language.{LanguageVersion => LV}
import com.daml.nameof.NameOf
import com.daml.scalautil.Statement.discard
diff --git a/sdk/daml-lf/archive/src/main/scala/com/daml/lf/archive/DecodeV2.scala b/sdk/daml-lf/archive/src/main/scala/com/digitalasset/daml/lf/archive/DecodeV2.scala
similarity index 99%
rename from sdk/daml-lf/archive/src/main/scala/com/daml/lf/archive/DecodeV2.scala
rename to sdk/daml-lf/archive/src/main/scala/com/digitalasset/daml/lf/archive/DecodeV2.scala
index 97f0c2cdb6..ffc7e7fdb6 100644
--- a/sdk/daml-lf/archive/src/main/scala/com/daml/lf/archive/DecodeV2.scala
+++ b/sdk/daml-lf/archive/src/main/scala/com/digitalasset/daml/lf/archive/DecodeV2.scala
@@ -1,17 +1,17 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package archive
import java.util
import com.daml.daml_lf_dev.{DamlLf2 => PLF}
-import com.daml.lf.data.ImmArray.ImmArraySeq
-import com.daml.lf.data.Ref._
-import com.daml.lf.data.{ImmArray, Numeric, Struct, Time}
-import com.daml.lf.language.Ast._
-import com.daml.lf.language.Util._
-import com.daml.lf.language.{LanguageMajorVersion, LanguageVersion => LV}
+import com.digitalasset.daml.lf.data.ImmArray.ImmArraySeq
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.data.{ImmArray, Numeric, Struct, Time}
+import com.digitalasset.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.language.Util._
+import com.digitalasset.daml.lf.language.{LanguageMajorVersion, LanguageVersion => LV}
import com.daml.nameof.NameOf
import com.daml.scalautil.Statement.discard
diff --git a/sdk/daml-lf/archive/src/main/scala/com/daml/lf/archive/Error.scala b/sdk/daml-lf/archive/src/main/scala/com/digitalasset/daml/lf/archive/Error.scala
similarity index 98%
rename from sdk/daml-lf/archive/src/main/scala/com/daml/lf/archive/Error.scala
rename to sdk/daml-lf/archive/src/main/scala/com/digitalasset/daml/lf/archive/Error.scala
index 6402150350..29088eb1e9 100644
--- a/sdk/daml-lf/archive/src/main/scala/com/daml/lf/archive/Error.scala
+++ b/sdk/daml-lf/archive/src/main/scala/com/digitalasset/daml/lf/archive/Error.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package archive
import java.io.File
diff --git a/sdk/daml-lf/archive/src/main/scala/com/daml/lf/archive/GenDarReader.scala b/sdk/daml-lf/archive/src/main/scala/com/digitalasset/daml/lf/archive/GenDarReader.scala
similarity index 97%
rename from sdk/daml-lf/archive/src/main/scala/com/daml/lf/archive/GenDarReader.scala
rename to sdk/daml-lf/archive/src/main/scala/com/digitalasset/daml/lf/archive/GenDarReader.scala
index a4daf822fa..5ed37dbc75 100644
--- a/sdk/daml-lf/archive/src/main/scala/com/daml/lf/archive/GenDarReader.scala
+++ b/sdk/daml-lf/archive/src/main/scala/com/digitalasset/daml/lf/archive/GenDarReader.scala
@@ -1,9 +1,9 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.archive
+package com.digitalasset.daml.lf.archive
-import com.daml.lf.data.Bytes
+import com.digitalasset.daml.lf.data.Bytes
import com.daml.nameof.NameOf
import java.io.{File, FileInputStream, IOException}
diff --git a/sdk/daml-lf/archive/src/main/scala/com/daml/lf/archive/GenReader.scala b/sdk/daml-lf/archive/src/main/scala/com/digitalasset/daml/lf/archive/GenReader.scala
similarity index 97%
rename from sdk/daml-lf/archive/src/main/scala/com/daml/lf/archive/GenReader.scala
rename to sdk/daml-lf/archive/src/main/scala/com/digitalasset/daml/lf/archive/GenReader.scala
index 20e7cdb013..0603501f2c 100644
--- a/sdk/daml-lf/archive/src/main/scala/com/daml/lf/archive/GenReader.scala
+++ b/sdk/daml-lf/archive/src/main/scala/com/digitalasset/daml/lf/archive/GenReader.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package archive
import com.google.protobuf.{ByteString, CodedInputStream}
diff --git a/sdk/daml-lf/archive/src/main/scala/com/daml/lf/archive/Reader.scala b/sdk/daml-lf/archive/src/main/scala/com/digitalasset/daml/lf/archive/Reader.scala
similarity index 91%
rename from sdk/daml-lf/archive/src/main/scala/com/daml/lf/archive/Reader.scala
rename to sdk/daml-lf/archive/src/main/scala/com/digitalasset/daml/lf/archive/Reader.scala
index 2a211e6cf7..a2ac757d1f 100644
--- a/sdk/daml-lf/archive/src/main/scala/com/daml/lf/archive/Reader.scala
+++ b/sdk/daml-lf/archive/src/main/scala/com/digitalasset/daml/lf/archive/Reader.scala
@@ -1,14 +1,14 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package archive
import com.daml.crypto.MessageDigestPrototype
import com.daml.daml_lf_dev.{DamlLf, DamlLf1, DamlLf2}
-import com.daml.lf.data.Ref.PackageId
-import com.daml.lf.language.LanguageMinorVersion
-import com.daml.lf.language.{LanguageVersion, LanguageMajorVersion}
+import com.digitalasset.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.language.LanguageMinorVersion
+import com.digitalasset.daml.lf.language.{LanguageVersion, LanguageMajorVersion}
sealed abstract class ArchivePayload {
def pkgId: PackageId
diff --git a/sdk/daml-lf/archive/src/main/scala/com/daml/lf/archive/UniversalArchiveReader.scala b/sdk/daml-lf/archive/src/main/scala/com/digitalasset/daml/lf/archive/UniversalArchiveReader.scala
similarity index 97%
rename from sdk/daml-lf/archive/src/main/scala/com/daml/lf/archive/UniversalArchiveReader.scala
rename to sdk/daml-lf/archive/src/main/scala/com/digitalasset/daml/lf/archive/UniversalArchiveReader.scala
index 9050076046..673887b487 100644
--- a/sdk/daml-lf/archive/src/main/scala/com/daml/lf/archive/UniversalArchiveReader.scala
+++ b/sdk/daml-lf/archive/src/main/scala/com/digitalasset/daml/lf/archive/UniversalArchiveReader.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package archive
import java.io.File
diff --git a/sdk/daml-lf/archive/src/main/scala/com/daml/lf/archive/package.scala b/sdk/daml-lf/archive/src/main/scala/com/digitalasset/daml/lf/archive/package.scala
similarity index 95%
rename from sdk/daml-lf/archive/src/main/scala/com/daml/lf/archive/package.scala
rename to sdk/daml-lf/archive/src/main/scala/com/digitalasset/daml/lf/archive/package.scala
index 53b92867ca..62003db54f 100644
--- a/sdk/daml-lf/archive/src/main/scala/com/daml/lf/archive/package.scala
+++ b/sdk/daml-lf/archive/src/main/scala/com/digitalasset/daml/lf/archive/package.scala
@@ -1,11 +1,11 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
import com.daml.daml_lf_dev.{DamlLf, DamlLf1, DamlLf2}
-import com.daml.lf.data.Ref.PackageId
-import com.daml.lf.language.{Ast, LanguageMajorVersion, LanguageVersion}
+import com.digitalasset.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.language.{Ast, LanguageMajorVersion, LanguageVersion}
import com.daml.nameof.NameOf
import com.daml.scalautil.Statement.discard
import com.google.protobuf.CodedInputStream
diff --git a/sdk/daml-lf/archive/src/test/scala/com/daml/lf/archive/DarManifestReaderTest.scala b/sdk/daml-lf/archive/src/test/scala/com/digitalasset/daml/lf/archive/DarManifestReaderTest.scala
similarity index 89%
rename from sdk/daml-lf/archive/src/test/scala/com/daml/lf/archive/DarManifestReaderTest.scala
rename to sdk/daml-lf/archive/src/test/scala/com/digitalasset/daml/lf/archive/DarManifestReaderTest.scala
index 1d042279ab..c96d6014ef 100644
--- a/sdk/daml-lf/archive/src/test/scala/com/daml/lf/archive/DarManifestReaderTest.scala
+++ b/sdk/daml-lf/archive/src/test/scala/com/digitalasset/daml/lf/archive/DarManifestReaderTest.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.archive
+package com.digitalasset.daml.lf.archive
import java.io.{ByteArrayInputStream, InputStream}
import java.nio.charset.Charset
@@ -17,8 +17,8 @@ class DarManifestReaderTest extends AnyWordSpec with Matchers with Inside {
"should read dalf names from manifest, real scenario with Dalfs line split" in {
val manifest = """Manifest-Version: 1.0
|Created-By: Digital Asset packager (Daml-GHC)
- |Main-Dalf: com.daml.lf.archive:DarReaderTest:0.1.dalf
- |Dalfs: com.daml.lf.archive:DarReaderTest:0.1.dalf, daml-pri
+ |Main-Dalf: com.digitalasset.daml.lf.archive:DarReaderTest:0.1.dalf
+ |Dalfs: com.digitalasset.daml.lf.archive:DarReaderTest:0.1.dalf, daml-pri
| m.dalf
|Format: daml-lf
|Encryption: non-encrypted""".stripMargin
@@ -27,7 +27,7 @@ class DarManifestReaderTest extends AnyWordSpec with Matchers with Inside {
val actual = DarManifestReader.dalfNames(inputStream)
actual shouldBe Right(
- Dar("com.daml.lf.archive:DarReaderTest:0.1.dalf", List("daml-prim.dalf"))
+ Dar("com.digitalasset.daml.lf.archive:DarReaderTest:0.1.dalf", List("daml-prim.dalf"))
)
inputStream.close()
diff --git a/sdk/daml-lf/archive/src/test/scala/com/daml/lf/archive/DarReaderTest.scala b/sdk/daml-lf/archive/src/test/scala/com/digitalasset/daml/lf/archive/DarReaderTest.scala
similarity index 99%
rename from sdk/daml-lf/archive/src/test/scala/com/daml/lf/archive/DarReaderTest.scala
rename to sdk/daml-lf/archive/src/test/scala/com/digitalasset/daml/lf/archive/DarReaderTest.scala
index 19505b00d0..4dbe1a700e 100644
--- a/sdk/daml-lf/archive/src/test/scala/com/daml/lf/archive/DarReaderTest.scala
+++ b/sdk/daml-lf/archive/src/test/scala/com/digitalasset/daml/lf/archive/DarReaderTest.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.archive
+package com.digitalasset.daml.lf.archive
import java.io.File
import com.daml.bazeltools.BazelRunfiles
diff --git a/sdk/daml-lf/archive/src/test/scala/com/daml/lf/archive/DarSpec.scala b/sdk/daml-lf/archive/src/test/scala/com/digitalasset/daml/lf/archive/DarSpec.scala
similarity index 96%
rename from sdk/daml-lf/archive/src/test/scala/com/daml/lf/archive/DarSpec.scala
rename to sdk/daml-lf/archive/src/test/scala/com/digitalasset/daml/lf/archive/DarSpec.scala
index 876cb6b8e0..bab79c8cc4 100644
--- a/sdk/daml-lf/archive/src/test/scala/com/daml/lf/archive/DarSpec.scala
+++ b/sdk/daml-lf/archive/src/test/scala/com/digitalasset/daml/lf/archive/DarSpec.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.archive
+package com.digitalasset.daml.lf.archive
import com.daml.scalatest.FlatSpecCheckLaws
import org.scalacheck.{Arbitrary, Gen}
diff --git a/sdk/daml-lf/archive/src/test/scala/com/daml/lf/archive/DecodeMain.scala b/sdk/daml-lf/archive/src/test/scala/com/digitalasset/daml/lf/archive/DecodeMain.scala
similarity index 89%
rename from sdk/daml-lf/archive/src/test/scala/com/daml/lf/archive/DecodeMain.scala
rename to sdk/daml-lf/archive/src/test/scala/com/digitalasset/daml/lf/archive/DecodeMain.scala
index 48c7a52bcf..8f58936084 100644
--- a/sdk/daml-lf/archive/src/test/scala/com/daml/lf/archive/DecodeMain.scala
+++ b/sdk/daml-lf/archive/src/test/scala/com/digitalasset/daml/lf/archive/DecodeMain.scala
@@ -1,13 +1,13 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.archive
+package com.digitalasset.daml.lf.archive
import java.io.File
import java.util.concurrent.TimeUnit
-import com.daml.lf.data.Ref
-import com.daml.lf.language.Ast
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.language.Ast
/** Test application for decoding DARs. Useful for testing decoder performance and memory usage.
*/
diff --git a/sdk/daml-lf/archive/src/test/scala/com/daml/lf/archive/DecodeV1Spec.scala b/sdk/daml-lf/archive/src/test/scala/com/digitalasset/daml/lf/archive/DecodeV1Spec.scala
similarity index 99%
rename from sdk/daml-lf/archive/src/test/scala/com/daml/lf/archive/DecodeV1Spec.scala
rename to sdk/daml-lf/archive/src/test/scala/com/digitalasset/daml/lf/archive/DecodeV1Spec.scala
index 23e9286ab5..39a0cd8b8a 100644
--- a/sdk/daml-lf/archive/src/test/scala/com/daml/lf/archive/DecodeV1Spec.scala
+++ b/sdk/daml-lf/archive/src/test/scala/com/digitalasset/daml/lf/archive/DecodeV1Spec.scala
@@ -1,14 +1,14 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.archive
+package com.digitalasset.daml.lf.archive
import java.nio.file.Paths
import com.daml.bazeltools.BazelRunfiles._
-import com.daml.lf.data.{Numeric, Ref}
-import com.daml.lf.language.Util._
-import com.daml.lf.language.{Ast, LanguageVersion => LV}
-import com.daml.lf.data.ImmArray.ImmArraySeq
+import com.digitalasset.daml.lf.data.{Numeric, Ref}
+import com.digitalasset.daml.lf.language.Util._
+import com.digitalasset.daml.lf.language.{Ast, LanguageVersion => LV}
+import com.digitalasset.daml.lf.data.ImmArray.ImmArraySeq
import com.daml.daml_lf_dev.DamlLf1
import org.scalatestplus.scalacheck.ScalaCheckPropertyChecks
import org.scalatest.{Inside, OptionValues}
diff --git a/sdk/daml-lf/archive/src/test/scala/com/daml/lf/archive/DecodeV2Spec.scala b/sdk/daml-lf/archive/src/test/scala/com/digitalasset/daml/lf/archive/DecodeV2Spec.scala
similarity index 99%
rename from sdk/daml-lf/archive/src/test/scala/com/daml/lf/archive/DecodeV2Spec.scala
rename to sdk/daml-lf/archive/src/test/scala/com/digitalasset/daml/lf/archive/DecodeV2Spec.scala
index 9fd2a72290..2e8b1037c2 100644
--- a/sdk/daml-lf/archive/src/test/scala/com/daml/lf/archive/DecodeV2Spec.scala
+++ b/sdk/daml-lf/archive/src/test/scala/com/digitalasset/daml/lf/archive/DecodeV2Spec.scala
@@ -1,16 +1,16 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.archive
+package com.digitalasset.daml.lf.archive
import java.math.BigDecimal
import java.nio.file.Paths
import com.daml.bazeltools.BazelRunfiles._
-import com.daml.lf.data.{Numeric, Ref}
-import com.daml.lf.language.Util._
-import com.daml.lf.language.{Ast, LanguageVersion => LV}
-import com.daml.lf.data.ImmArray
-import com.daml.lf.data.ImmArray.ImmArraySeq
+import com.digitalasset.daml.lf.data.{Numeric, Ref}
+import com.digitalasset.daml.lf.language.Util._
+import com.digitalasset.daml.lf.language.{Ast, LanguageVersion => LV}
+import com.digitalasset.daml.lf.data.ImmArray
+import com.digitalasset.daml.lf.data.ImmArray.ImmArraySeq
import com.daml.daml_lf_dev.DamlLf2
import org.scalatestplus.scalacheck.ScalaCheckPropertyChecks
import org.scalatest.{Inside, OptionValues}
diff --git a/sdk/daml-lf/archive/src/test/scala/com/daml/lf/archive/TypeOrderingSpec.scala b/sdk/daml-lf/archive/src/test/scala/com/digitalasset/daml/lf/archive/TypeOrderingSpec.scala
similarity index 90%
rename from sdk/daml-lf/archive/src/test/scala/com/daml/lf/archive/TypeOrderingSpec.scala
rename to sdk/daml-lf/archive/src/test/scala/com/digitalasset/daml/lf/archive/TypeOrderingSpec.scala
index 2491bd1347..583b0c4a37 100644
--- a/sdk/daml-lf/archive/src/test/scala/com/daml/lf/archive/TypeOrderingSpec.scala
+++ b/sdk/daml-lf/archive/src/test/scala/com/digitalasset/daml/lf/archive/TypeOrderingSpec.scala
@@ -1,10 +1,10 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.archive
+package com.digitalasset.daml.lf.archive
import com.daml.daml_lf_dev.DamlLf2
-import com.daml.lf.language.{Ast, TypeOrdering}
+import com.digitalasset.daml.lf.language.{Ast, TypeOrdering}
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
diff --git a/sdk/daml-lf/archive/src/test/scala/com/daml/lf/archive/UniversalArchiveReaderSpec.scala b/sdk/daml-lf/archive/src/test/scala/com/digitalasset/daml/lf/archive/UniversalArchiveReaderSpec.scala
similarity index 96%
rename from sdk/daml-lf/archive/src/test/scala/com/daml/lf/archive/UniversalArchiveReaderSpec.scala
rename to sdk/daml-lf/archive/src/test/scala/com/digitalasset/daml/lf/archive/UniversalArchiveReaderSpec.scala
index 4463ba3821..4f3a199f8f 100644
--- a/sdk/daml-lf/archive/src/test/scala/com/daml/lf/archive/UniversalArchiveReaderSpec.scala
+++ b/sdk/daml-lf/archive/src/test/scala/com/digitalasset/daml/lf/archive/UniversalArchiveReaderSpec.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.archive
+package com.digitalasset.daml.lf.archive
import java.io.File
diff --git a/sdk/daml-lf/data-scalacheck/src/main/scala/com/daml/lf/data/DataArbitrary.scala b/sdk/daml-lf/data-scalacheck/src/main/scala/com/digitalasset/daml/lf/data/DataArbitrary.scala
similarity index 98%
rename from sdk/daml-lf/data-scalacheck/src/main/scala/com/daml/lf/data/DataArbitrary.scala
rename to sdk/daml-lf/data-scalacheck/src/main/scala/com/digitalasset/daml/lf/data/DataArbitrary.scala
index dd3e98cc17..607891de75 100644
--- a/sdk/daml-lf/data-scalacheck/src/main/scala/com/daml/lf/data/DataArbitrary.scala
+++ b/sdk/daml-lf/data-scalacheck/src/main/scala/com/digitalasset/daml/lf/data/DataArbitrary.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.data
+package com.digitalasset.daml.lf.data
import org.scalacheck.{Arbitrary, Gen}
import Arbitrary.arbitrary
diff --git a/sdk/daml-lf/data/BUILD.bazel b/sdk/daml-lf/data/BUILD.bazel
index 37f7b66e59..de849e99c5 100644
--- a/sdk/daml-lf/data/BUILD.bazel
+++ b/sdk/daml-lf/data/BUILD.bazel
@@ -56,6 +56,6 @@ da_scala_test(
da_scala_benchmark_jmh(
name = "treemap-bench",
- srcs = ["src/bench/scala/com/daml/lf/data/TreeMapBench.scala"],
+ srcs = ["src/bench/scala/com/digitalasset/daml/lf/data/TreeMapBench.scala"],
deps = ["//daml-lf/data"],
)
diff --git a/sdk/daml-lf/data/src/bench/scala/com/daml/lf/data/TreeMapBench.scala b/sdk/daml-lf/data/src/bench/scala/com/digitalasset/daml/lf/data/TreeMapBench.scala
similarity index 98%
rename from sdk/daml-lf/data/src/bench/scala/com/daml/lf/data/TreeMapBench.scala
rename to sdk/daml-lf/data/src/bench/scala/com/digitalasset/daml/lf/data/TreeMapBench.scala
index 7e5359f305..8137b85307 100644
--- a/sdk/daml-lf/data/src/bench/scala/com/daml/lf/data/TreeMapBench.scala
+++ b/sdk/daml-lf/data/src/bench/scala/com/digitalasset/daml/lf/data/TreeMapBench.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package data
import org.openjdk.jmh.annotations._
diff --git a/sdk/daml-lf/data/src/main/scala/com/daml/lf/InternalError.scala b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/InternalError.scala
similarity index 91%
rename from sdk/daml-lf/data/src/main/scala/com/daml/lf/InternalError.scala
rename to sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/InternalError.scala
index a3a142273c..1a31d0aaf2 100644
--- a/sdk/daml-lf/data/src/main/scala/com/daml/lf/InternalError.scala
+++ b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/InternalError.scala
@@ -1,12 +1,12 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
import org.slf4j.LoggerFactory
private[lf] object InternalError {
- private[this] val logger = LoggerFactory.getLogger("com.daml.lf")
+ private[this] val logger = LoggerFactory.getLogger("com.digitalasset.daml.lf")
def log(location: String, message: String, cause: Option[Throwable] = None): Unit = {
logger.error(s"LF internal error in $location: $message")
diff --git a/sdk/daml-lf/data/src/main/scala/com/daml/lf/LfVersions.scala b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/LfVersions.scala
similarity index 95%
rename from sdk/daml-lf/data/src/main/scala/com/daml/lf/LfVersions.scala
rename to sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/LfVersions.scala
index bbf1ef6678..80a416ee0d 100644
--- a/sdk/daml-lf/data/src/main/scala/com/daml/lf/LfVersions.scala
+++ b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/LfVersions.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
import scalaz.NonEmptyList
diff --git a/sdk/daml-lf/data/src/main/scala/com/daml/lf/VersionRange.scala b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/VersionRange.scala
similarity index 71%
rename from sdk/daml-lf/data/src/main/scala/com/daml/lf/VersionRange.scala
rename to sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/VersionRange.scala
index 5f7c8b97be..fd08a2615b 100644
--- a/sdk/daml-lf/data/src/main/scala/com/daml/lf/VersionRange.scala
+++ b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/VersionRange.scala
@@ -1,18 +1,18 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
import scala.Ordering.Implicits.infixOrderingOps
/** [[VersionRange]] represents a range of versions of
- * [[com.daml.lf.language.LanguageVersion]] or
- * [[com.daml.lf.transaction.TransactionVersion]].
+ * [[com.digitalasset.daml.lf.language.LanguageVersion]] or
+ * [[com.digitalasset.daml.lf.transaction.TransactionVersion]].
*
* @param min the minimal version included in the range.
* @param max the maximal version included in the range.
- * @tparam V either [[com.daml.lf.language.LanguageVersion]] or
- * [[com.daml.lf.transaction.TransactionVersion]].
+ * @tparam V either [[com.digitalasset.daml.lf.language.LanguageVersion]] or
+ * [[com.digitalasset.daml.lf.transaction.TransactionVersion]].
*/
final case class VersionRange[V](
min: V,
diff --git a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/AbstractImmArraySeq.scala b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/AbstractImmArraySeq.scala
similarity index 97%
rename from sdk/daml-lf/data/src/main/scala/com/daml/lf/data/AbstractImmArraySeq.scala
rename to sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/AbstractImmArraySeq.scala
index 921f010daf..658fe47e4a 100644
--- a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/AbstractImmArraySeq.scala
+++ b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/AbstractImmArraySeq.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.data
+package com.digitalasset.daml.lf.data
import scala.collection.StrictOptimizedSeqFactory
import scala.collection.immutable.{AbstractSeq, IndexedSeqOps, StrictOptimizedSeqOps}
diff --git a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/ArrayFactory.scala b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/ArrayFactory.scala
similarity index 90%
rename from sdk/daml-lf/data/src/main/scala/com/daml/lf/data/ArrayFactory.scala
rename to sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/ArrayFactory.scala
index 4e8bd31fb5..58739093d7 100644
--- a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/ArrayFactory.scala
+++ b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/ArrayFactory.scala
@@ -1,6 +1,6 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.data
+package com.digitalasset.daml.lf.data
import scala.reflect.ClassTag
diff --git a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/BackStack.scala b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/BackStack.scala
similarity index 99%
rename from sdk/daml-lf/data/src/main/scala/com/daml/lf/data/BackStack.scala
rename to sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/BackStack.scala
index bd45ffa022..827f9fe019 100644
--- a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/BackStack.scala
+++ b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/BackStack.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.data
+package com.digitalasset.daml.lf.data
import BackStack.{BQ, BQAppend, BQEmpty, BQSnoc}
diff --git a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/Bytes.scala b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/Bytes.scala
similarity index 98%
rename from sdk/daml-lf/data/src/main/scala/com/daml/lf/data/Bytes.scala
rename to sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/Bytes.scala
index 76e585c25a..7a407b5483 100644
--- a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/Bytes.scala
+++ b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/Bytes.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.data
+package com.digitalasset.daml.lf.data
import java.io.InputStream
import java.nio.ByteBuffer
diff --git a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/Decimal.scala b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/Decimal.scala
similarity index 98%
rename from sdk/daml-lf/data/src/main/scala/com/daml/lf/data/Decimal.scala
rename to sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/Decimal.scala
index 0c30da0294..0dee31c41d 100644
--- a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/Decimal.scala
+++ b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/Decimal.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package data
import java.math.BigDecimal
diff --git a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/FrontStack.scala b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/FrontStack.scala
similarity index 99%
rename from sdk/daml-lf/data/src/main/scala/com/daml/lf/data/FrontStack.scala
rename to sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/FrontStack.scala
index 2ea4f81f5f..5ba298eb82 100644
--- a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/FrontStack.scala
+++ b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/FrontStack.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.data
+package com.digitalasset.daml.lf.data
import ScalazEqual.{equalBy, orderBy, toIterableForScalazInstances}
import scalaz.{Applicative, Equal, Order, Traverse}
diff --git a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/IdString.scala b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/IdString.scala
similarity index 99%
rename from sdk/daml-lf/data/src/main/scala/com/daml/lf/data/IdString.scala
rename to sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/IdString.scala
index 6c5042dc79..8cefc8d586 100644
--- a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/IdString.scala
+++ b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/IdString.scala
@@ -1,6 +1,6 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.data
+package com.digitalasset.daml.lf.data
import com.daml.scalautil.Statement.discard
diff --git a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/ImmArray.scala b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/ImmArray.scala
similarity index 99%
rename from sdk/daml-lf/data/src/main/scala/com/daml/lf/data/ImmArray.scala
rename to sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/ImmArray.scala
index c64d99df81..cc83a14cea 100644
--- a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/ImmArray.scala
+++ b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/ImmArray.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.data
+package com.digitalasset.daml.lf.data
import com.daml.scalautil.FoldableContravariant
import com.daml.scalautil.Statement.discard
diff --git a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/InsertOrdSet.scala b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/InsertOrdSet.scala
similarity index 98%
rename from sdk/daml-lf/data/src/main/scala/com/daml/lf/data/InsertOrdSet.scala
rename to sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/InsertOrdSet.scala
index 75b1d33e93..f637bdc725 100644
--- a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/InsertOrdSet.scala
+++ b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/InsertOrdSet.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.data
+package com.digitalasset.daml.lf.data
import scala.collection.{IterableFactory, IterableFactoryDefaults}
import scala.collection.immutable.{AbstractSet, HashSet, Queue, StrictOptimizedSetOps}
diff --git a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/NoCopy.scala b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/NoCopy.scala
similarity index 87%
rename from sdk/daml-lf/data/src/main/scala/com/daml/lf/data/NoCopy.scala
rename to sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/NoCopy.scala
index b4a7681ff6..418e361356 100644
--- a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/NoCopy.scala
+++ b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/NoCopy.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.data
+package com.digitalasset.daml.lf.data
trait NoCopy {
// prevents autogeneration of copy method in case class
diff --git a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/NumericModule.scala b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/NumericModule.scala
similarity index 99%
rename from sdk/daml-lf/data/src/main/scala/com/daml/lf/data/NumericModule.scala
rename to sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/NumericModule.scala
index e91a49005d..a6a20f1520 100644
--- a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/NumericModule.scala
+++ b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/NumericModule.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.data
+package com.digitalasset.daml.lf.data
import scalaz.Order
import java.math.{BigDecimal, BigInteger, RoundingMode}
diff --git a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/RedBlackTree.scala b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/RedBlackTree.scala
similarity index 99%
rename from sdk/daml-lf/data/src/main/scala/com/daml/lf/data/RedBlackTree.scala
rename to sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/RedBlackTree.scala
index b7f6335d94..d1e3333163 100644
--- a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/RedBlackTree.scala
+++ b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/RedBlackTree.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package data
import com.daml.scalautil.Statement.discard
diff --git a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/Ref.scala b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/Ref.scala
similarity index 99%
rename from sdk/daml-lf/data/src/main/scala/com/daml/lf/data/Ref.scala
rename to sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/Ref.scala
index 080bc23806..6df93a3860 100644
--- a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/Ref.scala
+++ b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/Ref.scala
@@ -1,10 +1,10 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package data
-import com.daml.lf
+import com.digitalasset.daml.lf
import com.daml.scalautil.Statement.discard
import scalaz.Scalaz.eitherMonad
import scalaz.syntax.traverse._
diff --git a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/Relation.scala b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/Relation.scala
similarity index 90%
rename from sdk/daml-lf/data/src/main/scala/com/daml/lf/data/Relation.scala
rename to sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/Relation.scala
index b9a3907554..87fbf336c8 100644
--- a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/Relation.scala
+++ b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/Relation.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package data
object Relation {
@@ -14,9 +14,9 @@ object Relation {
// as the same
// this fits our purposes for the moment
/** A Relation. */
- @deprecated("2.4.0", "use com.daml.lf.Relation")
+ @deprecated("2.4.0", "use com.digitalasset.daml.lf.Relation")
type Relation[A, B] = data.Relation[A, B] // alias for Map[A, Set[B]]
- @deprecated("2.4.0", "use com.daml.lf.Relation")
+ @deprecated("2.4.0", "use com.digitalasset.daml.lf.Relation")
val Relation = this
def empty[A, B]: data.Relation[A, B] = Map.empty
diff --git a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/ScalazEqual.scala b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/ScalazEqual.scala
similarity index 98%
rename from sdk/daml-lf/data/src/main/scala/com/daml/lf/data/ScalazEqual.scala
rename to sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/ScalazEqual.scala
index 53d8a7918e..8d1dc054c8 100644
--- a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/ScalazEqual.scala
+++ b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/ScalazEqual.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.data
+package com.digitalasset.daml.lf.data
import scalaz.{@@, Equal, Order, Tag}
import scalaz.syntax.order._
diff --git a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/SortedLookupList.scala b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/SortedLookupList.scala
similarity index 98%
rename from sdk/daml-lf/data/src/main/scala/com/daml/lf/data/SortedLookupList.scala
rename to sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/SortedLookupList.scala
index 89295e85cd..602e6f731b 100644
--- a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/SortedLookupList.scala
+++ b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/SortedLookupList.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.data
+package com.digitalasset.daml.lf.data
import ScalazEqual.{equalBy, orderBy}
diff --git a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/Struct.scala b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/Struct.scala
similarity index 99%
rename from sdk/daml-lf/data/src/main/scala/com/daml/lf/data/Struct.scala
rename to sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/Struct.scala
index 08c47d584f..e839b2e5f3 100644
--- a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/Struct.scala
+++ b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/Struct.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package data
import IdString.`Name order instance`
diff --git a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/TemplateOrInterface.scala b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/TemplateOrInterface.scala
similarity index 93%
rename from sdk/daml-lf/data/src/main/scala/com/daml/lf/data/TemplateOrInterface.scala
rename to sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/TemplateOrInterface.scala
index c6cd35c937..619472385a 100644
--- a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/TemplateOrInterface.scala
+++ b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/TemplateOrInterface.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package data
// glorified Either to handle template or interface cases
diff --git a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/Time.scala b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/Time.scala
similarity index 97%
rename from sdk/daml-lf/data/src/main/scala/com/daml/lf/data/Time.scala
rename to sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/Time.scala
index e7553d05dd..714ce1492a 100644
--- a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/Time.scala
+++ b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/Time.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package data
import java.math.{RoundingMode, BigDecimal}
@@ -34,7 +34,7 @@ object Time {
object Date {
- @deprecated("use com.daml.lf.data.Time.Data", since = "2.9.0")
+ @deprecated("use com.digitalasset.daml.lf.data.Time.Data", since = "2.9.0")
type T = Date
private val formatter: DateTimeFormatter =
@@ -122,7 +122,7 @@ object Time {
// lets change that HalfUp for daml 3.
val DefaultRounding = RoundingMode.FLOOR
- @deprecated("use com.daml.lf.data.Time.Data", since = "2.9.0")
+ @deprecated("use com.digitalasset.daml.lf.data.Time.Data", since = "2.9.0")
type T = Timestamp
val Resolution: Duration = Duration.of(1L, ChronoUnit.MICROS)
diff --git a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/Trampoline.scala b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/Trampoline.scala
similarity index 94%
rename from sdk/daml-lf/data/src/main/scala/com/daml/lf/data/Trampoline.scala
rename to sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/Trampoline.scala
index b53aa5c221..9f2df0ff48 100644
--- a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/Trampoline.scala
+++ b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/Trampoline.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package data
import scala.annotation.tailrec
diff --git a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/TryOps.scala b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/TryOps.scala
similarity index 93%
rename from sdk/daml-lf/data/src/main/scala/com/daml/lf/data/TryOps.scala
rename to sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/TryOps.scala
index 43535a5ed0..44f43e0a8e 100644
--- a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/TryOps.scala
+++ b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/TryOps.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.data
+package com.digitalasset.daml.lf.data
import scala.util.{Success, Try}
diff --git a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/Utf8.scala b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/Utf8.scala
similarity index 99%
rename from sdk/daml-lf/data/src/main/scala/com/daml/lf/data/Utf8.scala
rename to sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/Utf8.scala
index 105aeea10c..86989f71c0 100644
--- a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/Utf8.scala
+++ b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/Utf8.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package data
import com.daml.crypto.MessageDigestPrototype
diff --git a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/logging/LoggingConfiguration.scala b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/logging/LoggingConfiguration.scala
similarity index 93%
rename from sdk/daml-lf/data/src/main/scala/com/daml/lf/data/logging/LoggingConfiguration.scala
rename to sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/logging/LoggingConfiguration.scala
index cbe6c33fa8..8327a8c958 100644
--- a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/logging/LoggingConfiguration.scala
+++ b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/logging/LoggingConfiguration.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.data.logging
+package com.digitalasset.daml.lf.data.logging
case class LoggingConfiguration(
maxPartyNameLength: Option[Int]
diff --git a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/logging/package.scala b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/logging/package.scala
similarity index 89%
rename from sdk/daml-lf/data/src/main/scala/com/daml/lf/data/logging/package.scala
rename to sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/logging/package.scala
index d64763bfcc..bb34592f0f 100644
--- a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/logging/package.scala
+++ b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/logging/package.scala
@@ -1,10 +1,10 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.data
+package com.digitalasset.daml.lf.data
-import com.daml.lf.data.Ref.{Identifier, LedgerString, Party, TypeConRef}
-import com.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.data.Ref.{Identifier, LedgerString, Party, TypeConRef}
+import com.digitalasset.daml.lf.data.Time.Timestamp
import com.daml.logging.entries.{LoggingKey, LoggingValue, ToLoggingKey, ToLoggingValue}
package object logging {
diff --git a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/package.scala b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/package.scala
similarity index 94%
rename from sdk/daml-lf/data/src/main/scala/com/daml/lf/data/package.scala
rename to sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/package.scala
index 3433f4f1b1..c62b01d928 100644
--- a/sdk/daml-lf/data/src/main/scala/com/daml/lf/data/package.scala
+++ b/sdk/daml-lf/data/src/main/scala/com/digitalasset/daml/lf/data/package.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package object data {
diff --git a/sdk/daml-lf/data/src/test/scala/com/daml/lf/LfVersionsSpec.scala b/sdk/daml-lf/data/src/test/scala/com/digitalasset/daml/lf/LfVersionsSpec.scala
similarity index 98%
rename from sdk/daml-lf/data/src/test/scala/com/daml/lf/LfVersionsSpec.scala
rename to sdk/daml-lf/data/src/test/scala/com/digitalasset/daml/lf/LfVersionsSpec.scala
index 9ea9211642..5d80070e92 100644
--- a/sdk/daml-lf/data/src/test/scala/com/daml/lf/LfVersionsSpec.scala
+++ b/sdk/daml-lf/data/src/test/scala/com/digitalasset/daml/lf/LfVersionsSpec.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
import org.scalacheck.Arbitrary.arbitrary
import org.scalacheck.{Arbitrary, Gen}
diff --git a/sdk/daml-lf/data/src/test/scala/com/daml/lf/data/DecimalSpec.scala b/sdk/daml-lf/data/src/test/scala/com/digitalasset/daml/lf/data/DecimalSpec.scala
similarity index 98%
rename from sdk/daml-lf/data/src/test/scala/com/daml/lf/data/DecimalSpec.scala
rename to sdk/daml-lf/data/src/test/scala/com/digitalasset/daml/lf/data/DecimalSpec.scala
index 6af2e7cea4..0fcfff99a4 100644
--- a/sdk/daml-lf/data/src/test/scala/com/daml/lf/data/DecimalSpec.scala
+++ b/sdk/daml-lf/data/src/test/scala/com/digitalasset/daml/lf/data/DecimalSpec.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.data
+package com.digitalasset.daml.lf.data
import org.scalatest.prop.TableDrivenPropertyChecks
import org.scalatest.matchers.should.Matchers
diff --git a/sdk/daml-lf/data/src/test/scala/com/daml/lf/data/FrontStackSpec.scala b/sdk/daml-lf/data/src/test/scala/com/digitalasset/daml/lf/data/FrontStackSpec.scala
similarity index 98%
rename from sdk/daml-lf/data/src/test/scala/com/daml/lf/data/FrontStackSpec.scala
rename to sdk/daml-lf/data/src/test/scala/com/digitalasset/daml/lf/data/FrontStackSpec.scala
index fedbad5a44..029976329b 100644
--- a/sdk/daml-lf/data/src/test/scala/com/daml/lf/data/FrontStackSpec.scala
+++ b/sdk/daml-lf/data/src/test/scala/com/digitalasset/daml/lf/data/FrontStackSpec.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.data
+package com.digitalasset.daml.lf.data
import com.daml.scalatest.{Unnatural, WordSpecCheckLaws}
import org.scalatestplus.scalacheck.ScalaCheckPropertyChecks
diff --git a/sdk/daml-lf/data/src/test/scala/com/daml/lf/data/ImmArrayTest.scala b/sdk/daml-lf/data/src/test/scala/com/digitalasset/daml/lf/data/ImmArrayTest.scala
similarity index 99%
rename from sdk/daml-lf/data/src/test/scala/com/daml/lf/data/ImmArrayTest.scala
rename to sdk/daml-lf/data/src/test/scala/com/digitalasset/daml/lf/data/ImmArrayTest.scala
index 9a2156615c..b980df26c1 100644
--- a/sdk/daml-lf/data/src/test/scala/com/daml/lf/data/ImmArrayTest.scala
+++ b/sdk/daml-lf/data/src/test/scala/com/digitalasset/daml/lf/data/ImmArrayTest.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.data
+package com.digitalasset.daml.lf.data
import com.daml.scalatest.{FlatSpecCheckLaws, Unnatural}
import org.scalatest.matchers.should.Matchers
diff --git a/sdk/daml-lf/data/src/test/scala/com/daml/lf/data/InsertOrdSetTest.scala b/sdk/daml-lf/data/src/test/scala/com/digitalasset/daml/lf/data/InsertOrdSetTest.scala
similarity index 96%
rename from sdk/daml-lf/data/src/test/scala/com/daml/lf/data/InsertOrdSetTest.scala
rename to sdk/daml-lf/data/src/test/scala/com/digitalasset/daml/lf/data/InsertOrdSetTest.scala
index e0d22fae70..8353713d7a 100644
--- a/sdk/daml-lf/data/src/test/scala/com/daml/lf/data/InsertOrdSetTest.scala
+++ b/sdk/daml-lf/data/src/test/scala/com/digitalasset/daml/lf/data/InsertOrdSetTest.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.data
+package com.digitalasset.daml.lf.data
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
diff --git a/sdk/daml-lf/data/src/test/scala/com/daml/lf/data/NumericSpec.scala b/sdk/daml-lf/data/src/test/scala/com/digitalasset/daml/lf/data/NumericSpec.scala
similarity index 99%
rename from sdk/daml-lf/data/src/test/scala/com/daml/lf/data/NumericSpec.scala
rename to sdk/daml-lf/data/src/test/scala/com/digitalasset/daml/lf/data/NumericSpec.scala
index db1fb8e111..26a09f0ab1 100644
--- a/sdk/daml-lf/data/src/test/scala/com/daml/lf/data/NumericSpec.scala
+++ b/sdk/daml-lf/data/src/test/scala/com/digitalasset/daml/lf/data/NumericSpec.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.data
+package com.digitalasset.daml.lf.data
import java.math.BigDecimal
diff --git a/sdk/daml-lf/data/src/test/scala/com/daml/lf/data/RefTest.scala b/sdk/daml-lf/data/src/test/scala/com/digitalasset/daml/lf/data/RefTest.scala
similarity index 99%
rename from sdk/daml-lf/data/src/test/scala/com/daml/lf/data/RefTest.scala
rename to sdk/daml-lf/data/src/test/scala/com/digitalasset/daml/lf/data/RefTest.scala
index 627a7d6128..a90e79bb8d 100644
--- a/sdk/daml-lf/data/src/test/scala/com/daml/lf/data/RefTest.scala
+++ b/sdk/daml-lf/data/src/test/scala/com/digitalasset/daml/lf/data/RefTest.scala
@@ -1,9 +1,9 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.data
+package com.digitalasset.daml.lf.data
-import com.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.data.Ref._
import org.scalatest.EitherValues
import org.scalatest.freespec.AnyFreeSpec
import org.scalatest.matchers.should.Matchers
diff --git a/sdk/daml-lf/data/src/test/scala/com/daml/lf/data/RelationTest.scala b/sdk/daml-lf/data/src/test/scala/com/digitalasset/daml/lf/data/RelationTest.scala
similarity index 98%
rename from sdk/daml-lf/data/src/test/scala/com/daml/lf/data/RelationTest.scala
rename to sdk/daml-lf/data/src/test/scala/com/digitalasset/daml/lf/data/RelationTest.scala
index 2a739d4b97..2d5b3af352 100644
--- a/sdk/daml-lf/data/src/test/scala/com/daml/lf/data/RelationTest.scala
+++ b/sdk/daml-lf/data/src/test/scala/com/digitalasset/daml/lf/data/RelationTest.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.data
+package com.digitalasset.daml.lf.data
import org.scalacheck.Arbitrary.arbitrary
import org.scalacheck.Gen
diff --git a/sdk/daml-lf/data/src/test/scala/com/daml/lf/data/SortedLookupListSpec.scala b/sdk/daml-lf/data/src/test/scala/com/digitalasset/daml/lf/data/SortedLookupListSpec.scala
similarity index 97%
rename from sdk/daml-lf/data/src/test/scala/com/daml/lf/data/SortedLookupListSpec.scala
rename to sdk/daml-lf/data/src/test/scala/com/digitalasset/daml/lf/data/SortedLookupListSpec.scala
index 7530ef5ddf..546a6246fd 100644
--- a/sdk/daml-lf/data/src/test/scala/com/daml/lf/data/SortedLookupListSpec.scala
+++ b/sdk/daml-lf/data/src/test/scala/com/digitalasset/daml/lf/data/SortedLookupListSpec.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.data
+package com.digitalasset.daml.lf.data
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
diff --git a/sdk/daml-lf/data/src/test/scala/com/daml/lf/data/StructSpec.scala b/sdk/daml-lf/data/src/test/scala/com/digitalasset/daml/lf/data/StructSpec.scala
similarity index 98%
rename from sdk/daml-lf/data/src/test/scala/com/daml/lf/data/StructSpec.scala
rename to sdk/daml-lf/data/src/test/scala/com/digitalasset/daml/lf/data/StructSpec.scala
index d3467b73de..4171f65e18 100644
--- a/sdk/daml-lf/data/src/test/scala/com/daml/lf/data/StructSpec.scala
+++ b/sdk/daml-lf/data/src/test/scala/com/digitalasset/daml/lf/data/StructSpec.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.data
+package com.digitalasset.daml.lf.data
import org.scalatestplus.scalacheck.ScalaCheckPropertyChecks
import org.scalatest.matchers.should.Matchers
diff --git a/sdk/daml-lf/data/src/test/scala/com/daml/lf/data/TimeSpec.scala b/sdk/daml-lf/data/src/test/scala/com/digitalasset/daml/lf/data/TimeSpec.scala
similarity index 98%
rename from sdk/daml-lf/data/src/test/scala/com/daml/lf/data/TimeSpec.scala
rename to sdk/daml-lf/data/src/test/scala/com/digitalasset/daml/lf/data/TimeSpec.scala
index c1d1e22d5f..7d8b47bb4d 100644
--- a/sdk/daml-lf/data/src/test/scala/com/daml/lf/data/TimeSpec.scala
+++ b/sdk/daml-lf/data/src/test/scala/com/digitalasset/daml/lf/data/TimeSpec.scala
@@ -1,14 +1,14 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.data
+package com.digitalasset.daml.lf.data
import java.time.format.DateTimeFormatter
import java.time.temporal.ChronoField
import java.time.{Duration, Instant, LocalDate}
import java.util.concurrent.TimeUnit
-import com.daml.lf.data.Time._
+import com.digitalasset.daml.lf.data.Time._
import org.scalatest.prop.TableDrivenPropertyChecks
import org.scalatest.matchers.should.Matchers
import org.scalatest.freespec.AnyFreeSpec
diff --git a/sdk/daml-lf/data/src/test/scala/com/daml/lf/data/TreeMapSpec.scala b/sdk/daml-lf/data/src/test/scala/com/digitalasset/daml/lf/data/TreeMapSpec.scala
similarity index 98%
rename from sdk/daml-lf/data/src/test/scala/com/daml/lf/data/TreeMapSpec.scala
rename to sdk/daml-lf/data/src/test/scala/com/digitalasset/daml/lf/data/TreeMapSpec.scala
index bfd3884e22..6b64389d87 100644
--- a/sdk/daml-lf/data/src/test/scala/com/daml/lf/data/TreeMapSpec.scala
+++ b/sdk/daml-lf/data/src/test/scala/com/digitalasset/daml/lf/data/TreeMapSpec.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.data
+package com.digitalasset.daml.lf.data
import org.scalatest.matchers.should.Matchers
import org.scalatest.prop.TableDrivenPropertyChecks
diff --git a/sdk/daml-lf/data/src/test/scala/com/daml/lf/data/Utf8Spec.scala b/sdk/daml-lf/data/src/test/scala/com/digitalasset/daml/lf/data/Utf8Spec.scala
similarity index 99%
rename from sdk/daml-lf/data/src/test/scala/com/daml/lf/data/Utf8Spec.scala
rename to sdk/daml-lf/data/src/test/scala/com/digitalasset/daml/lf/data/Utf8Spec.scala
index 46b611f1be..9600c2c9f0 100644
--- a/sdk/daml-lf/data/src/test/scala/com/daml/lf/data/Utf8Spec.scala
+++ b/sdk/daml-lf/data/src/test/scala/com/digitalasset/daml/lf/data/Utf8Spec.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.data
+package com.digitalasset.daml.lf.data
import org.scalacheck.Gen
import org.scalatestplus.scalacheck.ScalaCheckDrivenPropertyChecks
diff --git a/sdk/daml-lf/encoder/BUILD.bazel b/sdk/daml-lf/encoder/BUILD.bazel
index 1b67c08850..a9de7bfdfa 100644
--- a/sdk/daml-lf/encoder/BUILD.bazel
+++ b/sdk/daml-lf/encoder/BUILD.bazel
@@ -22,7 +22,7 @@ da_scala_library(
name = "encoder",
srcs = glob(
["src/main/**/*.scala"],
- exclude = ["src/main/scala/com/daml/lf/archive/testing/DamlLfEncoder.scala"],
+ exclude = ["src/main/scala/com/digitalasset/daml/lf/archive/testing/DamlLfEncoder.scala"],
),
scala_deps = [
"@maven//:org_scalaz_scalaz_core",
@@ -70,8 +70,8 @@ da_scala_test_suite(
da_scala_binary(
name = "encoder_binary",
- srcs = glob(["src/main/scala/com/daml/lf/archive/testing/DamlLfEncoder.scala"]),
- main_class = "com.daml.lf.archive.testing.DamlLfEncoder",
+ srcs = glob(["src/main/scala/com/digitalasset/daml/lf/archive/testing/DamlLfEncoder.scala"]),
+ main_class = "com.digitalasset.daml.lf.archive.testing.DamlLfEncoder",
scalacopts = lf_scalacopts_stricter,
visibility = ["//visibility:public"],
runtime_deps = [
@@ -143,7 +143,7 @@ da_scala_binary(
outs = ["TestDars-%s.scala" % mangle_for_java(keyword)],
cmd = """
cat > $@ < PLF}
-import com.daml.lf.data.Ref.PackageId
-import com.daml.lf.language.Ast.Package
-import com.daml.lf.language.{LanguageMajorVersion, LanguageVersion}
+import com.digitalasset.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.language.Ast.Package
+import com.digitalasset.daml.lf.language.{LanguageMajorVersion, LanguageVersion}
/** The Daml-LF Encoder library can be used to build dar files directly from LF
* definitions without passing through Damlc.
diff --git a/sdk/daml-lf/encoder/src/main/scala/com/daml/lf/archive/testing/EncodeV2.scala b/sdk/daml-lf/encoder/src/main/scala/com/digitalasset/daml/lf/archive/testing/EncodeV2.scala
similarity index 99%
rename from sdk/daml-lf/encoder/src/main/scala/com/daml/lf/archive/testing/EncodeV2.scala
rename to sdk/daml-lf/encoder/src/main/scala/com/digitalasset/daml/lf/archive/testing/EncodeV2.scala
index 16230c578e..7c5106cbaf 100644
--- a/sdk/daml-lf/encoder/src/main/scala/com/daml/lf/archive/testing/EncodeV2.scala
+++ b/sdk/daml-lf/encoder/src/main/scala/com/digitalasset/daml/lf/archive/testing/EncodeV2.scala
@@ -1,15 +1,15 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.archive
+package com.digitalasset.daml.lf.archive
package testing
import com.daml.daml_lf_dev.{DamlLf2 => PLF}
-import com.daml.lf.archive.testing.Encode.{EncodeError, expect}
-import com.daml.lf.data.Ref._
-import com.daml.lf.data._
-import com.daml.lf.language.Ast._
-import com.daml.lf.language.{LanguageVersion => LV, Util => AstUtil}
+import com.digitalasset.daml.lf.archive.testing.Encode.{EncodeError, expect}
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.data._
+import com.digitalasset.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.language.{LanguageVersion => LV, Util => AstUtil}
import scala.Ordering.Implicits.infixOrderingOps
import scala.annotation.tailrec
diff --git a/sdk/daml-lf/encoder/src/test/scala/com/daml/lf/testing/archive/DamlLfEncoderTest.scala b/sdk/daml-lf/encoder/src/test/scala/com/digitalasset/daml/lf/testing/archive/DamlLfEncoderTest.scala
similarity index 93%
rename from sdk/daml-lf/encoder/src/test/scala/com/daml/lf/testing/archive/DamlLfEncoderTest.scala
rename to sdk/daml-lf/encoder/src/test/scala/com/digitalasset/daml/lf/testing/archive/DamlLfEncoderTest.scala
index f67a2ecfd9..5456caed9e 100644
--- a/sdk/daml-lf/encoder/src/test/scala/com/daml/lf/testing/archive/DamlLfEncoderTest.scala
+++ b/sdk/daml-lf/encoder/src/test/scala/com/digitalasset/daml/lf/testing/archive/DamlLfEncoderTest.scala
@@ -1,22 +1,22 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.testing.archive
+package com.digitalasset.daml.lf.testing.archive
import java.io.File
import com.daml.bazeltools.BazelRunfiles
import com.daml.daml_lf_dev.DamlLf2
-import com.daml.lf.archive.{
+import com.digitalasset.daml.lf.archive.{
ArchivePayload,
Dar,
DecodeV2,
UniversalArchiveDecoder,
UniversalArchiveReader,
}
-import com.daml.lf.data.Ref.DottedName
-import com.daml.lf.data.Ref.ModuleName
-import com.daml.lf.language.Ast
-import com.daml.lf.language.LanguageVersion
+import com.digitalasset.daml.lf.data.Ref.DottedName
+import com.digitalasset.daml.lf.data.Ref.ModuleName
+import com.digitalasset.daml.lf.language.Ast
+import com.digitalasset.daml.lf.language.LanguageVersion
import org.scalatest.prop.TableDrivenPropertyChecks
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
diff --git a/sdk/daml-lf/encoder/src/test/scala/com/daml/lf/testing/archive/EncodeSpec.scala b/sdk/daml-lf/encoder/src/test/scala/com/digitalasset/daml/lf/testing/archive/EncodeSpec.scala
similarity index 96%
rename from sdk/daml-lf/encoder/src/test/scala/com/daml/lf/testing/archive/EncodeSpec.scala
rename to sdk/daml-lf/encoder/src/test/scala/com/digitalasset/daml/lf/testing/archive/EncodeSpec.scala
index 845be20f56..124bf161c3 100644
--- a/sdk/daml-lf/encoder/src/test/scala/com/daml/lf/testing/archive/EncodeSpec.scala
+++ b/sdk/daml-lf/encoder/src/test/scala/com/digitalasset/daml/lf/testing/archive/EncodeSpec.scala
@@ -1,17 +1,17 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package testing.archive
-import com.daml.lf.archive.Decode
-import com.daml.lf.archive.testing.Encode
-import com.daml.lf.data.Ref._
-import com.daml.lf.language.Ast._
-import com.daml.lf.language.{Ast, LanguageVersion}
-import com.daml.lf.testing.parser.Implicits.SyntaxHelper
-import com.daml.lf.testing.parser.{AstRewriter, ParserParameters}
-import com.daml.lf.validation.Validation
+import com.digitalasset.daml.lf.archive.Decode
+import com.digitalasset.daml.lf.archive.testing.Encode
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.language.{Ast, LanguageVersion}
+import com.digitalasset.daml.lf.testing.parser.Implicits.SyntaxHelper
+import com.digitalasset.daml.lf.testing.parser.{AstRewriter, ParserParameters}
+import com.digitalasset.daml.lf.validation.Validation
import org.scalatest.prop.TableDrivenPropertyChecks
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
diff --git a/sdk/daml-lf/engine/src/main/scala/com/daml/lf/engine/Blinding.scala b/sdk/daml-lf/engine/src/main/scala/com/digitalasset/daml/lf/engine/Blinding.scala
similarity index 90%
rename from sdk/daml-lf/engine/src/main/scala/com/daml/lf/engine/Blinding.scala
rename to sdk/daml-lf/engine/src/main/scala/com/digitalasset/daml/lf/engine/Blinding.scala
index e87567363e..a89d3699dd 100644
--- a/sdk/daml-lf/engine/src/main/scala/com/daml/lf/engine/Blinding.scala
+++ b/sdk/daml-lf/engine/src/main/scala/com/digitalasset/daml/lf/engine/Blinding.scala
@@ -1,14 +1,19 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.engine
+package com.digitalasset.daml.lf.engine
-import com.daml.lf.data._
-import com.daml.lf.data.Ref.{PackageId, Party}
-import com.daml.lf.transaction.Node
-import com.daml.lf.transaction.{BlindingInfo, Transaction, NodeId, VersionedTransaction}
-import com.daml.lf.ledger._
-import com.daml.lf.data.Relation
+import com.digitalasset.daml.lf.data._
+import com.digitalasset.daml.lf.data.Ref.{PackageId, Party}
+import com.digitalasset.daml.lf.transaction.Node
+import com.digitalasset.daml.lf.transaction.{
+ BlindingInfo,
+ Transaction,
+ NodeId,
+ VersionedTransaction,
+}
+import com.digitalasset.daml.lf.ledger._
+import com.digitalasset.daml.lf.data.Relation
import scala.annotation.tailrec
diff --git a/sdk/daml-lf/engine/src/main/scala/com/daml/lf/engine/ConcurrentCompiledPackages.scala b/sdk/daml-lf/engine/src/main/scala/com/digitalasset/daml/lf/engine/ConcurrentCompiledPackages.scala
similarity index 95%
rename from sdk/daml-lf/engine/src/main/scala/com/daml/lf/engine/ConcurrentCompiledPackages.scala
rename to sdk/daml-lf/engine/src/main/scala/com/digitalasset/daml/lf/engine/ConcurrentCompiledPackages.scala
index 1ed3e0d0ef..645df38410 100644
--- a/sdk/daml-lf/engine/src/main/scala/com/daml/lf/engine/ConcurrentCompiledPackages.scala
+++ b/sdk/daml-lf/engine/src/main/scala/com/digitalasset/daml/lf/engine/ConcurrentCompiledPackages.scala
@@ -1,15 +1,15 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package engine
import java.util.concurrent.ConcurrentHashMap
-import com.daml.lf.data.Ref.PackageId
-import com.daml.lf.engine.ConcurrentCompiledPackages.AddPackageState
-import com.daml.lf.language.Ast.{Package, PackageSignature}
-import com.daml.lf.language.{Util => AstUtil}
-import com.daml.lf.speedy.Compiler
+import com.digitalasset.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.engine.ConcurrentCompiledPackages.AddPackageState
+import com.digitalasset.daml.lf.language.Ast.{Package, PackageSignature}
+import com.digitalasset.daml.lf.language.{Util => AstUtil}
+import com.digitalasset.daml.lf.speedy.Compiler
import com.daml.nameof.NameOf
import com.daml.scalautil.Statement.discard
diff --git a/sdk/daml-lf/engine/src/main/scala/com/daml/lf/engine/Engine.scala b/sdk/daml-lf/engine/src/main/scala/com/digitalasset/daml/lf/engine/Engine.scala
similarity index 94%
rename from sdk/daml-lf/engine/src/main/scala/com/daml/lf/engine/Engine.scala
rename to sdk/daml-lf/engine/src/main/scala/com/digitalasset/daml/lf/engine/Engine.scala
index 70a91bfe70..9f1f7f1810 100644
--- a/sdk/daml-lf/engine/src/main/scala/com/daml/lf/engine/Engine.scala
+++ b/sdk/daml-lf/engine/src/main/scala/com/digitalasset/daml/lf/engine/Engine.scala
@@ -1,18 +1,26 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package engine
-import com.daml.lf.command._
-import com.daml.lf.data._
-import com.daml.lf.data.Ref.{Identifier, PackageId, ParticipantId, Party}
-import com.daml.lf.language.Ast._
-import com.daml.lf.speedy.{InitialSeeding, Pretty, Question, SError, SResult, SValue, TraceLog}
-import com.daml.lf.speedy.SExpr.{SEApp, SExpr}
-import com.daml.lf.speedy.Speedy.{Machine, PureMachine, UpdateMachine}
-import com.daml.lf.speedy.SResult._
-import com.daml.lf.transaction.{
+import com.digitalasset.daml.lf.command._
+import com.digitalasset.daml.lf.data._
+import com.digitalasset.daml.lf.data.Ref.{Identifier, PackageId, ParticipantId, Party}
+import com.digitalasset.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.speedy.{
+ InitialSeeding,
+ Pretty,
+ Question,
+ SError,
+ SResult,
+ SValue,
+ TraceLog,
+}
+import com.digitalasset.daml.lf.speedy.SExpr.{SEApp, SExpr}
+import com.digitalasset.daml.lf.speedy.Speedy.{Machine, PureMachine, UpdateMachine}
+import com.digitalasset.daml.lf.speedy.SResult._
+import com.digitalasset.daml.lf.transaction.{
Node,
SubmittedTransaction,
Versioned,
@@ -21,12 +29,17 @@ import com.daml.lf.transaction.{
}
import java.nio.file.Files
-import com.daml.lf.value.Value
-import com.daml.lf.value.Value.ContractId
-import com.daml.lf.language.{LanguageMajorVersion, LanguageVersion, LookupError, PackageInterface}
-import com.daml.lf.speedy.Speedy.Machine.newTraceLog
-import com.daml.lf.stablepackages.StablePackages
-import com.daml.lf.validation.Validation
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.language.{
+ LanguageMajorVersion,
+ LanguageVersion,
+ LookupError,
+ PackageInterface,
+}
+import com.digitalasset.daml.lf.speedy.Speedy.Machine.newTraceLog
+import com.digitalasset.daml.lf.stablepackages.StablePackages
+import com.digitalasset.daml.lf.validation.Validation
import com.daml.logging.LoggingContext
import com.daml.nameof.NameOf
import com.daml.scalautil.Statement.discard
@@ -41,10 +54,14 @@ object EngineLogger {
def toTraceLog(logger: Option[EngineLogger]): TraceLog = logger match {
case Some(value) =>
new TraceLog {
- override def add(message: String, optLocation: Option[com.daml.lf.data.Ref.Location])(
- implicit loggingContext: LoggingContext
+ override def add(
+ message: String,
+ optLocation: Option[com.digitalasset.daml.lf.data.Ref.Location],
+ )(implicit
+ loggingContext: LoggingContext
): Unit = value.add(message)
- override def iterator: Iterator[(String, Option[com.daml.lf.data.Ref.Location])] =
+ override def iterator
+ : Iterator[(String, Option[com.digitalasset.daml.lf.data.Ref.Location])] =
Iterator.empty
}
case None => newTraceLog
@@ -530,7 +547,7 @@ class Engine(val config: EngineConfig) {
def clearPackages(): Unit = compiledPackages.clear()
- /** Note: it's important we return a [[com.daml.lf.CompiledPackages]],
+ /** Note: it's important we return a [[com.digitalasset.daml.lf.CompiledPackages]],
* and not a [[ConcurrentCompiledPackages]], otherwise people would be able
* to modify them.
*/
diff --git a/sdk/daml-lf/engine/src/main/scala/com/daml/lf/engine/EngineConfig.scala b/sdk/daml-lf/engine/src/main/scala/com/digitalasset/daml/lf/engine/EngineConfig.scala
similarity index 95%
rename from sdk/daml-lf/engine/src/main/scala/com/daml/lf/engine/EngineConfig.scala
rename to sdk/daml-lf/engine/src/main/scala/com/digitalasset/daml/lf/engine/EngineConfig.scala
index dfb07f4d84..b63e2988b7 100644
--- a/sdk/daml-lf/engine/src/main/scala/com/daml/lf/engine/EngineConfig.scala
+++ b/sdk/daml-lf/engine/src/main/scala/com/digitalasset/daml/lf/engine/EngineConfig.scala
@@ -1,17 +1,17 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package engine
-import com.daml.lf.speedy.{
+import com.digitalasset.daml.lf.speedy.{
AuthorizationChecker,
DefaultAuthorizationChecker,
NoopAuthorizationChecker,
}
import java.nio.file.Path
-import com.daml.lf.transaction.ContractKeyUniquenessMode
+import com.digitalasset.daml.lf.transaction.ContractKeyUniquenessMode
/** The Engine configurations describes the versions of language and
* transaction the engine is allowed to read and write together with
diff --git a/sdk/daml-lf/engine/src/main/scala/com/daml/lf/engine/EngineInfo.scala b/sdk/daml-lf/engine/src/main/scala/com/digitalasset/daml/lf/engine/EngineInfo.scala
similarity index 96%
rename from sdk/daml-lf/engine/src/main/scala/com/daml/lf/engine/EngineInfo.scala
rename to sdk/daml-lf/engine/src/main/scala/com/digitalasset/daml/lf/engine/EngineInfo.scala
index 678bfa744f..428a6199f9 100644
--- a/sdk/daml-lf/engine/src/main/scala/com/daml/lf/engine/EngineInfo.scala
+++ b/sdk/daml-lf/engine/src/main/scala/com/digitalasset/daml/lf/engine/EngineInfo.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package engine
class EngineInfo(config: EngineConfig) {
diff --git a/sdk/daml-lf/engine/src/main/scala/com/daml/lf/engine/Error.scala b/sdk/daml-lf/engine/src/main/scala/com/digitalasset/daml/lf/engine/Error.scala
similarity index 96%
rename from sdk/daml-lf/engine/src/main/scala/com/daml/lf/engine/Error.scala
rename to sdk/daml-lf/engine/src/main/scala/com/digitalasset/daml/lf/engine/Error.scala
index 6a5b23809d..9678859241 100644
--- a/sdk/daml-lf/engine/src/main/scala/com/daml/lf/engine/Error.scala
+++ b/sdk/daml-lf/engine/src/main/scala/com/digitalasset/daml/lf/engine/Error.scala
@@ -1,13 +1,13 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package engine
-import com.daml.lf.data.Ref
-import com.daml.lf.language.{Ast, LookupError}
-import com.daml.lf.transaction.NodeId
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.language.{Ast, LookupError}
+import com.digitalasset.daml.lf.transaction.NodeId
+import com.digitalasset.daml.lf.value.Value
sealed abstract class Error {
def message: String
diff --git a/sdk/daml-lf/engine/src/main/scala/com/daml/lf/engine/Event.scala b/sdk/daml-lf/engine/src/main/scala/com/digitalasset/daml/lf/engine/Event.scala
similarity index 91%
rename from sdk/daml-lf/engine/src/main/scala/com/daml/lf/engine/Event.scala
rename to sdk/daml-lf/engine/src/main/scala/com/digitalasset/daml/lf/engine/Event.scala
index 6189cf0de3..865c3eeb1a 100644
--- a/sdk/daml-lf/engine/src/main/scala/com/daml/lf/engine/Event.scala
+++ b/sdk/daml-lf/engine/src/main/scala/com/digitalasset/daml/lf/engine/Event.scala
@@ -1,15 +1,15 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package engine
-import com.daml.lf.data.Ref.{ChoiceName, Identifier, Party}
-import com.daml.lf.transaction.NodeId
-import com.daml.lf.data.ImmArray
-import com.daml.lf.transaction.GlobalKeyWithMaintainers
-import com.daml.lf.value.Value
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.data.Ref.{ChoiceName, Identifier, Party}
+import com.digitalasset.daml.lf.transaction.NodeId
+import com.digitalasset.daml.lf.data.ImmArray
+import com.digitalasset.daml.lf.transaction.GlobalKeyWithMaintainers
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value.ContractId
import com.daml.scalautil.Statement.discard
// --------------------------
diff --git a/sdk/daml-lf/engine/src/main/scala/com/daml/lf/engine/MutableCompiledPackages.scala b/sdk/daml-lf/engine/src/main/scala/com/digitalasset/daml/lf/engine/MutableCompiledPackages.scala
similarity index 79%
rename from sdk/daml-lf/engine/src/main/scala/com/daml/lf/engine/MutableCompiledPackages.scala
rename to sdk/daml-lf/engine/src/main/scala/com/digitalasset/daml/lf/engine/MutableCompiledPackages.scala
index 2e5060fad2..9dc3c2e286 100644
--- a/sdk/daml-lf/engine/src/main/scala/com/daml/lf/engine/MutableCompiledPackages.scala
+++ b/sdk/daml-lf/engine/src/main/scala/com/digitalasset/daml/lf/engine/MutableCompiledPackages.scala
@@ -1,12 +1,12 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package engine
-import com.daml.lf.data.Ref.PackageId
-import com.daml.lf.language.Ast.Package
-import com.daml.lf.speedy.{Compiler, SDefinition, SExpr}
+import com.digitalasset.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.language.Ast.Package
+import com.digitalasset.daml.lf.speedy.{Compiler, SDefinition, SExpr}
/** Trait that extends [[CompiledPackages]] with the ability to
* add new packages.
diff --git a/sdk/daml-lf/engine/src/main/scala/com/daml/lf/engine/Result.scala b/sdk/daml-lf/engine/src/main/scala/com/digitalasset/daml/lf/engine/Result.scala
similarity index 97%
rename from sdk/daml-lf/engine/src/main/scala/com/daml/lf/engine/Result.scala
rename to sdk/daml-lf/engine/src/main/scala/com/digitalasset/daml/lf/engine/Result.scala
index 5096e071f3..448b35aff6 100644
--- a/sdk/daml-lf/engine/src/main/scala/com/daml/lf/engine/Result.scala
+++ b/sdk/daml-lf/engine/src/main/scala/com/digitalasset/daml/lf/engine/Result.scala
@@ -1,14 +1,14 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package engine
-import com.daml.lf.data.Ref._
-import com.daml.lf.data.{BackStack, FrontStack, ImmArray}
-import com.daml.lf.language.Ast._
-import com.daml.lf.transaction.GlobalKeyWithMaintainers
-import com.daml.lf.value.Value._
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.data.{BackStack, FrontStack, ImmArray}
+import com.digitalasset.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.transaction.GlobalKeyWithMaintainers
+import com.digitalasset.daml.lf.value.Value._
import scalaz.Monad
import scala.annotation.tailrec
diff --git a/sdk/daml-lf/engine/src/main/scala/com/daml/lf/engine/ValueEnricher.scala b/sdk/daml-lf/engine/src/main/scala/com/digitalasset/daml/lf/engine/ValueEnricher.scala
similarity index 95%
rename from sdk/daml-lf/engine/src/main/scala/com/daml/lf/engine/ValueEnricher.scala
rename to sdk/daml-lf/engine/src/main/scala/com/digitalasset/daml/lf/engine/ValueEnricher.scala
index 53d91db329..271eaa8237 100644
--- a/sdk/daml-lf/engine/src/main/scala/com/daml/lf/engine/ValueEnricher.scala
+++ b/sdk/daml-lf/engine/src/main/scala/com/digitalasset/daml/lf/engine/ValueEnricher.scala
@@ -1,12 +1,12 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package engine
-import com.daml.lf.data.Ref.{Identifier, Name, PackageId}
-import com.daml.lf.language.{Ast, LookupError}
-import com.daml.lf.transaction.{
+import com.digitalasset.daml.lf.data.Ref.{Identifier, Name, PackageId}
+import com.digitalasset.daml.lf.language.{Ast, LookupError}
+import com.digitalasset.daml.lf.transaction.{
GlobalKey,
GlobalKeyWithMaintainers,
IncompleteTransaction,
@@ -16,9 +16,9 @@ import com.daml.lf.transaction.{
Versioned,
VersionedTransaction,
}
-import com.daml.lf.value.Value
-import com.daml.lf.value.Value.VersionedValue
-import com.daml.lf.speedy.SValue
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value.VersionedValue
+import com.digitalasset.daml.lf.speedy.SValue
// Provide methods to add missing information in values (and value containers):
// - type constructor in records, variants, and enums
diff --git a/sdk/daml-lf/engine/src/main/scala/com/daml/lf/engine/preprocessing/CommandPreprocessor.scala b/sdk/daml-lf/engine/src/main/scala/com/digitalasset/daml/lf/engine/preprocessing/CommandPreprocessor.scala
similarity index 98%
rename from sdk/daml-lf/engine/src/main/scala/com/daml/lf/engine/preprocessing/CommandPreprocessor.scala
rename to sdk/daml-lf/engine/src/main/scala/com/digitalasset/daml/lf/engine/preprocessing/CommandPreprocessor.scala
index e5e764f763..5a6b6ac4c0 100644
--- a/sdk/daml-lf/engine/src/main/scala/com/daml/lf/engine/preprocessing/CommandPreprocessor.scala
+++ b/sdk/daml-lf/engine/src/main/scala/com/digitalasset/daml/lf/engine/preprocessing/CommandPreprocessor.scala
@@ -1,14 +1,14 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package engine
package preprocessing
-import com.daml.lf.data.Ref.PackageRef
-import com.daml.lf.data._
-import com.daml.lf.language.Ast
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.data.Ref.PackageRef
+import com.digitalasset.daml.lf.data._
+import com.digitalasset.daml.lf.language.Ast
+import com.digitalasset.daml.lf.value.Value
import com.daml.scalautil.Statement.discard
private[lf] final class CommandPreprocessor(
diff --git a/sdk/daml-lf/engine/src/main/scala/com/daml/lf/engine/preprocessing/Preprocessor.scala b/sdk/daml-lf/engine/src/main/scala/com/digitalasset/daml/lf/engine/preprocessing/Preprocessor.scala
similarity index 96%
rename from sdk/daml-lf/engine/src/main/scala/com/daml/lf/engine/preprocessing/Preprocessor.scala
rename to sdk/daml-lf/engine/src/main/scala/com/digitalasset/daml/lf/engine/preprocessing/Preprocessor.scala
index 44cec0fe5f..ff240e2336 100644
--- a/sdk/daml-lf/engine/src/main/scala/com/daml/lf/engine/preprocessing/Preprocessor.scala
+++ b/sdk/daml-lf/engine/src/main/scala/com/digitalasset/daml/lf/engine/preprocessing/Preprocessor.scala
@@ -1,15 +1,15 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package engine
package preprocessing
-import com.daml.lf.data.{Ref, ImmArray}
-import com.daml.lf.language.{Ast, LookupError}
-import com.daml.lf.speedy.SValue
-import com.daml.lf.transaction.{SubmittedTransaction, Node}
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.data.{Ref, ImmArray}
+import com.digitalasset.daml.lf.language.{Ast, LookupError}
+import com.digitalasset.daml.lf.speedy.SValue
+import com.digitalasset.daml.lf.transaction.{SubmittedTransaction, Node}
+import com.digitalasset.daml.lf.value.Value
import com.daml.nameof.NameOf
import scala.annotation.tailrec
diff --git a/sdk/daml-lf/engine/src/main/scala/com/daml/lf/engine/preprocessing/TransactionPreprocessor.scala b/sdk/daml-lf/engine/src/main/scala/com/digitalasset/daml/lf/engine/preprocessing/TransactionPreprocessor.scala
similarity index 96%
rename from sdk/daml-lf/engine/src/main/scala/com/daml/lf/engine/preprocessing/TransactionPreprocessor.scala
rename to sdk/daml-lf/engine/src/main/scala/com/digitalasset/daml/lf/engine/preprocessing/TransactionPreprocessor.scala
index 8e7d8507f8..976728f036 100644
--- a/sdk/daml-lf/engine/src/main/scala/com/daml/lf/engine/preprocessing/TransactionPreprocessor.scala
+++ b/sdk/daml-lf/engine/src/main/scala/com/digitalasset/daml/lf/engine/preprocessing/TransactionPreprocessor.scala
@@ -1,12 +1,12 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package engine
package preprocessing
-import com.daml.lf.data.{BackStack, ImmArray}
-import com.daml.lf.transaction.{Node, NodeId, SubmittedTransaction}
+import com.digitalasset.daml.lf.data.{BackStack, ImmArray}
+import com.digitalasset.daml.lf.transaction.{Node, NodeId, SubmittedTransaction}
private[preprocessing] final class TransactionPreprocessor(
commandPreprocessor: CommandPreprocessor
diff --git a/sdk/daml-lf/engine/src/main/scala/com/daml/lf/engine/preprocessing/ValueTranslator.scala b/sdk/daml-lf/engine/src/main/scala/com/digitalasset/daml/lf/engine/preprocessing/ValueTranslator.scala
similarity index 98%
rename from sdk/daml-lf/engine/src/main/scala/com/daml/lf/engine/preprocessing/ValueTranslator.scala
rename to sdk/daml-lf/engine/src/main/scala/com/digitalasset/daml/lf/engine/preprocessing/ValueTranslator.scala
index 37b40885d2..076326085f 100644
--- a/sdk/daml-lf/engine/src/main/scala/com/daml/lf/engine/preprocessing/ValueTranslator.scala
+++ b/sdk/daml-lf/engine/src/main/scala/com/digitalasset/daml/lf/engine/preprocessing/ValueTranslator.scala
@@ -1,16 +1,16 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package engine
package preprocessing
-import com.daml.lf.data._
-import com.daml.lf.language.Ast._
-import com.daml.lf.language.{Util => AstUtil}
-import com.daml.lf.speedy.{ArrayList, SValue}
-import com.daml.lf.value.Value
-import com.daml.lf.value.Value._
+import com.digitalasset.daml.lf.data._
+import com.digitalasset.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.language.{Util => AstUtil}
+import com.digitalasset.daml.lf.speedy.{ArrayList, SValue}
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value._
import scala.annotation.tailrec
diff --git a/sdk/daml-lf/engine/src/test/scala/com/daml/lf/NodeSeedsTest.scala b/sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/NodeSeedsTest.scala
similarity index 93%
rename from sdk/daml-lf/engine/src/test/scala/com/daml/lf/NodeSeedsTest.scala
rename to sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/NodeSeedsTest.scala
index 97d2006eb5..43d8144385 100644
--- a/sdk/daml-lf/engine/src/test/scala/com/daml/lf/NodeSeedsTest.scala
+++ b/sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/NodeSeedsTest.scala
@@ -1,16 +1,16 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
import com.daml.bazeltools.BazelRunfiles
-import com.daml.lf.archive.UniversalArchiveDecoder
-import com.daml.lf.data.{ImmArray, Ref, Time}
-import com.daml.lf.engine.Engine
-import com.daml.lf.language.LanguageMajorVersion
-import com.daml.lf.transaction.Transaction.ChildrenRecursion
-import com.daml.lf.transaction.{Node, NodeId, Versioned}
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.archive.UniversalArchiveDecoder
+import com.digitalasset.daml.lf.data.{ImmArray, Ref, Time}
+import com.digitalasset.daml.lf.engine.Engine
+import com.digitalasset.daml.lf.language.LanguageMajorVersion
+import com.digitalasset.daml.lf.transaction.Transaction.ChildrenRecursion
+import com.digitalasset.daml.lf.transaction.{Node, NodeId, Versioned}
+import com.digitalasset.daml.lf.value.Value
import com.daml.logging.LoggingContext
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
diff --git a/sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/AuthPropagationSpec.scala b/sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/AuthPropagationSpec.scala
similarity index 94%
rename from sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/AuthPropagationSpec.scala
rename to sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/AuthPropagationSpec.scala
index 4e4d8a99b4..36d5fce938 100644
--- a/sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/AuthPropagationSpec.scala
+++ b/sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/AuthPropagationSpec.scala
@@ -1,23 +1,30 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package engine
import com.daml.bazeltools.BazelRunfiles
-import com.daml.lf.archive.UniversalArchiveDecoder
-import com.daml.lf.command.{ApiCommand, ApiCommands}
-import com.daml.lf.data.{Bytes, FrontStack, ImmArray, Time}
-import com.daml.lf.data.Ref.{Identifier, Name, PackageId, ParticipantId, Party, QualifiedName}
-import com.daml.lf.language.Ast.Package
-import com.daml.lf.language.LanguageMajorVersion
-import com.daml.lf.ledger.FailedAuthorization.{
+import com.digitalasset.daml.lf.archive.UniversalArchiveDecoder
+import com.digitalasset.daml.lf.command.{ApiCommand, ApiCommands}
+import com.digitalasset.daml.lf.data.{Bytes, FrontStack, ImmArray, Time}
+import com.digitalasset.daml.lf.data.Ref.{
+ Identifier,
+ Name,
+ PackageId,
+ ParticipantId,
+ Party,
+ QualifiedName,
+}
+import com.digitalasset.daml.lf.language.Ast.Package
+import com.digitalasset.daml.lf.language.LanguageMajorVersion
+import com.digitalasset.daml.lf.ledger.FailedAuthorization.{
CreateMissingAuthorization,
ExerciseMissingAuthorization,
}
-import com.daml.lf.transaction.{SubmittedTransaction, TransactionVersion, Versioned}
-import com.daml.lf.transaction.Transaction.Metadata
-import com.daml.lf.value.Value.{
+import com.digitalasset.daml.lf.transaction.{SubmittedTransaction, TransactionVersion, Versioned}
+import com.digitalasset.daml.lf.transaction.Transaction.Metadata
+import com.digitalasset.daml.lf.value.Value.{
ContractId,
ContractInstance,
ValueContractId,
diff --git a/sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/AuthorizationSpec.scala b/sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/AuthorizationSpec.scala
similarity index 91%
rename from sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/AuthorizationSpec.scala
rename to sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/AuthorizationSpec.scala
index 3fe8267deb..70a41f0e66 100644
--- a/sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/AuthorizationSpec.scala
+++ b/sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/AuthorizationSpec.scala
@@ -1,19 +1,23 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package engine
-import com.daml.lf.data.{ImmArray, Ref}
-import com.daml.lf.data.Ref.Party
-import com.daml.lf.ledger.Authorize
-import com.daml.lf.ledger.FailedAuthorization._
-import com.daml.lf.speedy.DefaultAuthorizationChecker
-import com.daml.lf.transaction.test.TestNodeBuilder.CreateKey
-import com.daml.lf.transaction.{GlobalKeyWithMaintainers, Node}
-import com.daml.lf.transaction.test.{TestIdFactory, TestNodeBuilder, TransactionBuilder}
-import com.daml.lf.value.Value
-import com.daml.lf.value.Value.ValueRecord
+import com.digitalasset.daml.lf.data.{ImmArray, Ref}
+import com.digitalasset.daml.lf.data.Ref.Party
+import com.digitalasset.daml.lf.ledger.Authorize
+import com.digitalasset.daml.lf.ledger.FailedAuthorization._
+import com.digitalasset.daml.lf.speedy.DefaultAuthorizationChecker
+import com.digitalasset.daml.lf.transaction.test.TestNodeBuilder.CreateKey
+import com.digitalasset.daml.lf.transaction.{GlobalKeyWithMaintainers, Node}
+import com.digitalasset.daml.lf.transaction.test.{
+ TestIdFactory,
+ TestNodeBuilder,
+ TransactionBuilder,
+}
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value.ValueRecord
import org.scalatest.freespec.AnyFreeSpec
import org.scalatest.matchers.should.Matchers
import org.scalatest.Inside
diff --git a/sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/BlindingSpec.scala b/sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/BlindingSpec.scala
similarity index 95%
rename from sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/BlindingSpec.scala
rename to sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/BlindingSpec.scala
index 1a93d97938..99111386b8 100644
--- a/sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/BlindingSpec.scala
+++ b/sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/BlindingSpec.scala
@@ -1,15 +1,19 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package engine
-import com.daml.lf.data.ImmArray
-import com.daml.lf.engine.BlindingSpec.TxBuilder
-import com.daml.lf.transaction.{BlindingInfo, Node}
-import com.daml.lf.transaction.test.{NodeIdTransactionBuilder, TransactionBuilder, TestNodeBuilder}
-import com.daml.lf.value.Value
-import com.daml.lf.value.Value.ValueRecord
+import com.digitalasset.daml.lf.data.ImmArray
+import com.digitalasset.daml.lf.engine.BlindingSpec.TxBuilder
+import com.digitalasset.daml.lf.transaction.{BlindingInfo, Node}
+import com.digitalasset.daml.lf.transaction.test.{
+ NodeIdTransactionBuilder,
+ TransactionBuilder,
+ TestNodeBuilder,
+}
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value.ValueRecord
import org.scalatest.matchers.should.Matchers
import org.scalatest.freespec.AnyFreeSpec
diff --git a/sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/ConcurrentCompiledPackagesTest.scala b/sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ConcurrentCompiledPackagesTest.scala
similarity index 84%
rename from sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/ConcurrentCompiledPackagesTest.scala
rename to sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ConcurrentCompiledPackagesTest.scala
index c7fe816c22..19eeb52580 100644
--- a/sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/ConcurrentCompiledPackagesTest.scala
+++ b/sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ConcurrentCompiledPackagesTest.scala
@@ -1,13 +1,13 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package engine
-import com.daml.lf.language.LanguageMajorVersion
-import com.daml.lf.speedy.Compiler
-import com.daml.lf.testing.parser.Implicits.SyntaxHelper
-import com.daml.lf.testing.parser.ParserParameters
+import com.digitalasset.daml.lf.language.LanguageMajorVersion
+import com.digitalasset.daml.lf.speedy.Compiler
+import com.digitalasset.daml.lf.testing.parser.Implicits.SyntaxHelper
+import com.digitalasset.daml.lf.testing.parser.ParserParameters
import org.scalatest.Inside
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
diff --git a/sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/ContractKeySpec.scala b/sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ContractKeySpec.scala
similarity index 95%
rename from sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/ContractKeySpec.scala
rename to sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ContractKeySpec.scala
index 7a055b4816..90f9a98cd3 100644
--- a/sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/ContractKeySpec.scala
+++ b/sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ContractKeySpec.scala
@@ -1,21 +1,32 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package engine
import com.daml.bazeltools.BazelRunfiles
-import com.daml.lf.archive.UniversalArchiveDecoder
-import com.daml.lf.command.ApiCommand
-import com.daml.lf.data.Ref.{Identifier, Name, PackageId, Party, QualifiedName, TypeConName}
-import com.daml.lf.data.{Bytes, ImmArray, Ref, Time}
-import com.daml.lf.language.Ast.Package
-import com.daml.lf.language.LanguageMajorVersion
-import com.daml.lf.speedy.InitialSeeding
-import com.daml.lf.transaction.test.TransactionBuilder.assertAsVersionedContract
-import com.daml.lf.transaction.{ContractKeyUniquenessMode, GlobalKey, GlobalKeyWithMaintainers}
-import com.daml.lf.value.Value
-import com.daml.lf.value.Value.{
+import com.digitalasset.daml.lf.archive.UniversalArchiveDecoder
+import com.digitalasset.daml.lf.command.ApiCommand
+import com.digitalasset.daml.lf.data.Ref.{
+ Identifier,
+ Name,
+ PackageId,
+ Party,
+ QualifiedName,
+ TypeConName,
+}
+import com.digitalasset.daml.lf.data.{Bytes, ImmArray, Ref, Time}
+import com.digitalasset.daml.lf.language.Ast.Package
+import com.digitalasset.daml.lf.language.LanguageMajorVersion
+import com.digitalasset.daml.lf.speedy.InitialSeeding
+import com.digitalasset.daml.lf.transaction.test.TransactionBuilder.assertAsVersionedContract
+import com.digitalasset.daml.lf.transaction.{
+ ContractKeyUniquenessMode,
+ GlobalKey,
+ GlobalKeyWithMaintainers,
+}
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value.{
ContractId,
ContractInstance,
ValueContractId,
@@ -264,7 +275,7 @@ class ContractKeySpec(majorLanguageVersion: LanguageMajorVersion)
// these tests serve only as an indication of the current behavior
// but can be changed freely.
"multi keys" should {
- import com.daml.lf.language.{LanguageVersion => LV}
+ import com.digitalasset.daml.lf.language.{LanguageVersion => LV}
val nonUckEngine = new Engine(
EngineConfig(
allowedLanguageVersions = LV.AllVersions(majorLanguageVersion),
diff --git a/sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/EngineInfoTest.scala b/sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/EngineInfoTest.scala
similarity index 90%
rename from sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/EngineInfoTest.scala
rename to sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/EngineInfoTest.scala
index d92ec1b717..a2cdc8807d 100644
--- a/sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/EngineInfoTest.scala
+++ b/sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/EngineInfoTest.scala
@@ -1,9 +1,9 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.engine
+package com.digitalasset.daml.lf.engine
-import com.daml.lf.language.{LanguageMajorVersion, LanguageVersion}
+import com.digitalasset.daml.lf.language.{LanguageMajorVersion, LanguageVersion}
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
diff --git a/sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/EngineTest.scala b/sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/EngineTest.scala
similarity index 98%
rename from sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/EngineTest.scala
rename to sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/EngineTest.scala
index f54ff906f6..88f87f4587 100644
--- a/sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/EngineTest.scala
+++ b/sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/EngineTest.scala
@@ -1,16 +1,16 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package engine
import java.io.File
-import com.daml.lf.archive.UniversalArchiveDecoder
-import com.daml.lf.data.Ref._
-import com.daml.lf.data._
-import com.daml.lf.language.Ast._
-import com.daml.lf.language.Util._
-import com.daml.lf.transaction.{
+import com.digitalasset.daml.lf.archive.UniversalArchiveDecoder
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.data._
+import com.digitalasset.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.language.Util._
+import com.digitalasset.daml.lf.transaction.{
GlobalKey,
GlobalKeyWithMaintainers,
Node,
@@ -23,19 +23,25 @@ import com.daml.lf.transaction.{
Transaction => Tx,
TransactionVersion => TxVersions,
}
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value
import Value._
import com.daml.bazeltools.BazelRunfiles.rlocation
-import com.daml.lf
-import com.daml.lf.speedy.{ArrayList, DisclosedContract, InitialSeeding, SValue, svalue}
-import com.daml.lf.speedy.SValue._
-import com.daml.lf.command._
-import com.daml.lf.crypto.Hash
-import com.daml.lf.engine.Error.Interpretation
-import com.daml.lf.engine.Error.Interpretation.DamlException
-import com.daml.lf.language.{LanguageMajorVersion, LanguageVersion, PackageInterface}
-import com.daml.lf.stablepackages.StablePackages
-import com.daml.lf.transaction.test.TransactionBuilder.assertAsVersionedContract
+import com.digitalasset.daml.lf
+import com.digitalasset.daml.lf.speedy.{
+ ArrayList,
+ DisclosedContract,
+ InitialSeeding,
+ SValue,
+ svalue,
+}
+import com.digitalasset.daml.lf.speedy.SValue._
+import com.digitalasset.daml.lf.command._
+import com.digitalasset.daml.lf.crypto.Hash
+import com.digitalasset.daml.lf.engine.Error.Interpretation
+import com.digitalasset.daml.lf.engine.Error.Interpretation.DamlException
+import com.digitalasset.daml.lf.language.{LanguageMajorVersion, LanguageVersion, PackageInterface}
+import com.digitalasset.daml.lf.stablepackages.StablePackages
+import com.digitalasset.daml.lf.transaction.test.TransactionBuilder.assertAsVersionedContract
import com.daml.logging.LoggingContext
import com.daml.test.evidence.scalatest.ScalaTestSupport.Implicits.tagToContainer
import com.daml.test.evidence.tag.Security.SecurityTest.Property.Authorization
@@ -2338,7 +2344,7 @@ class EngineTest(majorLanguageVersion: LanguageMajorVersion)
}
"Engine.preloadPackage" should {
- import com.daml.lf.language.{LanguageVersion => LV}
+ import com.digitalasset.daml.lf.language.{LanguageVersion => LV}
def engine(min: LV, max: LV) =
new Engine(
@@ -2384,7 +2390,7 @@ class EngineTestAllVersions extends AnyWordSpec with Matchers with TableDrivenPr
"Engine.preloadPackage" should {
- import com.daml.lf.language.{LanguageVersion => LV}
+ import com.digitalasset.daml.lf.language.{LanguageVersion => LV}
def engine(min: LV, max: LV) =
new Engine(
diff --git a/sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/EngineValidatePackagesTest.scala b/sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/EngineValidatePackagesTest.scala
similarity index 88%
rename from sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/EngineValidatePackagesTest.scala
rename to sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/EngineValidatePackagesTest.scala
index 6707a70f6e..213a25d904 100644
--- a/sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/EngineValidatePackagesTest.scala
+++ b/sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/EngineValidatePackagesTest.scala
@@ -1,13 +1,13 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package engine
-import com.daml.lf.data.Ref
-import com.daml.lf.language.{LanguageMajorVersion, LanguageVersion}
-import com.daml.lf.testing.parser
-import com.daml.lf.testing.parser.Implicits.SyntaxHelper
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.language.{LanguageMajorVersion, LanguageVersion}
+import com.digitalasset.daml.lf.testing.parser
+import com.digitalasset.daml.lf.testing.parser.Implicits.SyntaxHelper
import org.scalatest.Inside
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
diff --git a/sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/InterfaceViewSpec.scala b/sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/InterfaceViewSpec.scala
similarity index 89%
rename from sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/InterfaceViewSpec.scala
rename to sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/InterfaceViewSpec.scala
index cece50896a..a7c381d118 100644
--- a/sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/InterfaceViewSpec.scala
+++ b/sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/InterfaceViewSpec.scala
@@ -1,18 +1,18 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package engine
import com.daml.bazeltools.BazelRunfiles
-import com.daml.lf.archive.UniversalArchiveDecoder
-import com.daml.lf.data.Ref.{Identifier, PackageId, Party, QualifiedName}
-import com.daml.lf.data.ImmArray
-import com.daml.lf.language.Ast.Package
-import com.daml.lf.language.LanguageMajorVersion
-import com.daml.lf.transaction.Versioned
-import com.daml.lf.value.Value
-import com.daml.lf.value.Value.{ValueBool, ValueInt64, ValueParty, ValueRecord}
+import com.digitalasset.daml.lf.archive.UniversalArchiveDecoder
+import com.digitalasset.daml.lf.data.Ref.{Identifier, PackageId, Party, QualifiedName}
+import com.digitalasset.daml.lf.data.ImmArray
+import com.digitalasset.daml.lf.language.Ast.Package
+import com.digitalasset.daml.lf.language.LanguageMajorVersion
+import com.digitalasset.daml.lf.transaction.Versioned
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value.{ValueBool, ValueInt64, ValueParty, ValueRecord}
import com.daml.logging.LoggingContext
import java.io.File
diff --git a/sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/InterfacesTest.scala b/sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/InterfacesTest.scala
similarity index 91%
rename from sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/InterfacesTest.scala
rename to sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/InterfacesTest.scala
index 9d1c245639..70dbf08276 100644
--- a/sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/InterfacesTest.scala
+++ b/sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/InterfacesTest.scala
@@ -1,22 +1,22 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package engine
import java.io.File
-import com.daml.lf.archive.UniversalArchiveDecoder
+import com.digitalasset.daml.lf.archive.UniversalArchiveDecoder
import com.daml.bazeltools.BazelRunfiles
-import com.daml.lf.data.Ref._
-import com.daml.lf.data._
-import com.daml.lf.language.Ast._
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.data._
+import com.digitalasset.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.value.Value
import Value._
-import com.daml.lf.command.ApiCommand
-import com.daml.lf.language.LanguageMajorVersion
-import com.daml.lf.transaction.SubmittedTransaction
-import com.daml.lf.transaction.Transaction
-import com.daml.lf.transaction.test.TransactionBuilder.assertAsVersionedContract
+import com.digitalasset.daml.lf.command.ApiCommand
+import com.digitalasset.daml.lf.language.LanguageMajorVersion
+import com.digitalasset.daml.lf.transaction.SubmittedTransaction
+import com.digitalasset.daml.lf.transaction.Transaction
+import com.digitalasset.daml.lf.transaction.test.TransactionBuilder.assertAsVersionedContract
import com.daml.logging.LoggingContext
import org.scalatest.prop.TableDrivenPropertyChecks
import org.scalatest.EitherValues
diff --git a/sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/LargeTransactionTest.scala b/sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/LargeTransactionTest.scala
similarity index 96%
rename from sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/LargeTransactionTest.scala
rename to sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/LargeTransactionTest.scala
index 2667ec4061..412518f51b 100644
--- a/sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/LargeTransactionTest.scala
+++ b/sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/LargeTransactionTest.scala
@@ -1,20 +1,20 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package engine
import java.io.File
import com.daml.bazeltools.BazelRunfiles
-import com.daml.lf.archive.UniversalArchiveDecoder
-import com.daml.lf.data.Ref._
-import com.daml.lf.data.{FrontStack, ImmArray, Ref, Time}
-import com.daml.lf.language.{Ast, LanguageMajorVersion}
-import com.daml.lf.scenario.ScenarioLedger
-import com.daml.lf.transaction.{Node, SubmittedTransaction, VersionedTransaction}
-import com.daml.lf.value.Value
-import com.daml.lf.value.Value._
-import com.daml.lf.command._
+import com.digitalasset.daml.lf.archive.UniversalArchiveDecoder
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.data.{FrontStack, ImmArray, Ref, Time}
+import com.digitalasset.daml.lf.language.{Ast, LanguageMajorVersion}
+import com.digitalasset.daml.lf.scenario.ScenarioLedger
+import com.digitalasset.daml.lf.transaction.{Node, SubmittedTransaction, VersionedTransaction}
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value._
+import com.digitalasset.daml.lf.command._
import com.daml.logging.LoggingContext
import org.scalameter
import org.scalameter.Quantity
diff --git a/sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/MetaDataTest.scala b/sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/MetaDataTest.scala
similarity index 89%
rename from sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/MetaDataTest.scala
rename to sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/MetaDataTest.scala
index a9f268894c..c350445f71 100644
--- a/sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/MetaDataTest.scala
+++ b/sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/MetaDataTest.scala
@@ -1,17 +1,24 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package engine
-import com.daml.lf.transaction.test.TestNodeBuilder.{CreateKey, CreateTransactionVersion}
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.PackageId
-import com.daml.lf.language.LanguageMajorVersion
-import com.daml.lf.transaction.test.TransactionBuilder.Implicits._
-import com.daml.lf.transaction.test.{TestIdFactory, TestNodeBuilder, TreeTransactionBuilder}
-import com.daml.lf.transaction.{Node, TransactionVersion}
-import com.daml.lf.value.Value.{ValueParty, ValueUnit}
+import com.digitalasset.daml.lf.transaction.test.TestNodeBuilder.{
+ CreateKey,
+ CreateTransactionVersion,
+}
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.language.LanguageMajorVersion
+import com.digitalasset.daml.lf.transaction.test.TransactionBuilder.Implicits._
+import com.digitalasset.daml.lf.transaction.test.{
+ TestIdFactory,
+ TestNodeBuilder,
+ TreeTransactionBuilder,
+}
+import com.digitalasset.daml.lf.transaction.{Node, TransactionVersion}
+import com.digitalasset.daml.lf.value.Value.{ValueParty, ValueUnit}
import org.scalatest.matchers.should.Matchers
import org.scalatest.prop.TableDrivenPropertyChecks
import org.scalatest.wordspec.AnyWordSpec
diff --git a/sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/PreprocessorSpec.scala b/sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/PreprocessorSpec.scala
similarity index 93%
rename from sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/PreprocessorSpec.scala
rename to sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/PreprocessorSpec.scala
index 6e9bf6a0e9..c1d8e86f33 100644
--- a/sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/PreprocessorSpec.scala
+++ b/sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/PreprocessorSpec.scala
@@ -1,25 +1,34 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package engine
-import com.daml.lf.crypto.Hash
-import com.daml.lf.data.Ref.{PackageRef, Party}
-import com.daml.lf.data.{Bytes, FrontStack, ImmArray, Ref}
-import com.daml.lf.command.ApiCommand
-import com.daml.lf.language.{Ast, LanguageMajorVersion, LanguageVersion}
-import com.daml.lf.speedy.{ArrayList, Command, DisclosedContract, SValue}
-import com.daml.lf.value.Value.{ContractId, ValueInt64, ValueList, ValueParty, ValueRecord}
+import com.digitalasset.daml.lf.crypto.Hash
+import com.digitalasset.daml.lf.data.Ref.{PackageRef, Party}
+import com.digitalasset.daml.lf.data.{Bytes, FrontStack, ImmArray, Ref}
+import com.digitalasset.daml.lf.command.ApiCommand
+import com.digitalasset.daml.lf.language.{Ast, LanguageMajorVersion, LanguageVersion}
+import com.digitalasset.daml.lf.speedy.{ArrayList, Command, DisclosedContract, SValue}
+import com.digitalasset.daml.lf.value.Value.{
+ ContractId,
+ ValueInt64,
+ ValueList,
+ ValueParty,
+ ValueRecord,
+}
import org.scalatest.{Assertion, Inside, Inspectors}
import org.scalatest.matchers.should.Matchers
import org.scalatest.prop.TableDrivenPropertyChecks
import org.scalatest.wordspec.AnyWordSpec
-import com.daml.lf.testing.parser.Implicits.SyntaxHelper
-import com.daml.lf.testing.parser.ParserParameters
-import com.daml.lf.transaction.test.TransactionBuilder.Implicits.{defaultPackageId => _, _}
-import com.daml.lf.value.Value
-import com.daml.lf.speedy.Compiler
+import com.digitalasset.daml.lf.testing.parser.Implicits.SyntaxHelper
+import com.digitalasset.daml.lf.testing.parser.ParserParameters
+import com.digitalasset.daml.lf.transaction.test.TransactionBuilder.Implicits.{
+ defaultPackageId => _,
+ _,
+}
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.speedy.Compiler
class PreprocessorSpecV2 extends PreprocessorSpec(LanguageMajorVersion.V2)
diff --git a/sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/ReinterpretTest.scala b/sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ReinterpretTest.scala
similarity index 91%
rename from sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/ReinterpretTest.scala
rename to sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ReinterpretTest.scala
index f9edf6eb89..18c02f18ff 100644
--- a/sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/ReinterpretTest.scala
+++ b/sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ReinterpretTest.scala
@@ -1,20 +1,20 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package engine
import java.io.File
-import com.daml.lf.archive.UniversalArchiveDecoder
+import com.digitalasset.daml.lf.archive.UniversalArchiveDecoder
import com.daml.bazeltools.BazelRunfiles
-import com.daml.lf.data.Ref._
-import com.daml.lf.data._
-import com.daml.lf.language.Ast._
-import com.daml.lf.transaction.{Node, NodeId, SubmittedTransaction, Transaction}
-import com.daml.lf.value.Value._
-import com.daml.lf.command.ReplayCommand
-import com.daml.lf.language.LanguageMajorVersion
-import com.daml.lf.transaction.test.TransactionBuilder.assertAsVersionedContract
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.data._
+import com.digitalasset.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.transaction.{Node, NodeId, SubmittedTransaction, Transaction}
+import com.digitalasset.daml.lf.value.Value._
+import com.digitalasset.daml.lf.command.ReplayCommand
+import com.digitalasset.daml.lf.language.LanguageMajorVersion
+import com.digitalasset.daml.lf.transaction.test.TransactionBuilder.assertAsVersionedContract
import com.daml.logging.LoggingContext
import org.scalatest.prop.TableDrivenPropertyChecks
import org.scalatest.EitherValues
diff --git a/sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/ValueEnricherSpec.scala b/sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ValueEnricherSpec.scala
similarity index 90%
rename from sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/ValueEnricherSpec.scala
rename to sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ValueEnricherSpec.scala
index 6c93c3eb97..c7d9e51f61 100644
--- a/sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/ValueEnricherSpec.scala
+++ b/sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ValueEnricherSpec.scala
@@ -1,21 +1,28 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package engine
-import com.daml.lf.transaction.test.TestNodeBuilder.{CreateKey, CreateTransactionVersion}
-import com.daml.lf.crypto.Hash
-import com.daml.lf.data._
-import com.daml.lf.language.Ast.{TNat, TTyCon, Type}
-import com.daml.lf.language.LanguageMajorVersion
-import com.daml.lf.language.Util._
-import com.daml.lf.testing.parser.Implicits.SyntaxHelper
-import com.daml.lf.testing.parser.ParserParameters
-import com.daml.lf.transaction.test.{TestNodeBuilder, TransactionBuilder, TreeTransactionBuilder}
-import com.daml.lf.transaction.{CommittedTransaction, NodeId, TransactionVersion}
-import com.daml.lf.value.Value
-import com.daml.lf.value.Value._
+import com.digitalasset.daml.lf.transaction.test.TestNodeBuilder.{
+ CreateKey,
+ CreateTransactionVersion,
+}
+import com.digitalasset.daml.lf.crypto.Hash
+import com.digitalasset.daml.lf.data._
+import com.digitalasset.daml.lf.language.Ast.{TNat, TTyCon, Type}
+import com.digitalasset.daml.lf.language.LanguageMajorVersion
+import com.digitalasset.daml.lf.language.Util._
+import com.digitalasset.daml.lf.testing.parser.Implicits.SyntaxHelper
+import com.digitalasset.daml.lf.testing.parser.ParserParameters
+import com.digitalasset.daml.lf.transaction.test.{
+ TestNodeBuilder,
+ TransactionBuilder,
+ TreeTransactionBuilder,
+}
+import com.digitalasset.daml.lf.transaction.{CommittedTransaction, NodeId, TransactionVersion}
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value._
import org.scalatest.matchers.should.Matchers
import org.scalatest.prop.TableDrivenPropertyChecks
import org.scalatest.wordspec.AnyWordSpec
diff --git a/sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/preprocessing/ApiCommandPreprocessorSpec.scala b/sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/preprocessing/ApiCommandPreprocessorSpec.scala
similarity index 94%
rename from sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/preprocessing/ApiCommandPreprocessorSpec.scala
rename to sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/preprocessing/ApiCommandPreprocessorSpec.scala
index dc2ab3c1b7..87673851a3 100644
--- a/sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/preprocessing/ApiCommandPreprocessorSpec.scala
+++ b/sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/preprocessing/ApiCommandPreprocessorSpec.scala
@@ -1,23 +1,23 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package engine
package preprocessing
-import com.daml.lf.command.ApiCommand
-import com.daml.lf.data.Ref.PackageId
-import com.daml.lf.data._
-import com.daml.lf.language.LanguageMajorVersion
-import com.daml.lf.testing.parser.ParserParameters
-import com.daml.lf.transaction.test.TransactionBuilder.newCid
-import com.daml.lf.value.Value._
+import com.digitalasset.daml.lf.command.ApiCommand
+import com.digitalasset.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.data._
+import com.digitalasset.daml.lf.language.LanguageMajorVersion
+import com.digitalasset.daml.lf.testing.parser.ParserParameters
+import com.digitalasset.daml.lf.transaction.test.TransactionBuilder.newCid
+import com.digitalasset.daml.lf.value.Value._
import org.scalatest.matchers.dsl.ResultOfATypeInvocation
import org.scalatest.Inside
import org.scalatest.matchers.should.Matchers
import org.scalatest.prop.TableDrivenPropertyChecks
import org.scalatest.wordspec.AnyWordSpec
-import com.daml.lf.speedy.Compiler
+import com.digitalasset.daml.lf.speedy.Compiler
import scala.util.{Failure, Success, Try}
@@ -29,8 +29,11 @@ class ApiCommandPreprocessorSpec(majorLanguageVersion: LanguageMajorVersion)
with TableDrivenPropertyChecks
with Inside {
- import com.daml.lf.testing.parser.Implicits.SyntaxHelper
- import com.daml.lf.transaction.test.TransactionBuilder.Implicits.{defaultPackageId => _, _}
+ import com.digitalasset.daml.lf.testing.parser.Implicits.SyntaxHelper
+ import com.digitalasset.daml.lf.transaction.test.TransactionBuilder.Implicits.{
+ defaultPackageId => _,
+ _,
+ }
private implicit val parserParameters: ParserParameters[this.type] =
ParserParameters.defaultFor(majorLanguageVersion)
diff --git a/sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/preprocessing/ReplayCommandPreprocessorSpec.scala b/sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/preprocessing/ReplayCommandPreprocessorSpec.scala
similarity index 94%
rename from sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/preprocessing/ReplayCommandPreprocessorSpec.scala
rename to sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/preprocessing/ReplayCommandPreprocessorSpec.scala
index 5469d839b6..ed369a4bfc 100644
--- a/sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/preprocessing/ReplayCommandPreprocessorSpec.scala
+++ b/sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/preprocessing/ReplayCommandPreprocessorSpec.scala
@@ -1,22 +1,22 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package engine
package preprocessing
-import com.daml.lf.command.ReplayCommand
-import com.daml.lf.data._
-import com.daml.lf.language.LanguageMajorVersion
-import com.daml.lf.testing.parser.ParserParameters
-import com.daml.lf.transaction.test.TransactionBuilder.newCid
-import com.daml.lf.value.Value._
+import com.digitalasset.daml.lf.command.ReplayCommand
+import com.digitalasset.daml.lf.data._
+import com.digitalasset.daml.lf.language.LanguageMajorVersion
+import com.digitalasset.daml.lf.testing.parser.ParserParameters
+import com.digitalasset.daml.lf.transaction.test.TransactionBuilder.newCid
+import com.digitalasset.daml.lf.value.Value._
import org.scalatest.matchers.dsl.ResultOfATypeInvocation
import org.scalatest.Inside
import org.scalatest.matchers.should.Matchers
import org.scalatest.prop.TableDrivenPropertyChecks
import org.scalatest.wordspec.AnyWordSpec
-import com.daml.lf.speedy.Compiler
+import com.digitalasset.daml.lf.speedy.Compiler
import scala.util.{Failure, Success, Try}
@@ -28,8 +28,11 @@ class ReplayCommandPreprocessorSpec(majorLanguageVersion: LanguageMajorVersion)
with TableDrivenPropertyChecks
with Inside {
- import com.daml.lf.testing.parser.Implicits.SyntaxHelper
- import com.daml.lf.transaction.test.TransactionBuilder.Implicits.{defaultPackageId => _, _}
+ import com.digitalasset.daml.lf.testing.parser.Implicits.SyntaxHelper
+ import com.digitalasset.daml.lf.transaction.test.TransactionBuilder.Implicits.{
+ defaultPackageId => _,
+ _,
+ }
private implicit val parserParameters: ParserParameters[this.type] =
ParserParameters.defaultFor(majorLanguageVersion)
diff --git a/sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/preprocessing/ValueTranslatorSpec.scala b/sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/preprocessing/ValueTranslatorSpec.scala
similarity index 95%
rename from sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/preprocessing/ValueTranslatorSpec.scala
rename to sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/preprocessing/ValueTranslatorSpec.scala
index bc1bb7da15..73b55edd75 100644
--- a/sdk/daml-lf/engine/src/test/scala/com/daml/lf/engine/preprocessing/ValueTranslatorSpec.scala
+++ b/sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/preprocessing/ValueTranslatorSpec.scala
@@ -1,23 +1,23 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package engine
package preprocessing
-import com.daml.lf.data._
-import com.daml.lf.language.{Ast, LanguageMajorVersion}
-import com.daml.lf.language.Util._
-import com.daml.lf.speedy.ArrayList
-import com.daml.lf.speedy.SValue._
-import com.daml.lf.testing.parser.ParserParameters
-import com.daml.lf.value.Value
-import com.daml.lf.value.Value._
+import com.digitalasset.daml.lf.data._
+import com.digitalasset.daml.lf.language.{Ast, LanguageMajorVersion}
+import com.digitalasset.daml.lf.language.Util._
+import com.digitalasset.daml.lf.speedy.ArrayList
+import com.digitalasset.daml.lf.speedy.SValue._
+import com.digitalasset.daml.lf.testing.parser.ParserParameters
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value._
import org.scalatest.Inside
import org.scalatest.matchers.should.Matchers
import org.scalatest.prop.TableDrivenPropertyChecks
import org.scalatest.wordspec.AnyWordSpec
-import com.daml.lf.speedy.Compiler
+import com.digitalasset.daml.lf.speedy.Compiler
import scala.util.{Failure, Success, Try}
@@ -30,8 +30,11 @@ class ValueTranslatorSpec(majorLanguageVersion: LanguageMajorVersion)
with TableDrivenPropertyChecks {
import ValueTranslator.Config
- import com.daml.lf.testing.parser.Implicits.SyntaxHelper
- import com.daml.lf.transaction.test.TransactionBuilder.Implicits.{defaultPackageId => _, _}
+ import com.digitalasset.daml.lf.testing.parser.Implicits.SyntaxHelper
+ import com.digitalasset.daml.lf.transaction.test.TransactionBuilder.Implicits.{
+ defaultPackageId => _,
+ _,
+ }
private[this] implicit val parserParameters: ParserParameters[ValueTranslatorSpec.this.type] =
ParserParameters.defaultFor(majorLanguageVersion)
diff --git a/sdk/daml-lf/engine/src/test/scala/com/daml/lf/language/PackageInterfaceSpec.scala b/sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/language/PackageInterfaceSpec.scala
similarity index 90%
rename from sdk/daml-lf/engine/src/test/scala/com/daml/lf/language/PackageInterfaceSpec.scala
rename to sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/language/PackageInterfaceSpec.scala
index b81ec5f2c6..9ed75148e9 100644
--- a/sdk/daml-lf/engine/src/test/scala/com/daml/lf/language/PackageInterfaceSpec.scala
+++ b/sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/language/PackageInterfaceSpec.scala
@@ -1,14 +1,18 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package language
-import com.daml.lf.data.Ref.Identifier
-import com.daml.lf.data._
-import com.daml.lf.language.Ast._
-import com.daml.lf.language.PackageInterface.{DataEnumInfo, DataRecordInfo, DataVariantInfo}
-import com.daml.lf.testing.parser.ParserParameters
+import com.digitalasset.daml.lf.data.Ref.Identifier
+import com.digitalasset.daml.lf.data._
+import com.digitalasset.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.language.PackageInterface.{
+ DataEnumInfo,
+ DataRecordInfo,
+ DataVariantInfo,
+}
+import com.digitalasset.daml.lf.testing.parser.ParserParameters
import org.scalatest.{Assertion, Inside}
import org.scalatest.matchers.should.Matchers
import org.scalatest.prop._
@@ -22,8 +26,11 @@ class PackageInterfaceSpec(majorLanguageVersion: LanguageMajorVersion)
with TableDrivenPropertyChecks
with Inside {
- import com.daml.lf.testing.parser.Implicits.SyntaxHelper
- import com.daml.lf.transaction.test.TransactionBuilder.Implicits.{defaultPackageId => _, _}
+ import com.digitalasset.daml.lf.testing.parser.Implicits.SyntaxHelper
+ import com.digitalasset.daml.lf.transaction.test.TransactionBuilder.Implicits.{
+ defaultPackageId => _,
+ _,
+ }
// TODO https://github.com/digital-asset/daml/issues/12051
// test interfaces
diff --git a/sdk/daml-lf/engine/src/test/scala/com/daml/lf/language/util/PackageInfoSpec.scala b/sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/language/util/PackageInfoSpec.scala
similarity index 97%
rename from sdk/daml-lf/engine/src/test/scala/com/daml/lf/language/util/PackageInfoSpec.scala
rename to sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/language/util/PackageInfoSpec.scala
index 41e00353af..bf64d5c987 100644
--- a/sdk/daml-lf/engine/src/test/scala/com/daml/lf/language/util/PackageInfoSpec.scala
+++ b/sdk/daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/language/util/PackageInfoSpec.scala
@@ -1,13 +1,13 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml
+package com.digitalasset.daml
package lf
package language
package util
-import com.daml.lf.data.Ref.{PackageId, TypeConName}
-import com.daml.lf.testing.parser.ParserParameters
+import com.digitalasset.daml.lf.data.Ref.{PackageId, TypeConName}
+import com.digitalasset.daml.lf.testing.parser.ParserParameters
import data.{Ref, Relation}
import testing.parser
import org.scalatest.wordspec.AnyWordSpec
diff --git a/sdk/daml-lf/interpreter/perf/src/main/scala/com/daml/lf/speedy/explore/Explore.scala b/sdk/daml-lf/interpreter/perf/src/main/scala/com/digitalasset/daml/lf/speedy/explore/Explore.scala
similarity index 93%
rename from sdk/daml-lf/interpreter/perf/src/main/scala/com/daml/lf/speedy/explore/Explore.scala
rename to sdk/daml-lf/interpreter/perf/src/main/scala/com/digitalasset/daml/lf/speedy/explore/Explore.scala
index a916c4b2b4..b31a53cab4 100644
--- a/sdk/daml-lf/interpreter/perf/src/main/scala/com/daml/lf/speedy/explore/Explore.scala
+++ b/sdk/daml-lf/interpreter/perf/src/main/scala/com/digitalasset/daml/lf/speedy/explore/Explore.scala
@@ -1,15 +1,15 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
package explore
-import com.daml.lf.language.{LanguageMajorVersion, PackageInterface}
-import com.daml.lf.speedy.SExpr0._
-import com.daml.lf.speedy.SValue._
-import com.daml.lf.speedy.SBuiltinFun._
-import com.daml.lf.speedy.Speedy._
+import com.digitalasset.daml.lf.language.{LanguageMajorVersion, PackageInterface}
+import com.digitalasset.daml.lf.speedy.SExpr0._
+import com.digitalasset.daml.lf.speedy.SValue._
+import com.digitalasset.daml.lf.speedy.SBuiltinFun._
+import com.digitalasset.daml.lf.speedy.Speedy._
import com.daml.logging.LoggingContext
import scopt.OptionParser
diff --git a/sdk/daml-lf/interpreter/perf/src/main/scala/com/daml/lf/speedy/explore/ExploreDar.scala b/sdk/daml-lf/interpreter/perf/src/main/scala/com/digitalasset/daml/lf/speedy/explore/ExploreDar.scala
similarity index 90%
rename from sdk/daml-lf/interpreter/perf/src/main/scala/com/daml/lf/speedy/explore/ExploreDar.scala
rename to sdk/daml-lf/interpreter/perf/src/main/scala/com/digitalasset/daml/lf/speedy/explore/ExploreDar.scala
index 79e72d12bb..c802ab7045 100644
--- a/sdk/daml-lf/interpreter/perf/src/main/scala/com/daml/lf/speedy/explore/ExploreDar.scala
+++ b/sdk/daml-lf/interpreter/perf/src/main/scala/com/digitalasset/daml/lf/speedy/explore/ExploreDar.scala
@@ -1,16 +1,16 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
package explore
import com.daml.bazeltools.BazelRunfiles.rlocation
-import com.daml.lf.archive.UniversalArchiveDecoder
-import com.daml.lf.data.Ref.{DefinitionRef, Identifier, QualifiedName}
-import com.daml.lf.speedy.SExpr._
-import com.daml.lf.speedy.SValue._
-import com.daml.lf.speedy.Speedy._
+import com.digitalasset.daml.lf.archive.UniversalArchiveDecoder
+import com.digitalasset.daml.lf.data.Ref.{DefinitionRef, Identifier, QualifiedName}
+import com.digitalasset.daml.lf.speedy.SExpr._
+import com.digitalasset.daml.lf.speedy.SValue._
+import com.digitalasset.daml.lf.speedy.Speedy._
import com.daml.logging.LoggingContext
import java.io.File
diff --git a/sdk/daml-lf/interpreter/perf/src/main/scala/com/daml/lf/speedy/explore/LoadDarFunction.scala b/sdk/daml-lf/interpreter/perf/src/main/scala/com/digitalasset/daml/lf/speedy/explore/LoadDarFunction.scala
similarity index 78%
rename from sdk/daml-lf/interpreter/perf/src/main/scala/com/daml/lf/speedy/explore/LoadDarFunction.scala
rename to sdk/daml-lf/interpreter/perf/src/main/scala/com/digitalasset/daml/lf/speedy/explore/LoadDarFunction.scala
index b404292c91..51b0cdeb9e 100644
--- a/sdk/daml-lf/interpreter/perf/src/main/scala/com/daml/lf/speedy/explore/LoadDarFunction.scala
+++ b/sdk/daml-lf/interpreter/perf/src/main/scala/com/digitalasset/daml/lf/speedy/explore/LoadDarFunction.scala
@@ -1,16 +1,16 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
package explore
-import com.daml.lf.archive.UniversalArchiveDecoder
-import com.daml.lf.data.Ref.{DefinitionRef, Identifier, QualifiedName}
-import com.daml.lf.speedy.SExpr._
-import com.daml.lf.speedy.SResult._
-import com.daml.lf.speedy.SValue._
-import com.daml.lf.speedy.Speedy._
+import com.digitalasset.daml.lf.archive.UniversalArchiveDecoder
+import com.digitalasset.daml.lf.data.Ref.{DefinitionRef, Identifier, QualifiedName}
+import com.digitalasset.daml.lf.speedy.SExpr._
+import com.digitalasset.daml.lf.speedy.SResult._
+import com.digitalasset.daml.lf.speedy.SValue._
+import com.digitalasset.daml.lf.speedy.Speedy._
import com.daml.logging.LoggingContext
import java.io.File
diff --git a/sdk/daml-lf/interpreter/perf/src/main/scala/com/daml/lf/speedy/explore/SpeedTestJsonParser.scala b/sdk/daml-lf/interpreter/perf/src/main/scala/com/digitalasset/daml/lf/speedy/explore/SpeedTestJsonParser.scala
similarity index 96%
rename from sdk/daml-lf/interpreter/perf/src/main/scala/com/daml/lf/speedy/explore/SpeedTestJsonParser.scala
rename to sdk/daml-lf/interpreter/perf/src/main/scala/com/digitalasset/daml/lf/speedy/explore/SpeedTestJsonParser.scala
index a65bb72110..a744a03bf3 100644
--- a/sdk/daml-lf/interpreter/perf/src/main/scala/com/daml/lf/speedy/explore/SpeedTestJsonParser.scala
+++ b/sdk/daml-lf/interpreter/perf/src/main/scala/com/digitalasset/daml/lf/speedy/explore/SpeedTestJsonParser.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
package explore
diff --git a/sdk/daml-lf/interpreter/perf/src/main/scala/com/daml/lf/speedy/explore/SpeedTestNfib.scala b/sdk/daml-lf/interpreter/perf/src/main/scala/com/digitalasset/daml/lf/speedy/explore/SpeedTestNfib.scala
similarity index 96%
rename from sdk/daml-lf/interpreter/perf/src/main/scala/com/daml/lf/speedy/explore/SpeedTestNfib.scala
rename to sdk/daml-lf/interpreter/perf/src/main/scala/com/digitalasset/daml/lf/speedy/explore/SpeedTestNfib.scala
index 806f3c45f6..2ae38cc536 100644
--- a/sdk/daml-lf/interpreter/perf/src/main/scala/com/daml/lf/speedy/explore/SpeedTestNfib.scala
+++ b/sdk/daml-lf/interpreter/perf/src/main/scala/com/digitalasset/daml/lf/speedy/explore/SpeedTestNfib.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
package explore
diff --git a/sdk/daml-lf/interpreter/src/bench/scala/com/daml/lf/speedy/SpeedyCompilationBench.scala b/sdk/daml-lf/interpreter/src/bench/scala/com/digitalasset/daml/lf/speedy/SpeedyCompilationBench.scala
similarity index 74%
rename from sdk/daml-lf/interpreter/src/bench/scala/com/daml/lf/speedy/SpeedyCompilationBench.scala
rename to sdk/daml-lf/interpreter/src/bench/scala/com/digitalasset/daml/lf/speedy/SpeedyCompilationBench.scala
index 8320e7ab81..82d82dd424 100644
--- a/sdk/daml-lf/interpreter/src/bench/scala/com/daml/lf/speedy/SpeedyCompilationBench.scala
+++ b/sdk/daml-lf/interpreter/src/bench/scala/com/digitalasset/daml/lf/speedy/SpeedyCompilationBench.scala
@@ -1,16 +1,16 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.speedy
+package com.digitalasset.daml.lf.speedy
import com.daml.bazeltools.BazelRunfiles.rlocation
import com.daml.ledger.test.ModelTestDar
-import com.daml.lf.archive.DarDecoder
-import com.daml.lf.archive.Dar
-import com.daml.lf.data.Ref.PackageId
-import com.daml.lf.language.Ast.Package
-import com.daml.lf.language.PackageInterface
-import com.daml.lf.speedy.Compiler.{compilePackages, Config, NoPackageValidation}
+import com.digitalasset.daml.lf.archive.DarDecoder
+import com.digitalasset.daml.lf.archive.Dar
+import com.digitalasset.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.language.Ast.Package
+import com.digitalasset.daml.lf.language.PackageInterface
+import com.digitalasset.daml.lf.speedy.Compiler.{compilePackages, Config, NoPackageValidation}
import java.io.File
import org.openjdk.jmh.annotations.{Param, Setup, Level, Benchmark, State, Scope}
diff --git a/sdk/daml-lf/interpreter/src/bench/scala/com/daml/lf/speedy/StructProjBench.scala b/sdk/daml-lf/interpreter/src/bench/scala/com/digitalasset/daml/lf/speedy/StructProjBench.scala
similarity index 92%
rename from sdk/daml-lf/interpreter/src/bench/scala/com/daml/lf/speedy/StructProjBench.scala
rename to sdk/daml-lf/interpreter/src/bench/scala/com/digitalasset/daml/lf/speedy/StructProjBench.scala
index 46b1e490c1..62cca7ab2e 100644
--- a/sdk/daml-lf/interpreter/src/bench/scala/com/daml/lf/speedy/StructProjBench.scala
+++ b/sdk/daml-lf/interpreter/src/bench/scala/com/digitalasset/daml/lf/speedy/StructProjBench.scala
@@ -1,18 +1,18 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
-import com.daml.lf.language.LanguageMajorVersion
-import com.daml.lf.testing.parser._
+import com.digitalasset.daml.lf.language.LanguageMajorVersion
+import com.digitalasset.daml.lf.testing.parser._
import com.daml.logging.LoggingContext
import org.openjdk.jmh.annotations._
@State(Scope.Benchmark)
class StructProjBench {
- import com.daml.lf.testing.parser.Implicits.SyntaxHelper
+ import com.digitalasset.daml.lf.testing.parser.Implicits.SyntaxHelper
private[this] implicit def logContext: LoggingContext = LoggingContext.ForTesting
diff --git a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/CompiledPackages.scala b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/CompiledPackages.scala
similarity index 86%
rename from sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/CompiledPackages.scala
rename to sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/CompiledPackages.scala
index 1e966701a6..66fe721072 100644
--- a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/CompiledPackages.scala
+++ b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/CompiledPackages.scala
@@ -1,13 +1,13 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
-import com.daml.lf.data.Ref.PackageId
-import com.daml.lf.language.Ast.{Package, PackageSignature}
-import com.daml.lf.language.{PackageInterface, Util}
-import com.daml.lf.speedy.SExpr.SDefinitionRef
-import com.daml.lf.speedy.{Compiler, SDefinition}
+import com.digitalasset.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.language.Ast.{Package, PackageSignature}
+import com.digitalasset.daml.lf.language.{PackageInterface, Util}
+import com.digitalasset.daml.lf.speedy.SExpr.SDefinitionRef
+import com.digitalasset.daml.lf.speedy.{Compiler, SDefinition}
/** Trait to abstract over a collection holding onto Daml-LF package definitions + the
* compiled speedy expressions.
diff --git a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/ledger/BlindingTransaction.scala b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/ledger/BlindingTransaction.scala
similarity index 90%
rename from sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/ledger/BlindingTransaction.scala
rename to sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/ledger/BlindingTransaction.scala
index 5823ab856a..eac79f6491 100644
--- a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/ledger/BlindingTransaction.scala
+++ b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/ledger/BlindingTransaction.scala
@@ -1,15 +1,15 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package ledger
-import com.daml.lf.data.Ref.Party
-import com.daml.lf.data.Relation
-import com.daml.lf.transaction.BlindingInfo
-import com.daml.lf.transaction.Node
-import com.daml.lf.transaction.{NodeId, VersionedTransaction}
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.data.Ref.Party
+import com.digitalasset.daml.lf.data.Relation
+import com.digitalasset.daml.lf.transaction.BlindingInfo
+import com.digitalasset.daml.lf.transaction.Node
+import com.digitalasset.daml.lf.transaction.{NodeId, VersionedTransaction}
+import com.digitalasset.daml.lf.value.Value.ContractId
import com.daml.nameof.NameOf
object BlindingTransaction {
diff --git a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/scenario/ScenarioLedger.scala b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/scenario/ScenarioLedger.scala
similarity index 98%
rename from sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/scenario/ScenarioLedger.scala
rename to sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/scenario/ScenarioLedger.scala
index f43ea921ec..932d05366a 100644
--- a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/scenario/ScenarioLedger.scala
+++ b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/scenario/ScenarioLedger.scala
@@ -1,13 +1,13 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package scenario
-import com.daml.lf.data.Ref._
-import com.daml.lf.data.{Bytes, Time}
-import com.daml.lf.ledger._
-import com.daml.lf.transaction.{
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.data.{Bytes, Time}
+import com.digitalasset.daml.lf.ledger._
+import com.digitalasset.daml.lf.transaction.{
BlindingInfo,
CommittedTransaction,
FatContractInstance,
@@ -17,7 +17,7 @@ import com.daml.lf.transaction.{
SubmittedTransaction,
Transaction => Tx,
}
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value
import Value._
import com.daml.scalautil.Statement.discard
diff --git a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/Anf.scala b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/Anf.scala
similarity index 98%
rename from sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/Anf.scala
rename to sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/Anf.scala
index 27b87fc064..71d67649d3 100644
--- a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/Anf.scala
+++ b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/Anf.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.speedy
+package com.digitalasset.daml.lf.speedy
/** Transformation to ANF based AST for the speedy interpreter.
*
@@ -29,9 +29,9 @@ package com.daml.lf.speedy
* We use "source." and "t." for lightweight discrimination.
*/
-import com.daml.lf.speedy.{SExpr1 => source}
-import com.daml.lf.speedy.{SExpr => target}
-import com.daml.lf.speedy.Compiler.CompilationError
+import com.digitalasset.daml.lf.speedy.{SExpr1 => source}
+import com.digitalasset.daml.lf.speedy.{SExpr => target}
+import com.digitalasset.daml.lf.speedy.Compiler.CompilationError
import scala.annotation.tailrec
import scala.util.control.TailCalls._
diff --git a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/ArrayList.scala b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/ArrayList.scala
similarity index 97%
rename from sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/ArrayList.scala
rename to sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/ArrayList.scala
index 6b1357c33a..3fab681d91 100644
--- a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/ArrayList.scala
+++ b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/ArrayList.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.speedy
+package com.digitalasset.daml.lf.speedy
import com.daml.scalautil.Statement.discard
diff --git a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/AuthorizationChecker.scala b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/AuthorizationChecker.scala
similarity index 95%
rename from sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/AuthorizationChecker.scala
rename to sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/AuthorizationChecker.scala
index 477512ce40..4cc29cd311 100644
--- a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/AuthorizationChecker.scala
+++ b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/AuthorizationChecker.scala
@@ -1,13 +1,13 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
-import com.daml.lf.data.Ref.Location
-import com.daml.lf.ledger.Authorize
-import com.daml.lf.ledger.FailedAuthorization
-import com.daml.lf.transaction.Node
+import com.digitalasset.daml.lf.data.Ref.Location
+import com.digitalasset.daml.lf.ledger.Authorize
+import com.digitalasset.daml.lf.ledger.FailedAuthorization
+import com.digitalasset.daml.lf.transaction.Node
private[lf] abstract class AuthorizationChecker {
diff --git a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/Classify.scala b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/Classify.scala
similarity index 94%
rename from sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/Classify.scala
rename to sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/Classify.scala
index 2e56fd9d8b..4c9d6d9ae1 100644
--- a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/Classify.scala
+++ b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/Classify.scala
@@ -1,10 +1,10 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
-import com.daml.lf.speedy.Speedy.{Control, Machine}
+import com.digitalasset.daml.lf.speedy.Speedy.{Control, Machine}
import com.daml.scalautil.Statement.discard
import scala.collection.mutable
diff --git a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/ClosureConversion.scala b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/ClosureConversion.scala
similarity index 98%
rename from sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/ClosureConversion.scala
rename to sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/ClosureConversion.scala
index 9fc6215f29..53ffe76b9b 100644
--- a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/ClosureConversion.scala
+++ b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/ClosureConversion.scala
@@ -1,18 +1,18 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.speedy
+package com.digitalasset.daml.lf.speedy
/** Closure Conversion (Phase of the speedy compiler pipeline)
*
* This compilation phase transforms from SExpr0 to SExpr1.
*/
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
-import com.daml.lf.speedy.SExpr.SCasePat
-import com.daml.lf.speedy.{SExpr0 => source}
-import com.daml.lf.speedy.{SExpr1 => target}
+import com.digitalasset.daml.lf.speedy.SExpr.SCasePat
+import com.digitalasset.daml.lf.speedy.{SExpr0 => source}
+import com.digitalasset.daml.lf.speedy.{SExpr1 => target}
import scala.annotation.tailrec
diff --git a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/Command.scala b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/Command.scala
similarity index 91%
rename from sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/Command.scala
rename to sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/Command.scala
index 8a6fd702f7..e577730b7f 100644
--- a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/Command.scala
+++ b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/Command.scala
@@ -1,12 +1,12 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
-import com.daml.lf.data.Ref.{Identifier, ChoiceName}
-import com.daml.lf.speedy.SValue._
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.data.Ref.{Identifier, ChoiceName}
+import com.digitalasset.daml.lf.speedy.SValue._
+import com.digitalasset.daml.lf.value.Value.ContractId
// ---------------------
// Preprocessed commands
diff --git a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/Compiler.scala b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/Compiler.scala
similarity index 97%
rename from sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/Compiler.scala
rename to sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/Compiler.scala
index c3b193d0e3..caae08fb29 100644
--- a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/Compiler.scala
+++ b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/Compiler.scala
@@ -1,23 +1,28 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
-import com.daml.lf.data.Ref._
-import com.daml.lf.data.{ImmArray, Ref, Struct, Time}
-import com.daml.lf.language.Ast._
-import com.daml.lf.language.{LanguageMajorVersion, LanguageVersion, LookupError, PackageInterface}
-import com.daml.lf.speedy.Anf.flattenToAnf
-import com.daml.lf.speedy.ClosureConversion.closureConvert
-import com.daml.lf.speedy.PhaseOne.{Env, Position}
-import com.daml.lf.speedy.Profile.LabelModule
-import com.daml.lf.speedy.SBuiltinFun._
-import com.daml.lf.speedy.SValue._
-import com.daml.lf.speedy.{SExpr => t}
-import com.daml.lf.speedy.{SExpr0 => s}
-import com.daml.lf.stablepackages.StablePackages
-import com.daml.lf.validation.{Validation, ValidationError}
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.data.{ImmArray, Ref, Struct, Time}
+import com.digitalasset.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.language.{
+ LanguageMajorVersion,
+ LanguageVersion,
+ LookupError,
+ PackageInterface,
+}
+import com.digitalasset.daml.lf.speedy.Anf.flattenToAnf
+import com.digitalasset.daml.lf.speedy.ClosureConversion.closureConvert
+import com.digitalasset.daml.lf.speedy.PhaseOne.{Env, Position}
+import com.digitalasset.daml.lf.speedy.Profile.LabelModule
+import com.digitalasset.daml.lf.speedy.SBuiltinFun._
+import com.digitalasset.daml.lf.speedy.SValue._
+import com.digitalasset.daml.lf.speedy.{SExpr => t}
+import com.digitalasset.daml.lf.speedy.{SExpr0 => s}
+import com.digitalasset.daml.lf.stablepackages.StablePackages
+import com.digitalasset.daml.lf.validation.{Validation, ValidationError}
import com.daml.scalautil.Statement.discard
import org.slf4j.LoggerFactory
diff --git a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/InitialSeeding.scala b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/InitialSeeding.scala
similarity index 88%
rename from sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/InitialSeeding.scala
rename to sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/InitialSeeding.scala
index c8b2cc1ce6..baf1fb4e29 100644
--- a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/InitialSeeding.scala
+++ b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/InitialSeeding.scala
@@ -1,10 +1,10 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
-import com.daml.lf.data.ImmArray
+import com.digitalasset.daml.lf.data.ImmArray
private[lf] sealed abstract class InitialSeeding extends Product with Serializable
diff --git a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/NormalizeRollbacks.scala b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/NormalizeRollbacks.scala
similarity index 96%
rename from sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/NormalizeRollbacks.scala
rename to sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/NormalizeRollbacks.scala
index 7d6454bc4c..684d50bb04 100644
--- a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/NormalizeRollbacks.scala
+++ b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/NormalizeRollbacks.scala
@@ -1,13 +1,13 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
-import com.daml.lf.transaction.{NodeId, Transaction}
-import com.daml.lf.transaction.Node
-import com.daml.lf.data.{BackStack, ImmArray}
-import com.daml.lf.data.Trampoline.{Bounce, Land, Trampoline}
+import com.digitalasset.daml.lf.transaction.{NodeId, Transaction}
+import com.digitalasset.daml.lf.transaction.Node
+import com.digitalasset.daml.lf.data.{BackStack, ImmArray}
+import com.digitalasset.daml.lf.data.Trampoline.{Bounce, Land, Trampoline}
private[lf] object NormalizeRollbacks {
diff --git a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/PartialTransaction.scala b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/PartialTransaction.scala
similarity index 97%
rename from sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/PartialTransaction.scala
rename to sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/PartialTransaction.scala
index 8eb9a953b3..d5f42f2839 100644
--- a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/PartialTransaction.scala
+++ b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/PartialTransaction.scala
@@ -1,15 +1,15 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
-import com.daml.lf.data.Ref.{ChoiceName, Location, PackageName, Party, TypeConName}
-import com.daml.lf.data.{BackStack, ImmArray, Time}
-import com.daml.lf.ledger.Authorize
-import com.daml.lf.speedy.Speedy.{ContractInfo, CachedKey}
-import com.daml.lf.transaction.ContractKeyUniquenessMode
-import com.daml.lf.transaction.{
+import com.digitalasset.daml.lf.data.Ref.{ChoiceName, Location, PackageName, Party, TypeConName}
+import com.digitalasset.daml.lf.data.{BackStack, ImmArray, Time}
+import com.digitalasset.daml.lf.ledger.Authorize
+import com.digitalasset.daml.lf.speedy.Speedy.{ContractInfo, CachedKey}
+import com.digitalasset.daml.lf.transaction.ContractKeyUniquenessMode
+import com.digitalasset.daml.lf.transaction.{
ContractStateMachine,
GlobalKeyWithMaintainers,
Node,
@@ -19,7 +19,7 @@ import com.daml.lf.transaction.{
TransactionErrors => TxErr,
TransactionVersion => TxVersion,
}
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value
import com.daml.nameof.NameOf
import com.daml.scalautil.Statement.discard
@@ -432,7 +432,7 @@ private[speedy] case class PartialTransaction(
result,
keyVersion,
)
- // This method is only called after we have already resolved the key in com.daml.lf.speedy.SBuiltin.SBUKeyBuiltin.execute
+ // This method is only called after we have already resolved the key in com.digitalasset.daml.lf.speedy.SBuiltin.SBUKeyBuiltin.execute
// so the current state's global key inputs must resolve the key.
val keyInput = contractState.globalKeyInputs(key.globalKey)
val newContractState =
diff --git a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/PhaseOne.scala b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/PhaseOne.scala
similarity index 98%
rename from sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/PhaseOne.scala
rename to sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/PhaseOne.scala
index bbe30c0c83..f7e2551199 100644
--- a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/PhaseOne.scala
+++ b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/PhaseOne.scala
@@ -1,18 +1,18 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
-import com.daml.lf.data.Ref._
-import com.daml.lf.data.{ImmArray, Struct}
-import com.daml.lf.language.Ast._
-import com.daml.lf.language.{LookupError, PackageInterface}
-import com.daml.lf.speedy.Compiler.{ProfilingMode, StackTraceMode, CompilationError}
-import com.daml.lf.speedy.SBuiltinFun._
-import com.daml.lf.speedy.SValue._
-import com.daml.lf.speedy.SExpr0._
-import com.daml.lf.speedy.{SExpr => t}
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.data.{ImmArray, Struct}
+import com.digitalasset.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.language.{LookupError, PackageInterface}
+import com.digitalasset.daml.lf.speedy.Compiler.{ProfilingMode, StackTraceMode, CompilationError}
+import com.digitalasset.daml.lf.speedy.SBuiltinFun._
+import com.digitalasset.daml.lf.speedy.SValue._
+import com.digitalasset.daml.lf.speedy.SExpr0._
+import com.digitalasset.daml.lf.speedy.{SExpr => t}
import com.daml.nameof.NameOf
import scala.annotation.tailrec
diff --git a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/Pretty.scala b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/Pretty.scala
similarity index 97%
rename from sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/Pretty.scala
rename to sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/Pretty.scala
index 87921c6b40..a8dba14ed6 100644
--- a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/Pretty.scala
+++ b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/Pretty.scala
@@ -1,27 +1,27 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
import org.typelevel.paiges._
import org.typelevel.paiges.Doc._
-import com.daml.lf.ledger.EventId
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.ledger.EventId
+import com.digitalasset.daml.lf.value.Value
import Value._
-import com.daml.lf.ledger._
-import com.daml.lf.data.Ref._
-import com.daml.lf.scenario.ScenarioLedger.{Disclosure, TransactionId}
-import com.daml.lf.scenario._
-import com.daml.lf.transaction.{
+import com.digitalasset.daml.lf.ledger._
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.scenario.ScenarioLedger.{Disclosure, TransactionId}
+import com.digitalasset.daml.lf.scenario._
+import com.digitalasset.daml.lf.transaction.{
GlobalKeyWithMaintainers,
Node,
NodeId,
TransactionVersion => TxVersion,
}
-import com.daml.lf.speedy.SError._
-import com.daml.lf.speedy.SValue._
-import com.daml.lf.speedy.SBuiltinFun._
+import com.digitalasset.daml.lf.speedy.SError._
+import com.digitalasset.daml.lf.speedy.SValue._
+import com.digitalasset.daml.lf.speedy.SBuiltinFun._
//
// Pretty-printer for the interpreter errors and the scenario ledger
@@ -532,8 +532,8 @@ private[lf] object Pretty {
// An incomplete pretty-printer for debugging purposes. Exposed
// via the ':speedy' repl command.
- import com.daml.lf.language.Ast._
- import com.daml.lf.speedy.SExpr._
+ import com.digitalasset.daml.lf.language.Ast._
+ import com.digitalasset.daml.lf.speedy.SExpr._
def prettyAlt(index: Int)(alt: SCaseAlt): Doc = {
val (pat, newIndex) = alt.pattern match {
diff --git a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/PrettyLightweight.scala b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/PrettyLightweight.scala
similarity index 93%
rename from sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/PrettyLightweight.scala
rename to sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/PrettyLightweight.scala
index 2b73d610d7..5991991b60 100644
--- a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/PrettyLightweight.scala
+++ b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/PrettyLightweight.scala
@@ -1,14 +1,14 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
import scala.jdk.CollectionConverters._
-import com.daml.lf.speedy.Speedy._
-import com.daml.lf.speedy.SExpr._
-import com.daml.lf.speedy.SValue._
+import com.digitalasset.daml.lf.speedy.Speedy._
+import com.digitalasset.daml.lf.speedy.SExpr._
+import com.digitalasset.daml.lf.speedy.SValue._
private[speedy] object PrettyLightweight { // lightweight pretty printer for CEK machine states
diff --git a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/Profile.scala b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/Profile.scala
similarity index 98%
rename from sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/Profile.scala
rename to sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/Profile.scala
index 8d3c6f1ffb..daf9bfa8e1 100644
--- a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/Profile.scala
+++ b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/Profile.scala
@@ -1,11 +1,11 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
-import com.daml.lf.data.Ref
-import com.daml.lf.language.Ast
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.language.Ast
import com.daml.scalautil.Statement.discard
import java.lang.System
import java.nio.file.{Files, Path}
@@ -233,7 +233,7 @@ object Profile {
final class Allowed[-T] private ()
object Allowed {
- import com.daml.lf.speedy.SExpr._
+ import com.digitalasset.daml.lf.speedy.SExpr._
private[this] val allowAll = new Allowed[Any]
implicit val anonClosure: Allowed[AnonymousClosure.type] = allowAll
implicit val lfDefRef: Allowed[LfDefRef] = allowAll
diff --git a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/SBuiltinFun.scala b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/SBuiltinFun.scala
similarity index 99%
rename from sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/SBuiltinFun.scala
rename to sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/SBuiltinFun.scala
index a9e964ccee..6f078b479d 100644
--- a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/SBuiltinFun.scala
+++ b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/SBuiltinFun.scala
@@ -1,35 +1,35 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
import java.util
-import com.daml.lf.data.Ref._
-import com.daml.lf.data._
-import com.daml.lf.data.Numeric.Scale
-import com.daml.lf.interpretation.{Error => IE}
-import com.daml.lf.language.Ast
-import com.daml.lf.speedy.ArrayList.Implicits._
-import com.daml.lf.speedy.SError._
-import com.daml.lf.speedy.SExpr._
-import com.daml.lf.speedy.Speedy._
-import com.daml.lf.speedy.{SExpr0 => compileTime}
-import com.daml.lf.speedy.{SExpr => runTime}
-import com.daml.lf.speedy.SValue.{SValue => SV, _}
-import com.daml.lf.transaction.TransactionErrors.{
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.data._
+import com.digitalasset.daml.lf.data.Numeric.Scale
+import com.digitalasset.daml.lf.interpretation.{Error => IE}
+import com.digitalasset.daml.lf.language.Ast
+import com.digitalasset.daml.lf.speedy.ArrayList.Implicits._
+import com.digitalasset.daml.lf.speedy.SError._
+import com.digitalasset.daml.lf.speedy.SExpr._
+import com.digitalasset.daml.lf.speedy.Speedy._
+import com.digitalasset.daml.lf.speedy.{SExpr0 => compileTime}
+import com.digitalasset.daml.lf.speedy.{SExpr => runTime}
+import com.digitalasset.daml.lf.speedy.SValue.{SValue => SV, _}
+import com.digitalasset.daml.lf.transaction.TransactionErrors.{
AuthFailureDuringExecution,
DuplicateContractId,
DuplicateContractKey,
}
-import com.daml.lf.transaction.{
+import com.digitalasset.daml.lf.transaction.{
ContractStateMachine,
GlobalKey,
GlobalKeyWithMaintainers,
TransactionVersion,
TransactionErrors => TxErr,
}
-import com.daml.lf.value.{Value => V}
+import com.digitalasset.daml.lf.value.{Value => V}
import com.daml.nameof.NameOf
import com.daml.scalautil.Statement.discard
diff --git a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/SDefinition.scala b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/SDefinition.scala
similarity index 87%
rename from sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/SDefinition.scala
rename to sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/SDefinition.scala
index 723ff8769f..28c2aef317 100644
--- a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/SDefinition.scala
+++ b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/SDefinition.scala
@@ -1,9 +1,9 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.speedy
+package com.digitalasset.daml.lf.speedy
-import com.daml.lf.speedy.SExpr.SExpr
+import com.digitalasset.daml.lf.speedy.SExpr.SExpr
/** Top-level speedy definition.
*
diff --git a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/SError.scala b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/SError.scala
similarity index 96%
rename from sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/SError.scala
rename to sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/SError.scala
index f3e33e9ecc..eba0b14a06 100644
--- a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/SError.scala
+++ b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/SError.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
import scala.util.control.NoStackTrace
diff --git a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/SExpr.scala b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/SExpr.scala
similarity index 97%
rename from sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/SExpr.scala
rename to sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/SExpr.scala
index 3aabacf918..4c7db11ebc 100644
--- a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/SExpr.scala
+++ b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/SExpr.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
/** The simplified AST for the speedy interpreter.
@@ -16,14 +16,14 @@ package speedy
*/
import java.util
-import com.daml.lf.language.Ast._
-import com.daml.lf.data.Ref._
-import com.daml.lf.language.Ast
-import com.daml.lf.value.{Value => V}
-import com.daml.lf.speedy.SValue._
-import com.daml.lf.speedy.Speedy._
-import com.daml.lf.speedy.SBuiltinFun._
-import com.daml.lf.speedy.{SExpr0 => compileTime}
+import com.digitalasset.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.language.Ast
+import com.digitalasset.daml.lf.value.{Value => V}
+import com.digitalasset.daml.lf.speedy.SValue._
+import com.digitalasset.daml.lf.speedy.Speedy._
+import com.digitalasset.daml.lf.speedy.SBuiltinFun._
+import com.digitalasset.daml.lf.speedy.{SExpr0 => compileTime}
import com.daml.scalautil.Statement.discard
/** The speedy expression:
@@ -295,7 +295,7 @@ private[lf] object SExpr {
* runtime, if the value resulting from evaluating [[expr]] is a
* (partially applied) closure, the label of the closure is set to the
* [[label]] given here.
- * See [[com.daml.lf.speedy.Profile]] for an explanation why we use
+ * See [[com.digitalasset.daml.lf.speedy.Profile]] for an explanation why we use
* [[AnyRef]] for the label.
*/
final case class SELabelClosure(label: Profile.Label, expr: SExpr) extends SExpr {
diff --git a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/SExpr0.scala b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/SExpr0.scala
similarity index 94%
rename from sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/SExpr0.scala
rename to sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/SExpr0.scala
index 61874396e9..1bc5ed1b6b 100644
--- a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/SExpr0.scala
+++ b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/SExpr0.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
/** SExpr0 -- AST for the speedy compiler pipeline.
@@ -43,9 +43,9 @@ package speedy
* - In SExpr (runtime only, i.e. rejected by validate): SEDamlException, SEImportValue
*/
-import com.daml.lf.data.Ref._
-import com.daml.lf.speedy.SValue._
-import com.daml.lf.speedy.SExpr.{SDefinitionRef, SCasePat}
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.speedy.SValue._
+import com.digitalasset.daml.lf.speedy.SExpr.{SDefinitionRef, SCasePat}
@SuppressWarnings(Array("org.wartremover.warts.Any"))
private[speedy] object SExpr0 {
@@ -98,7 +98,7 @@ private[speedy] object SExpr0 {
* runtime, if the value resulting from evaluating [[expr]] is a
* (partially applied) closure, the label of the closure is set to the
* [[label]] given here.
- * See [[com.daml.lf.speedy.Profile]] for an explanation why we use
+ * See [[com.digitalasset.daml.lf.speedy.Profile]] for an explanation why we use
* [[AnyRef]] for the label.
*/
final case class SELabelClosure(label: Profile.Label, expr: SExpr) extends SExpr
diff --git a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/SExpr1.scala b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/SExpr1.scala
similarity index 93%
rename from sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/SExpr1.scala
rename to sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/SExpr1.scala
index 1371d5f0b2..1e8b8dc14d 100644
--- a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/SExpr1.scala
+++ b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/SExpr1.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
/** SExpr1 -- AST for the speedy compiler pipeline. (after closure conversion phase)
@@ -9,9 +9,9 @@ package speedy
* These are *not* the expression forms which run on the speedy machine. See SExpr.
*/
-import com.daml.lf.data.Ref._
-import com.daml.lf.speedy.SValue._
-import com.daml.lf.speedy.SExpr.{SDefinitionRef, SCasePat}
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.speedy.SValue._
+import com.digitalasset.daml.lf.speedy.SExpr.{SDefinitionRef, SCasePat}
private[speedy] object SExpr1 {
@@ -88,7 +88,7 @@ private[speedy] object SExpr1 {
* runtime, if the value resulting from evaluating [[expr]] is a
* (partially applied) closure, the label of the closure is set to the
* [[label]] given here.
- * See [[com.daml.lf.speedy.Profile]] for an explanation why we use
+ * See [[com.digitalasset.daml.lf.speedy.Profile]] for an explanation why we use
* [[AnyRef]] for the label.
*/
final case class SELabelClosure(label: Profile.Label, expr: SExpr) extends SExpr
diff --git a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/SResult.scala b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/SResult.scala
similarity index 93%
rename from sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/SResult.scala
rename to sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/SResult.scala
index f93fa5440f..004f6963cb 100644
--- a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/SResult.scala
+++ b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/SResult.scala
@@ -1,15 +1,15 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
-import com.daml.lf.data.Ref._
-import com.daml.lf.data.Time
-import com.daml.lf.transaction.GlobalKeyWithMaintainers
-import com.daml.lf.speedy.SError._
-import com.daml.lf.value.Value
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.data.Time
+import com.digitalasset.daml.lf.transaction.GlobalKeyWithMaintainers
+import com.digitalasset.daml.lf.speedy.SError._
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value.ContractId
object Question {
sealed abstract class Update extends Product with Serializable
diff --git a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/SValue.scala b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/SValue.scala
similarity index 97%
rename from sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/SValue.scala
rename to sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/SValue.scala
index a86ef9dea3..c2448ae0b3 100644
--- a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/SValue.scala
+++ b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/SValue.scala
@@ -1,17 +1,17 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
import java.util
-import com.daml.lf.data.{TreeMap => _, _}
-import com.daml.lf.data.Ref._
-import com.daml.lf.language.Ast._
-import com.daml.lf.speedy.SExpr.SExpr
-import com.daml.lf.transaction.TransactionVersion
-import com.daml.lf.value.Value.ValueArithmeticError
-import com.daml.lf.value.{Value => V}
+import com.digitalasset.daml.lf.data.{TreeMap => _, _}
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.speedy.SExpr.SExpr
+import com.digitalasset.daml.lf.transaction.TransactionVersion
+import com.digitalasset.daml.lf.value.Value.ValueArithmeticError
+import com.digitalasset.daml.lf.value.{Value => V}
import com.daml.scalautil.Statement.discard
import com.daml.nameof.NameOf
diff --git a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/SomeArrayEquals.scala b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/SomeArrayEquals.scala
similarity index 98%
rename from sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/SomeArrayEquals.scala
rename to sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/SomeArrayEquals.scala
index 5b2cd9d96a..e798a98292 100644
--- a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/SomeArrayEquals.scala
+++ b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/SomeArrayEquals.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.speedy
+package com.digitalasset.daml.lf.speedy
import scala.annotation.{nowarn, tailrec}
import scala.util.hashing.MurmurHash3._
diff --git a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/Speedy.scala b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/Speedy.scala
similarity index 98%
rename from sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/Speedy.scala
rename to sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/Speedy.scala
index 2a90283faf..45f6014567 100644
--- a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/Speedy.scala
+++ b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/Speedy.scala
@@ -1,27 +1,27 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
import java.util
-import com.daml.lf.data.Ref._
-import com.daml.lf.data.{FrontStack, ImmArray, NoCopy, Ref, Time}
-import com.daml.lf.interpretation.{Error => IError}
-import com.daml.lf.language.Ast._
-import com.daml.lf.language.{LookupError, Util => AstUtil}
-import com.daml.lf.language.LanguageVersionRangeOps._
-import com.daml.lf.speedy.Compiler.{CompilationError, PackageNotFound}
-import com.daml.lf.speedy.PartialTransaction.NodeSeeds
-import com.daml.lf.speedy.SError._
-import com.daml.lf.speedy.SExpr._
-import com.daml.lf.speedy.SResult._
-import com.daml.lf.speedy.SValue.SArithmeticError
-import com.daml.lf.speedy.Speedy.Machine.{newTraceLog, newWarningLog}
-import com.daml.lf.stablepackages.StablePackages
-import com.daml.lf.transaction.ContractStateMachine.KeyMapping
-import com.daml.lf.transaction.GlobalKeyWithMaintainers
-import com.daml.lf.transaction.{
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.data.{FrontStack, ImmArray, NoCopy, Ref, Time}
+import com.digitalasset.daml.lf.interpretation.{Error => IError}
+import com.digitalasset.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.language.{LookupError, Util => AstUtil}
+import com.digitalasset.daml.lf.language.LanguageVersionRangeOps._
+import com.digitalasset.daml.lf.speedy.Compiler.{CompilationError, PackageNotFound}
+import com.digitalasset.daml.lf.speedy.PartialTransaction.NodeSeeds
+import com.digitalasset.daml.lf.speedy.SError._
+import com.digitalasset.daml.lf.speedy.SExpr._
+import com.digitalasset.daml.lf.speedy.SResult._
+import com.digitalasset.daml.lf.speedy.SValue.SArithmeticError
+import com.digitalasset.daml.lf.speedy.Speedy.Machine.{newTraceLog, newWarningLog}
+import com.digitalasset.daml.lf.stablepackages.StablePackages
+import com.digitalasset.daml.lf.transaction.ContractStateMachine.KeyMapping
+import com.digitalasset.daml.lf.transaction.GlobalKeyWithMaintainers
+import com.digitalasset.daml.lf.transaction.{
ContractKeyUniquenessMode,
GlobalKey,
Node,
@@ -30,8 +30,8 @@ import com.daml.lf.transaction.{
IncompleteTransaction => IncompleteTx,
TransactionVersion => TxVersion,
}
-import com.daml.lf.value.Value.ValueArithmeticError
-import com.daml.lf.value.{Value => V}
+import com.digitalasset.daml.lf.value.Value.ValueArithmeticError
+import com.digitalasset.daml.lf.value.{Value => V}
import com.daml.nameof.NameOf
import com.daml.scalautil.Statement.discard
import com.daml.logging.{ContextualizedLogger, LoggingContext}
@@ -1196,7 +1196,7 @@ private[lf] object Speedy {
// This translates a well-typed LF value (typically coming from the ledger)
// to speedy value and set the control of with the result.
// Note the method does not check the value is well-typed as opposed as
- // com.daml.lf.engine.preprocessing.ValueTranslator.translateValue.
+ // com.digitalasset.daml.lf.engine.preprocessing.ValueTranslator.translateValue.
// All the contract IDs contained in the value are considered global.
// Raises an exception if missing a package.
private[speedy] final def importValue(typ0: Type, value0: V): Control.Value = {
diff --git a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/TraceLog.scala b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/TraceLog.scala
similarity index 94%
rename from sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/TraceLog.scala
rename to sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/TraceLog.scala
index 5f3fcc7ab4..1f51f43fe6 100644
--- a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/TraceLog.scala
+++ b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/TraceLog.scala
@@ -1,9 +1,9 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.speedy
+package com.digitalasset.daml.lf.speedy
-import com.daml.lf.data.Ref.Location
+import com.digitalasset.daml.lf.data.Ref.Location
import com.daml.logging.{ContextualizedLogger, LoggingContext}
import org.apache.commons.text.StringEscapeUtils
diff --git a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/WarningLog.scala b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/WarningLog.scala
similarity index 90%
rename from sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/WarningLog.scala
rename to sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/WarningLog.scala
index b4142d74f2..55db78f5a8 100644
--- a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/WarningLog.scala
+++ b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/WarningLog.scala
@@ -1,10 +1,10 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.speedy
+package com.digitalasset.daml.lf.speedy
import scala.collection.mutable.ArrayBuffer
-import com.daml.lf.data.Ref.Location
+import com.digitalasset.daml.lf.data.Ref.Location
import com.daml.logging.{ContextualizedLogger, LoggingContext}
import com.daml.scalautil.Statement.discard
diff --git a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/iterable/SExprIterable.scala b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/iterable/SExprIterable.scala
similarity index 94%
rename from sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/iterable/SExprIterable.scala
rename to sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/iterable/SExprIterable.scala
index d24f538deb..9961bec387 100644
--- a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/iterable/SExprIterable.scala
+++ b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/iterable/SExprIterable.scala
@@ -1,10 +1,10 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.speedy.iterable
+package com.digitalasset.daml.lf.speedy.iterable
-import com.daml.lf.speedy.{SExpr, SValue}
-import com.daml.lf.speedy.SExpr.SExpr
+import com.digitalasset.daml.lf.speedy.{SExpr, SValue}
+import com.digitalasset.daml.lf.speedy.SExpr.SExpr
import scala.jdk.CollectionConverters._
// Iterates only over immediate children similar to Haskell’s
diff --git a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/iterable/SValueIterable.scala b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/iterable/SValueIterable.scala
similarity index 93%
rename from sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/iterable/SValueIterable.scala
rename to sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/iterable/SValueIterable.scala
index 5886533687..4a0ce07e79 100644
--- a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/iterable/SValueIterable.scala
+++ b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/iterable/SValueIterable.scala
@@ -1,9 +1,9 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.speedy.iterable
+package com.digitalasset.daml.lf.speedy.iterable
-import com.daml.lf.speedy.SValue
+import com.digitalasset.daml.lf.speedy.SValue
import scala.jdk.CollectionConverters._
// Iterates only over immediate children similar to Haskell’s
diff --git a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/svalue/Equality.scala b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/svalue/Equality.scala
similarity index 97%
rename from sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/svalue/Equality.scala
rename to sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/svalue/Equality.scala
index daa0b212cd..1fb203d275 100644
--- a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/svalue/Equality.scala
+++ b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/svalue/Equality.scala
@@ -1,11 +1,11 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
package svalue
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.value.Value.ContractId
import com.daml.nameof.NameOf
import scala.jdk.CollectionConverters._
diff --git a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/svalue/InterlacedIterator.scala b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/svalue/InterlacedIterator.scala
similarity index 92%
rename from sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/svalue/InterlacedIterator.scala
rename to sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/svalue/InterlacedIterator.scala
index 002dfebcb8..9e11d2a302 100644
--- a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/svalue/InterlacedIterator.scala
+++ b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/svalue/InterlacedIterator.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.speedy.svalue
+package com.digitalasset.daml.lf.speedy.svalue
// Assume the two iterators have the same size.
private[svalue] final class InterlacedIterator[X](iterLeft: Iterator[X], iterRight: Iterator[X])
diff --git a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/svalue/Ordering.scala b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/svalue/Ordering.scala
similarity index 99%
rename from sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/svalue/Ordering.scala
rename to sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/svalue/Ordering.scala
index f383e4ee93..b688475be0 100644
--- a/sdk/daml-lf/interpreter/src/main/scala/com/daml/lf/speedy/svalue/Ordering.scala
+++ b/sdk/daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/svalue/Ordering.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
package svalue
diff --git a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/AnfTest.scala b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/AnfTest.scala
similarity index 96%
rename from sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/AnfTest.scala
rename to sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/AnfTest.scala
index 974babd41b..fef99bbb9d 100644
--- a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/AnfTest.scala
+++ b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/AnfTest.scala
@@ -1,18 +1,18 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.speedy
+package com.digitalasset.daml.lf.speedy
import org.scalatest.Assertion
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
-import com.daml.lf.speedy.{SExpr1 => source}
-import com.daml.lf.speedy.{SExpr => target}
-import com.daml.lf.speedy.SValue._
-import com.daml.lf.speedy.SBuiltinFun._
-import com.daml.lf.speedy.Anf.flattenToAnf
-import com.daml.lf.speedy.Pretty.SExpr._
-import com.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.speedy.{SExpr1 => source}
+import com.digitalasset.daml.lf.speedy.{SExpr => target}
+import com.digitalasset.daml.lf.speedy.SValue._
+import com.digitalasset.daml.lf.speedy.SBuiltinFun._
+import com.digitalasset.daml.lf.speedy.Anf.flattenToAnf
+import com.digitalasset.daml.lf.speedy.Pretty.SExpr._
+import com.digitalasset.daml.lf.data.Ref._
class AnfTest extends AnyWordSpec with Matchers {
diff --git a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/ChoiceAuthorityTest.scala b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/ChoiceAuthorityTest.scala
similarity index 90%
rename from sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/ChoiceAuthorityTest.scala
rename to sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/ChoiceAuthorityTest.scala
index 9a9940a6c0..e9bd5ef63a 100644
--- a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/ChoiceAuthorityTest.scala
+++ b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/ChoiceAuthorityTest.scala
@@ -1,20 +1,23 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
-import com.daml.lf.data.FrontStack
-import com.daml.lf.data.Ref.Party
-import com.daml.lf.interpretation.Error.FailedAuthorization
-import com.daml.lf.language.LanguageMajorVersion
-import com.daml.lf.ledger.FailedAuthorization.{CreateMissingAuthorization, NoAuthorizers}
-import com.daml.lf.speedy.SError.SError
-import com.daml.lf.speedy.SExpr.SEApp
-import com.daml.lf.speedy.SValue.{SList, SParty}
-import com.daml.lf.testing.parser.Implicits.SyntaxHelper
-import com.daml.lf.testing.parser.ParserParameters
-import com.daml.lf.transaction.SubmittedTransaction
+import com.digitalasset.daml.lf.data.FrontStack
+import com.digitalasset.daml.lf.data.Ref.Party
+import com.digitalasset.daml.lf.interpretation.Error.FailedAuthorization
+import com.digitalasset.daml.lf.language.LanguageMajorVersion
+import com.digitalasset.daml.lf.ledger.FailedAuthorization.{
+ CreateMissingAuthorization,
+ NoAuthorizers,
+}
+import com.digitalasset.daml.lf.speedy.SError.SError
+import com.digitalasset.daml.lf.speedy.SExpr.SEApp
+import com.digitalasset.daml.lf.speedy.SValue.{SList, SParty}
+import com.digitalasset.daml.lf.testing.parser.Implicits.SyntaxHelper
+import com.digitalasset.daml.lf.testing.parser.ParserParameters
+import com.digitalasset.daml.lf.transaction.SubmittedTransaction
import org.scalatest.Inside
import org.scalatest.freespec.AnyFreeSpec
import org.scalatest.matchers.should.Matchers._
diff --git a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/ClosureConversionTest.scala b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/ClosureConversionTest.scala
similarity index 94%
rename from sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/ClosureConversionTest.scala
rename to sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/ClosureConversionTest.scala
index 23437b16b4..b626062915 100644
--- a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/ClosureConversionTest.scala
+++ b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/ClosureConversionTest.scala
@@ -1,15 +1,15 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.speedy
+package com.digitalasset.daml.lf.speedy
-import com.daml.lf.data.Ref
-import com.daml.lf.speedy.Anf.flattenToAnf
-import com.daml.lf.speedy.ClosureConversion.closureConvert
-import com.daml.lf.speedy.{SExpr => expr}
-import com.daml.lf.speedy.{SExpr0 => source}
-import com.daml.lf.speedy.{SExpr1 => target}
-import com.daml.lf.speedy.{SValue => v}
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.speedy.Anf.flattenToAnf
+import com.digitalasset.daml.lf.speedy.ClosureConversion.closureConvert
+import com.digitalasset.daml.lf.speedy.{SExpr => expr}
+import com.digitalasset.daml.lf.speedy.{SExpr0 => source}
+import com.digitalasset.daml.lf.speedy.{SExpr1 => target}
+import com.digitalasset.daml.lf.speedy.{SValue => v}
import org.scalatest.freespec.AnyFreeSpec
import org.scalatest.matchers.should.Matchers
import org.scalatest.prop.TableDrivenPropertyChecks
diff --git a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/ComparisonSBuiltinTest.scala b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/ComparisonSBuiltinTest.scala
similarity index 98%
rename from sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/ComparisonSBuiltinTest.scala
rename to sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/ComparisonSBuiltinTest.scala
index 6a221a382d..285a8fc835 100644
--- a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/ComparisonSBuiltinTest.scala
+++ b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/ComparisonSBuiltinTest.scala
@@ -1,15 +1,15 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
-import com.daml.lf.data.{ImmArray, Ref, Struct}
-import com.daml.lf.language.{Ast, LanguageMajorVersion}
-import com.daml.lf.speedy.SExpr._
-import com.daml.lf.speedy.SError.SError
-import com.daml.lf.testing.parser.ParserParameters
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.data.{ImmArray, Ref, Struct}
+import com.digitalasset.daml.lf.language.{Ast, LanguageMajorVersion}
+import com.digitalasset.daml.lf.speedy.SExpr._
+import com.digitalasset.daml.lf.speedy.SError.SError
+import com.digitalasset.daml.lf.testing.parser.ParserParameters
+import com.digitalasset.daml.lf.value.Value.ContractId
import org.scalatest.prop.{TableDrivenPropertyChecks, TableFor2}
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
@@ -23,7 +23,7 @@ class ComparisonSBuiltinTest(majorLanguageVersion: LanguageMajorVersion)
import SpeedyTestLib.loggingContext
- import com.daml.lf.testing.parser.Implicits.SyntaxHelper
+ import com.digitalasset.daml.lf.testing.parser.Implicits.SyntaxHelper
private[this] val pkgId1 = Ref.PackageId.assertFromString("-packageId1-")
private[this] val pkgId2 = Ref.PackageId.assertFromString("-packageId2-")
diff --git a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/CompilerTest.scala b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/CompilerTest.scala
similarity index 95%
rename from sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/CompilerTest.scala
rename to sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/CompilerTest.scala
index 083987b157..a78c8347f3 100644
--- a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/CompilerTest.scala
+++ b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/CompilerTest.scala
@@ -1,24 +1,29 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
-import com.daml.lf.data.Ref.Party
-import com.daml.lf.data._
-import com.daml.lf.interpretation.Error.TemplatePreconditionViolated
-import com.daml.lf.language.Ast._
-import com.daml.lf.language.LanguageMajorVersion
-import com.daml.lf.speedy.SError.{SError, SErrorDamlException}
-import com.daml.lf.speedy.SExpr.SExpr
-import com.daml.lf.speedy.Speedy.ContractInfo
-import com.daml.lf.testing.parser.Implicits.SyntaxHelper
-import com.daml.lf.testing.parser.ParserParameters
-import com.daml.lf.transaction.{GlobalKey, GlobalKeyWithMaintainers, TransactionVersion, Versioned}
-import com.daml.lf.value.Value
-import com.daml.lf.value.Value.{ContractId, ContractInstance}
-import com.daml.lf.value.Value.ContractId.`Cid Order`
-import com.daml.lf.value.Value.ContractId.V1.`V1 Order`
+import com.digitalasset.daml.lf.data.Ref.Party
+import com.digitalasset.daml.lf.data._
+import com.digitalasset.daml.lf.interpretation.Error.TemplatePreconditionViolated
+import com.digitalasset.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.language.LanguageMajorVersion
+import com.digitalasset.daml.lf.speedy.SError.{SError, SErrorDamlException}
+import com.digitalasset.daml.lf.speedy.SExpr.SExpr
+import com.digitalasset.daml.lf.speedy.Speedy.ContractInfo
+import com.digitalasset.daml.lf.testing.parser.Implicits.SyntaxHelper
+import com.digitalasset.daml.lf.testing.parser.ParserParameters
+import com.digitalasset.daml.lf.transaction.{
+ GlobalKey,
+ GlobalKeyWithMaintainers,
+ TransactionVersion,
+ Versioned,
+}
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value.{ContractId, ContractInstance}
+import com.digitalasset.daml.lf.value.Value.ContractId.`Cid Order`
+import com.digitalasset.daml.lf.value.Value.ContractId.V1.`V1 Order`
import org.scalatest.Inside
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
diff --git a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala
similarity index 99%
rename from sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala
rename to sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala
index 881adf7815..209ef5ef72 100644
--- a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala
+++ b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala
@@ -1,24 +1,28 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
-import com.daml.lf.data.{FrontStack, ImmArray, Ref}
-import com.daml.lf.data.Ref.{Location, Party}
-import com.daml.lf.interpretation.{Error => IE}
-import com.daml.lf.language.Ast._
-import com.daml.lf.language.LanguageVersion
-import com.daml.lf.speedy.SError._
-import com.daml.lf.speedy.SExpr._
-import com.daml.lf.speedy.SValue._
-import com.daml.lf.testing.parser.Implicits.SyntaxHelper
-import com.daml.lf.transaction.{GlobalKeyWithMaintainers, TransactionVersion, Versioned}
-import com.daml.lf.ledger.FailedAuthorization
-import com.daml.lf.ledger.FailedAuthorization._
-import com.daml.lf.testing.parser.ParserParameters
-import com.daml.lf.value.Value
-import com.daml.lf.value.Value.{ValueParty, ValueRecord}
+import com.digitalasset.daml.lf.data.{FrontStack, ImmArray, Ref}
+import com.digitalasset.daml.lf.data.Ref.{Location, Party}
+import com.digitalasset.daml.lf.interpretation.{Error => IE}
+import com.digitalasset.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.language.LanguageVersion
+import com.digitalasset.daml.lf.speedy.SError._
+import com.digitalasset.daml.lf.speedy.SExpr._
+import com.digitalasset.daml.lf.speedy.SValue._
+import com.digitalasset.daml.lf.testing.parser.Implicits.SyntaxHelper
+import com.digitalasset.daml.lf.transaction.{
+ GlobalKeyWithMaintainers,
+ TransactionVersion,
+ Versioned,
+}
+import com.digitalasset.daml.lf.ledger.FailedAuthorization
+import com.digitalasset.daml.lf.ledger.FailedAuthorization._
+import com.digitalasset.daml.lf.testing.parser.ParserParameters
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value.{ValueParty, ValueRecord}
import com.daml.logging.LoggingContext
import org.scalatest.Inside
import org.scalatest.freespec.AnyFreeSpec
@@ -471,7 +475,7 @@ class EvaluationOrderTest(languageVersion: LanguageVersion)
}
// We cover all errors for each node in the order they are defined
- // in com.daml.lf.interpretation.Error.
+ // in com.digitalasset.daml.lf.interpretation.Error.
// We don’t check for exceptions/aborts during evaluation of an expression instead
// assume that those always stop at the point of the corresponding
// trace statement.
diff --git a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/ExceptionTest.scala b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/ExceptionTest.scala
similarity index 96%
rename from sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/ExceptionTest.scala
rename to sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/ExceptionTest.scala
index fcde1aaca9..ce65040be4 100644
--- a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/ExceptionTest.scala
+++ b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/ExceptionTest.scala
@@ -1,23 +1,23 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
-import com.daml.lf.data.Ref.Party
-import com.daml.lf.interpretation.{Error => IE}
-import com.daml.lf.language.Ast._
-import com.daml.lf.language.{LanguageMajorVersion, LanguageVersion}
-import com.daml.lf.speedy.SResult.{SResultError, SResultFinal}
-import com.daml.lf.speedy.SError.{SError, SErrorDamlException}
-import com.daml.lf.speedy.SExpr._
-import com.daml.lf.speedy.SValue.{SParty, SUnit}
-import com.daml.lf.speedy.SpeedyTestLib.typeAndCompile
-import com.daml.lf.stablepackages.StablePackages
-import com.daml.lf.testing.parser
-import com.daml.lf.testing.parser.Implicits.SyntaxHelper
-import com.daml.lf.testing.parser.ParserParameters
-import com.daml.lf.value.Value.{ValueRecord, ValueText}
+import com.digitalasset.daml.lf.data.Ref.Party
+import com.digitalasset.daml.lf.interpretation.{Error => IE}
+import com.digitalasset.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.language.{LanguageMajorVersion, LanguageVersion}
+import com.digitalasset.daml.lf.speedy.SResult.{SResultError, SResultFinal}
+import com.digitalasset.daml.lf.speedy.SError.{SError, SErrorDamlException}
+import com.digitalasset.daml.lf.speedy.SExpr._
+import com.digitalasset.daml.lf.speedy.SValue.{SParty, SUnit}
+import com.digitalasset.daml.lf.speedy.SpeedyTestLib.typeAndCompile
+import com.digitalasset.daml.lf.stablepackages.StablePackages
+import com.digitalasset.daml.lf.testing.parser
+import com.digitalasset.daml.lf.testing.parser.Implicits.SyntaxHelper
+import com.digitalasset.daml.lf.testing.parser.ParserParameters
+import com.digitalasset.daml.lf.value.Value.{ValueRecord, ValueText}
import org.scalatest.Inside
import org.scalatest.freespec.AnyFreeSpec
import org.scalatest.prop.TableDrivenPropertyChecks
diff --git a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/ExplicitDisclosureLib.scala b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/ExplicitDisclosureLib.scala
similarity index 95%
rename from sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/ExplicitDisclosureLib.scala
rename to sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/ExplicitDisclosureLib.scala
index adc1ab8f6a..2c7ef65c28 100644
--- a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/ExplicitDisclosureLib.scala
+++ b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/ExplicitDisclosureLib.scala
@@ -1,20 +1,25 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
-import com.daml.lf.data.Ref.{IdString, Party}
-import com.daml.lf.data.{FrontStack, ImmArray, Ref, Struct}
-import com.daml.lf.language.{Ast, LanguageMajorVersion}
-import com.daml.lf.speedy.SExpr.SEMakeClo
-import com.daml.lf.speedy.SValue.SToken
-import com.daml.lf.speedy.Speedy.{CachedKey, ContractInfo}
-import com.daml.lf.testing.parser.ParserParameters
-import com.daml.lf.testing.parser.Implicits.SyntaxHelper
-import com.daml.lf.transaction.{GlobalKey, GlobalKeyWithMaintainers, TransactionVersion, Versioned}
-import com.daml.lf.value.Value
-import com.daml.lf.value.Value.{ContractId, ContractInstance}
+import com.digitalasset.daml.lf.data.Ref.{IdString, Party}
+import com.digitalasset.daml.lf.data.{FrontStack, ImmArray, Ref, Struct}
+import com.digitalasset.daml.lf.language.{Ast, LanguageMajorVersion}
+import com.digitalasset.daml.lf.speedy.SExpr.SEMakeClo
+import com.digitalasset.daml.lf.speedy.SValue.SToken
+import com.digitalasset.daml.lf.speedy.Speedy.{CachedKey, ContractInfo}
+import com.digitalasset.daml.lf.testing.parser.ParserParameters
+import com.digitalasset.daml.lf.testing.parser.Implicits.SyntaxHelper
+import com.digitalasset.daml.lf.transaction.{
+ GlobalKey,
+ GlobalKeyWithMaintainers,
+ TransactionVersion,
+ Versioned,
+}
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value.{ContractId, ContractInstance}
import org.scalatest.matchers.{MatchResult, Matcher}
/** Shared test data and functions for testing explicit disclosure.
diff --git a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/ExplicitDisclosureTest.scala b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/ExplicitDisclosureTest.scala
similarity index 96%
rename from sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/ExplicitDisclosureTest.scala
rename to sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/ExplicitDisclosureTest.scala
index 5b94c69ec4..aaced484a4 100644
--- a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/ExplicitDisclosureTest.scala
+++ b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/ExplicitDisclosureTest.scala
@@ -1,23 +1,23 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
-import com.daml.lf.data.Ref.Party
-import com.daml.lf.interpretation.Error.{ContractKeyNotFound, ContractNotActive}
-import com.daml.lf.language.LanguageMajorVersion
-import com.daml.lf.speedy.SExpr.SEValue
-import com.daml.lf.value.Value
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.data.Ref.Party
+import com.digitalasset.daml.lf.interpretation.Error.{ContractKeyNotFound, ContractNotActive}
+import com.digitalasset.daml.lf.language.LanguageMajorVersion
+import com.digitalasset.daml.lf.speedy.SExpr.SEValue
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value.ContractId
import org.scalatest.{Assertion, Inside}
import org.scalatest.freespec.AnyFreeSpec
import org.scalatest.matchers.should.Matchers
-import com.daml.lf.speedy.SBuiltinFun.{SBFetchTemplate, SBUFetchKey, SBULookupKey}
-import com.daml.lf.speedy.SValue.SContractId
-import com.daml.lf.speedy.Speedy.ContractInfo
-import com.daml.lf.transaction.GlobalKeyWithMaintainers
-import com.daml.lf.testing.parser.Implicits._
+import com.digitalasset.daml.lf.speedy.SBuiltinFun.{SBFetchTemplate, SBUFetchKey, SBULookupKey}
+import com.digitalasset.daml.lf.speedy.SValue.SContractId
+import com.digitalasset.daml.lf.speedy.Speedy.ContractInfo
+import com.digitalasset.daml.lf.transaction.GlobalKeyWithMaintainers
+import com.digitalasset.daml.lf.testing.parser.Implicits._
class ExplicitDisclosureTestV2 extends ExplicitDisclosureTest(LanguageMajorVersion.V2)
diff --git a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/InterpreterTest.scala b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/InterpreterTest.scala
similarity index 94%
rename from sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/InterpreterTest.scala
rename to sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/InterpreterTest.scala
index 35aeef802e..f1fff99b5d 100644
--- a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/InterpreterTest.scala
+++ b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/InterpreterTest.scala
@@ -1,16 +1,16 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
-import com.daml.lf.data.Ref._
-import com.daml.lf.data.{ImmArray, Ref}
-import com.daml.lf.language.Ast._
-import com.daml.lf.language.{Ast, LanguageMajorVersion}
-import com.daml.lf.language.Util._
-import com.daml.lf.speedy.SExpr.LfDefRef
-import com.daml.lf.speedy.SResult._
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.data.{ImmArray, Ref}
+import com.digitalasset.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.language.{Ast, LanguageMajorVersion}
+import com.digitalasset.daml.lf.language.Util._
+import com.digitalasset.daml.lf.speedy.SExpr.LfDefRef
+import com.digitalasset.daml.lf.speedy.SResult._
import org.scalatest.Inside
import org.scalatest.matchers.should.Matchers
import org.scalatest.prop.TableDrivenPropertyChecks
@@ -237,7 +237,7 @@ class InterpreterTest(majorLanguageVersion: LanguageMajorVersion)
getPkg = { case pkgId if pkgId == ref.packageId => pkgs3 },
)
inside(result) { case Left(SError.SErrorCrash(loc, msg)) =>
- loc shouldBe "com.daml.lf.speedy.Speedy.Machine.lookupVal"
+ loc shouldBe "com.digitalasset.daml.lf.speedy.Speedy.Machine.lookupVal"
msg should include(s"definition ${LfDefRef(ref)} not found")
}
}
diff --git a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/LimitsSpec.scala b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/LimitsSpec.scala
similarity index 96%
rename from sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/LimitsSpec.scala
rename to sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/LimitsSpec.scala
index 152281037d..93ca76f057 100644
--- a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/LimitsSpec.scala
+++ b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/LimitsSpec.scala
@@ -1,16 +1,16 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
-import com.daml.lf.data.{FrontStack, ImmArray, Ref}
-import com.daml.lf.interpretation.{Error => IE}
-import com.daml.lf.language.{Ast, LanguageMajorVersion}
-import com.daml.lf.testing.parser.Implicits.SyntaxHelper
-import com.daml.lf.testing.parser.ParserParameters
-import com.daml.lf.transaction.{SubmittedTransaction, TransactionVersion, Versioned}
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.data.{FrontStack, ImmArray, Ref}
+import com.digitalasset.daml.lf.interpretation.{Error => IE}
+import com.digitalasset.daml.lf.language.{Ast, LanguageMajorVersion}
+import com.digitalasset.daml.lf.testing.parser.Implicits.SyntaxHelper
+import com.digitalasset.daml.lf.testing.parser.ParserParameters
+import com.digitalasset.daml.lf.transaction.{SubmittedTransaction, TransactionVersion, Versioned}
+import com.digitalasset.daml.lf.value.Value
import org.scalatest.Inside
import org.scalatest.freespec.AnyFreeSpec
import org.scalatest.matchers.should.Matchers
diff --git a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/NormalizeRollbacksSpec.scala b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/NormalizeRollbacksSpec.scala
similarity index 96%
rename from sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/NormalizeRollbacksSpec.scala
rename to sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/NormalizeRollbacksSpec.scala
index b5b0f81b76..70b399b928 100644
--- a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/NormalizeRollbacksSpec.scala
+++ b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/NormalizeRollbacksSpec.scala
@@ -1,19 +1,19 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
import org.scalatest._
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
-import com.daml.lf.data.ImmArray
-import com.daml.lf.data.Ref
-import com.daml.lf.transaction.Node
-import com.daml.lf.transaction.TransactionVersion
-import com.daml.lf.transaction.{NodeId, Transaction}
-import com.daml.lf.value.{Value => V}
+import com.digitalasset.daml.lf.data.ImmArray
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.transaction.Node
+import com.digitalasset.daml.lf.transaction.TransactionVersion
+import com.digitalasset.daml.lf.transaction.{NodeId, Transaction}
+import com.digitalasset.daml.lf.value.{Value => V}
class NormalizeRollbacksSpec extends AnyWordSpec with Matchers with Inside {
diff --git a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/PartialTransactionSpec.scala b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/PartialTransactionSpec.scala
similarity index 96%
rename from sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/PartialTransactionSpec.scala
rename to sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/PartialTransactionSpec.scala
index 4d9395fb2c..33822ba90f 100644
--- a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/PartialTransactionSpec.scala
+++ b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/PartialTransactionSpec.scala
@@ -1,13 +1,13 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
-import com.daml.lf.data.ImmArray
-import com.daml.lf.speedy.Speedy.ContractInfo
-import com.daml.lf.transaction.{ContractKeyUniquenessMode, Node, TransactionVersion}
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.data.ImmArray
+import com.digitalasset.daml.lf.speedy.Speedy.ContractInfo
+import com.digitalasset.daml.lf.transaction.{ContractKeyUniquenessMode, Node, TransactionVersion}
+import com.digitalasset.daml.lf.value.Value
import org.scalatest._
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
diff --git a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/PhaseOneTest.scala b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/PhaseOneTest.scala
similarity index 96%
rename from sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/PhaseOneTest.scala
rename to sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/PhaseOneTest.scala
index 13c2061f09..880a887f86 100644
--- a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/PhaseOneTest.scala
+++ b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/PhaseOneTest.scala
@@ -1,16 +1,16 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.speedy
+package com.digitalasset.daml.lf.speedy
-import com.daml.lf.data.ImmArray
-import com.daml.lf.data.Ref._
-import com.daml.lf.data.Ref.PackageId
-import com.daml.lf.language.Ast._
-import com.daml.lf.language.PackageInterface
-import com.daml.lf.speedy.ClosureConversion.closureConvert
-import com.daml.lf.speedy.SExpr0._
-import com.daml.lf.speedy.Anf.flattenToAnf
+import com.digitalasset.daml.lf.data.ImmArray
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.language.PackageInterface
+import com.digitalasset.daml.lf.speedy.ClosureConversion.closureConvert
+import com.digitalasset.daml.lf.speedy.SExpr0._
+import com.digitalasset.daml.lf.speedy.Anf.flattenToAnf
import org.scalatest.freespec.AnyFreeSpec
import org.scalatest.matchers.should.Matchers
import org.scalatest.prop.TableDrivenPropertyChecks
diff --git a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/ProfilerTest.scala b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/ProfilerTest.scala
similarity index 91%
rename from sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/ProfilerTest.scala
rename to sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/ProfilerTest.scala
index 09c6cf88de..43c0890565 100644
--- a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/ProfilerTest.scala
+++ b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/ProfilerTest.scala
@@ -1,17 +1,17 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
-import com.daml.lf.data._
-import com.daml.lf.language.Ast._
-import com.daml.lf.language.LanguageMajorVersion
-import com.daml.lf.speedy.SExpr._
-import com.daml.lf.speedy.SValue._
-import com.daml.lf.speedy.SResult._
-import com.daml.lf.testing.parser.Implicits.SyntaxHelper
-import com.daml.lf.testing.parser.ParserParameters
+import com.digitalasset.daml.lf.data._
+import com.digitalasset.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.language.LanguageMajorVersion
+import com.digitalasset.daml.lf.speedy.SExpr._
+import com.digitalasset.daml.lf.speedy.SValue._
+import com.digitalasset.daml.lf.speedy.SResult._
+import com.digitalasset.daml.lf.testing.parser.Implicits.SyntaxHelper
+import com.digitalasset.daml.lf.testing.parser.ParserParameters
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import org.scalatestplus.scalacheck.ScalaCheckDrivenPropertyChecks
diff --git a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/ProfilerUnmangleTest.scala b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/ProfilerUnmangleTest.scala
similarity index 97%
rename from sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/ProfilerUnmangleTest.scala
rename to sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/ProfilerUnmangleTest.scala
index 38028b0468..91353ff984 100644
--- a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/ProfilerUnmangleTest.scala
+++ b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/ProfilerUnmangleTest.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.speedy
+package com.digitalasset.daml.lf.speedy
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
diff --git a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/RollbackTest.scala b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/RollbackTest.scala
similarity index 92%
rename from sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/RollbackTest.scala
rename to sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/RollbackTest.scala
index e56f6e38d7..04fe910814 100644
--- a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/RollbackTest.scala
+++ b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/RollbackTest.scala
@@ -1,21 +1,21 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
-import com.daml.lf.data.ImmArray
-import com.daml.lf.data.Ref.Party
-import com.daml.lf.language.Ast.Expr
-import com.daml.lf.language.LanguageMajorVersion
-import com.daml.lf.speedy.SExpr._
-import com.daml.lf.speedy.SValue._
-import com.daml.lf.testing.parser.Implicits.SyntaxHelper
-import com.daml.lf.testing.parser.ParserParameters
-import com.daml.lf.transaction.Node
-import com.daml.lf.transaction.NodeId
-import com.daml.lf.transaction.SubmittedTransaction
-import com.daml.lf.value.Value.{ValueInt64, ValueRecord}
+import com.digitalasset.daml.lf.data.ImmArray
+import com.digitalasset.daml.lf.data.Ref.Party
+import com.digitalasset.daml.lf.language.Ast.Expr
+import com.digitalasset.daml.lf.language.LanguageMajorVersion
+import com.digitalasset.daml.lf.speedy.SExpr._
+import com.digitalasset.daml.lf.speedy.SValue._
+import com.digitalasset.daml.lf.testing.parser.Implicits.SyntaxHelper
+import com.digitalasset.daml.lf.testing.parser.ParserParameters
+import com.digitalasset.daml.lf.transaction.Node
+import com.digitalasset.daml.lf.transaction.NodeId
+import com.digitalasset.daml.lf.transaction.SubmittedTransaction
+import com.digitalasset.daml.lf.value.Value.{ValueInt64, ValueRecord}
import org.scalatest.freespec.AnyFreeSpec
import org.scalatest.matchers.should.Matchers
import org.scalatest.prop.TableDrivenPropertyChecks
diff --git a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/SBuiltinBigNumericTest.scala b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/SBuiltinBigNumericTest.scala
similarity index 98%
rename from sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/SBuiltinBigNumericTest.scala
rename to sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/SBuiltinBigNumericTest.scala
index 1117a8532c..a0a969e987 100644
--- a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/SBuiltinBigNumericTest.scala
+++ b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/SBuiltinBigNumericTest.scala
@@ -1,15 +1,15 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
-import com.daml.lf.data._
-import com.daml.lf.language.Ast._
-import com.daml.lf.language.LanguageMajorVersion
-import com.daml.lf.speedy.SValue.{SValue => _, _}
-import com.daml.lf.testing.parser.Implicits.{SyntaxHelper}
-import com.daml.lf.testing.parser.ParserParameters
+import com.digitalasset.daml.lf.data._
+import com.digitalasset.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.language.LanguageMajorVersion
+import com.digitalasset.daml.lf.speedy.SValue.{SValue => _, _}
+import com.digitalasset.daml.lf.testing.parser.Implicits.{SyntaxHelper}
+import com.digitalasset.daml.lf.testing.parser.ParserParameters
import org.scalatest.Inside.inside
import org.scalatest.prop.TableDrivenPropertyChecks
import org.scalatest.matchers.should.Matchers
diff --git a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/SBuiltinInterfaceTest.scala b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/SBuiltinInterfaceTest.scala
similarity index 92%
rename from sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/SBuiltinInterfaceTest.scala
rename to sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/SBuiltinInterfaceTest.scala
index 6443a86c84..bd142d692e 100644
--- a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/SBuiltinInterfaceTest.scala
+++ b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/SBuiltinInterfaceTest.scala
@@ -1,21 +1,25 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
-import com.daml.lf.data._
-import com.daml.lf.language.{Ast, LanguageMajorVersion}
-import com.daml.lf.language.Ast._
-import com.daml.lf.speedy.SError.SError
-import com.daml.lf.speedy.SExpr._
-import com.daml.lf.speedy.SValue.{SValue => _, _}
-import com.daml.lf.testing.parser.Implicits.SyntaxHelper
-import com.daml.lf.testing.parser
-import com.daml.lf.testing.parser.ParserParameters
-import com.daml.lf.transaction.{GlobalKeyWithMaintainers, TransactionVersion, Versioned}
-import com.daml.lf.value.Value
-import com.daml.lf.value.Value.ContractInstance
+import com.digitalasset.daml.lf.data._
+import com.digitalasset.daml.lf.language.{Ast, LanguageMajorVersion}
+import com.digitalasset.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.speedy.SError.SError
+import com.digitalasset.daml.lf.speedy.SExpr._
+import com.digitalasset.daml.lf.speedy.SValue.{SValue => _, _}
+import com.digitalasset.daml.lf.testing.parser.Implicits.SyntaxHelper
+import com.digitalasset.daml.lf.testing.parser
+import com.digitalasset.daml.lf.testing.parser.ParserParameters
+import com.digitalasset.daml.lf.transaction.{
+ GlobalKeyWithMaintainers,
+ TransactionVersion,
+ Versioned,
+}
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value.ContractInstance
import org.scalatest.Inside
import org.scalatest.freespec.AnyFreeSpec
import org.scalatest.matchers.should.Matchers
diff --git a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/SBuiltinTest.scala b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/SBuiltinTest.scala
similarity index 98%
rename from sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/SBuiltinTest.scala
rename to sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/SBuiltinTest.scala
index fe0ff19f66..54b54470fe 100644
--- a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/SBuiltinTest.scala
+++ b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/SBuiltinTest.scala
@@ -1,26 +1,35 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
-import com.daml.lf.crypto.Hash
-import com.daml.lf.data.Ref.Party
-import com.daml.lf.data._
-import com.daml.lf.interpretation.{Error => IE}
-import com.daml.lf.language.Ast._
-import com.daml.lf.language.LanguageMajorVersion
-import com.daml.lf.speedy.SBuiltinFun.{SBCacheDisclosedContract, SBCrash, SBuildContractInfoStruct}
-import com.daml.lf.speedy.SError.{SError, SErrorCrash}
-import com.daml.lf.speedy.SExpr._
-import com.daml.lf.speedy.SValue.{SValue => _, _}
-import com.daml.lf.speedy.Speedy.{CachedKey, ContractInfo, Machine}
-import com.daml.lf.stablepackages.StablePackages
-import com.daml.lf.testing.parser.Implicits.SyntaxHelper
-import com.daml.lf.testing.parser.ParserParameters
-import com.daml.lf.transaction.{GlobalKey, GlobalKeyWithMaintainers, TransactionVersion, Versioned}
-import com.daml.lf.value.Value
-import com.daml.lf.value.Value.ValueArithmeticError
+import com.digitalasset.daml.lf.crypto.Hash
+import com.digitalasset.daml.lf.data.Ref.Party
+import com.digitalasset.daml.lf.data._
+import com.digitalasset.daml.lf.interpretation.{Error => IE}
+import com.digitalasset.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.language.LanguageMajorVersion
+import com.digitalasset.daml.lf.speedy.SBuiltinFun.{
+ SBCacheDisclosedContract,
+ SBCrash,
+ SBuildContractInfoStruct,
+}
+import com.digitalasset.daml.lf.speedy.SError.{SError, SErrorCrash}
+import com.digitalasset.daml.lf.speedy.SExpr._
+import com.digitalasset.daml.lf.speedy.SValue.{SValue => _, _}
+import com.digitalasset.daml.lf.speedy.Speedy.{CachedKey, ContractInfo, Machine}
+import com.digitalasset.daml.lf.stablepackages.StablePackages
+import com.digitalasset.daml.lf.testing.parser.Implicits.SyntaxHelper
+import com.digitalasset.daml.lf.testing.parser.ParserParameters
+import com.digitalasset.daml.lf.transaction.{
+ GlobalKey,
+ GlobalKeyWithMaintainers,
+ TransactionVersion,
+ Versioned,
+}
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value.ValueArithmeticError
import org.scalatest.prop.TableDrivenPropertyChecks
import org.scalatest.matchers.should.Matchers
import org.scalatest.freespec.AnyFreeSpec
diff --git a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/SValueTest.scala b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/SValueTest.scala
similarity index 96%
rename from sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/SValueTest.scala
rename to sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/SValueTest.scala
index 2d24030e64..530a1b16af 100644
--- a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/SValueTest.scala
+++ b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/SValueTest.scala
@@ -1,12 +1,12 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
-import com.daml.lf.data.{ImmArray, Ref}
-import com.daml.lf.speedy.SValue.{SInt64, SMap, SPAP, SText}
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.data.{ImmArray, Ref}
+import com.digitalasset.daml.lf.speedy.SValue.{SInt64, SMap, SPAP, SText}
+import com.digitalasset.daml.lf.value.Value
import org.scalatest.Inside
import org.scalatest.matchers.should.Matchers
import org.scalatest.prop.TableDrivenPropertyChecks
diff --git a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/SomeArrayEqualsTest.scala b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/SomeArrayEqualsTest.scala
similarity index 96%
rename from sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/SomeArrayEqualsTest.scala
rename to sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/SomeArrayEqualsTest.scala
index 9309e7309e..4a4d604190 100644
--- a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/SomeArrayEqualsTest.scala
+++ b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/SomeArrayEqualsTest.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.speedy
+package com.digitalasset.daml.lf.speedy
import org.scalatestplus.scalacheck.ScalaCheckDrivenPropertyChecks
import org.scalatest.matchers.should.Matchers
@@ -9,7 +9,7 @@ import org.scalatest.wordspec.AnyWordSpec
@SuppressWarnings(Array("org.wartremover.warts.Any"))
class SomeArrayEqualsTest extends AnyWordSpec with Matchers with ScalaCheckDrivenPropertyChecks {
- import com.daml.lf.speedy.{SomeArrayEquals => SAE}
+ import com.digitalasset.daml.lf.speedy.{SomeArrayEquals => SAE}
import SomeArrayEqualsTest._
"equals" should {
diff --git a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/SpeedyTest.scala b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/SpeedyTest.scala
similarity index 95%
rename from sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/SpeedyTest.scala
rename to sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/SpeedyTest.scala
index d959f33a6a..5acf8e2864 100644
--- a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/SpeedyTest.scala
+++ b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/SpeedyTest.scala
@@ -1,26 +1,26 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
-import com.daml.lf.data.Ref._
-import com.daml.lf.data.{FrontStack, ImmArray, Ref, Struct}
-import com.daml.lf.language.Ast._
-import com.daml.lf.speedy.SBuiltinFun._
-import com.daml.lf.speedy.SError.SError
-import com.daml.lf.speedy.SExpr._
-import com.daml.lf.speedy.SValue._
-import com.daml.lf.speedy.SpeedyTestLib.typeAndCompile
-import com.daml.lf.testing.parser.Implicits._
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.data.{FrontStack, ImmArray, Ref, Struct}
+import com.digitalasset.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.speedy.SBuiltinFun._
+import com.digitalasset.daml.lf.speedy.SError.SError
+import com.digitalasset.daml.lf.speedy.SExpr._
+import com.digitalasset.daml.lf.speedy.SValue._
+import com.digitalasset.daml.lf.speedy.SpeedyTestLib.typeAndCompile
+import com.digitalasset.daml.lf.testing.parser.Implicits._
import org.scalactic.Equality
import org.scalatest.matchers.should.Matchers
import SpeedyTestLib.loggingContext
-import com.daml.lf.language.LanguageMajorVersion
-import com.daml.lf.speedy.Speedy.ContractInfo
-import com.daml.lf.testing.parser.ParserParameters
-import com.daml.lf.transaction.GlobalKey
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.language.LanguageMajorVersion
+import com.digitalasset.daml.lf.speedy.Speedy.ContractInfo
+import com.digitalasset.daml.lf.testing.parser.ParserParameters
+import com.digitalasset.daml.lf.transaction.GlobalKey
+import com.digitalasset.daml.lf.value.Value.ContractId
import com.daml.logging.ContextualizedLogger
import org.scalatest.Inside
import org.scalatest.freespec.AnyFreeSpec
diff --git a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/SpeedyTestLib.scala b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/SpeedyTestLib.scala
similarity index 95%
rename from sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/SpeedyTestLib.scala
rename to sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/SpeedyTestLib.scala
index f756938fae..38da28edd8 100644
--- a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/SpeedyTestLib.scala
+++ b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/SpeedyTestLib.scala
@@ -1,23 +1,23 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml
+package com.digitalasset.daml
package lf
package speedy
import data.Ref.PackageId
import data.Time
import SResult._
-import com.daml.lf.data.Ref.Party
-import com.daml.lf.language.{Ast, LanguageMajorVersion, PackageInterface}
-import com.daml.lf.speedy.Speedy.{ContractInfo, UpdateMachine}
-import com.daml.lf.testing.parser.ParserParameters
-import com.daml.lf.validation.{Validation, ValidationError}
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.data.Ref.Party
+import com.digitalasset.daml.lf.language.{Ast, LanguageMajorVersion, PackageInterface}
+import com.digitalasset.daml.lf.speedy.Speedy.{ContractInfo, UpdateMachine}
+import com.digitalasset.daml.lf.testing.parser.ParserParameters
+import com.digitalasset.daml.lf.validation.{Validation, ValidationError}
+import com.digitalasset.daml.lf.value.Value.ContractId
import com.daml.logging.LoggingContext
import transaction.{GlobalKey, GlobalKeyWithMaintainers, SubmittedTransaction}
import value.Value
-import scalautil.Statement.discard
+import com.daml.scalautil.Statement.discard
import scala.annotation.tailrec
diff --git a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/TailCallTest.scala b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/TailCallTest.scala
similarity index 94%
rename from sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/TailCallTest.scala
rename to sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/TailCallTest.scala
index 00a0e4908a..3b049796f9 100644
--- a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/TailCallTest.scala
+++ b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/TailCallTest.scala
@@ -1,14 +1,14 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
import java.util
-import com.daml.lf.language.{Ast, LanguageMajorVersion}
-import com.daml.lf.speedy.SResult.SResultFinal
-import com.daml.lf.testing.parser.Implicits.SyntaxHelper
-import com.daml.lf.testing.parser.ParserParameters
+import com.digitalasset.daml.lf.language.{Ast, LanguageMajorVersion}
+import com.digitalasset.daml.lf.speedy.SResult.SResultFinal
+import com.digitalasset.daml.lf.testing.parser.Implicits.SyntaxHelper
+import com.digitalasset.daml.lf.testing.parser.ParserParameters
import org.scalatest.freespec.AnyFreeSpec
import org.scalatest.prop.TableDrivenPropertyChecks
import org.scalatest.matchers.should.Matchers
diff --git a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/TransactionVersionTest.scala b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/TransactionVersionTest.scala
similarity index 93%
rename from sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/TransactionVersionTest.scala
rename to sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/TransactionVersionTest.scala
index 65385f9117..34fb4ff703 100644
--- a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/TransactionVersionTest.scala
+++ b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/TransactionVersionTest.scala
@@ -1,20 +1,20 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
-import com.daml.lf.data.{FrontStack, ImmArray, Ref}
-import com.daml.lf.data.Ref.{IdString, PackageId, Party, TypeConName}
-import com.daml.lf.language.LanguageMajorVersion.V2
-import com.daml.lf.language.{LanguageMajorVersion, LanguageVersion}
-import com.daml.lf.speedy.SBuiltinFun.SBFetchTemplate
-import com.daml.lf.speedy.SExpr.{SEMakeClo, SEValue}
-import com.daml.lf.testing.parser
-import com.daml.lf.transaction.{SubmittedTransaction, TransactionVersion, Versioned}
-import com.daml.lf.testing.parser.Implicits.SyntaxHelper
-import com.daml.lf.value.Value
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.data.{FrontStack, ImmArray, Ref}
+import com.digitalasset.daml.lf.data.Ref.{IdString, PackageId, Party, TypeConName}
+import com.digitalasset.daml.lf.language.LanguageMajorVersion.V2
+import com.digitalasset.daml.lf.language.{LanguageMajorVersion, LanguageVersion}
+import com.digitalasset.daml.lf.speedy.SBuiltinFun.SBFetchTemplate
+import com.digitalasset.daml.lf.speedy.SExpr.{SEMakeClo, SEValue}
+import com.digitalasset.daml.lf.testing.parser
+import com.digitalasset.daml.lf.transaction.{SubmittedTransaction, TransactionVersion, Versioned}
+import com.digitalasset.daml.lf.testing.parser.Implicits.SyntaxHelper
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value.ContractId
import org.scalatest.Inside
import org.scalatest.freespec.AnyFreeSpec
import org.scalatest.matchers.should.Matchers
diff --git a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/UpgradeTest.scala b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/UpgradeTest.scala
similarity index 95%
rename from sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/UpgradeTest.scala
rename to sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/UpgradeTest.scala
index fd72510e76..f1fb075704 100644
--- a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/UpgradeTest.scala
+++ b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/UpgradeTest.scala
@@ -1,22 +1,22 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
-import com.daml.lf.data.{ImmArray, Ref}
-import com.daml.lf.interpretation.{Error => IE}
-import com.daml.lf.language.Ast._
-import com.daml.lf.language.LanguageMajorVersion
-import com.daml.lf.speedy.SError.SError
-import com.daml.lf.speedy.SExpr.{SEApp, SExpr}
-import com.daml.lf.speedy.SValue.SContractId
-import com.daml.lf.testing.parser.Implicits._
-import com.daml.lf.testing.parser.ParserParameters
-import com.daml.lf.transaction.TransactionVersion.VDev
-import com.daml.lf.transaction.{GlobalKeyWithMaintainers, Versioned}
-import com.daml.lf.value.Value
-import com.daml.lf.value.Value._
+import com.digitalasset.daml.lf.data.{ImmArray, Ref}
+import com.digitalasset.daml.lf.interpretation.{Error => IE}
+import com.digitalasset.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.language.LanguageMajorVersion
+import com.digitalasset.daml.lf.speedy.SError.SError
+import com.digitalasset.daml.lf.speedy.SExpr.{SEApp, SExpr}
+import com.digitalasset.daml.lf.speedy.SValue.SContractId
+import com.digitalasset.daml.lf.testing.parser.Implicits._
+import com.digitalasset.daml.lf.testing.parser.ParserParameters
+import com.digitalasset.daml.lf.transaction.TransactionVersion.VDev
+import com.digitalasset.daml.lf.transaction.{GlobalKeyWithMaintainers, Versioned}
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value._
import com.daml.logging.LoggingContext
import org.scalatest.Inside
import org.scalatest.freespec.AnyFreeSpec
diff --git a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/svalue/EqualitySpec.scala b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/svalue/EqualitySpec.scala
similarity index 87%
rename from sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/svalue/EqualitySpec.scala
rename to sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/svalue/EqualitySpec.scala
index ecfdcdaffd..ffbcd0f51d 100644
--- a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/svalue/EqualitySpec.scala
+++ b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/svalue/EqualitySpec.scala
@@ -1,14 +1,14 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.speedy
+package com.digitalasset.daml.lf.speedy
package svalue
-import com.daml.lf.crypto
-import com.daml.lf.data.Bytes
-import com.daml.lf.interpretation.Error.ContractIdComparability
-import com.daml.lf.speedy.SValue._
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.crypto
+import com.digitalasset.daml.lf.data.Bytes
+import com.digitalasset.daml.lf.interpretation.Error.ContractIdComparability
+import com.digitalasset.daml.lf.speedy.SValue._
+import com.digitalasset.daml.lf.value.Value
import org.scalatest.Inside
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
diff --git a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/svalue/OrderingSpec.scala b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/svalue/OrderingSpec.scala
similarity index 88%
rename from sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/svalue/OrderingSpec.scala
rename to sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/svalue/OrderingSpec.scala
index fc8251ea55..14aa9ff0cb 100644
--- a/sdk/daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/svalue/OrderingSpec.scala
+++ b/sdk/daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/svalue/OrderingSpec.scala
@@ -1,21 +1,21 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.speedy
+package com.digitalasset.daml.lf.speedy
package svalue
-import com.daml.lf.crypto
-import com.daml.lf.data.{Bytes, FrontStack, Ref}
-import com.daml.lf.speedy.SResult._
-import com.daml.lf.speedy.SValue._
-import com.daml.lf.speedy.SExpr.{SEImportValue, SELet1, SELocF, SELocS, SEMakeClo}
-import com.daml.lf.value.Value
-import com.daml.lf.value.test.TypedValueGenerators.genAddend
-import com.daml.lf.value.test.ValueGenerators.{comparableCoidsGen, suffixedV1CidGen}
-import com.daml.lf.PureCompiledPackages
-import com.daml.lf.typesig
-import com.daml.lf.interpretation.Error.ContractIdComparability
-import com.daml.lf.language.{Ast, LanguageMajorVersion, Util => AstUtil}
+import com.digitalasset.daml.lf.crypto
+import com.digitalasset.daml.lf.data.{Bytes, FrontStack, Ref}
+import com.digitalasset.daml.lf.speedy.SResult._
+import com.digitalasset.daml.lf.speedy.SValue._
+import com.digitalasset.daml.lf.speedy.SExpr.{SEImportValue, SELet1, SELocF, SELocS, SEMakeClo}
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.test.TypedValueGenerators.genAddend
+import com.digitalasset.daml.lf.value.test.ValueGenerators.{comparableCoidsGen, suffixedV1CidGen}
+import com.digitalasset.daml.lf.PureCompiledPackages
+import com.digitalasset.daml.lf.typesig
+import com.digitalasset.daml.lf.interpretation.Error.ContractIdComparability
+import com.digitalasset.daml.lf.language.{Ast, LanguageMajorVersion, Util => AstUtil}
import org.scalacheck.{Arbitrary, Gen}
import org.scalatest.Inside
import org.scalatest.prop.TableFor2
@@ -82,7 +82,7 @@ class OrderingSpec(majorLanguageVersion: LanguageMajorVersion)
Ref.Name.assertFromString(s)
private val randomComparableValues: TableFor2[String, Gen[SValue]] = {
- import com.daml.lf.value.test.TypedValueGenerators.{ValueAddend => VA}
+ import com.digitalasset.daml.lf.value.test.TypedValueGenerators.{ValueAddend => VA}
def r(name: String, va: VA)(sv: va.Inj => SValue) =
(name, va.injarb.arbitrary map sv)
Table(
diff --git a/sdk/daml-lf/language/src/main/scala/com/daml/lf/language/Ast.scala b/sdk/daml-lf/language/src/main/scala/com/digitalasset/daml/lf/language/Ast.scala
similarity index 99%
rename from sdk/daml-lf/language/src/main/scala/com/daml/lf/language/Ast.scala
rename to sdk/daml-lf/language/src/main/scala/com/digitalasset/daml/lf/language/Ast.scala
index 13d330f56b..a7fc53cf80 100644
--- a/sdk/daml-lf/language/src/main/scala/com/daml/lf/language/Ast.scala
+++ b/sdk/daml-lf/language/src/main/scala/com/digitalasset/daml/lf/language/Ast.scala
@@ -1,10 +1,10 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.language
+package com.digitalasset.daml.lf.language
-import com.daml.lf.data.Ref._
-import com.daml.lf.data._
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.data._
import scala.collection.immutable.VectorMap
object Ast {
diff --git a/sdk/daml-lf/language/src/main/scala/com/daml/lf/language/Graphs.scala b/sdk/daml-lf/language/src/main/scala/com/digitalasset/daml/lf/language/Graphs.scala
similarity index 92%
rename from sdk/daml-lf/language/src/main/scala/com/daml/lf/language/Graphs.scala
rename to sdk/daml-lf/language/src/main/scala/com/digitalasset/daml/lf/language/Graphs.scala
index 4ec7954018..eccddfc312 100644
--- a/sdk/daml-lf/language/src/main/scala/com/daml/lf/language/Graphs.scala
+++ b/sdk/daml-lf/language/src/main/scala/com/digitalasset/daml/lf/language/Graphs.scala
@@ -1,9 +1,9 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.language
+package com.digitalasset.daml.lf.language
-import com.daml.lf.data.{InsertOrdSet, Relation}
+import com.digitalasset.daml.lf.data.{InsertOrdSet, Relation}
object Graphs {
diff --git a/sdk/daml-lf/language/src/main/scala/com/daml/lf/language/LanguageMajorVersion.scala b/sdk/daml-lf/language/src/main/scala/com/digitalasset/daml/lf/language/LanguageMajorVersion.scala
similarity index 96%
rename from sdk/daml-lf/language/src/main/scala/com/daml/lf/language/LanguageMajorVersion.scala
rename to sdk/daml-lf/language/src/main/scala/com/digitalasset/daml/lf/language/LanguageMajorVersion.scala
index 9a369cafcc..9988b31c56 100644
--- a/sdk/daml-lf/language/src/main/scala/com/daml/lf/language/LanguageMajorVersion.scala
+++ b/sdk/daml-lf/language/src/main/scala/com/digitalasset/daml/lf/language/LanguageMajorVersion.scala
@@ -1,9 +1,9 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.language
+package com.digitalasset.daml.lf.language
-import com.daml.lf.LfVersions
+import com.digitalasset.daml.lf.LfVersions
import scalaz.{IList, NonEmptyList}
// an ADT version of the Daml-LF version
diff --git a/sdk/daml-lf/language/src/main/scala/com/daml/lf/language/LanguageMinorVersion.scala b/sdk/daml-lf/language/src/main/scala/com/digitalasset/daml/lf/language/LanguageMinorVersion.scala
similarity index 85%
rename from sdk/daml-lf/language/src/main/scala/com/daml/lf/language/LanguageMinorVersion.scala
rename to sdk/daml-lf/language/src/main/scala/com/digitalasset/daml/lf/language/LanguageMinorVersion.scala
index f3f61ac070..c30b910b1d 100644
--- a/sdk/daml-lf/language/src/main/scala/com/daml/lf/language/LanguageMinorVersion.scala
+++ b/sdk/daml-lf/language/src/main/scala/com/digitalasset/daml/lf/language/LanguageMinorVersion.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.language
+package com.digitalasset.daml.lf.language
final case class LanguageMinorVersion(identifier: String) {
def toProtoIdentifier: String = identifier
diff --git a/sdk/daml-lf/language/src/main/scala/com/daml/lf/language/LanguageVersion.scala b/sdk/daml-lf/language/src/main/scala/com/digitalasset/daml/lf/language/LanguageVersion.scala
similarity index 99%
rename from sdk/daml-lf/language/src/main/scala/com/daml/lf/language/LanguageVersion.scala
rename to sdk/daml-lf/language/src/main/scala/com/digitalasset/daml/lf/language/LanguageVersion.scala
index 70cca87a01..37509cd937 100644
--- a/sdk/daml-lf/language/src/main/scala/com/daml/lf/language/LanguageVersion.scala
+++ b/sdk/daml-lf/language/src/main/scala/com/digitalasset/daml/lf/language/LanguageVersion.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package language
import scala.annotation.nowarn
diff --git a/sdk/daml-lf/language/src/main/scala/com/daml/lf/language/LookupError.scala b/sdk/daml-lf/language/src/main/scala/com/digitalasset/daml/lf/language/LookupError.scala
similarity index 98%
rename from sdk/daml-lf/language/src/main/scala/com/daml/lf/language/LookupError.scala
rename to sdk/daml-lf/language/src/main/scala/com/digitalasset/daml/lf/language/LookupError.scala
index 8245336f3f..b170527898 100644
--- a/sdk/daml-lf/language/src/main/scala/com/daml/lf/language/LookupError.scala
+++ b/sdk/daml-lf/language/src/main/scala/com/digitalasset/daml/lf/language/LookupError.scala
@@ -1,9 +1,9 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.language
+package com.digitalasset.daml.lf.language
-import com.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.data.Ref._
sealed abstract class LookupError {
def pretty: String
diff --git a/sdk/daml-lf/language/src/main/scala/com/daml/lf/language/PackageInterface.scala b/sdk/daml-lf/language/src/main/scala/com/digitalasset/daml/lf/language/PackageInterface.scala
similarity index 98%
rename from sdk/daml-lf/language/src/main/scala/com/daml/lf/language/PackageInterface.scala
rename to sdk/daml-lf/language/src/main/scala/com/digitalasset/daml/lf/language/PackageInterface.scala
index 78b11949f5..a895e2b5d6 100644
--- a/sdk/daml-lf/language/src/main/scala/com/daml/lf/language/PackageInterface.scala
+++ b/sdk/daml-lf/language/src/main/scala/com/digitalasset/daml/lf/language/PackageInterface.scala
@@ -1,12 +1,12 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package language
-import com.daml.lf.data.TemplateOrInterface
-import com.daml.lf.data.Ref._
-import com.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.data.TemplateOrInterface
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.language.Ast._
private[lf] class PackageInterface(val signatures: PartialFunction[PackageId, PackageSignature]) {
diff --git a/sdk/daml-lf/language/src/main/scala/com/daml/lf/language/TypeOrdering.scala b/sdk/daml-lf/language/src/main/scala/com/digitalasset/daml/lf/language/TypeOrdering.scala
similarity index 98%
rename from sdk/daml-lf/language/src/main/scala/com/daml/lf/language/TypeOrdering.scala
rename to sdk/daml-lf/language/src/main/scala/com/digitalasset/daml/lf/language/TypeOrdering.scala
index 310859f8ed..e37e7d3142 100644
--- a/sdk/daml-lf/language/src/main/scala/com/daml/lf/language/TypeOrdering.scala
+++ b/sdk/daml-lf/language/src/main/scala/com/digitalasset/daml/lf/language/TypeOrdering.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package language
import Ast._
diff --git a/sdk/daml-lf/language/src/main/scala/com/daml/lf/language/Util.scala b/sdk/daml-lf/language/src/main/scala/com/digitalasset/daml/lf/language/Util.scala
similarity index 98%
rename from sdk/daml-lf/language/src/main/scala/com/daml/lf/language/Util.scala
rename to sdk/daml-lf/language/src/main/scala/com/digitalasset/daml/lf/language/Util.scala
index 60447c6b5f..28d325cabd 100644
--- a/sdk/daml-lf/language/src/main/scala/com/daml/lf/language/Util.scala
+++ b/sdk/daml-lf/language/src/main/scala/com/digitalasset/daml/lf/language/Util.scala
@@ -1,11 +1,11 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package language
-import com.daml.lf.data.{ImmArray, Ref}
-import com.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.data.{ImmArray, Ref}
+import com.digitalasset.daml.lf.language.Ast._
import com.daml.nameof.NameOf
import scala.annotation.tailrec
diff --git a/sdk/daml-lf/language/src/main/scala/com/daml/lf/language/util/PackageInfo.scala b/sdk/daml-lf/language/src/main/scala/com/digitalasset/daml/lf/language/util/PackageInfo.scala
similarity index 98%
rename from sdk/daml-lf/language/src/main/scala/com/daml/lf/language/util/PackageInfo.scala
rename to sdk/daml-lf/language/src/main/scala/com/digitalasset/daml/lf/language/util/PackageInfo.scala
index 53284fa555..5aa8a2dab3 100644
--- a/sdk/daml-lf/language/src/main/scala/com/daml/lf/language/util/PackageInfo.scala
+++ b/sdk/daml-lf/language/src/main/scala/com/digitalasset/daml/lf/language/util/PackageInfo.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package language
package util
diff --git a/sdk/daml-lf/language/src/main/scala/com/daml/lf/language/util/iterable/ExprIterable.scala b/sdk/daml-lf/language/src/main/scala/com/digitalasset/daml/lf/language/util/iterable/ExprIterable.scala
similarity index 99%
rename from sdk/daml-lf/language/src/main/scala/com/daml/lf/language/util/iterable/ExprIterable.scala
rename to sdk/daml-lf/language/src/main/scala/com/digitalasset/daml/lf/language/util/iterable/ExprIterable.scala
index cf3f7aa630..75f0fecbeb 100644
--- a/sdk/daml-lf/language/src/main/scala/com/daml/lf/language/util/iterable/ExprIterable.scala
+++ b/sdk/daml-lf/language/src/main/scala/com/digitalasset/daml/lf/language/util/iterable/ExprIterable.scala
@@ -1,10 +1,10 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.language
+package com.digitalasset.daml.lf.language
package iterable
-import com.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.language.Ast._
private[lf] object ExprIterable {
that =>
diff --git a/sdk/daml-lf/language/src/main/scala/com/daml/lf/language/util/iterable/TypeIterable.scala b/sdk/daml-lf/language/src/main/scala/com/digitalasset/daml/lf/language/util/iterable/TypeIterable.scala
similarity index 99%
rename from sdk/daml-lf/language/src/main/scala/com/daml/lf/language/util/iterable/TypeIterable.scala
rename to sdk/daml-lf/language/src/main/scala/com/digitalasset/daml/lf/language/util/iterable/TypeIterable.scala
index 4d8211f476..1c2e29d94d 100644
--- a/sdk/daml-lf/language/src/main/scala/com/daml/lf/language/util/iterable/TypeIterable.scala
+++ b/sdk/daml-lf/language/src/main/scala/com/digitalasset/daml/lf/language/util/iterable/TypeIterable.scala
@@ -1,10 +1,10 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.language
+package com.digitalasset.daml.lf.language
package iterable
-import com.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.language.Ast._
private[lf] object TypeIterable {
that =>
diff --git a/sdk/daml-lf/language/src/test/scala/com/daml/lf/language/AstSpec.scala b/sdk/daml-lf/language/src/test/scala/com/digitalasset/daml/lf/language/AstSpec.scala
similarity index 98%
rename from sdk/daml-lf/language/src/test/scala/com/daml/lf/language/AstSpec.scala
rename to sdk/daml-lf/language/src/test/scala/com/digitalasset/daml/lf/language/AstSpec.scala
index 8cac469623..0915d078ba 100644
--- a/sdk/daml-lf/language/src/test/scala/com/daml/lf/language/AstSpec.scala
+++ b/sdk/daml-lf/language/src/test/scala/com/digitalasset/daml/lf/language/AstSpec.scala
@@ -1,12 +1,12 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.language
+package com.digitalasset.daml.lf.language
-import com.daml.lf.data.{ImmArray, Ref}
-import com.daml.lf.data.Ref.{ChoiceName, DottedName, Name, TypeConName}
-import com.daml.lf.language.Ast._
-import com.daml.lf.language.Util._
+import com.digitalasset.daml.lf.data.{ImmArray, Ref}
+import com.digitalasset.daml.lf.data.Ref.{ChoiceName, DottedName, Name, TypeConName}
+import com.digitalasset.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.language.Util._
import org.scalatest.prop.TableDrivenPropertyChecks
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
diff --git a/sdk/daml-lf/language/src/test/scala/com/daml/lf/language/GraphsSpec.scala b/sdk/daml-lf/language/src/test/scala/com/digitalasset/daml/lf/language/GraphsSpec.scala
similarity index 97%
rename from sdk/daml-lf/language/src/test/scala/com/daml/lf/language/GraphsSpec.scala
rename to sdk/daml-lf/language/src/test/scala/com/digitalasset/daml/lf/language/GraphsSpec.scala
index 47542d66d2..01bbd0a71a 100644
--- a/sdk/daml-lf/language/src/test/scala/com/daml/lf/language/GraphsSpec.scala
+++ b/sdk/daml-lf/language/src/test/scala/com/digitalasset/daml/lf/language/GraphsSpec.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.language
+package com.digitalasset.daml.lf.language
import org.scalatest.prop.TableDrivenPropertyChecks
import org.scalatest.matchers.should.Matchers
diff --git a/sdk/daml-lf/language/src/test/scala/com/daml/lf/language/LanguageVersionSpec.scala b/sdk/daml-lf/language/src/test/scala/com/digitalasset/daml/lf/language/LanguageVersionSpec.scala
similarity index 92%
rename from sdk/daml-lf/language/src/test/scala/com/daml/lf/language/LanguageVersionSpec.scala
rename to sdk/daml-lf/language/src/test/scala/com/digitalasset/daml/lf/language/LanguageVersionSpec.scala
index 640c4d436b..b93c015e4d 100644
--- a/sdk/daml-lf/language/src/test/scala/com/daml/lf/language/LanguageVersionSpec.scala
+++ b/sdk/daml-lf/language/src/test/scala/com/digitalasset/daml/lf/language/LanguageVersionSpec.scala
@@ -1,9 +1,9 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.language
+package com.digitalasset.daml.lf.language
-import com.daml.lf.language.{LanguageVersion => LV}
+import com.digitalasset.daml.lf.language.{LanguageVersion => LV}
import org.scalatest.prop.TableDrivenPropertyChecks
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
diff --git a/sdk/daml-lf/parser/src/main/scala/com/daml/lf/testing/parser/AstRewriter.scala b/sdk/daml-lf/parser/src/main/scala/com/digitalasset/daml/lf/testing/parser/AstRewriter.scala
similarity index 98%
rename from sdk/daml-lf/parser/src/main/scala/com/daml/lf/testing/parser/AstRewriter.scala
rename to sdk/daml-lf/parser/src/main/scala/com/digitalasset/daml/lf/testing/parser/AstRewriter.scala
index a863a93628..4285611ba4 100644
--- a/sdk/daml-lf/parser/src/main/scala/com/daml/lf/testing/parser/AstRewriter.scala
+++ b/sdk/daml-lf/parser/src/main/scala/com/digitalasset/daml/lf/testing/parser/AstRewriter.scala
@@ -1,11 +1,11 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.testing.parser
+package com.digitalasset.daml.lf.testing.parser
-import com.daml.lf.data.ImmArray
-import com.daml.lf.data.Ref._
-import com.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.data.ImmArray
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.language.Ast._
import scala.{PartialFunction => PF}
diff --git a/sdk/daml-lf/parser/src/main/scala/com/daml/lf/testing/parser/ExprParser.scala b/sdk/daml-lf/parser/src/main/scala/com/digitalasset/daml/lf/testing/parser/ExprParser.scala
similarity index 98%
rename from sdk/daml-lf/parser/src/main/scala/com/daml/lf/testing/parser/ExprParser.scala
rename to sdk/daml-lf/parser/src/main/scala/com/digitalasset/daml/lf/testing/parser/ExprParser.scala
index cc8cae06ab..e4b74a7496 100644
--- a/sdk/daml-lf/parser/src/main/scala/com/daml/lf/testing/parser/ExprParser.scala
+++ b/sdk/daml-lf/parser/src/main/scala/com/digitalasset/daml/lf/testing/parser/ExprParser.scala
@@ -1,13 +1,13 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.testing.parser
+package com.digitalasset.daml.lf.testing.parser
-import com.daml.lf.data.Ref.{Location, Name}
-import com.daml.lf.data.ImmArray
-import com.daml.lf.language.Ast._
-import com.daml.lf.testing.parser.Parsers._
-import com.daml.lf.testing.parser.Token._
+import com.digitalasset.daml.lf.data.Ref.{Location, Name}
+import com.digitalasset.daml.lf.data.ImmArray
+import com.digitalasset.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.testing.parser.Parsers._
+import com.digitalasset.daml.lf.testing.parser.Token._
@SuppressWarnings(Array("org.wartremover.warts.AnyVal"))
private[parser] class ExprParser[P](parserParameters: ParserParameters[P]) {
diff --git a/sdk/daml-lf/parser/src/main/scala/com/daml/lf/testing/parser/Implicits.scala b/sdk/daml-lf/parser/src/main/scala/com/digitalasset/daml/lf/testing/parser/Implicits.scala
similarity index 88%
rename from sdk/daml-lf/parser/src/main/scala/com/daml/lf/testing/parser/Implicits.scala
rename to sdk/daml-lf/parser/src/main/scala/com/digitalasset/daml/lf/testing/parser/Implicits.scala
index 7b97462fd5..de92cff824 100644
--- a/sdk/daml-lf/parser/src/main/scala/com/daml/lf/testing/parser/Implicits.scala
+++ b/sdk/daml-lf/parser/src/main/scala/com/digitalasset/daml/lf/testing/parser/Implicits.scala
@@ -1,12 +1,12 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.testing
+package com.digitalasset.daml.lf.testing
package parser
-import com.daml.lf.data.{Numeric, Ref}
-import com.daml.lf.language.Ast.{Expr, Kind, Module, Package, Type}
-//import com.daml.lf.language.LanguageMajorVersion
+import com.digitalasset.daml.lf.data.{Numeric, Ref}
+import com.digitalasset.daml.lf.language.Ast.{Expr, Kind, Module, Package, Type}
+//import com.digitalasset.daml.lf.language.LanguageMajorVersion
object Implicits {
diff --git a/sdk/daml-lf/parser/src/main/scala/com/daml/lf/testing/parser/KindParser.scala b/sdk/daml-lf/parser/src/main/scala/com/digitalasset/daml/lf/testing/parser/KindParser.scala
similarity index 64%
rename from sdk/daml-lf/parser/src/main/scala/com/daml/lf/testing/parser/KindParser.scala
rename to sdk/daml-lf/parser/src/main/scala/com/digitalasset/daml/lf/testing/parser/KindParser.scala
index 43eb9921fd..a24831a9d2 100644
--- a/sdk/daml-lf/parser/src/main/scala/com/daml/lf/testing/parser/KindParser.scala
+++ b/sdk/daml-lf/parser/src/main/scala/com/digitalasset/daml/lf/testing/parser/KindParser.scala
@@ -1,11 +1,11 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.testing.parser
+package com.digitalasset.daml.lf.testing.parser
-import com.daml.lf.language.Ast._
-import com.daml.lf.testing.parser.Parsers._
-import com.daml.lf.testing.parser.Token._
+import com.digitalasset.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.testing.parser.Parsers._
+import com.digitalasset.daml.lf.testing.parser.Token._
private[daml] object KindParser {
diff --git a/sdk/daml-lf/parser/src/main/scala/com/daml/lf/testing/parser/Lexer.scala b/sdk/daml-lf/parser/src/main/scala/com/digitalasset/daml/lf/testing/parser/Lexer.scala
similarity index 96%
rename from sdk/daml-lf/parser/src/main/scala/com/daml/lf/testing/parser/Lexer.scala
rename to sdk/daml-lf/parser/src/main/scala/com/digitalasset/daml/lf/testing/parser/Lexer.scala
index 7d243dd86f..2a0ead233d 100644
--- a/sdk/daml-lf/parser/src/main/scala/com/daml/lf/testing/parser/Lexer.scala
+++ b/sdk/daml-lf/parser/src/main/scala/com/digitalasset/daml/lf/testing/parser/Lexer.scala
@@ -1,11 +1,11 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.testing.parser
+package com.digitalasset.daml.lf.testing.parser
-import com.daml.lf.data
-import com.daml.lf.data.Time
-import com.daml.lf.testing.parser.Token._
+import com.digitalasset.daml.lf.data
+import com.digitalasset.daml.lf.data.Time
+import com.digitalasset.daml.lf.testing.parser.Token._
import scala.util.Try
import scala.util.matching.Regex
diff --git a/sdk/daml-lf/parser/src/main/scala/com/daml/lf/testing/parser/ModParser.scala b/sdk/daml-lf/parser/src/main/scala/com/digitalasset/daml/lf/testing/parser/ModParser.scala
similarity index 96%
rename from sdk/daml-lf/parser/src/main/scala/com/daml/lf/testing/parser/ModParser.scala
rename to sdk/daml-lf/parser/src/main/scala/com/digitalasset/daml/lf/testing/parser/ModParser.scala
index fe1aa3847d..1e03010816 100644
--- a/sdk/daml-lf/parser/src/main/scala/com/daml/lf/testing/parser/ModParser.scala
+++ b/sdk/daml-lf/parser/src/main/scala/com/digitalasset/daml/lf/testing/parser/ModParser.scala
@@ -1,14 +1,14 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package testing.parser
-import com.daml.lf.data.{ImmArray, Ref}
-import com.daml.lf.language.Ast._
-import com.daml.lf.language.{Util => AstUtil}
-import com.daml.lf.testing.parser.Parsers._
-import com.daml.lf.testing.parser.Token._
+import com.digitalasset.daml.lf.data.{ImmArray, Ref}
+import com.digitalasset.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.language.{Util => AstUtil}
+import com.digitalasset.daml.lf.testing.parser.Parsers._
+import com.digitalasset.daml.lf.testing.parser.Token._
import com.daml.scalautil.Statement.discard
private[parser] class ModParser[P](parameters: ParserParameters[P]) {
diff --git a/sdk/daml-lf/parser/src/main/scala/com/daml/lf/testing/parser/ParserError.scala b/sdk/daml-lf/parser/src/main/scala/com/digitalasset/daml/lf/testing/parser/ParserError.scala
similarity index 93%
rename from sdk/daml-lf/parser/src/main/scala/com/daml/lf/testing/parser/ParserError.scala
rename to sdk/daml-lf/parser/src/main/scala/com/digitalasset/daml/lf/testing/parser/ParserError.scala
index 26bc611573..43468c82fe 100644
--- a/sdk/daml-lf/parser/src/main/scala/com/daml/lf/testing/parser/ParserError.scala
+++ b/sdk/daml-lf/parser/src/main/scala/com/digitalasset/daml/lf/testing/parser/ParserError.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.testing.parser
+package com.digitalasset.daml.lf.testing.parser
import scala.util.parsing.input.Position
diff --git a/sdk/daml-lf/parser/src/main/scala/com/daml/lf/testing/parser/ParserParameters.scala b/sdk/daml-lf/parser/src/main/scala/com/digitalasset/daml/lf/testing/parser/ParserParameters.scala
similarity index 76%
rename from sdk/daml-lf/parser/src/main/scala/com/daml/lf/testing/parser/ParserParameters.scala
rename to sdk/daml-lf/parser/src/main/scala/com/digitalasset/daml/lf/testing/parser/ParserParameters.scala
index d229135185..a5915bc2c8 100644
--- a/sdk/daml-lf/parser/src/main/scala/com/daml/lf/testing/parser/ParserParameters.scala
+++ b/sdk/daml-lf/parser/src/main/scala/com/digitalasset/daml/lf/testing/parser/ParserParameters.scala
@@ -1,11 +1,11 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.testing.parser
+package com.digitalasset.daml.lf.testing.parser
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.PackageId
-import com.daml.lf.language.{LanguageMajorVersion, LanguageVersion}
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.language.{LanguageMajorVersion, LanguageVersion}
case class ParserParameters[P](
defaultPackageId: PackageId,
diff --git a/sdk/daml-lf/parser/src/main/scala/com/daml/lf/testing/parser/Parsers.scala b/sdk/daml-lf/parser/src/main/scala/com/digitalasset/daml/lf/testing/parser/Parsers.scala
similarity index 94%
rename from sdk/daml-lf/parser/src/main/scala/com/daml/lf/testing/parser/Parsers.scala
rename to sdk/daml-lf/parser/src/main/scala/com/digitalasset/daml/lf/testing/parser/Parsers.scala
index c56160b6b2..95fd95a47d 100644
--- a/sdk/daml-lf/parser/src/main/scala/com/daml/lf/testing/parser/Parsers.scala
+++ b/sdk/daml-lf/parser/src/main/scala/com/digitalasset/daml/lf/testing/parser/Parsers.scala
@@ -1,10 +1,10 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.testing.parser
+package com.digitalasset.daml.lf.testing.parser
-import com.daml.lf.data.Ref
-import com.daml.lf.testing.parser.Token._
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.testing.parser.Token._
import scala.util.parsing.input.{NoPosition, Position}
diff --git a/sdk/daml-lf/parser/src/main/scala/com/daml/lf/testing/parser/Token.scala b/sdk/daml-lf/parser/src/main/scala/com/digitalasset/daml/lf/testing/parser/Token.scala
similarity index 96%
rename from sdk/daml-lf/parser/src/main/scala/com/daml/lf/testing/parser/Token.scala
rename to sdk/daml-lf/parser/src/main/scala/com/digitalasset/daml/lf/testing/parser/Token.scala
index 551403e650..6198077743 100644
--- a/sdk/daml-lf/parser/src/main/scala/com/daml/lf/testing/parser/Token.scala
+++ b/sdk/daml-lf/parser/src/main/scala/com/digitalasset/daml/lf/testing/parser/Token.scala
@@ -1,9 +1,9 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.testing.parser
+package com.digitalasset.daml.lf.testing.parser
-import com.daml.lf.data
+import com.digitalasset.daml.lf.data
private[parser] sealed trait Token extends Product with Serializable
diff --git a/sdk/daml-lf/parser/src/main/scala/com/daml/lf/testing/parser/TypeParser.scala b/sdk/daml-lf/parser/src/main/scala/com/digitalasset/daml/lf/testing/parser/TypeParser.scala
similarity index 87%
rename from sdk/daml-lf/parser/src/main/scala/com/daml/lf/testing/parser/TypeParser.scala
rename to sdk/daml-lf/parser/src/main/scala/com/digitalasset/daml/lf/testing/parser/TypeParser.scala
index ea2ce17d97..5f59509dcd 100644
--- a/sdk/daml-lf/parser/src/main/scala/com/daml/lf/testing/parser/TypeParser.scala
+++ b/sdk/daml-lf/parser/src/main/scala/com/digitalasset/daml/lf/testing/parser/TypeParser.scala
@@ -1,14 +1,14 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.testing.parser
+package com.digitalasset.daml.lf.testing.parser
-import com.daml.lf.data
-import com.daml.lf.data.{ImmArray, Ref, Struct}
-import com.daml.lf.language.Ast._
-import com.daml.lf.language.Util._
-import com.daml.lf.testing.parser.Parsers._
-import com.daml.lf.testing.parser.Token._
+import com.digitalasset.daml.lf.data
+import com.digitalasset.daml.lf.data.{ImmArray, Ref, Struct}
+import com.digitalasset.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.language.Util._
+import com.digitalasset.daml.lf.testing.parser.Parsers._
+import com.digitalasset.daml.lf.testing.parser.Token._
private[parser] class TypeParser[P](parameters: ParserParameters[P]) {
diff --git a/sdk/daml-lf/parser/src/main/scala/com/daml/lf/testing/parser/package.scala b/sdk/daml-lf/parser/src/main/scala/com/digitalasset/daml/lf/testing/parser/package.scala
similarity index 92%
rename from sdk/daml-lf/parser/src/main/scala/com/daml/lf/testing/parser/package.scala
rename to sdk/daml-lf/parser/src/main/scala/com/digitalasset/daml/lf/testing/parser/package.scala
index eff5293ff2..3d5350e889 100644
--- a/sdk/daml-lf/parser/src/main/scala/com/daml/lf/testing/parser/package.scala
+++ b/sdk/daml-lf/parser/src/main/scala/com/digitalasset/daml/lf/testing/parser/package.scala
@@ -1,9 +1,9 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.testing
+package com.digitalasset.daml.lf.testing
-import com.daml.lf.language.Ast.{Expr, Kind, Module, Package, Type}
+import com.digitalasset.daml.lf.language.Ast.{Expr, Kind, Module, Package, Type}
/** The LF Parser library can be used to write Daml-LF Ast using a
* human-friendly syntax.
diff --git a/sdk/daml-lf/parser/src/test/scala/com/daml/lf/testing/parser/ParsersSpec.scala b/sdk/daml-lf/parser/src/test/scala/com/digitalasset/daml/lf/testing/parser/ParsersSpec.scala
similarity index 98%
rename from sdk/daml-lf/parser/src/test/scala/com/daml/lf/testing/parser/ParsersSpec.scala
rename to sdk/daml-lf/parser/src/test/scala/com/digitalasset/daml/lf/testing/parser/ParsersSpec.scala
index a8b405ac04..6c284fde6a 100644
--- a/sdk/daml-lf/parser/src/test/scala/com/daml/lf/testing/parser/ParsersSpec.scala
+++ b/sdk/daml-lf/parser/src/test/scala/com/digitalasset/daml/lf/testing/parser/ParsersSpec.scala
@@ -1,15 +1,15 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.testing.parser
+package com.digitalasset.daml.lf.testing.parser
import java.math.BigDecimal
-import com.daml.lf.data.Ref._
-import com.daml.lf.data.{ImmArray, Numeric, Struct, Time}
-import com.daml.lf.language.Ast._
-import com.daml.lf.language.LanguageMajorVersion
-import com.daml.lf.language.Util._
-import com.daml.lf.testing.parser.Implicits.SyntaxHelper
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.data.{ImmArray, Numeric, Struct, Time}
+import com.digitalasset.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.language.LanguageMajorVersion
+import com.digitalasset.daml.lf.language.Util._
+import com.digitalasset.daml.lf.testing.parser.Implicits.SyntaxHelper
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import org.scalatestplus.scalacheck.ScalaCheckPropertyChecks
diff --git a/sdk/daml-lf/repl/BUILD.bazel b/sdk/daml-lf/repl/BUILD.bazel
index 19b253c825..08af2116b7 100644
--- a/sdk/daml-lf/repl/BUILD.bazel
+++ b/sdk/daml-lf/repl/BUILD.bazel
@@ -9,7 +9,7 @@ load(
da_scala_binary(
name = "repl",
srcs = glob(["src/main/**/*.scala"]),
- main_class = "com.daml.lf.speedy.testing.Main",
+ main_class = "com.digitalasset.daml.lf.speedy.testing.Main",
max_heap_size = "8g",
scala_deps = [
"@maven//:org_typelevel_paiges_core",
diff --git a/sdk/daml-lf/repl/src/main/scala/com/daml/lf/speedy/testing/Main.scala b/sdk/daml-lf/repl/src/main/scala/com/digitalasset/daml/lf/speedy/testing/Main.scala
similarity index 96%
rename from sdk/daml-lf/repl/src/main/scala/com/daml/lf/speedy/testing/Main.scala
rename to sdk/daml-lf/repl/src/main/scala/com/digitalasset/daml/lf/speedy/testing/Main.scala
index 45b38f29cd..f9883ffff7 100644
--- a/sdk/daml-lf/repl/src/main/scala/com/daml/lf/speedy/testing/Main.scala
+++ b/sdk/daml-lf/repl/src/main/scala/com/digitalasset/daml/lf/speedy/testing/Main.scala
@@ -1,23 +1,27 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
package testing
-import com.daml.lf.data._
-import com.daml.lf.data.Ref._
-import com.daml.lf.language.Ast._
-import com.daml.lf.archive.UniversalArchiveDecoder
-import com.daml.lf.language.LanguageVersion.AllVersions
-import com.daml.lf.language.Util._
-import com.daml.lf.speedy.Pretty._
-import com.daml.lf.scenario.{ScenarioRunner, Pretty => PrettyScenario}
-import com.daml.lf.speedy.SResult._
-import com.daml.lf.speedy.SExpr.LfDefRef
-import com.daml.lf.validation.Validation
-import com.daml.lf.testing.parser
-import com.daml.lf.language.{LanguageMajorVersion, PackageInterface, LanguageVersion => LV}
+import com.digitalasset.daml.lf.data._
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.archive.UniversalArchiveDecoder
+import com.digitalasset.daml.lf.language.LanguageVersion.AllVersions
+import com.digitalasset.daml.lf.language.Util._
+import com.digitalasset.daml.lf.speedy.Pretty._
+import com.digitalasset.daml.lf.scenario.{ScenarioRunner, Pretty => PrettyScenario}
+import com.digitalasset.daml.lf.speedy.SResult._
+import com.digitalasset.daml.lf.speedy.SExpr.LfDefRef
+import com.digitalasset.daml.lf.validation.Validation
+import com.digitalasset.daml.lf.testing.parser
+import com.digitalasset.daml.lf.language.{
+ LanguageMajorVersion,
+ PackageInterface,
+ LanguageVersion => LV,
+}
import com.daml.logging.LoggingContext
import java.io.{File, PrintWriter, StringWriter}
diff --git a/sdk/daml-lf/scenario-interpreter/src/main/scala/com/daml/lf/scenario/Error.scala b/sdk/daml-lf/scenario-interpreter/src/main/scala/com/digitalasset/daml/lf/scenario/Error.scala
similarity index 85%
rename from sdk/daml-lf/scenario-interpreter/src/main/scala/com/daml/lf/scenario/Error.scala
rename to sdk/daml-lf/scenario-interpreter/src/main/scala/com/digitalasset/daml/lf/scenario/Error.scala
index bcc3953ed7..2b751dec3a 100644
--- a/sdk/daml-lf/scenario-interpreter/src/main/scala/com/daml/lf/scenario/Error.scala
+++ b/sdk/daml-lf/scenario-interpreter/src/main/scala/com/digitalasset/daml/lf/scenario/Error.scala
@@ -1,16 +1,16 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package scenario
-import com.daml.lf.data.Ref.{Identifier, Party, PackageId}
-import com.daml.lf.data.Time
-import com.daml.lf.language.Ast.PackageMetadata
-import com.daml.lf.ledger.EventId
-import com.daml.lf.speedy.SError.SError
-import com.daml.lf.transaction.{GlobalKey, VersionedTransaction}
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.data.Ref.{Identifier, Party, PackageId}
+import com.digitalasset.daml.lf.data.Time
+import com.digitalasset.daml.lf.language.Ast.PackageMetadata
+import com.digitalasset.daml.lf.ledger.EventId
+import com.digitalasset.daml.lf.speedy.SError.SError
+import com.digitalasset.daml.lf.transaction.{GlobalKey, VersionedTransaction}
+import com.digitalasset.daml.lf.value.Value.ContractId
import scala.concurrent.duration.Duration
import scala.util.control.NoStackTrace
diff --git a/sdk/daml-lf/scenario-interpreter/src/main/scala/com/daml/lf/scenario/Pretty.scala b/sdk/daml-lf/scenario-interpreter/src/main/scala/com/digitalasset/daml/lf/scenario/Pretty.scala
similarity index 97%
rename from sdk/daml-lf/scenario-interpreter/src/main/scala/com/daml/lf/scenario/Pretty.scala
rename to sdk/daml-lf/scenario-interpreter/src/main/scala/com/digitalasset/daml/lf/scenario/Pretty.scala
index 647145ba66..6034235f2f 100644
--- a/sdk/daml-lf/scenario-interpreter/src/main/scala/com/daml/lf/scenario/Pretty.scala
+++ b/sdk/daml-lf/scenario-interpreter/src/main/scala/com/digitalasset/daml/lf/scenario/Pretty.scala
@@ -1,10 +1,10 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package scenario
-import com.daml.lf.language.Ast.PackageMetadata
+import com.digitalasset.daml.lf.language.Ast.PackageMetadata
import org.typelevel.paiges.Doc
import org.typelevel.paiges.Doc._
diff --git a/sdk/daml-lf/scenario-interpreter/src/main/scala/com/daml/lf/scenario/ScenarioRunner.scala b/sdk/daml-lf/scenario-interpreter/src/main/scala/com/digitalasset/daml/lf/scenario/ScenarioRunner.scala
similarity index 95%
rename from sdk/daml-lf/scenario-interpreter/src/main/scala/com/daml/lf/scenario/ScenarioRunner.scala
rename to sdk/daml-lf/scenario-interpreter/src/main/scala/com/digitalasset/daml/lf/scenario/ScenarioRunner.scala
index 58edcd3e80..694fbdf70c 100644
--- a/sdk/daml-lf/scenario-interpreter/src/main/scala/com/daml/lf/scenario/ScenarioRunner.scala
+++ b/sdk/daml-lf/scenario-interpreter/src/main/scala/com/digitalasset/daml/lf/scenario/ScenarioRunner.scala
@@ -1,21 +1,21 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package scenario
-import com.daml.lf.data.Ref._
-import com.daml.lf.data.{ImmArray, Ref, Time}
-import com.daml.lf.engine.{Engine, Result, ResultDone, ResultError, ValueEnricher}
-import com.daml.lf.engine.preprocessing.ValueTranslator
-import com.daml.lf.language.{Ast, LanguageMajorVersion, LookupError}
-import com.daml.lf.transaction.{GlobalKey, NodeId, SubmittedTransaction}
-import com.daml.lf.value.Value.{ContractId, VersionedContractInstance}
-import com.daml.lf.speedy._
-import com.daml.lf.speedy.SExpr.{SEApp, SEValue, SExpr}
-import com.daml.lf.speedy.SResult._
-import com.daml.lf.transaction.IncompleteTransaction
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.data.{ImmArray, Ref, Time}
+import com.digitalasset.daml.lf.engine.{Engine, Result, ResultDone, ResultError, ValueEnricher}
+import com.digitalasset.daml.lf.engine.preprocessing.ValueTranslator
+import com.digitalasset.daml.lf.language.{Ast, LanguageMajorVersion, LookupError}
+import com.digitalasset.daml.lf.transaction.{GlobalKey, NodeId, SubmittedTransaction}
+import com.digitalasset.daml.lf.value.Value.{ContractId, VersionedContractInstance}
+import com.digitalasset.daml.lf.speedy._
+import com.digitalasset.daml.lf.speedy.SExpr.{SEApp, SEValue, SExpr}
+import com.digitalasset.daml.lf.speedy.SResult._
+import com.digitalasset.daml.lf.transaction.IncompleteTransaction
+import com.digitalasset.daml.lf.value.Value
import com.daml.logging.LoggingContext
import com.daml.scalautil.Statement.discard
diff --git a/sdk/daml-lf/scenario-interpreter/src/main/scala/com/daml/lf/scenario/TimeBomb.scala b/sdk/daml-lf/scenario-interpreter/src/main/scala/com/digitalasset/daml/lf/scenario/TimeBomb.scala
similarity index 96%
rename from sdk/daml-lf/scenario-interpreter/src/main/scala/com/daml/lf/scenario/TimeBomb.scala
rename to sdk/daml-lf/scenario-interpreter/src/main/scala/com/digitalasset/daml/lf/scenario/TimeBomb.scala
index a7225da1bf..5fd914b39d 100644
--- a/sdk/daml-lf/scenario-interpreter/src/main/scala/com/daml/lf/scenario/TimeBomb.scala
+++ b/sdk/daml-lf/scenario-interpreter/src/main/scala/com/digitalasset/daml/lf/scenario/TimeBomb.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package scenario
import java.util.{Timer, TimerTask}
diff --git a/sdk/daml-lf/scenario-interpreter/src/perf/benches/scala/com/daml/lf/speedy/perf/CollectAuthority.scala b/sdk/daml-lf/scenario-interpreter/src/perf/benches/scala/com/digitalasset/daml/lf/speedy/perf/CollectAuthority.scala
similarity index 89%
rename from sdk/daml-lf/scenario-interpreter/src/perf/benches/scala/com/daml/lf/speedy/perf/CollectAuthority.scala
rename to sdk/daml-lf/scenario-interpreter/src/perf/benches/scala/com/digitalasset/daml/lf/speedy/perf/CollectAuthority.scala
index 05423af8a4..19532a41e6 100644
--- a/sdk/daml-lf/scenario-interpreter/src/perf/benches/scala/com/daml/lf/speedy/perf/CollectAuthority.scala
+++ b/sdk/daml-lf/scenario-interpreter/src/perf/benches/scala/com/digitalasset/daml/lf/speedy/perf/CollectAuthority.scala
@@ -1,24 +1,24 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package speedy
package perf
import com.daml.bazeltools.BazelRunfiles._
-import com.daml.lf.archive.UniversalArchiveDecoder
-import com.daml.lf.data.Ref.{Identifier, Location, Party, QualifiedName}
-import com.daml.lf.data.Time
-import com.daml.lf.language.Ast.EVal
-import com.daml.lf.language.LanguageMajorVersion
-import com.daml.lf.speedy.SExpr.{SEValue, SExpr}
-import com.daml.lf.speedy.SResult._
-import com.daml.lf.transaction.{GlobalKey, NodeId, SubmittedTransaction}
-import com.daml.lf.value.Value
-import com.daml.lf.value.Value.ContractId
-import com.daml.lf.scenario.{ScenarioLedger, ScenarioRunner}
-import com.daml.lf.speedy.Speedy.{Control, Machine, ScenarioMachine}
-import com.daml.lf.speedy.Question.Scenario
+import com.digitalasset.daml.lf.archive.UniversalArchiveDecoder
+import com.digitalasset.daml.lf.data.Ref.{Identifier, Location, Party, QualifiedName}
+import com.digitalasset.daml.lf.data.Time
+import com.digitalasset.daml.lf.language.Ast.EVal
+import com.digitalasset.daml.lf.language.LanguageMajorVersion
+import com.digitalasset.daml.lf.speedy.SExpr.{SEValue, SExpr}
+import com.digitalasset.daml.lf.speedy.SResult._
+import com.digitalasset.daml.lf.transaction.{GlobalKey, NodeId, SubmittedTransaction}
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.scenario.{ScenarioLedger, ScenarioRunner}
+import com.digitalasset.daml.lf.speedy.Speedy.{Control, Machine, ScenarioMachine}
+import com.digitalasset.daml.lf.speedy.Question.Scenario
import com.daml.logging.LoggingContext
import java.io.File
diff --git a/sdk/daml-lf/snapshot/BUILD.bazel b/sdk/daml-lf/snapshot/BUILD.bazel
index 37899555f9..639b53d4b9 100644
--- a/sdk/daml-lf/snapshot/BUILD.bazel
+++ b/sdk/daml-lf/snapshot/BUILD.bazel
@@ -14,7 +14,7 @@ load(
proto_jars(
name = "snapshot_proto",
- srcs = ["src/main/protobuf/com/daml/lf/snapshot.proto"],
+ srcs = ["src/main/protobuf/com/digitalasset/daml/lf/snapshot.proto"],
maven_artifact_prefix = "daml-lf-snapshot",
maven_group = "com.daml",
strip_import_prefix = "src/main/protobuf/",
diff --git a/sdk/daml-lf/snapshot/src/benchmark/scala/com/daml/lf/testing/snapshot/ReplayBenchmark.scala b/sdk/daml-lf/snapshot/src/benchmark/scala/com/digitalasset/daml/lf/testing/snapshot/ReplayBenchmark.scala
similarity index 95%
rename from sdk/daml-lf/snapshot/src/benchmark/scala/com/daml/lf/testing/snapshot/ReplayBenchmark.scala
rename to sdk/daml-lf/snapshot/src/benchmark/scala/com/digitalasset/daml/lf/testing/snapshot/ReplayBenchmark.scala
index 230fcae2c7..98684c9ca5 100644
--- a/sdk/daml-lf/snapshot/src/benchmark/scala/com/daml/lf/testing/snapshot/ReplayBenchmark.scala
+++ b/sdk/daml-lf/snapshot/src/benchmark/scala/com/digitalasset/daml/lf/testing/snapshot/ReplayBenchmark.scala
@@ -1,10 +1,10 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package testing.snapshot
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import org.openjdk.jmh.annotations._
import java.nio.file.Paths
diff --git a/sdk/daml-lf/snapshot/src/main/protobuf/com/daml/lf/snapshot.proto b/sdk/daml-lf/snapshot/src/main/protobuf/com/digitalasset/daml/lf/snapshot.proto
similarity index 80%
rename from sdk/daml-lf/snapshot/src/main/protobuf/com/daml/lf/snapshot.proto
rename to sdk/daml-lf/snapshot/src/main/protobuf/com/digitalasset/daml/lf/snapshot.proto
index f127372d55..9a20481de2 100644
--- a/sdk/daml-lf/snapshot/src/main/protobuf/com/daml/lf/snapshot.proto
+++ b/sdk/daml-lf/snapshot/src/main/protobuf/com/digitalasset/daml/lf/snapshot.proto
@@ -4,9 +4,9 @@
syntax = "proto3";
-package com.daml.lf.testing.snapshot;
+package com.digitalasset.daml.lf.testing.snapshot;
-option java_package = "com.daml.lf.testing.snapshot";
+option java_package = "com.digitalasset.daml.lf.testing.snapshot";
message TransactionEntry {
bytes rawTransaction = 1;
diff --git a/sdk/daml-lf/snapshot/src/main/scala/com/daml/lf/testing/snapshot/Adapter.scala b/sdk/daml-lf/snapshot/src/main/scala/com/digitalasset/daml/lf/testing/snapshot/Adapter.scala
similarity index 89%
rename from sdk/daml-lf/snapshot/src/main/scala/com/daml/lf/testing/snapshot/Adapter.scala
rename to sdk/daml-lf/snapshot/src/main/scala/com/digitalasset/daml/lf/testing/snapshot/Adapter.scala
index 9642b50942..393818eb30 100644
--- a/sdk/daml-lf/snapshot/src/main/scala/com/daml/lf/testing/snapshot/Adapter.scala
+++ b/sdk/daml-lf/snapshot/src/main/scala/com/digitalasset/daml/lf/testing/snapshot/Adapter.scala
@@ -1,15 +1,15 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package testing.snapshot
-import com.daml.lf.data._
-import com.daml.lf.language.{Ast, LanguageVersion}
-import com.daml.lf.testing.snapshot.Adapter.TxBuilder
-import com.daml.lf.transaction._
-import com.daml.lf.transaction.test.{NodeIdTransactionBuilder, TestNodeBuilder}
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.data._
+import com.digitalasset.daml.lf.language.{Ast, LanguageVersion}
+import com.digitalasset.daml.lf.testing.snapshot.Adapter.TxBuilder
+import com.digitalasset.daml.lf.transaction._
+import com.digitalasset.daml.lf.transaction.test.{NodeIdTransactionBuilder, TestNodeBuilder}
+import com.digitalasset.daml.lf.value.Value
import scala.collection.mutable
@@ -17,7 +17,7 @@ final class Adapter(
packages: Map[Ref.PackageId, Ast.Package]
) {
- private val interface = com.daml.lf.language.PackageInterface(packages)
+ private val interface = com.digitalasset.daml.lf.language.PackageInterface(packages)
def adapt(tx: VersionedTransaction): SubmittedTransaction =
tx.foldWithPathState(new TxBuilder(interface.packageLanguageVersion), Option.empty[NodeId])(
diff --git a/sdk/daml-lf/snapshot/src/main/scala/com/daml/lf/testing/snapshot/TransactionSnapshot.scala b/sdk/daml-lf/snapshot/src/main/scala/com/digitalasset/daml/lf/testing/snapshot/TransactionSnapshot.scala
similarity index 91%
rename from sdk/daml-lf/snapshot/src/main/scala/com/daml/lf/testing/snapshot/TransactionSnapshot.scala
rename to sdk/daml-lf/snapshot/src/main/scala/com/digitalasset/daml/lf/testing/snapshot/TransactionSnapshot.scala
index b651f792c3..298665bb9b 100644
--- a/sdk/daml-lf/snapshot/src/main/scala/com/daml/lf/testing/snapshot/TransactionSnapshot.scala
+++ b/sdk/daml-lf/snapshot/src/main/scala/com/digitalasset/daml/lf/testing/snapshot/TransactionSnapshot.scala
@@ -1,24 +1,24 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package testing.snapshot
-import com.daml.lf.archive.{ArchiveDecoder, UniversalArchiveDecoder}
-import com.daml.lf.data.{Bytes, Ref, Time}
-import com.daml.lf.engine.{Engine, EngineConfig, Error}
-import com.daml.lf.language.{Ast, LanguageVersion, Util => AstUtil}
-import com.daml.lf.testing.snapshot.Snapshot.SubmissionEntry.EntryCase
-import com.daml.lf.transaction.Transaction.ChildrenRecursion
-import com.daml.lf.transaction.{
+import com.digitalasset.daml.lf.archive.{ArchiveDecoder, UniversalArchiveDecoder}
+import com.digitalasset.daml.lf.data.{Bytes, Ref, Time}
+import com.digitalasset.daml.lf.engine.{Engine, EngineConfig, Error}
+import com.digitalasset.daml.lf.language.{Ast, LanguageVersion, Util => AstUtil}
+import com.digitalasset.daml.lf.testing.snapshot.Snapshot.SubmissionEntry.EntryCase
+import com.digitalasset.daml.lf.transaction.Transaction.ChildrenRecursion
+import com.digitalasset.daml.lf.transaction.{
GlobalKeyWithMaintainers,
Node,
SubmittedTransaction => SubmittedTx,
TransactionCoder => TxCoder,
TransactionOuterClass => TxOuterClass,
}
-import com.daml.lf.value.Value.ContractId
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.value.Value
import com.daml.logging.LoggingContext
import com.google.protobuf.ByteString
diff --git a/sdk/daml-lf/snapshot/src/profile/scala/com/daml/lf/testing/snapshot/ReplayProfile.scala b/sdk/daml-lf/snapshot/src/profile/scala/com/digitalasset/daml/lf/testing/snapshot/ReplayProfile.scala
similarity index 97%
rename from sdk/daml-lf/snapshot/src/profile/scala/com/daml/lf/testing/snapshot/ReplayProfile.scala
rename to sdk/daml-lf/snapshot/src/profile/scala/com/digitalasset/daml/lf/testing/snapshot/ReplayProfile.scala
index c7c52b05c3..f927e8fd9e 100644
--- a/sdk/daml-lf/snapshot/src/profile/scala/com/daml/lf/testing/snapshot/ReplayProfile.scala
+++ b/sdk/daml-lf/snapshot/src/profile/scala/com/digitalasset/daml/lf/testing/snapshot/ReplayProfile.scala
@@ -1,10 +1,10 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package testing.snapshot
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import scopt.{OptionParser, Read}
import java.nio.file.{Path, Paths}
diff --git a/sdk/daml-lf/stable-packages/src/main/scala/com/daml/lf/stablepackages/StablePackages.scala b/sdk/daml-lf/stable-packages/src/main/scala/com/digitalasset/daml/lf/stablepackages/StablePackages.scala
similarity index 91%
rename from sdk/daml-lf/stable-packages/src/main/scala/com/daml/lf/stablepackages/StablePackages.scala
rename to sdk/daml-lf/stable-packages/src/main/scala/com/digitalasset/daml/lf/stablepackages/StablePackages.scala
index 2f3c1162c3..d864cdf520 100644
--- a/sdk/daml-lf/stable-packages/src/main/scala/com/daml/lf/stablepackages/StablePackages.scala
+++ b/sdk/daml-lf/stable-packages/src/main/scala/com/digitalasset/daml/lf/stablepackages/StablePackages.scala
@@ -1,14 +1,14 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package stablepackages
-import com.daml.lf.VersionRange
-import com.daml.lf.archive
-import com.daml.lf.archive.ArchiveDecoder
-import com.daml.lf.data.Ref
-import com.daml.lf.language.{Ast, LanguageMajorVersion, LanguageVersion}
+import com.digitalasset.daml.lf.VersionRange
+import com.digitalasset.daml.lf.archive
+import com.digitalasset.daml.lf.archive.ArchiveDecoder
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.language.{Ast, LanguageMajorVersion, LanguageVersion}
private[daml] sealed case class StablePackage(
moduleName: Ref.ModuleName,
@@ -38,7 +38,7 @@ private[daml] sealed abstract class StablePackages {
val Either: Ref.TypeConName
}
-private[daml] final object StablePackagesV2
+final object StablePackagesV2
extends StablePackagesImpl("compiler/damlc/stable-packages/stable-packages-manifest-v2.txt")
private[daml] object StablePackages {
@@ -50,7 +50,7 @@ private[daml] object StablePackages {
/** The IDs of stable packages compatible with the provided version range. */
def ids(allowedLanguageVersions: VersionRange[LanguageVersion]): Set[Ref.PackageId] = {
- import com.daml.lf.language.LanguageVersionRangeOps.LanguageVersionRange
+ import com.digitalasset.daml.lf.language.LanguageVersionRangeOps.LanguageVersionRange
import scala.Ordering.Implicits.infixOrderingOps
diff --git a/sdk/daml-lf/stable-packages/src/test/scala/com/daml/lf/stablepackages/StablePackagesTest.scala b/sdk/daml-lf/stable-packages/src/test/scala/com/digitalasset/daml/lf/stablepackages/StablePackagesTest.scala
similarity index 92%
rename from sdk/daml-lf/stable-packages/src/test/scala/com/daml/lf/stablepackages/StablePackagesTest.scala
rename to sdk/daml-lf/stable-packages/src/test/scala/com/digitalasset/daml/lf/stablepackages/StablePackagesTest.scala
index bf820f0037..a8c5fd727f 100644
--- a/sdk/daml-lf/stable-packages/src/test/scala/com/daml/lf/stablepackages/StablePackagesTest.scala
+++ b/sdk/daml-lf/stable-packages/src/test/scala/com/digitalasset/daml/lf/stablepackages/StablePackagesTest.scala
@@ -1,12 +1,12 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package stablepackages
import com.daml.bazeltools.BazelRunfiles
-import com.daml.lf.archive.UniversalArchiveDecoder
-import com.daml.lf.language.LanguageMajorVersion
+import com.digitalasset.daml.lf.archive.UniversalArchiveDecoder
+import com.digitalasset.daml.lf.language.LanguageMajorVersion
import org.scalatest._
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
diff --git a/sdk/daml-lf/transaction-test-lib/src/main/scala/com/daml/lf/transaction/test/NodeIdTransactionBuilder.scala b/sdk/daml-lf/transaction-test-lib/src/main/scala/com/digitalasset/daml/lf/transaction/test/NodeIdTransactionBuilder.scala
similarity index 96%
rename from sdk/daml-lf/transaction-test-lib/src/main/scala/com/daml/lf/transaction/test/NodeIdTransactionBuilder.scala
rename to sdk/daml-lf/transaction-test-lib/src/main/scala/com/digitalasset/daml/lf/transaction/test/NodeIdTransactionBuilder.scala
index cf4d733025..f31590ef6b 100644
--- a/sdk/daml-lf/transaction-test-lib/src/main/scala/com/daml/lf/transaction/test/NodeIdTransactionBuilder.scala
+++ b/sdk/daml-lf/transaction-test-lib/src/main/scala/com/digitalasset/daml/lf/transaction/test/NodeIdTransactionBuilder.scala
@@ -1,11 +1,11 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package transaction
package test
-import com.daml.lf.data._
+import com.digitalasset.daml.lf.data._
import scala.Ordering.Implicits.infixOrderingOps
import scala.collection.immutable.HashMap
diff --git a/sdk/daml-lf/transaction-test-lib/src/main/scala/com/daml/lf/transaction/test/TestIdFactory.scala b/sdk/daml-lf/transaction-test-lib/src/main/scala/com/digitalasset/daml/lf/transaction/test/TestIdFactory.scala
similarity index 88%
rename from sdk/daml-lf/transaction-test-lib/src/main/scala/com/daml/lf/transaction/test/TestIdFactory.scala
rename to sdk/daml-lf/transaction-test-lib/src/main/scala/com/digitalasset/daml/lf/transaction/test/TestIdFactory.scala
index bb29df19a2..e106ab62b6 100644
--- a/sdk/daml-lf/transaction-test-lib/src/main/scala/com/daml/lf/transaction/test/TestIdFactory.scala
+++ b/sdk/daml-lf/transaction-test-lib/src/main/scala/com/digitalasset/daml/lf/transaction/test/TestIdFactory.scala
@@ -1,13 +1,13 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package transaction
package test
-import com.daml.lf.crypto.Hash
-import com.daml.lf.data.Ref
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.crypto.Hash
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.value.Value.ContractId
import java.util.concurrent.atomic.AtomicInteger
diff --git a/sdk/daml-lf/transaction-test-lib/src/main/scala/com/daml/lf/transaction/test/TestNodeBuilder.scala b/sdk/daml-lf/transaction-test-lib/src/main/scala/com/digitalasset/daml/lf/transaction/test/TestNodeBuilder.scala
similarity index 91%
rename from sdk/daml-lf/transaction-test-lib/src/main/scala/com/daml/lf/transaction/test/TestNodeBuilder.scala
rename to sdk/daml-lf/transaction-test-lib/src/main/scala/com/digitalasset/daml/lf/transaction/test/TestNodeBuilder.scala
index bfd5c4127c..be81e20ee9 100644
--- a/sdk/daml-lf/transaction-test-lib/src/main/scala/com/daml/lf/transaction/test/TestNodeBuilder.scala
+++ b/sdk/daml-lf/transaction-test-lib/src/main/scala/com/digitalasset/daml/lf/transaction/test/TestNodeBuilder.scala
@@ -1,16 +1,24 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package transaction
package test
-import com.daml.lf.transaction.test.TestNodeBuilder.{CreateKey, CreateTransactionVersion}
-import com.daml.lf.data.Ref.{PackageId, PackageName, Party, TypeConName}
-import com.daml.lf.data.{ImmArray, Ref}
-import com.daml.lf.transaction.{GlobalKeyWithMaintainers, Node, NodeId, TransactionVersion}
-import com.daml.lf.value.Value
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.transaction.test.TestNodeBuilder.{
+ CreateKey,
+ CreateTransactionVersion,
+}
+import com.digitalasset.daml.lf.data.Ref.{PackageId, PackageName, Party, TypeConName}
+import com.digitalasset.daml.lf.data.{ImmArray, Ref}
+import com.digitalasset.daml.lf.transaction.{
+ GlobalKeyWithMaintainers,
+ Node,
+ NodeId,
+ TransactionVersion,
+}
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value.ContractId
trait TestNodeBuilder {
diff --git a/sdk/daml-lf/transaction-test-lib/src/main/scala/com/daml/lf/transaction/test/TransactionBuilder.scala b/sdk/daml-lf/transaction-test-lib/src/main/scala/com/digitalasset/daml/lf/transaction/test/TransactionBuilder.scala
similarity index 96%
rename from sdk/daml-lf/transaction-test-lib/src/main/scala/com/daml/lf/transaction/test/TransactionBuilder.scala
rename to sdk/daml-lf/transaction-test-lib/src/main/scala/com/digitalasset/daml/lf/transaction/test/TransactionBuilder.scala
index 3e835867a2..ddeaf169ba 100644
--- a/sdk/daml-lf/transaction-test-lib/src/main/scala/com/daml/lf/transaction/test/TransactionBuilder.scala
+++ b/sdk/daml-lf/transaction-test-lib/src/main/scala/com/digitalasset/daml/lf/transaction/test/TransactionBuilder.scala
@@ -1,13 +1,17 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package transaction
package test
-import com.daml.lf.data._
-import com.daml.lf.value.Value
-import com.daml.lf.value.Value.{ContractId, ContractInstance, VersionedContractInstance}
+import com.digitalasset.daml.lf.data._
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value.{
+ ContractId,
+ ContractInstance,
+ VersionedContractInstance,
+}
import scala.Ordering.Implicits.infixOrderingOps
import scala.annotation.tailrec
diff --git a/sdk/daml-lf/transaction-test-lib/src/main/scala/com/daml/lf/transaction/test/TreeTransactionBuilder.scala b/sdk/daml-lf/transaction-test-lib/src/main/scala/com/digitalasset/daml/lf/transaction/test/TreeTransactionBuilder.scala
similarity index 94%
rename from sdk/daml-lf/transaction-test-lib/src/main/scala/com/daml/lf/transaction/test/TreeTransactionBuilder.scala
rename to sdk/daml-lf/transaction-test-lib/src/main/scala/com/digitalasset/daml/lf/transaction/test/TreeTransactionBuilder.scala
index b79a6647cf..a8f7b63f56 100644
--- a/sdk/daml-lf/transaction-test-lib/src/main/scala/com/daml/lf/transaction/test/TreeTransactionBuilder.scala
+++ b/sdk/daml-lf/transaction-test-lib/src/main/scala/com/digitalasset/daml/lf/transaction/test/TreeTransactionBuilder.scala
@@ -1,12 +1,12 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package transaction
package test
-import com.daml.lf.data.ImmArray
-import com.daml.lf.transaction.{Node, NodeId, Transaction}
+import com.digitalasset.daml.lf.data.ImmArray
+import com.digitalasset.daml.lf.transaction.{Node, NodeId, Transaction}
import scala.language.implicitConversions
import TreeTransactionBuilder._
diff --git a/sdk/daml-lf/transaction-test-lib/src/main/scala/com/daml/lf/value/test/TypedValueGenerators.scala b/sdk/daml-lf/transaction-test-lib/src/main/scala/com/digitalasset/daml/lf/value/test/TypedValueGenerators.scala
similarity index 99%
rename from sdk/daml-lf/transaction-test-lib/src/main/scala/com/daml/lf/value/test/TypedValueGenerators.scala
rename to sdk/daml-lf/transaction-test-lib/src/main/scala/com/digitalasset/daml/lf/value/test/TypedValueGenerators.scala
index 17e4d01901..ff404c6a66 100644
--- a/sdk/daml-lf/transaction-test-lib/src/main/scala/com/daml/lf/value/test/TypedValueGenerators.scala
+++ b/sdk/daml-lf/transaction-test-lib/src/main/scala/com/digitalasset/daml/lf/value/test/TypedValueGenerators.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml
+package com.digitalasset.daml
package lf
package value
package test
diff --git a/sdk/daml-lf/transaction-test-lib/src/main/scala/com/daml/lf/value/test/ValueGenerators.scala b/sdk/daml-lf/transaction-test-lib/src/main/scala/com/digitalasset/daml/lf/value/test/ValueGenerators.scala
similarity index 98%
rename from sdk/daml-lf/transaction-test-lib/src/main/scala/com/daml/lf/value/test/ValueGenerators.scala
rename to sdk/daml-lf/transaction-test-lib/src/main/scala/com/digitalasset/daml/lf/value/test/ValueGenerators.scala
index 60ec5af26d..a1294fbc0e 100644
--- a/sdk/daml-lf/transaction-test-lib/src/main/scala/com/daml/lf/value/test/ValueGenerators.scala
+++ b/sdk/daml-lf/transaction-test-lib/src/main/scala/com/digitalasset/daml/lf/value/test/ValueGenerators.scala
@@ -1,13 +1,13 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package value
package test
-import com.daml.lf.data.Ref._
-import com.daml.lf.data._
-import com.daml.lf.transaction.{
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.data._
+import com.digitalasset.daml.lf.transaction.{
GlobalKey,
GlobalKeyWithMaintainers,
Node,
@@ -17,8 +17,8 @@ import com.daml.lf.transaction.{
Versioned,
VersionedTransaction,
}
-import com.daml.lf.transaction.test.TransactionBuilder
-import com.daml.lf.value.Value._
+import com.digitalasset.daml.lf.transaction.test.TransactionBuilder
+import com.digitalasset.daml.lf.value.Value._
import org.scalacheck.{Arbitrary, Gen}
import Arbitrary.arbitrary
diff --git a/sdk/daml-lf/transaction/BUILD.bazel b/sdk/daml-lf/transaction/BUILD.bazel
index f2fc48a7f6..3e6424dbd0 100644
--- a/sdk/daml-lf/transaction/BUILD.bazel
+++ b/sdk/daml-lf/transaction/BUILD.bazel
@@ -12,7 +12,7 @@ load(
proto_jars(
name = "transaction_proto",
- srcs = glob(["src/main/protobuf/com/daml/lf/**/*.proto"]),
+ srcs = glob(["src/main/protobuf/com/digitalasset/daml/lf/**/*.proto"]),
maven_artifact_prefix = "daml-lf-transaction",
maven_group = "com.daml",
strip_import_prefix = "src/main/protobuf/",
diff --git a/sdk/daml-lf/transaction/src/main/protobuf/com/daml/lf/transaction.proto b/sdk/daml-lf/transaction/src/main/protobuf/com/digitalasset/daml/lf/transaction.proto
similarity index 84%
rename from sdk/daml-lf/transaction/src/main/protobuf/com/daml/lf/transaction.proto
rename to sdk/daml-lf/transaction/src/main/protobuf/com/digitalasset/daml/lf/transaction.proto
index f17d492f44..e4a7c27ae8 100644
--- a/sdk/daml-lf/transaction/src/main/protobuf/com/daml/lf/transaction.proto
+++ b/sdk/daml-lf/transaction/src/main/protobuf/com/digitalasset/daml/lf/transaction.proto
@@ -10,11 +10,11 @@
// * dev -- special staging area for the next version to be released
syntax = "proto3";
-package com.daml.lf.transaction;
+package com.digitalasset.daml.lf.transaction;
-option java_package = "com.daml.lf.transaction";
+option java_package = "com.digitalasset.daml.lf.transaction";
-import "com/daml/lf/value.proto";
+import "com/digitalasset/daml/lf/value.proto";
// data structure represent an update to the ledger. executing a Daml-LF action of type
// Update A produces produces one of these.
@@ -30,8 +30,8 @@ message Transaction {
message ContractInstance {
string package_name = 4;
repeated int32 package_version = 5; // required *since dev*
- com.daml.lf.value.Identifier template_id = 1;
- com.daml.lf.value.VersionedValue arg_versioned = 2;
+ com.digitalasset.daml.lf.value.Identifier template_id = 1;
+ com.digitalasset.daml.lf.value.VersionedValue arg_versioned = 2;
// TODO: https://github.com/digital-asset/daml/issues/18240
// remove agreement text for the proto
string agreement = 3;
@@ -54,7 +54,7 @@ message Node {
message Fetch {
bytes contract_id = 1;
string package_name = 2;
- com.daml.lf.value.Identifier template_id = 3; // require
+ com.digitalasset.daml.lf.value.Identifier template_id = 3; // require
repeated string non_maintainer_signatories = 4;
repeated string non_signatory_stakeholders = 5;
repeated string actors = 6;
@@ -64,7 +64,7 @@ message Node {
message Exercise {
Fetch fetch = 1; // required
- com.daml.lf.value.Identifier interface_id = 2; // optional
+ com.digitalasset.daml.lf.value.Identifier interface_id = 2; // optional
string choice = 3;
bytes arg = 4;
bool consuming = 5;
@@ -82,7 +82,7 @@ message Node {
// *since dev*
message LookupByKey {
string package_name = 1;
- com.daml.lf.value.Identifier template_id = 2;
+ com.digitalasset.daml.lf.value.Identifier template_id = 2;
KeyWithMaintainers key_with_maintainers = 3;
bytes contract_id = 4;
}
@@ -100,7 +100,7 @@ message FatContractInstance {
bytes contract_id = 1;
string package_name = 2;
repeated int32 package_version = 9; // required *since dev(
- com.daml.lf.value.Identifier template_id = 3;
+ com.digitalasset.daml.lf.value.Identifier template_id = 3;
bytes create_arg = 4;
repeated string non_maintainer_signatories = 5;
repeated string non_signatory_stakeholders = 6;
diff --git a/sdk/daml-lf/transaction/src/main/protobuf/com/daml/lf/value.proto b/sdk/daml-lf/transaction/src/main/protobuf/com/digitalasset/daml/lf/value.proto
similarity index 96%
rename from sdk/daml-lf/transaction/src/main/protobuf/com/daml/lf/value.proto
rename to sdk/daml-lf/transaction/src/main/protobuf/com/digitalasset/daml/lf/value.proto
index 5b91e04ad5..39bc1648f0 100644
--- a/sdk/daml-lf/transaction/src/main/protobuf/com/daml/lf/value.proto
+++ b/sdk/daml-lf/transaction/src/main/protobuf/com/digitalasset/daml/lf/value.proto
@@ -10,9 +10,9 @@
// * dev -- special staging area for the next version to be released
syntax = "proto3";
-package com.daml.lf.value;
+package com.digitalasset.daml.lf.value;
-option java_package = "com.daml.lf.value";
+option java_package = "com.digitalasset.daml.lf.value";
import "google/protobuf/empty.proto";
diff --git a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/command.scala b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/command.scala
similarity index 97%
rename from sdk/daml-lf/transaction/src/main/scala/com/daml/lf/command.scala
rename to sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/command.scala
index 745306087d..081d78ed07 100644
--- a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/command.scala
+++ b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/command.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package object command {
diff --git a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/command/ApiCommand.scala b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/command/ApiCommand.scala
similarity index 96%
rename from sdk/daml-lf/transaction/src/main/scala/com/daml/lf/command/ApiCommand.scala
rename to sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/command/ApiCommand.scala
index 9bd809220a..957603a3ad 100644
--- a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/command/ApiCommand.scala
+++ b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/command/ApiCommand.scala
@@ -1,12 +1,12 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package command
-import com.daml.lf.data.Ref._
-import com.daml.lf.value.Value
-import com.daml.lf.data.{ImmArray, Time}
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.data.{ImmArray, Time}
/** Accepted commands coming from API */
sealed abstract class ApiCommand extends Product with Serializable {
diff --git a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/command/ReplayCommand.scala b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/command/ReplayCommand.scala
similarity index 93%
rename from sdk/daml-lf/transaction/src/main/scala/com/daml/lf/command/ReplayCommand.scala
rename to sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/command/ReplayCommand.scala
index 77a0cea970..a97b91180f 100644
--- a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/command/ReplayCommand.scala
+++ b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/command/ReplayCommand.scala
@@ -1,11 +1,11 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package command
-import com.daml.lf.data.Ref._
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.value.Value
/** Accepted commands for replay */
sealed abstract class ReplayCommand extends Product with Serializable {
diff --git a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/crypto/Hash.scala b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/crypto/Hash.scala
similarity index 98%
rename from sdk/daml-lf/transaction/src/main/scala/com/daml/lf/crypto/Hash.scala
rename to sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/crypto/Hash.scala
index acc74da3d5..b87dfb23c3 100644
--- a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/crypto/Hash.scala
+++ b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/crypto/Hash.scala
@@ -1,15 +1,15 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package crypto
import com.daml.crypto.{MacPrototype, MessageDigestPrototype}
import java.nio.ByteBuffer
import java.util.concurrent.atomic.AtomicLong
-import com.daml.lf.data.{Bytes, ImmArray, Ref, Time, Utf8}
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.data.{Bytes, ImmArray, Ref, Time, Utf8}
+import com.digitalasset.daml.lf.value.Value
import com.daml.scalautil.Statement.discard
import scalaz.Order
diff --git a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/interpretation/Error.scala b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/interpretation/Error.scala
similarity index 92%
rename from sdk/daml-lf/transaction/src/main/scala/com/daml/lf/interpretation/Error.scala
rename to sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/interpretation/Error.scala
index e3c0008d0a..66a1ee08d6 100644
--- a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/interpretation/Error.scala
+++ b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/interpretation/Error.scala
@@ -1,16 +1,16 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package interpretation
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.{ChoiceName, Location, Party, TypeConName}
-import com.daml.lf.transaction.{GlobalKey, NodeId}
-import com.daml.lf.language.Ast
-import com.daml.lf.transaction.GlobalKeyWithMaintainers
-import com.daml.lf.value.Value
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.{ChoiceName, Location, Party, TypeConName}
+import com.digitalasset.daml.lf.transaction.{GlobalKey, NodeId}
+import com.digitalasset.daml.lf.language.Ast
+import com.digitalasset.daml.lf.transaction.GlobalKeyWithMaintainers
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value.ContractId
/** Daml exceptions that should be reported to the user
*/
@@ -66,7 +66,7 @@ object Error {
) extends Error
/** Two contracts with the same key were active at the same time.
- * See com.daml.lf.transaction.Transaction.DuplicateContractKey
+ * See com.digitalasset.daml.lf.transaction.Transaction.DuplicateContractKey
* for more details.
*/
final case class DuplicateContractKey(
@@ -74,7 +74,7 @@ object Error {
) extends Error
/** The ledger provided an inconsistent view of a contract key.
- * See com.daml.lf.transaction.Transaction.DuplicateContractKey
+ * See com.digitalasset.daml.lf.transaction.Transaction.DuplicateContractKey
* for more details.
*/
final case class InconsistentContractKey(
diff --git a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/interpretation/Limits.scala b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/interpretation/Limits.scala
similarity index 95%
rename from sdk/daml-lf/transaction/src/main/scala/com/daml/lf/interpretation/Limits.scala
rename to sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/interpretation/Limits.scala
index c3fa65b4e9..ca555ab8fb 100644
--- a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/interpretation/Limits.scala
+++ b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/interpretation/Limits.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package interpretation
case class Limits(
diff --git a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/ledger/Authorization.scala b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/ledger/Authorization.scala
similarity index 94%
rename from sdk/daml-lf/transaction/src/main/scala/com/daml/lf/ledger/Authorization.scala
rename to sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/ledger/Authorization.scala
index 647cb98aed..f55f89734c 100644
--- a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/ledger/Authorization.scala
+++ b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/ledger/Authorization.scala
@@ -1,9 +1,9 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.ledger
+package com.digitalasset.daml.lf.ledger
-import com.daml.lf.data.Ref.{ChoiceName, Identifier, Location, Party}
+import com.digitalasset.daml.lf.data.Ref.{ChoiceName, Identifier, Location, Party}
/** Authorize the transaction using the provided parties as initial authorizers for the dynamic authorization. */
final case class Authorize(authParties: Set[Party])
diff --git a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/ledger/EventId.scala b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/ledger/EventId.scala
similarity index 90%
rename from sdk/daml-lf/transaction/src/main/scala/com/daml/lf/ledger/EventId.scala
rename to sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/ledger/EventId.scala
index 0c445a2c21..b3db5320c5 100644
--- a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/ledger/EventId.scala
+++ b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/ledger/EventId.scala
@@ -1,11 +1,11 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package ledger
-import com.daml.lf.data.Ref._
-import com.daml.lf.transaction.NodeId
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.transaction.NodeId
import scala.util.Try
diff --git a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/BlindingInfo.scala b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/BlindingInfo.scala
similarity index 91%
rename from sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/BlindingInfo.scala
rename to sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/BlindingInfo.scala
index 7b1a3c59c5..096385dfd5 100644
--- a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/BlindingInfo.scala
+++ b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/BlindingInfo.scala
@@ -1,11 +1,11 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.transaction
+package com.digitalasset.daml.lf.transaction
-import com.daml.lf.data.Ref.Party
-import com.daml.lf.data.Relation
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.data.Ref.Party
+import com.digitalasset.daml.lf.data.Relation
+import com.digitalasset.daml.lf.value.Value.ContractId
/** A transaction's blinding information, consisting of disclosure and
* divulgence info.
diff --git a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/ContractStateMachine.scala b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/ContractStateMachine.scala
similarity index 93%
rename from sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/ContractStateMachine.scala
rename to sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/ContractStateMachine.scala
index 8ff888b18a..cb12de19dc 100644
--- a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/ContractStateMachine.scala
+++ b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/ContractStateMachine.scala
@@ -1,22 +1,22 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package transaction
-import com.daml.lf.transaction.Transaction.{KeyCreate, KeyInput, NegativeKeyLookup}
-import com.daml.lf.transaction.TransactionErrors.{
+import com.digitalasset.daml.lf.transaction.Transaction.{KeyCreate, KeyInput, NegativeKeyLookup}
+import com.digitalasset.daml.lf.transaction.TransactionErrors.{
CreateError,
DuplicateContractId,
DuplicateContractKey,
InconsistentContractKey,
KeyInputError,
}
-import com.daml.lf.value.Value
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value.ContractId
/** Implements a state machine for contracts and their keys while interpreting a Daml-LF command
- * or iterating over a [[com.daml.lf.transaction.HasTxNodes]] in execution order.
+ * or iterating over a [[com.digitalasset.daml.lf.transaction.HasTxNodes]] in execution order.
* The contract state machine keeps track of the updates to the [[ContractStateMachine.ActiveLedgerState]]
* since the beginning of the interpretation or iteration.
* Given a [[ContractStateMachine.State]] `s`, a client can compute the next state for a given action node `n`,
@@ -24,11 +24,11 @@ import com.daml.lf.value.Value.ContractId
* For a rollback node `nr`, a client must call `beginRollback` before processing the first child of `nr` and
* `endRollback` after processing the last child of `nr`.
*
- * @tparam Nid Type parameter for [[com.daml.lf.transaction.NodeId]]s during interpretation.
+ * @tparam Nid Type parameter for [[com.digitalasset.daml.lf.transaction.NodeId]]s during interpretation.
* Use [[scala.Unit]] for iteration.
*
- * @see com.daml.lf.transaction.HasTxNodes.contractKeyInputs for an iteration in mode
- * [[com.daml.lf.transaction.ContractKeyUniquenessMode.Strict]] and
+ * @see com.digitalasset.daml.lf.transaction.HasTxNodes.contractKeyInputs for an iteration in mode
+ * [[com.digitalasset.daml.lf.transaction.ContractKeyUniquenessMode.Strict]] and
* @see ContractStateMachineSpec.visitSubtree for iteration in all modes
*/
object ContractStateMachine {
@@ -49,11 +49,11 @@ object ContractStateMachine {
*
* The map `globalKeyInputs` can be used to resolve keys during re-interpretation.
*
- * In mode [[com.daml.lf.transaction.ContractKeyUniquenessMode.Strict]],
+ * In mode [[com.digitalasset.daml.lf.transaction.ContractKeyUniquenessMode.Strict]],
* `globalKeyInputs` stores the contract key states required at the beginning of the transaction.
* The first node involving a key determines the state of the key in `globalKeyInputs`.
*
- * In mode [[com.daml.lf.transaction.ContractKeyUniquenessMode.Off]],
+ * In mode [[com.digitalasset.daml.lf.transaction.ContractKeyUniquenessMode.Off]],
* `globalKeyInputs(k)` is defined by the first node `n` referring to the key `k`:
* - If `n` is a fetch-by-key or exercise-by-key, then `globalKeyInputs(k)` is [[Transaction.KeyActive]].
* - If `n` is lookup-by-key, then `globalKeyInputs(k)` is [[Transaction.KeyActive]] (positive lookup)
@@ -169,7 +169,7 @@ object ContractStateMachine {
exe.consuming,
).left.map(KeyInputError.inject)
- /** Omits the key lookup that are done in [[com.daml.lf.speedy.Compiler.compileChoiceByKey]] for by-bey nodes,
+ /** Omits the key lookup that are done in [[com.digitalasset.daml.lf.speedy.Compiler.compileChoiceByKey]] for by-bey nodes,
* which translates to a [[resolveKey]] below.
* Use [[handleExercise]] when visiting an exercise node during iteration.
*/
@@ -195,7 +195,7 @@ object ContractStateMachine {
}
}
- /** Must be used to handle lookups iff in [[com.daml.lf.transaction.ContractKeyUniquenessMode.Strict]] mode
+ /** Must be used to handle lookups iff in [[com.digitalasset.daml.lf.transaction.ContractKeyUniquenessMode.Strict]] mode
*/
def handleLookup(lookup: Node.LookupByKey): Either[KeyInputError, State[Nid]] = {
// If the key has not yet been resolved, we use the resolution from the lookup node,
@@ -207,9 +207,9 @@ object ContractStateMachine {
visitLookup(lookup.gkey, lookup.result, lookup.result).left.map(KeyInputError.inject)
}
- /** Must be used to handle lookups iff in [[com.daml.lf.transaction.ContractKeyUniquenessMode.Off]] mode
+ /** Must be used to handle lookups iff in [[com.digitalasset.daml.lf.transaction.ContractKeyUniquenessMode.Off]] mode
* The second argument takes the contract key resolution to be given to the Daml interpreter instead of
- * [[com.daml.lf.transaction.Node.LookupByKey.result]].
+ * [[com.digitalasset.daml.lf.transaction.Node.LookupByKey.result]].
* This is because the iteration might currently be within a rollback scope
* that has already archived a contract with the key without a by-key operation
* (and for this reason the archival is not tracked in [[ContractStateMachine.ActiveLedgerState.keys]]),
@@ -374,8 +374,8 @@ object ContractStateMachine {
* The state obtained after fully iterating over the subtree `n` starting from [[State.empty]].
* Consumed contracts ([[activeState.consumedBy]]) in `this` and `substate` must be disjoint.
*
- * @see com.daml.lf.transaction.HasTxNodes.contractKeyInputs for an iteration in mode
- * [[com.daml.lf.transaction.ContractKeyUniquenessMode.Strict]] and
+ * @see com.digitalasset.daml.lf.transaction.HasTxNodes.contractKeyInputs for an iteration in mode
+ * [[com.digitalasset.daml.lf.transaction.ContractKeyUniquenessMode.Strict]] and
* @see ContractStateMachineSpec.visitSubtree for iteration in all modes
*/
def advance(resolver: KeyResolver, substate: State[Nid]): Either[KeyInputError, State[Nid]] = {
@@ -481,7 +481,7 @@ object ContractStateMachine {
def initial[Nid](mode: ContractKeyUniquenessMode): State[Nid] = State.empty(mode)
- /** Represents the answers for [[com.daml.lf.engine.ResultNeedKey]] requests
+ /** Represents the answers for [[com.digitalasset.daml.lf.engine.ResultNeedKey]] requests
* that may arise during Daml interpretation.
*/
type KeyResolver = Map[GlobalKey, KeyMapping]
@@ -500,7 +500,7 @@ object ContractStateMachine {
* Tracks contracts created by a node processed so far that have not been rolled back.
* This is a subset of [[ContractStateMachine.State.locallyCreated]].
*
- * @param consumedBy [[com.daml.lf.value.Value.ContractId]]s of all contracts
+ * @param consumedBy [[com.digitalasset.daml.lf.value.Value.ContractId]]s of all contracts
* that have been consumed by nodes up to now.
* @param localKeys
* A store of the latest local contract that has been created with the given key in this timeline.
diff --git a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/DiscriminatedSubtype.scala b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/DiscriminatedSubtype.scala
similarity index 91%
rename from sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/DiscriminatedSubtype.scala
rename to sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/DiscriminatedSubtype.scala
index 58f8c1e32a..b418662318 100644
--- a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/DiscriminatedSubtype.scala
+++ b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/DiscriminatedSubtype.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.transaction
+package com.digitalasset.daml.lf.transaction
sealed abstract class DiscriminatedSubtype[X] {
type T <: X
diff --git a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/FatContractInstance.scala b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/FatContractInstance.scala
similarity index 99%
rename from sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/FatContractInstance.scala
rename to sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/FatContractInstance.scala
index d8aa479564..1e5193830e 100644
--- a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/FatContractInstance.scala
+++ b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/FatContractInstance.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package transaction
import data.{Bytes, Ref, Time}
diff --git a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/GlobalKey.scala b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/GlobalKey.scala
similarity index 93%
rename from sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/GlobalKey.scala
rename to sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/GlobalKey.scala
index 35e38bc3e1..3a6f46b0d1 100644
--- a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/GlobalKey.scala
+++ b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/GlobalKey.scala
@@ -1,13 +1,13 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package transaction
-import com.daml.lf.crypto.Hash
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.{Party, TypeConName}
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.crypto.Hash
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.{Party, TypeConName}
+import com.digitalasset.daml.lf.value.Value
/** Useful in various circumstances -- basically this is what a ledger implementation must use as
* a key. The 'hash' is guaranteed to be stable over time.
diff --git a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/IncompleteTransaction.scala b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/IncompleteTransaction.scala
similarity index 76%
rename from sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/IncompleteTransaction.scala
rename to sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/IncompleteTransaction.scala
index 97b780ebf4..0e3bf9aed8 100644
--- a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/IncompleteTransaction.scala
+++ b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/IncompleteTransaction.scala
@@ -1,10 +1,10 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package transaction
-import com.daml.lf.data.Ref.Location
+import com.digitalasset.daml.lf.data.Ref.Location
final case class IncompleteTransaction(
transaction: Transaction,
diff --git a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/Node.scala b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/Node.scala
similarity index 97%
rename from sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/Node.scala
rename to sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/Node.scala
index d6a0b64156..c6f11ae5c1 100644
--- a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/Node.scala
+++ b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/Node.scala
@@ -1,13 +1,13 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package transaction
-import com.daml.lf.data.Ref._
-import com.daml.lf.data.ImmArray
-import com.daml.lf.value.Value.{ContractId, VersionedContractInstance}
-import com.daml.lf.value._
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.data.ImmArray
+import com.digitalasset.daml.lf.value.Value.{ContractId, VersionedContractInstance}
+import com.digitalasset.daml.lf.value._
/** Generic transaction node type for both update transactions and the
* transaction graph.
diff --git a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/Normalization.scala b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/Normalization.scala
similarity index 97%
rename from sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/Normalization.scala
rename to sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/Normalization.scala
index 25e05f44e5..3972717b63 100644
--- a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/Normalization.scala
+++ b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/Normalization.scala
@@ -1,10 +1,10 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package transaction
-import com.daml.lf.value.{Value => Val}
+import com.digitalasset.daml.lf.value.{Value => Val}
class Normalization {
diff --git a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/Transaction.scala b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/Transaction.scala
similarity index 98%
rename from sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/Transaction.scala
rename to sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/Transaction.scala
index 21648b7820..07b58d2803 100644
--- a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/Transaction.scala
+++ b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/Transaction.scala
@@ -1,15 +1,15 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package transaction
-import com.daml.lf.data.Ref._
-import com.daml.lf.data._
-import com.daml.lf.value.Value
-import com.daml.lf.value.Value.ContractId
-import com.daml.lf.transaction.ContractStateMachine.KeyMapping
-import com.daml.lf.transaction.TransactionErrors.KeyInputError
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.data._
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.transaction.ContractStateMachine.KeyMapping
+import com.digitalasset.daml.lf.transaction.TransactionErrors.KeyInputError
import scala.annotation.tailrec
import scala.collection.immutable.HashMap
@@ -667,13 +667,13 @@ object Transaction {
/** Transaction meta data
*
- * @param submissionSeed Populated with the submission seed when returned from [[com.daml.lf.engine.Engine.submit]].
+ * @param submissionSeed Populated with the submission seed when returned from [[com.digitalasset.daml.lf.engine.Engine.submit]].
* @param submissionTime The submission time
* @param usedPackages The set of all packages that are needed for the interpretation of the command. This
* is done by first by establishing all the packages directly associated with action nodes
* in the transaction (by calling [[Node.Action.packageIds]]). The [[usedPackages]] will then
* be this set of packages combined with all packages on which there is a transitive
- * dependency (for details see [[com.daml.lf.engine.Engine.deps]]).
+ * dependency (for details see [[com.digitalasset.daml.lf.engine.Engine.deps]]).
* @param dependsOnTime Indicates that the transaction computation depends on ledger time.
* @param nodeSeeds An association list that maps the node-id of create and exercise
* nodes to their seed.
diff --git a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/TransactionCoder.scala b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/TransactionCoder.scala
similarity index 98%
rename from sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/TransactionCoder.scala
rename to sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/TransactionCoder.scala
index c739928e5b..e22c421229 100644
--- a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/TransactionCoder.scala
+++ b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/TransactionCoder.scala
@@ -1,16 +1,16 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package transaction
-import com.daml.lf.data.{BackStack, ImmArray, Ref}
-import com.daml.lf.transaction.TransactionOuterClass.Node.NodeTypeCase
-import com.daml.lf.data.Ref.{Name, Party}
-import com.daml.lf.value.ValueCoder.decodeCoid
-import com.daml.lf.value.ValueCoder.ensureNoUnknownFields
-import com.daml.lf.value.{Value, ValueCoder, ValueOuterClass}
-import com.daml.lf.value.ValueCoder.{DecodeError, EncodeError}
+import com.digitalasset.daml.lf.data.{BackStack, ImmArray, Ref}
+import com.digitalasset.daml.lf.transaction.TransactionOuterClass.Node.NodeTypeCase
+import com.digitalasset.daml.lf.data.Ref.{Name, Party}
+import com.digitalasset.daml.lf.value.ValueCoder.decodeCoid
+import com.digitalasset.daml.lf.value.ValueCoder.ensureNoUnknownFields
+import com.digitalasset.daml.lf.value.{Value, ValueCoder, ValueOuterClass}
+import com.digitalasset.daml.lf.value.ValueCoder.{DecodeError, EncodeError}
import com.daml.scalautil.Statement.discard
import com.google.protobuf.{ByteString, ProtocolStringList}
diff --git a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/TransactionErrors.scala b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/TransactionErrors.scala
similarity index 95%
rename from sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/TransactionErrors.scala
rename to sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/TransactionErrors.scala
index 683462e28b..ef9f4eb9b5 100644
--- a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/TransactionErrors.scala
+++ b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/TransactionErrors.scala
@@ -1,11 +1,11 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package transaction
-import com.daml.lf.ledger.FailedAuthorization
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.ledger.FailedAuthorization
+import com.digitalasset.daml.lf.value.Value.ContractId
/** Defines the errors raised by [[ContractStateMachine]] and its clients:
* - [[DuplicateContractId]]
@@ -62,7 +62,7 @@ object TransactionErrors {
) extends Serializable
with Product
- /** Errors raised when building transactions with [[com.daml.lf.speedy.PartialTransaction]]:
+ /** Errors raised when building transactions with [[com.digitalasset.daml.lf.speedy.PartialTransaction]]:
* - [[DuplicateContractId]]
* - [[DuplicateContractKey]]
* - [[AuthFailureDuringExecution]]
diff --git a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/TransactionNodeStatistics.scala b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/TransactionNodeStatistics.scala
similarity index 98%
rename from sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/TransactionNodeStatistics.scala
rename to sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/TransactionNodeStatistics.scala
index 5317287da2..baae63cf15 100644
--- a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/TransactionNodeStatistics.scala
+++ b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/TransactionNodeStatistics.scala
@@ -1,10 +1,10 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package transaction
-import com.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.data.Ref.PackageId
import scala.annotation.nowarn
diff --git a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/TransactionVersion.scala b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/TransactionVersion.scala
similarity index 96%
rename from sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/TransactionVersion.scala
rename to sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/TransactionVersion.scala
index b6bce8ac0f..40c11fba4c 100644
--- a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/TransactionVersion.scala
+++ b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/TransactionVersion.scala
@@ -1,10 +1,10 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package transaction
-import com.daml.lf.language.LanguageVersion
+import com.digitalasset.daml.lf.language.LanguageVersion
sealed abstract class TransactionVersion private (
val protoValue: String,
diff --git a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/Util.scala b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/Util.scala
similarity index 98%
rename from sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/Util.scala
rename to sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/Util.scala
index 1464fb5a4a..bed3f28f64 100644
--- a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/Util.scala
+++ b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/Util.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package transaction
object Util {
diff --git a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/Validation.scala b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/Validation.scala
similarity index 95%
rename from sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/Validation.scala
rename to sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/Validation.scala
index 9269d49a55..62ddc92d45 100644
--- a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/Validation.scala
+++ b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/Validation.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package transaction
object Validation {
diff --git a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/Versioned.scala b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/Versioned.scala
similarity index 92%
rename from sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/Versioned.scala
rename to sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/Versioned.scala
index 4e59f62c46..146c8c525f 100644
--- a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/Versioned.scala
+++ b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/Versioned.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package transaction
case class Versioned[+X](version: TransactionVersion, unversioned: X) {
diff --git a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/package.scala b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/package.scala
similarity index 96%
rename from sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/package.scala
rename to sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/package.scala
index 181c146499..5ceaca2bf9 100644
--- a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/transaction/package.scala
+++ b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/package.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
import scala.collection.BuildFrom
diff --git a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/value/CidContainer.scala b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/value/CidContainer.scala
similarity index 95%
rename from sdk/daml-lf/transaction/src/main/scala/com/daml/lf/value/CidContainer.scala
rename to sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/value/CidContainer.scala
index 46d6308fdf..68dbcb835e 100644
--- a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/value/CidContainer.scala
+++ b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/value/CidContainer.scala
@@ -1,10 +1,10 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package value
-import com.daml.lf.data.Bytes
+import com.digitalasset.daml.lf.data.Bytes
import com.daml.scalautil.Statement.discard
import Value.ContractId
diff --git a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/value/Value.scala b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/value/Value.scala
similarity index 98%
rename from sdk/daml-lf/transaction/src/main/scala/com/daml/lf/value/Value.scala
rename to sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/value/Value.scala
index 5cfa437659..f77f284e3b 100644
--- a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/value/Value.scala
+++ b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/value/Value.scala
@@ -1,14 +1,14 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package value
-import com.daml.lf.crypto.Hash
-import com.daml.lf.data.Ref.{Identifier, Name, TypeConName}
-import com.daml.lf.data._
-import com.daml.lf.language.Ast
-import com.daml.lf.stablepackages.StablePackages
+import com.digitalasset.daml.lf.crypto.Hash
+import com.digitalasset.daml.lf.data.Ref.{Identifier, Name, TypeConName}
+import com.digitalasset.daml.lf.data._
+import com.digitalasset.daml.lf.language.Ast
+import com.digitalasset.daml.lf.stablepackages.StablePackages
import data.ScalazEqual._
import scalaz.{@@, Equal, Order, Tag}
import scalaz.Ordering.EQ
diff --git a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/value/ValueCoder.scala b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/value/ValueCoder.scala
similarity index 97%
rename from sdk/daml-lf/transaction/src/main/scala/com/daml/lf/value/ValueCoder.scala
rename to sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/value/ValueCoder.scala
index f18eb38816..78d85be869 100644
--- a/sdk/daml-lf/transaction/src/main/scala/com/daml/lf/value/ValueCoder.scala
+++ b/sdk/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/value/ValueCoder.scala
@@ -1,22 +1,23 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml
+package com.digitalasset.daml
package lf
package value
-import com.daml.lf.data.Ref._
-import com.daml.lf.data._
-import com.daml.lf.transaction.{Versioned, TransactionVersion}
-import com.daml.lf.value.Value._
-import com.daml.lf.value.{ValueOuterClass => proto}
+import com.daml.SafeProto
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.data._
+import com.digitalasset.daml.lf.transaction.{TransactionVersion, Versioned}
+import com.digitalasset.daml.lf.value.Value._
+import com.digitalasset.daml.lf.value.{ValueOuterClass => proto}
import com.daml.scalautil.Statement.discard
import com.google.protobuf
import com.google.protobuf.{ByteString, CodedInputStream}
import scala.Ordering.Implicits.infixOrderingOps
import scala.jdk.CollectionConverters._
-import scala.util.{Try, Success, Failure}
+import scala.util.{Failure, Success, Try}
/** Utilities to serialize and de-serialize Values
* as they form part of transactions, nodes and contract instances
diff --git a/sdk/daml-lf/transaction/src/test/scala/com/daml/lf/EitherAssertions.scala b/sdk/daml-lf/transaction/src/test/scala/com/digitalasset/daml/lf/EitherAssertions.scala
similarity index 91%
rename from sdk/daml-lf/transaction/src/test/scala/com/daml/lf/EitherAssertions.scala
rename to sdk/daml-lf/transaction/src/test/scala/com/digitalasset/daml/lf/EitherAssertions.scala
index 30d31e489c..f28b81dcd8 100644
--- a/sdk/daml-lf/transaction/src/test/scala/com/daml/lf/EitherAssertions.scala
+++ b/sdk/daml-lf/transaction/src/test/scala/com/digitalasset/daml/lf/EitherAssertions.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
trait EitherAssertions {
self: org.scalatest.Assertions =>
diff --git a/sdk/daml-lf/transaction/src/test/scala/com/daml/lf/crypto/HashSpec.scala b/sdk/daml-lf/transaction/src/test/scala/com/digitalasset/daml/lf/crypto/HashSpec.scala
similarity index 98%
rename from sdk/daml-lf/transaction/src/test/scala/com/daml/lf/crypto/HashSpec.scala
rename to sdk/daml-lf/transaction/src/test/scala/com/digitalasset/daml/lf/crypto/HashSpec.scala
index 48d63e731b..256fab523e 100644
--- a/sdk/daml-lf/transaction/src/test/scala/com/daml/lf/crypto/HashSpec.scala
+++ b/sdk/daml-lf/transaction/src/test/scala/com/digitalasset/daml/lf/crypto/HashSpec.scala
@@ -1,13 +1,13 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package crypto
-import com.daml.lf.data.{Numeric, Ref, SortedLookupList, Time}
-import com.daml.lf.value.test.TypedValueGenerators.{ValueAddend => VA}
-import com.daml.lf.value.Value._
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.data.{Numeric, Ref, SortedLookupList, Time}
+import com.digitalasset.daml.lf.value.test.TypedValueGenerators.{ValueAddend => VA}
+import com.digitalasset.daml.lf.value.Value._
+import com.digitalasset.daml.lf.value.Value
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import shapeless.record.{Record => HRecord}
diff --git a/sdk/daml-lf/transaction/src/test/scala/com/daml/lf/transaction/ContractStateMachineSpec.scala b/sdk/daml-lf/transaction/src/test/scala/com/digitalasset/daml/lf/transaction/ContractStateMachineSpec.scala
similarity index 93%
rename from sdk/daml-lf/transaction/src/test/scala/com/daml/lf/transaction/ContractStateMachineSpec.scala
rename to sdk/daml-lf/transaction/src/test/scala/com/digitalasset/daml/lf/transaction/ContractStateMachineSpec.scala
index 0bbc8e8a4e..eb73948b07 100644
--- a/sdk/daml-lf/transaction/src/test/scala/com/daml/lf/transaction/ContractStateMachineSpec.scala
+++ b/sdk/daml-lf/transaction/src/test/scala/com/digitalasset/daml/lf/transaction/ContractStateMachineSpec.scala
@@ -1,40 +1,40 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml
+package com.digitalasset.daml
package lf
package transaction
-import com.daml.lf.data.{ImmArray, Ref}
-import com.daml.lf.transaction.ContractStateMachine.{
+import com.digitalasset.daml.lf.data.{ImmArray, Ref}
+import com.digitalasset.daml.lf.transaction.ContractStateMachine.{
ActiveLedgerState,
KeyActive,
KeyInactive,
KeyMapping,
KeyResolver,
}
-import com.daml.lf.transaction.ContractStateMachineSpec._
-import com.daml.lf.transaction.Transaction.{
+import com.digitalasset.daml.lf.transaction.ContractStateMachineSpec._
+import com.digitalasset.daml.lf.transaction.Transaction.{
ChildrenRecursion,
KeyCreate,
KeyInput,
NegativeKeyLookup,
}
-import com.daml.lf.transaction.TransactionErrors.{
+import com.digitalasset.daml.lf.transaction.TransactionErrors.{
DuplicateContractId,
DuplicateContractKey,
InconsistentContractKey,
KeyInputError,
}
-import com.daml.lf.transaction.test.{NodeIdTransactionBuilder, TestNodeBuilder}
-import com.daml.lf.transaction.test.TransactionBuilder.Implicits.{
+import com.digitalasset.daml.lf.transaction.test.{NodeIdTransactionBuilder, TestNodeBuilder}
+import com.digitalasset.daml.lf.transaction.test.TransactionBuilder.Implicits.{
defaultPackageId,
toIdentifier,
toName,
toParty,
}
-import com.daml.lf.value.Value
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value.ContractId
import org.scalatest.matchers.should.Matchers
import org.scalatest.prop.TableDrivenPropertyChecks
import org.scalatest.wordspec.AnyWordSpec
@@ -788,22 +788,22 @@ class ContractStateMachineSpec extends AnyWordSpec with Matchers with TableDrive
}
/** Visits the `root` node and all its children in execution order and updates the `state` accordingly,
- * using the following methods on [[com.daml.lf.transaction.ContractStateMachine.State]]:
- * - [[com.daml.lf.transaction.Node.Create]] calls [[com.daml.lf.transaction.ContractStateMachine.State.visitCreate]]
- * - [[com.daml.lf.transaction.Node.Fetch]] calls [[com.daml.lf.transaction.ContractStateMachine.State.handleFetch]]
- * - [[com.daml.lf.transaction.Node.Exercise]] calls [[com.daml.lf.transaction.ContractStateMachine.State.handleExercise]]
+ * using the following methods on [[com.digitalasset.daml.lf.transaction.ContractStateMachine.State]]:
+ * - [[com.digitalasset.daml.lf.transaction.Node.Create]] calls [[com.digitalasset.daml.lf.transaction.ContractStateMachine.State.visitCreate]]
+ * - [[com.digitalasset.daml.lf.transaction.Node.Fetch]] calls [[com.digitalasset.daml.lf.transaction.ContractStateMachine.State.handleFetch]]
+ * - [[com.digitalasset.daml.lf.transaction.Node.Exercise]] calls [[com.digitalasset.daml.lf.transaction.ContractStateMachine.State.handleExercise]]
* before visiting the children
- * - [[com.daml.lf.transaction.Node.LookupByKey]] calls [[com.daml.lf.transaction.ContractStateMachine.State.handleLookup]]
- * in mode [[com.daml.lf.transaction.ContractKeyUniquenessMode.Strict]] and
- * [[com.daml.lf.transaction.ContractStateMachine.State.handleLookupWith]]
- * in modes [[com.daml.lf.transaction.ContractKeyUniquenessMode.ContractByKeyUniquenessMode]] using the `resolver`.
- * - [[com.daml.lf.transaction.Node.Rollback]] calls [[com.daml.lf.transaction.ContractStateMachine.State.beginRollback]]
+ * - [[com.digitalasset.daml.lf.transaction.Node.LookupByKey]] calls [[com.digitalasset.daml.lf.transaction.ContractStateMachine.State.handleLookup]]
+ * in mode [[com.digitalasset.daml.lf.transaction.ContractKeyUniquenessMode.Strict]] and
+ * [[com.digitalasset.daml.lf.transaction.ContractStateMachine.State.handleLookupWith]]
+ * in modes [[com.digitalasset.daml.lf.transaction.ContractKeyUniquenessMode.ContractByKeyUniquenessMode]] using the `resolver`.
+ * - [[com.digitalasset.daml.lf.transaction.Node.Rollback]] calls [[com.digitalasset.daml.lf.transaction.ContractStateMachine.State.beginRollback]]
* before visiting the children and
- * [[com.daml.lf.transaction.ContractStateMachine.State.endRollback]] after visiting the children.
+ * [[com.digitalasset.daml.lf.transaction.ContractStateMachine.State.endRollback]] after visiting the children.
*
- * @param resolver The resolver used in modes [[com.daml.lf.transaction.ContractKeyUniquenessMode.ContractByKeyUniquenessMode]]
- * for handling [[com.daml.lf.transaction.Node.LookupByKey]].
- * Ignored in mode [[com.daml.lf.transaction.ContractKeyUniquenessMode.Strict]].
+ * @param resolver The resolver used in modes [[com.digitalasset.daml.lf.transaction.ContractKeyUniquenessMode.ContractByKeyUniquenessMode]]
+ * for handling [[com.digitalasset.daml.lf.transaction.Node.LookupByKey]].
+ * Ignored in mode [[com.digitalasset.daml.lf.transaction.ContractKeyUniquenessMode.Strict]].
*/
private def visitSubtree(
nodes: Map[NodeId, Node],
diff --git a/sdk/daml-lf/transaction/src/test/scala/com/daml/lf/transaction/TransactionCoderSpec.scala b/sdk/daml-lf/transaction/src/test/scala/com/digitalasset/daml/lf/transaction/TransactionCoderSpec.scala
similarity index 98%
rename from sdk/daml-lf/transaction/src/test/scala/com/daml/lf/transaction/TransactionCoderSpec.scala
rename to sdk/daml-lf/transaction/src/test/scala/com/digitalasset/daml/lf/transaction/TransactionCoderSpec.scala
index c01ec17410..fa9ba3db9a 100644
--- a/sdk/daml-lf/transaction/src/test/scala/com/daml/lf/transaction/TransactionCoderSpec.scala
+++ b/sdk/daml-lf/transaction/src/test/scala/com/digitalasset/daml/lf/transaction/TransactionCoderSpec.scala
@@ -1,17 +1,17 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml
+package com.digitalasset.daml
package lf
package transaction
-import com.daml.lf.crypto.Hash
-import com.daml.lf.data.ImmArray
-import com.daml.lf.data.Ref.{Party, Identifier, PackageName, PackageVersion}
-import com.daml.lf.transaction.{TransactionOuterClass => proto}
-import com.daml.lf.value.Value
-import com.daml.lf.value.Value.ContractId
-import com.daml.lf.value.ValueCoder.{EncodeError, DecodeError}
+import com.digitalasset.daml.lf.crypto.Hash
+import com.digitalasset.daml.lf.data.ImmArray
+import com.digitalasset.daml.lf.data.Ref.{Party, Identifier, PackageName, PackageVersion}
+import com.digitalasset.daml.lf.transaction.{TransactionOuterClass => proto}
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.value.ValueCoder.{EncodeError, DecodeError}
import com.google.protobuf
import com.google.protobuf.{Message, ByteString}
import org.scalacheck.{Gen, Arbitrary}
@@ -34,7 +34,7 @@ class TransactionCoderSpec
// TODO https://github.com/digital-asset/daml/issues/18457
// Tests that messages with unknown field are rejected
- import com.daml.lf.value.test.ValueGenerators._
+ import com.digitalasset.daml.lf.value.test.ValueGenerators._
implicit override val generatorDrivenConfig: PropertyCheckConfiguration =
PropertyCheckConfiguration(minSuccessful = 1000, sizeRange = 10)
diff --git a/sdk/daml-lf/transaction/src/test/scala/com/daml/lf/transaction/TransactionNodeStatisticsSpec.scala b/sdk/daml-lf/transaction/src/test/scala/com/digitalasset/daml/lf/transaction/TransactionNodeStatisticsSpec.scala
similarity index 94%
rename from sdk/daml-lf/transaction/src/test/scala/com/daml/lf/transaction/TransactionNodeStatisticsSpec.scala
rename to sdk/daml-lf/transaction/src/test/scala/com/digitalasset/daml/lf/transaction/TransactionNodeStatisticsSpec.scala
index e2ea973fe2..4808880b30 100644
--- a/sdk/daml-lf/transaction/src/test/scala/com/daml/lf/transaction/TransactionNodeStatisticsSpec.scala
+++ b/sdk/daml-lf/transaction/src/test/scala/com/digitalasset/daml/lf/transaction/TransactionNodeStatisticsSpec.scala
@@ -1,14 +1,18 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package transaction
-import com.daml.lf.transaction.test.TestNodeBuilder.CreateKey
-import com.daml.lf.transaction.test.TestNodeBuilder.CreateKey.NoKey
-import com.daml.lf.transaction.TransactionNodeStatistics.Actions
-import com.daml.lf.transaction.test.{NodeIdTransactionBuilder, TestIdFactory, TestNodeBuilder}
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.transaction.test.TestNodeBuilder.CreateKey
+import com.digitalasset.daml.lf.transaction.test.TestNodeBuilder.CreateKey.NoKey
+import com.digitalasset.daml.lf.transaction.TransactionNodeStatistics.Actions
+import com.digitalasset.daml.lf.transaction.test.{
+ NodeIdTransactionBuilder,
+ TestIdFactory,
+ TestNodeBuilder,
+}
+import com.digitalasset.daml.lf.value.Value
import org.scalatest.Inside
import org.scalatest.matchers.should.Matchers
import org.scalatest.prop.TableDrivenPropertyChecks
diff --git a/sdk/daml-lf/transaction/src/test/scala/com/daml/lf/transaction/TransactionSpec.scala b/sdk/daml-lf/transaction/src/test/scala/com/digitalasset/daml/lf/transaction/TransactionSpec.scala
similarity index 98%
rename from sdk/daml-lf/transaction/src/test/scala/com/daml/lf/transaction/TransactionSpec.scala
rename to sdk/daml-lf/transaction/src/test/scala/com/digitalasset/daml/lf/transaction/TransactionSpec.scala
index 991817c2cc..8597f2da91 100644
--- a/sdk/daml-lf/transaction/src/test/scala/com/daml/lf/transaction/TransactionSpec.scala
+++ b/sdk/daml-lf/transaction/src/test/scala/com/digitalasset/daml/lf/transaction/TransactionSpec.scala
@@ -1,21 +1,21 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package transaction
-import com.daml.lf.transaction.test.TestNodeBuilder.CreateKey
-import com.daml.lf.transaction.test.TestNodeBuilder.CreateKey.NoKey
-import com.daml.lf.crypto.Hash
-import com.daml.lf.data.{Bytes, ImmArray, Ref}
-import com.daml.lf.transaction.Transaction.{
+import com.digitalasset.daml.lf.transaction.test.TestNodeBuilder.CreateKey
+import com.digitalasset.daml.lf.transaction.test.TestNodeBuilder.CreateKey.NoKey
+import com.digitalasset.daml.lf.crypto.Hash
+import com.digitalasset.daml.lf.data.{Bytes, ImmArray, Ref}
+import com.digitalasset.daml.lf.transaction.Transaction.{
AliasedNode,
ChildrenRecursion,
DanglingNodeId,
NotWellFormedError,
OrphanedNode,
}
-import com.daml.lf.transaction.TransactionErrors.{
+import com.digitalasset.daml.lf.transaction.TransactionErrors.{
DuplicateContractId,
DuplicateContractIdKIError,
DuplicateContractKey,
@@ -23,9 +23,13 @@ import com.daml.lf.transaction.TransactionErrors.{
InconsistentContractKey,
KeyInputError,
}
-import com.daml.lf.transaction.test.{NodeIdTransactionBuilder, TestNodeBuilder, TransactionBuilder}
-import com.daml.lf.value.{Value => V}
-import com.daml.lf.value.test.ValueGenerators.danglingRefGenNode
+import com.digitalasset.daml.lf.transaction.test.{
+ NodeIdTransactionBuilder,
+ TestNodeBuilder,
+ TransactionBuilder,
+}
+import com.digitalasset.daml.lf.value.{Value => V}
+import com.digitalasset.daml.lf.value.test.ValueGenerators.danglingRefGenNode
import org.scalacheck.Gen
import org.scalatestplus.scalacheck.ScalaCheckDrivenPropertyChecks
import org.scalatest.Inside
diff --git a/sdk/daml-lf/transaction/src/test/scala/com/daml/lf/transaction/TransactionVersionSpec.scala b/sdk/daml-lf/transaction/src/test/scala/com/digitalasset/daml/lf/transaction/TransactionVersionSpec.scala
similarity index 92%
rename from sdk/daml-lf/transaction/src/test/scala/com/daml/lf/transaction/TransactionVersionSpec.scala
rename to sdk/daml-lf/transaction/src/test/scala/com/digitalasset/daml/lf/transaction/TransactionVersionSpec.scala
index 7021de2cba..23baecf391 100644
--- a/sdk/daml-lf/transaction/src/test/scala/com/daml/lf/transaction/TransactionVersionSpec.scala
+++ b/sdk/daml-lf/transaction/src/test/scala/com/digitalasset/daml/lf/transaction/TransactionVersionSpec.scala
@@ -1,10 +1,10 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package transaction
-import com.daml.lf.language.LanguageVersion
+import com.digitalasset.daml.lf.language.LanguageVersion
import org.scalatest.prop.TableDrivenPropertyChecks
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
diff --git a/sdk/daml-lf/transaction/src/test/scala/com/daml/lf/transaction/UtilSpec.scala b/sdk/daml-lf/transaction/src/test/scala/com/digitalasset/daml/lf/transaction/UtilSpec.scala
similarity index 86%
rename from sdk/daml-lf/transaction/src/test/scala/com/daml/lf/transaction/UtilSpec.scala
rename to sdk/daml-lf/transaction/src/test/scala/com/digitalasset/daml/lf/transaction/UtilSpec.scala
index 377a54b539..0caef888b7 100644
--- a/sdk/daml-lf/transaction/src/test/scala/com/daml/lf/transaction/UtilSpec.scala
+++ b/sdk/daml-lf/transaction/src/test/scala/com/digitalasset/daml/lf/transaction/UtilSpec.scala
@@ -1,11 +1,11 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package transaction
-import com.daml.lf.value.ValueCoder
-import com.daml.lf.value.test.ValueGenerators._
+import com.digitalasset.daml.lf.value.ValueCoder
+import com.digitalasset.daml.lf.value.test.ValueGenerators._
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import org.scalatestplus.scalacheck.ScalaCheckPropertyChecks
diff --git a/sdk/daml-lf/transaction/src/test/scala/com/daml/lf/transaction/ValidationSpec.scala b/sdk/daml-lf/transaction/src/test/scala/com/digitalasset/daml/lf/transaction/ValidationSpec.scala
similarity index 99%
rename from sdk/daml-lf/transaction/src/test/scala/com/daml/lf/transaction/ValidationSpec.scala
rename to sdk/daml-lf/transaction/src/test/scala/com/digitalasset/daml/lf/transaction/ValidationSpec.scala
index f9b48fae22..0c92ac8c88 100644
--- a/sdk/daml-lf/transaction/src/test/scala/com/daml/lf/transaction/ValidationSpec.scala
+++ b/sdk/daml-lf/transaction/src/test/scala/com/digitalasset/daml/lf/transaction/ValidationSpec.scala
@@ -1,11 +1,11 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package transaction
-import com.daml.lf.data.ImmArray
-import com.daml.lf.data.Ref.{
+import com.digitalasset.daml.lf.data.ImmArray
+import com.digitalasset.daml.lf.data.Ref.{
Party,
Identifier,
PackageName,
@@ -13,7 +13,7 @@ import com.daml.lf.data.Ref.{
TypeConName,
ChoiceName,
}
-import com.daml.lf.value.{Value => V}
+import com.digitalasset.daml.lf.value.{Value => V}
import org.scalatest.freespec.AnyFreeSpec
import org.scalatest.matchers.should.Matchers
import org.scalatest.prop.TableDrivenPropertyChecks
diff --git a/sdk/daml-lf/transaction/src/test/scala/com/daml/lf/value/ValueCoderSpec.scala b/sdk/daml-lf/transaction/src/test/scala/com/digitalasset/daml/lf/value/ValueCoderSpec.scala
similarity index 96%
rename from sdk/daml-lf/transaction/src/test/scala/com/daml/lf/value/ValueCoderSpec.scala
rename to sdk/daml-lf/transaction/src/test/scala/com/digitalasset/daml/lf/value/ValueCoderSpec.scala
index 333d59c6bf..9a7f2455ae 100644
--- a/sdk/daml-lf/transaction/src/test/scala/com/daml/lf/value/ValueCoderSpec.scala
+++ b/sdk/daml-lf/transaction/src/test/scala/com/digitalasset/daml/lf/value/ValueCoderSpec.scala
@@ -1,13 +1,13 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml
+package com.digitalasset.daml
package lf
package value
-import com.daml.lf.data._
-import com.daml.lf.transaction.{Versioned, TransactionVersion}
-import com.daml.lf.value.{ValueOuterClass => proto}
+import com.digitalasset.daml.lf.data._
+import com.digitalasset.daml.lf.transaction.{Versioned, TransactionVersion}
+import com.digitalasset.daml.lf.value.{ValueOuterClass => proto}
import org.scalacheck.{Shrink, Arbitrary}
import org.scalatest.{Assertion, Inside}
import org.scalatest.matchers.should.Matchers
diff --git a/sdk/daml-lf/transaction/src/test/scala/com/daml/lf/value/ValueSpec.scala b/sdk/daml-lf/transaction/src/test/scala/com/digitalasset/daml/lf/value/ValueSpec.scala
similarity index 99%
rename from sdk/daml-lf/transaction/src/test/scala/com/daml/lf/value/ValueSpec.scala
rename to sdk/daml-lf/transaction/src/test/scala/com/digitalasset/daml/lf/value/ValueSpec.scala
index 1a3186e54b..815c5b38f8 100644
--- a/sdk/daml-lf/transaction/src/test/scala/com/daml/lf/value/ValueSpec.scala
+++ b/sdk/daml-lf/transaction/src/test/scala/com/digitalasset/daml/lf/value/ValueSpec.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package value
import data.{Bytes, ImmArray, Ref}
diff --git a/sdk/daml-lf/validation/src/bench/scala/com/daml/lf/validation/TypecheckingBench.scala b/sdk/daml-lf/validation/src/bench/scala/com/digitalasset/daml/lf/validation/TypecheckingBench.scala
similarity index 84%
rename from sdk/daml-lf/validation/src/bench/scala/com/daml/lf/validation/TypecheckingBench.scala
rename to sdk/daml-lf/validation/src/bench/scala/com/digitalasset/daml/lf/validation/TypecheckingBench.scala
index 888b29134e..ca855ba5fe 100644
--- a/sdk/daml-lf/validation/src/bench/scala/com/daml/lf/validation/TypecheckingBench.scala
+++ b/sdk/daml-lf/validation/src/bench/scala/com/digitalasset/daml/lf/validation/TypecheckingBench.scala
@@ -1,16 +1,16 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package validation
-import com.daml.lf.data.Ref.{ModuleName, PackageId}
-import com.daml.lf.archive._
-import com.daml.lf.language.Ast._
-import com.daml.lf.language.PackageInterface
+import com.digitalasset.daml.lf.data.Ref.{ModuleName, PackageId}
+import com.digitalasset.daml.lf.archive._
+import com.digitalasset.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.language.PackageInterface
import com.daml.bazeltools.BazelRunfiles.rlocation
import com.daml.ledger.test.ModelTestDar
-import com.daml.lf.archive.DarDecoder
+import com.digitalasset.daml.lf.archive.DarDecoder
import java.io.File
import org.openjdk.jmh.annotations._
diff --git a/sdk/daml-lf/validation/src/main/scala/com/daml/lf/validation/AlphaEquiv.scala b/sdk/daml-lf/validation/src/main/scala/com/digitalasset/daml/lf/validation/AlphaEquiv.scala
similarity index 96%
rename from sdk/daml-lf/validation/src/main/scala/com/daml/lf/validation/AlphaEquiv.scala
rename to sdk/daml-lf/validation/src/main/scala/com/digitalasset/daml/lf/validation/AlphaEquiv.scala
index fd73488ae2..546d3af941 100644
--- a/sdk/daml-lf/validation/src/main/scala/com/daml/lf/validation/AlphaEquiv.scala
+++ b/sdk/daml-lf/validation/src/main/scala/com/digitalasset/daml/lf/validation/AlphaEquiv.scala
@@ -1,9 +1,9 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.validation
+package com.digitalasset.daml.lf.validation
-import com.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.language.Ast._
import scala.annotation.tailrec
diff --git a/sdk/daml-lf/validation/src/main/scala/com/daml/lf/validation/Collision.scala b/sdk/daml-lf/validation/src/main/scala/com/digitalasset/daml/lf/validation/Collision.scala
similarity index 93%
rename from sdk/daml-lf/validation/src/main/scala/com/daml/lf/validation/Collision.scala
rename to sdk/daml-lf/validation/src/main/scala/com/digitalasset/daml/lf/validation/Collision.scala
index 7e3993c4c0..104058aec9 100644
--- a/sdk/daml-lf/validation/src/main/scala/com/daml/lf/validation/Collision.scala
+++ b/sdk/daml-lf/validation/src/main/scala/com/digitalasset/daml/lf/validation/Collision.scala
@@ -1,12 +1,12 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.validation
+package com.digitalasset.daml.lf.validation
-import com.daml.lf.data.Ref._
-import com.daml.lf.language.Ast
-import com.daml.lf.validation.NamedEntity._
-import com.daml.lf.validation.Util._
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.language.Ast
+import com.digitalasset.daml.lf.validation.NamedEntity._
+import com.digitalasset.daml.lf.validation.Util._
private[validation] object Collision {
diff --git a/sdk/daml-lf/validation/src/main/scala/com/daml/lf/validation/DependencyVersion.scala b/sdk/daml-lf/validation/src/main/scala/com/digitalasset/daml/lf/validation/DependencyVersion.scala
similarity index 85%
rename from sdk/daml-lf/validation/src/main/scala/com/daml/lf/validation/DependencyVersion.scala
rename to sdk/daml-lf/validation/src/main/scala/com/digitalasset/daml/lf/validation/DependencyVersion.scala
index 187f770749..6141ebad50 100644
--- a/sdk/daml-lf/validation/src/main/scala/com/daml/lf/validation/DependencyVersion.scala
+++ b/sdk/daml-lf/validation/src/main/scala/com/digitalasset/daml/lf/validation/DependencyVersion.scala
@@ -1,11 +1,11 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package validation
-import com.daml.lf.data.Ref._
-import com.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.language.Ast._
import scala.Ordering.Implicits.infixOrderingOps
diff --git a/sdk/daml-lf/validation/src/main/scala/com/daml/lf/validation/NamedEntity.scala b/sdk/daml-lf/validation/src/main/scala/com/digitalasset/daml/lf/validation/NamedEntity.scala
similarity index 96%
rename from sdk/daml-lf/validation/src/main/scala/com/daml/lf/validation/NamedEntity.scala
rename to sdk/daml-lf/validation/src/main/scala/com/digitalasset/daml/lf/validation/NamedEntity.scala
index 4d1a3f4954..795eb4f017 100644
--- a/sdk/daml-lf/validation/src/main/scala/com/daml/lf/validation/NamedEntity.scala
+++ b/sdk/daml-lf/validation/src/main/scala/com/digitalasset/daml/lf/validation/NamedEntity.scala
@@ -1,10 +1,10 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.validation
+package com.digitalasset.daml.lf.validation
-import com.daml.lf.data.Ref.{ChoiceName, DottedName, ModuleName, Name}
-import com.daml.lf.validation.Util._
+import com.digitalasset.daml.lf.data.Ref.{ChoiceName, DottedName, ModuleName, Name}
+import com.digitalasset.daml.lf.validation.Util._
sealed trait NamedEntity extends Product with Serializable {
def modName: ModuleName
diff --git a/sdk/daml-lf/validation/src/main/scala/com/daml/lf/validation/Recursion.scala b/sdk/daml-lf/validation/src/main/scala/com/digitalasset/daml/lf/validation/Recursion.scala
similarity index 85%
rename from sdk/daml-lf/validation/src/main/scala/com/daml/lf/validation/Recursion.scala
rename to sdk/daml-lf/validation/src/main/scala/com/digitalasset/daml/lf/validation/Recursion.scala
index 00897053cf..c63fb04df3 100644
--- a/sdk/daml-lf/validation/src/main/scala/com/daml/lf/validation/Recursion.scala
+++ b/sdk/daml-lf/validation/src/main/scala/com/digitalasset/daml/lf/validation/Recursion.scala
@@ -1,12 +1,12 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.validation
+package com.digitalasset.daml.lf.validation
-import com.daml.lf.data.Ref._
-import com.daml.lf.language.Ast._
-import com.daml.lf.language.{Graphs, Util => AstUtil}
-import com.daml.lf.language.iterable.TypeIterable
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.language.{Graphs, Util => AstUtil}
+import com.digitalasset.daml.lf.language.iterable.TypeIterable
private[validation] object Recursion {
diff --git a/sdk/daml-lf/validation/src/main/scala/com/daml/lf/validation/Serializability.scala b/sdk/daml-lf/validation/src/main/scala/com/digitalasset/daml/lf/validation/Serializability.scala
similarity index 95%
rename from sdk/daml-lf/validation/src/main/scala/com/daml/lf/validation/Serializability.scala
rename to sdk/daml-lf/validation/src/main/scala/com/digitalasset/daml/lf/validation/Serializability.scala
index e145cc1d92..5e6f5d4762 100644
--- a/sdk/daml-lf/validation/src/main/scala/com/daml/lf/validation/Serializability.scala
+++ b/sdk/daml-lf/validation/src/main/scala/com/digitalasset/daml/lf/validation/Serializability.scala
@@ -1,12 +1,12 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.validation
+package com.digitalasset.daml.lf.validation
-import com.daml.lf.data.ImmArray
-import com.daml.lf.data.Ref.{Identifier, PackageId, QualifiedName}
-import com.daml.lf.language.Ast._
-import com.daml.lf.language.PackageInterface
+import com.digitalasset.daml.lf.data.ImmArray
+import com.digitalasset.daml.lf.data.Ref.{Identifier, PackageId, QualifiedName}
+import com.digitalasset.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.language.PackageInterface
private[validation] object Serializability {
diff --git a/sdk/daml-lf/validation/src/main/scala/com/daml/lf/validation/TypeSubst.scala b/sdk/daml-lf/validation/src/main/scala/com/digitalasset/daml/lf/validation/TypeSubst.scala
similarity index 89%
rename from sdk/daml-lf/validation/src/main/scala/com/daml/lf/validation/TypeSubst.scala
rename to sdk/daml-lf/validation/src/main/scala/com/digitalasset/daml/lf/validation/TypeSubst.scala
index 327cdfd245..231d32c7b6 100644
--- a/sdk/daml-lf/validation/src/main/scala/com/daml/lf/validation/TypeSubst.scala
+++ b/sdk/daml-lf/validation/src/main/scala/com/digitalasset/daml/lf/validation/TypeSubst.scala
@@ -1,12 +1,12 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.validation
+package com.digitalasset.daml.lf.validation
-import com.daml.lf.data.Ref.Name
-import com.daml.lf.language.Ast._
-import com.daml.lf.language.iterable.TypeIterable
-import com.daml.lf.validation.Util._
+import com.digitalasset.daml.lf.data.Ref.Name
+import com.digitalasset.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.language.iterable.TypeIterable
+import com.digitalasset.daml.lf.validation.Util._
private[validation] object TypeSubst {
diff --git a/sdk/daml-lf/validation/src/main/scala/com/daml/lf/validation/Typing.scala b/sdk/daml-lf/validation/src/main/scala/com/digitalasset/daml/lf/validation/Typing.scala
similarity index 99%
rename from sdk/daml-lf/validation/src/main/scala/com/daml/lf/validation/Typing.scala
rename to sdk/daml-lf/validation/src/main/scala/com/digitalasset/daml/lf/validation/Typing.scala
index 8f845c3cb4..ce1d6831f0 100644
--- a/sdk/daml-lf/validation/src/main/scala/com/daml/lf/validation/Typing.scala
+++ b/sdk/daml-lf/validation/src/main/scala/com/digitalasset/daml/lf/validation/Typing.scala
@@ -1,16 +1,16 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.validation
+package com.digitalasset.daml.lf.validation
-import com.daml.lf.data.{ImmArray, Numeric, Struct}
-import com.daml.lf.data.TemplateOrInterface
-import com.daml.lf.data.Ref._
-import com.daml.lf.language.Ast._
-import com.daml.lf.language.Util._
-import com.daml.lf.language.{LanguageVersion, PackageInterface, Reference}
-import com.daml.lf.language.iterable.TypeIterable
-import com.daml.lf.validation.Util._
+import com.digitalasset.daml.lf.data.{ImmArray, Numeric, Struct}
+import com.digitalasset.daml.lf.data.TemplateOrInterface
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.language.Util._
+import com.digitalasset.daml.lf.language.{LanguageVersion, PackageInterface, Reference}
+import com.digitalasset.daml.lf.language.iterable.TypeIterable
+import com.digitalasset.daml.lf.validation.Util._
import com.daml.scalautil.Statement.discard
import scala.annotation.tailrec
diff --git a/sdk/daml-lf/validation/src/main/scala/com/daml/lf/validation/Upgrading.scala b/sdk/daml-lf/validation/src/main/scala/com/digitalasset/daml/lf/validation/Upgrading.scala
similarity index 98%
rename from sdk/daml-lf/validation/src/main/scala/com/daml/lf/validation/Upgrading.scala
rename to sdk/daml-lf/validation/src/main/scala/com/digitalasset/daml/lf/validation/Upgrading.scala
index 0e6ff467f9..bab530d5d7 100644
--- a/sdk/daml-lf/validation/src/main/scala/com/daml/lf/validation/Upgrading.scala
+++ b/sdk/daml-lf/validation/src/main/scala/com/digitalasset/daml/lf/validation/Upgrading.scala
@@ -1,15 +1,15 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package validation
-import com.daml.lf.data.Ref
-import com.daml.lf.language.Ast
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.language.Ast
import scala.util.{Try, Success, Failure}
-import com.daml.lf.validation.AlphaEquiv
-import com.daml.lf.data.ImmArray
-import com.daml.lf.language.LanguageVersion
+import com.digitalasset.daml.lf.validation.AlphaEquiv
+import com.digitalasset.daml.lf.data.ImmArray
+import com.digitalasset.daml.lf.language.LanguageVersion
case class Upgrading[A](past: A, present: A) {
def map[B](f: A => B): Upgrading[B] = Upgrading(f(past), f(present))
diff --git a/sdk/daml-lf/validation/src/main/scala/com/daml/lf/validation/Util.scala b/sdk/daml-lf/validation/src/main/scala/com/digitalasset/daml/lf/validation/Util.scala
similarity index 92%
rename from sdk/daml-lf/validation/src/main/scala/com/daml/lf/validation/Util.scala
rename to sdk/daml-lf/validation/src/main/scala/com/digitalasset/daml/lf/validation/Util.scala
index 80e7f00e8a..eb6c0e6dda 100644
--- a/sdk/daml-lf/validation/src/main/scala/com/daml/lf/validation/Util.scala
+++ b/sdk/daml-lf/validation/src/main/scala/com/digitalasset/daml/lf/validation/Util.scala
@@ -1,11 +1,11 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package validation
-import com.daml.lf.data.ImmArray
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.ImmArray
+import com.digitalasset.daml.lf.data.Ref
private[validation] object Util {
diff --git a/sdk/daml-lf/validation/src/main/scala/com/daml/lf/validation/Validation.scala b/sdk/daml-lf/validation/src/main/scala/com/digitalasset/daml/lf/validation/Validation.scala
similarity index 91%
rename from sdk/daml-lf/validation/src/main/scala/com/daml/lf/validation/Validation.scala
rename to sdk/daml-lf/validation/src/main/scala/com/digitalasset/daml/lf/validation/Validation.scala
index 97af161f5a..a369bceb73 100644
--- a/sdk/daml-lf/validation/src/main/scala/com/daml/lf/validation/Validation.scala
+++ b/sdk/daml-lf/validation/src/main/scala/com/digitalasset/daml/lf/validation/Validation.scala
@@ -1,12 +1,12 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package validation
-import com.daml.lf.data.Ref.PackageId
-import com.daml.lf.language.Ast._
-import com.daml.lf.language.PackageInterface
+import com.digitalasset.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.language.PackageInterface
object Validation {
diff --git a/sdk/daml-lf/validation/src/main/scala/com/daml/lf/validation/ValidationError.scala b/sdk/daml-lf/validation/src/main/scala/com/digitalasset/daml/lf/validation/ValidationError.scala
similarity index 98%
rename from sdk/daml-lf/validation/src/main/scala/com/daml/lf/validation/ValidationError.scala
rename to sdk/daml-lf/validation/src/main/scala/com/digitalasset/daml/lf/validation/ValidationError.scala
index 60a31c0b3b..e1bc35559f 100644
--- a/sdk/daml-lf/validation/src/main/scala/com/daml/lf/validation/ValidationError.scala
+++ b/sdk/daml-lf/validation/src/main/scala/com/digitalasset/daml/lf/validation/ValidationError.scala
@@ -1,14 +1,14 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package validation
-import com.daml.lf.data.ImmArray
-import com.daml.lf.data.Ref._
-import com.daml.lf.language.Ast._
-import com.daml.lf.language.Reference
-import com.daml.lf.language.LanguageVersion
+import com.digitalasset.daml.lf.data.ImmArray
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.language.Reference
+import com.digitalasset.daml.lf.language.LanguageVersion
import scala.Ordering.Implicits.infixOrderingOps
diff --git a/sdk/daml-lf/validation/src/test/scala/com/daml/lf/validation/AlphaEquivSpec.scala b/sdk/daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/AlphaEquivSpec.scala
similarity index 88%
rename from sdk/daml-lf/validation/src/test/scala/com/daml/lf/validation/AlphaEquivSpec.scala
rename to sdk/daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/AlphaEquivSpec.scala
index 3d8484d24a..48db5b7c80 100644
--- a/sdk/daml-lf/validation/src/test/scala/com/daml/lf/validation/AlphaEquivSpec.scala
+++ b/sdk/daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/AlphaEquivSpec.scala
@@ -1,15 +1,15 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.validation
+package com.digitalasset.daml.lf.validation
-import com.daml.lf.language.Ast.Type
-import com.daml.lf.language.LanguageMajorVersion
-import com.daml.lf.testing.parser.ParserParameters
+import com.digitalasset.daml.lf.language.Ast.Type
+import com.digitalasset.daml.lf.language.LanguageMajorVersion
+import com.digitalasset.daml.lf.testing.parser.ParserParameters
import org.scalatest.prop.TableDrivenPropertyChecks
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
-import com.daml.lf.testing.parser.Implicits.SyntaxHelper
+import com.digitalasset.daml.lf.testing.parser.Implicits.SyntaxHelper
class AlphaEquivSpecV2 extends AlphaEquivSpec(LanguageMajorVersion.V2)
diff --git a/sdk/daml-lf/validation/src/test/scala/com/daml/lf/validation/CollisionSpec.scala b/sdk/daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/CollisionSpec.scala
similarity index 98%
rename from sdk/daml-lf/validation/src/test/scala/com/daml/lf/validation/CollisionSpec.scala
rename to sdk/daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/CollisionSpec.scala
index 4205ab34c8..fc48301669 100644
--- a/sdk/daml-lf/validation/src/test/scala/com/daml/lf/validation/CollisionSpec.scala
+++ b/sdk/daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/CollisionSpec.scala
@@ -1,12 +1,12 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.validation
+package com.digitalasset.daml.lf.validation
-import com.daml.lf.language.Ast.Package
-import com.daml.lf.language.LanguageMajorVersion
-import com.daml.lf.testing.parser.Implicits._
-import com.daml.lf.testing.parser.ParserParameters
+import com.digitalasset.daml.lf.language.Ast.Package
+import com.digitalasset.daml.lf.language.LanguageMajorVersion
+import com.digitalasset.daml.lf.testing.parser.Implicits._
+import com.digitalasset.daml.lf.testing.parser.ParserParameters
import org.scalatest.matchers.should.Matchers
import org.scalatest.prop.TableDrivenPropertyChecks
import org.scalatest.wordspec.AnyWordSpec
diff --git a/sdk/daml-lf/validation/src/test/scala/com/daml/lf/validation/DependencyVersionSpec.scala b/sdk/daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/DependencyVersionSpec.scala
similarity index 89%
rename from sdk/daml-lf/validation/src/test/scala/com/daml/lf/validation/DependencyVersionSpec.scala
rename to sdk/daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/DependencyVersionSpec.scala
index 29d0633482..00304beac9 100644
--- a/sdk/daml-lf/validation/src/test/scala/com/daml/lf/validation/DependencyVersionSpec.scala
+++ b/sdk/daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/DependencyVersionSpec.scala
@@ -1,14 +1,14 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package validation
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.{DottedName, Identifier, PackageId, QualifiedName}
-import com.daml.lf.language.Ast._
-import com.daml.lf.language.Util._
-import com.daml.lf.language.{Ast, LanguageVersion => LV}
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.{DottedName, Identifier, PackageId, QualifiedName}
+import com.digitalasset.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.language.Util._
+import com.digitalasset.daml.lf.language.{Ast, LanguageVersion => LV}
import org.scalatest.prop.TableDrivenPropertyChecks
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
diff --git a/sdk/daml-lf/validation/src/test/scala/com/daml/lf/validation/RecursionSpec.scala b/sdk/daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/RecursionSpec.scala
similarity index 93%
rename from sdk/daml-lf/validation/src/test/scala/com/daml/lf/validation/RecursionSpec.scala
rename to sdk/daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/RecursionSpec.scala
index dcaf64bf4e..dbd39b02be 100644
--- a/sdk/daml-lf/validation/src/test/scala/com/daml/lf/validation/RecursionSpec.scala
+++ b/sdk/daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/RecursionSpec.scala
@@ -1,11 +1,11 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.validation
+package com.digitalasset.daml.lf.validation
-import com.daml.lf.language.LanguageMajorVersion
-import com.daml.lf.testing.parser.Implicits._
-import com.daml.lf.testing.parser.ParserParameters
+import com.digitalasset.daml.lf.language.LanguageMajorVersion
+import com.digitalasset.daml.lf.testing.parser.Implicits._
+import com.digitalasset.daml.lf.testing.parser.ParserParameters
import org.scalatest.prop.TableDrivenPropertyChecks
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
diff --git a/sdk/daml-lf/validation/src/test/scala/com/daml/lf/validation/SerializabilitySpec.scala b/sdk/daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/SerializabilitySpec.scala
similarity index 97%
rename from sdk/daml-lf/validation/src/test/scala/com/daml/lf/validation/SerializabilitySpec.scala
rename to sdk/daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/SerializabilitySpec.scala
index 573fa4e27a..2e33bbb640 100644
--- a/sdk/daml-lf/validation/src/test/scala/com/daml/lf/validation/SerializabilitySpec.scala
+++ b/sdk/daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/SerializabilitySpec.scala
@@ -1,14 +1,14 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package validation
-import com.daml.lf.data.Ref.DottedName
-import com.daml.lf.language.Ast.Package
-import com.daml.lf.language.LanguageMajorVersion
-import com.daml.lf.testing.parser.Implicits.SyntaxHelper
-import com.daml.lf.testing.parser.ParserParameters
+import com.digitalasset.daml.lf.data.Ref.DottedName
+import com.digitalasset.daml.lf.language.Ast.Package
+import com.digitalasset.daml.lf.language.LanguageMajorVersion
+import com.digitalasset.daml.lf.testing.parser.Implicits.SyntaxHelper
+import com.digitalasset.daml.lf.testing.parser.ParserParameters
import org.scalatest.prop.TableDrivenPropertyChecks
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
diff --git a/sdk/daml-lf/validation/src/test/scala/com/daml/lf/validation/SpecUtil.scala b/sdk/daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/SpecUtil.scala
similarity index 86%
rename from sdk/daml-lf/validation/src/test/scala/com/daml/lf/validation/SpecUtil.scala
rename to sdk/daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/SpecUtil.scala
index c8bfeddd7c..208ed7f4ca 100644
--- a/sdk/daml-lf/validation/src/test/scala/com/daml/lf/validation/SpecUtil.scala
+++ b/sdk/daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/SpecUtil.scala
@@ -1,11 +1,11 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.validation
+package com.digitalasset.daml.lf.validation
-import com.daml.lf.language.Ast.{Expr, Kind, Type}
-import com.daml.lf.testing.parser.Implicits.SyntaxHelper
-import com.daml.lf.testing.parser.ParserParameters
+import com.digitalasset.daml.lf.language.Ast.{Expr, Kind, Type}
+import com.digitalasset.daml.lf.testing.parser.Implicits.SyntaxHelper
+import com.digitalasset.daml.lf.testing.parser.ParserParameters
import org.scalactic.Equality
private[validation] object SpecUtil {
diff --git a/sdk/daml-lf/validation/src/test/scala/com/daml/lf/validation/StackSafeTyping.scala b/sdk/daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/StackSafeTyping.scala
similarity index 97%
rename from sdk/daml-lf/validation/src/test/scala/com/daml/lf/validation/StackSafeTyping.scala
rename to sdk/daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/StackSafeTyping.scala
index 57225c989e..7388b82048 100644
--- a/sdk/daml-lf/validation/src/test/scala/com/daml/lf/validation/StackSafeTyping.scala
+++ b/sdk/daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/StackSafeTyping.scala
@@ -1,14 +1,14 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.validation
+package com.digitalasset.daml.lf.validation
-import com.daml.lf.data.ImmArray
-import com.daml.lf.data.Ref._
-import com.daml.lf.data.Struct
-import com.daml.lf.language.Ast._
-import com.daml.lf.language.LanguageVersion
-import com.daml.lf.language.PackageInterface
+import com.digitalasset.daml.lf.data.ImmArray
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.data.Struct
+import com.digitalasset.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.language.LanguageVersion
+import com.digitalasset.daml.lf.language.PackageInterface
import org.scalatest.freespec.AnyFreeSpec
import org.scalatest.matchers.should.Matchers
diff --git a/sdk/daml-lf/validation/src/test/scala/com/daml/lf/validation/TypeSubstSpec.scala b/sdk/daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/TypeSubstSpec.scala
similarity index 91%
rename from sdk/daml-lf/validation/src/test/scala/com/daml/lf/validation/TypeSubstSpec.scala
rename to sdk/daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/TypeSubstSpec.scala
index d9c973f1d8..eabb8d46fc 100644
--- a/sdk/daml-lf/validation/src/test/scala/com/daml/lf/validation/TypeSubstSpec.scala
+++ b/sdk/daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/TypeSubstSpec.scala
@@ -1,12 +1,12 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.validation
+package com.digitalasset.daml.lf.validation
-import com.daml.lf.language.Ast._
-import com.daml.lf.language.LanguageMajorVersion
-import com.daml.lf.testing.parser.Implicits._
-import com.daml.lf.testing.parser.ParserParameters
+import com.digitalasset.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.language.LanguageMajorVersion
+import com.digitalasset.daml.lf.testing.parser.Implicits._
+import com.digitalasset.daml.lf.testing.parser.ParserParameters
import org.scalatest.prop.TableDrivenPropertyChecks
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
diff --git a/sdk/daml-lf/validation/src/test/scala/com/daml/lf/validation/TypingSpec.scala b/sdk/daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/TypingSpec.scala
similarity index 99%
rename from sdk/daml-lf/validation/src/test/scala/com/daml/lf/validation/TypingSpec.scala
rename to sdk/daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/TypingSpec.scala
index f08412b667..91dd60db1e 100644
--- a/sdk/daml-lf/validation/src/test/scala/com/daml/lf/validation/TypingSpec.scala
+++ b/sdk/daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/TypingSpec.scala
@@ -1,11 +1,11 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.validation
+package com.digitalasset.daml.lf.validation
-import com.daml.lf.data.Ref.{DottedName, PackageName, PackageVersion}
-import com.daml.lf.language.Ast._
-import com.daml.lf.language.{
+import com.digitalasset.daml.lf.data.Ref.{DottedName, PackageName, PackageVersion}
+import com.digitalasset.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.language.{
Ast,
LanguageMajorVersion,
LookupError,
@@ -13,8 +13,8 @@ import com.daml.lf.language.{
Reference,
LanguageVersion => LV,
}
-import com.daml.lf.testing.parser.Implicits._
-import com.daml.lf.testing.parser.ParserParameters
+import com.digitalasset.daml.lf.testing.parser.Implicits._
+import com.digitalasset.daml.lf.testing.parser.ParserParameters
import org.scalatest.prop.TableDrivenPropertyChecks
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
diff --git a/sdk/daml-lf/validation/src/test/scala/com/daml/lf/validation/upgrade/UpgradesSpecAdminAPIDryRun.scala b/sdk/daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/upgrade/UpgradesSpecAdminAPIDryRun.scala
similarity index 87%
rename from sdk/daml-lf/validation/src/test/scala/com/daml/lf/validation/upgrade/UpgradesSpecAdminAPIDryRun.scala
rename to sdk/daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/upgrade/UpgradesSpecAdminAPIDryRun.scala
index 2e613ba0db..61b1dbe7d7 100644
--- a/sdk/daml-lf/validation/src/test/scala/com/daml/lf/validation/upgrade/UpgradesSpecAdminAPIDryRun.scala
+++ b/sdk/daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/upgrade/UpgradesSpecAdminAPIDryRun.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.validation
+package com.digitalasset.daml.lf.validation
package upgrade
class UpgradesSpecAdminAPIDryRun
diff --git a/sdk/daml-lf/validation/src/test/scala/com/daml/lf/validation/upgrade/UpgradesSpecAdminAPIWithValidation.scala b/sdk/daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/upgrade/UpgradesSpecAdminAPIWithValidation.scala
similarity index 86%
rename from sdk/daml-lf/validation/src/test/scala/com/daml/lf/validation/upgrade/UpgradesSpecAdminAPIWithValidation.scala
rename to sdk/daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/upgrade/UpgradesSpecAdminAPIWithValidation.scala
index c344d57404..eed8195b0f 100644
--- a/sdk/daml-lf/validation/src/test/scala/com/daml/lf/validation/upgrade/UpgradesSpecAdminAPIWithValidation.scala
+++ b/sdk/daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/upgrade/UpgradesSpecAdminAPIWithValidation.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.validation
+package com.digitalasset.daml.lf.validation
package upgrade
class UpgradesSpecAdminAPIWithValidation
diff --git a/sdk/daml-lf/validation/src/test/scala/com/daml/lf/validation/upgrade/UpgradesSpecBase.scala b/sdk/daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/upgrade/UpgradesSpecBase.scala
similarity index 98%
rename from sdk/daml-lf/validation/src/test/scala/com/daml/lf/validation/upgrade/UpgradesSpecBase.scala
rename to sdk/daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/upgrade/UpgradesSpecBase.scala
index 0ff8aca6e1..54a51cc052 100644
--- a/sdk/daml-lf/validation/src/test/scala/com/daml/lf/validation/upgrade/UpgradesSpecBase.scala
+++ b/sdk/daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/upgrade/UpgradesSpecBase.scala
@@ -1,16 +1,16 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.validation
+package com.digitalasset.daml.lf.validation
package upgrade
import com.daml.SdkVersion
import com.daml.bazeltools.BazelRunfiles
import com.daml.crypto.MessageDigestPrototype
import com.daml.integrationtest.CantonFixture
-import com.daml.lf.archive.{Dar, DarReader, DarWriter}
-import com.daml.lf.data.Ref.PackageId
-import com.daml.lf.language.LanguageVersion
+import com.digitalasset.daml.lf.archive.{Dar, DarReader, DarWriter}
+import com.digitalasset.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.language.LanguageVersion
import com.google.protobuf.ByteString
import org.scalatest.{Assertion, Inside}
import org.scalatest.Inspectors.forEvery
@@ -561,9 +561,9 @@ trait LongTests { this: UpgradesSpec =>
}
def mkTrivialPkg(pkgName: String, pkgVersion: String, lfVersion: LanguageVersion) = {
- import com.daml.lf.testing.parser._
- import com.daml.lf.testing.parser.Implicits._
- import com.daml.lf.archive.testing.Encode
+ import com.digitalasset.daml.lf.testing.parser._
+ import com.digitalasset.daml.lf.testing.parser.Implicits._
+ import com.digitalasset.daml.lf.archive.testing.Encode
val selfPkgId = PackageId.assertFromString("-self-")
diff --git a/sdk/daml-lf/validation/src/test/scala/com/daml/lf/validation/upgrade/UpgradesSpecLedgerAPIDryRun.scala b/sdk/daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/upgrade/UpgradesSpecLedgerAPIDryRun.scala
similarity index 88%
rename from sdk/daml-lf/validation/src/test/scala/com/daml/lf/validation/upgrade/UpgradesSpecLedgerAPIDryRun.scala
rename to sdk/daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/upgrade/UpgradesSpecLedgerAPIDryRun.scala
index 33a5ea62fd..cae5652b45 100644
--- a/sdk/daml-lf/validation/src/test/scala/com/daml/lf/validation/upgrade/UpgradesSpecLedgerAPIDryRun.scala
+++ b/sdk/daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/upgrade/UpgradesSpecLedgerAPIDryRun.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.validation
+package com.digitalasset.daml.lf.validation
package upgrade
class UpgradesSpecLedgerAPIDryRun
diff --git a/sdk/daml-lf/validation/src/test/scala/com/daml/lf/validation/upgrade/UpgradesSpecLedgerAPIWithValidation.scala b/sdk/daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/upgrade/UpgradesSpecLedgerAPIWithValidation.scala
similarity index 86%
rename from sdk/daml-lf/validation/src/test/scala/com/daml/lf/validation/upgrade/UpgradesSpecLedgerAPIWithValidation.scala
rename to sdk/daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/upgrade/UpgradesSpecLedgerAPIWithValidation.scala
index 9096700aa7..630b5819fc 100644
--- a/sdk/daml-lf/validation/src/test/scala/com/daml/lf/validation/upgrade/UpgradesSpecLedgerAPIWithValidation.scala
+++ b/sdk/daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/upgrade/UpgradesSpecLedgerAPIWithValidation.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.validation
+package com.digitalasset.daml.lf.validation
package upgrade
class UpgradesSpecLedgerAPIWithValidation
diff --git a/sdk/daml-lf/validation/src/test/scala/com/daml/lf/validation/upgrade/UpgradesSpecShortTests.scala b/sdk/daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/upgrade/UpgradesSpecShortTests.scala
similarity index 92%
rename from sdk/daml-lf/validation/src/test/scala/com/daml/lf/validation/upgrade/UpgradesSpecShortTests.scala
rename to sdk/daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/upgrade/UpgradesSpecShortTests.scala
index 717d096c99..d217b4a9ef 100644
--- a/sdk/daml-lf/validation/src/test/scala/com/daml/lf/validation/upgrade/UpgradesSpecShortTests.scala
+++ b/sdk/daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/upgrade/UpgradesSpecShortTests.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.validation
+package com.digitalasset.daml.lf.validation
package upgrade
class UpgradesSpecAdminAPIWithoutValidation
diff --git a/sdk/daml-lf/validation/src/test/scala/com/daml/lf/validation/upgrade/UpgradesSpecUtil.scala b/sdk/daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/upgrade/UpgradesSpecUtil.scala
similarity index 97%
rename from sdk/daml-lf/validation/src/test/scala/com/daml/lf/validation/upgrade/UpgradesSpecUtil.scala
rename to sdk/daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/upgrade/UpgradesSpecUtil.scala
index 59f6c3d165..13039ed059 100644
--- a/sdk/daml-lf/validation/src/test/scala/com/daml/lf/validation/upgrade/UpgradesSpecUtil.scala
+++ b/sdk/daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/upgrade/UpgradesSpecUtil.scala
@@ -4,7 +4,7 @@
// Temporary stand-in for the real admin api clients defined in canton. Needed only for upgrades testing
// We should intend to replace this as soon as possible
-package com.daml.lf.validation
+package com.digitalasset.daml.lf.validation
package upgrade
import com.digitalasset.canton.ledger.client.LedgerCallCredentials.authenticatingStub
diff --git a/sdk/daml-script/converter/src/main/scala/com/daml/script/converter/Converter.scala b/sdk/daml-script/converter/src/main/scala/com/daml/script/converter/Converter.scala
index 73c8134406..eceb0e6798 100644
--- a/sdk/daml-script/converter/src/main/scala/com/daml/script/converter/Converter.scala
+++ b/sdk/daml-script/converter/src/main/scala/com/daml/script/converter/Converter.scala
@@ -3,13 +3,13 @@
package com.daml.script.converter
-import com.daml.lf.data.ImmArray
-import com.daml.lf.data.Ref._
-import com.daml.lf.language.Ast
-import com.daml.lf.speedy.SValue._
-import com.daml.lf.speedy.{ArrayList, SValue}
-import com.daml.lf.stablepackages.StablePackagesV2
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.data.ImmArray
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.language.Ast
+import com.digitalasset.daml.lf.speedy.SValue._
+import com.digitalasset.daml.lf.speedy.{ArrayList, SValue}
+import com.digitalasset.daml.lf.stablepackages.StablePackagesV2
+import com.digitalasset.daml.lf.value.Value.ContractId
import scalaz.std.either._
import scalaz.syntax.bind._
@@ -18,7 +18,7 @@ import scala.jdk.CollectionConverters._
class ConverterException(message: String) extends RuntimeException(message)
-private[daml] object Converter {
+object Converter {
import Implicits._
type ErrorOr[+A] = Either[String, A]
diff --git a/sdk/daml-script/runner/BUILD.bazel b/sdk/daml-script/runner/BUILD.bazel
index 87bfcb8ac3..c2f801cce4 100644
--- a/sdk/daml-script/runner/BUILD.bazel
+++ b/sdk/daml-script/runner/BUILD.bazel
@@ -132,7 +132,7 @@ da_scala_test(
da_scala_binary(
name = "daml-script-binary",
- main_class = "com.daml.lf.engine.script.ScriptMain",
+ main_class = "com.digitalasset.daml.lf.engine.script.ScriptMain",
resources = glob(["src/main/resources/**/*"]),
scala_runtime_deps = [
"@maven//:org_apache_pekko_pekko_slf4j",
diff --git a/sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/StackTrace.scala b/sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/StackTrace.scala
similarity index 95%
rename from sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/StackTrace.scala
rename to sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/StackTrace.scala
index 23577a65cd..e2aee5e9bd 100644
--- a/sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/StackTrace.scala
+++ b/sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/StackTrace.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package engine
import data.Ref
diff --git a/sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/free/Free.scala b/sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/free/Free.scala
similarity index 99%
rename from sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/free/Free.scala
rename to sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/free/Free.scala
index d4a17d6ab7..f6ddb833db 100644
--- a/sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/free/Free.scala
+++ b/sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/free/Free.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package engine
package free
diff --git a/sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/Converter.scala b/sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/Converter.scala
similarity index 95%
rename from sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/Converter.scala
rename to sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/Converter.scala
index 526d139d5f..515d37af78 100644
--- a/sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/Converter.scala
+++ b/sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/Converter.scala
@@ -1,25 +1,25 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package engine
package script
import com.daml.ledger.api.v2.value
-import com.daml.lf.data.Ref._
-import com.daml.lf.data._
-import com.daml.lf.language.Ast._
-import com.daml.lf.language.LanguageMajorVersion.V2
-import com.daml.lf.language.LanguageMajorVersion
-import com.daml.lf.speedy.SBuiltinFun._
-import com.daml.lf.speedy.SExpr._
-import com.daml.lf.speedy.SValue._
-import com.daml.lf.speedy.{ArrayList, SValue}
-import com.daml.lf.stablepackages.StablePackages
-import com.daml.lf.typesig.EnvironmentSignature
-import com.daml.lf.typesig.reader.SignatureReader
-import com.daml.lf.value.Value
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.data._
+import com.digitalasset.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.language.LanguageMajorVersion.V2
+import com.digitalasset.daml.lf.language.LanguageMajorVersion
+import com.digitalasset.daml.lf.speedy.SBuiltinFun._
+import com.digitalasset.daml.lf.speedy.SExpr._
+import com.digitalasset.daml.lf.speedy.SValue._
+import com.digitalasset.daml.lf.speedy.{ArrayList, SValue}
+import com.digitalasset.daml.lf.stablepackages.StablePackages
+import com.digitalasset.daml.lf.typesig.EnvironmentSignature
+import com.digitalasset.daml.lf.typesig.reader.SignatureReader
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value.ContractId
import com.digitalasset.canton.ledger.api.util.LfEngineToApi.toApiIdentifier
import com.daml.script.converter.ConverterException
import com.digitalasset.canton.ledger.api.domain.{PartyDetails, User, UserRight}
@@ -76,7 +76,7 @@ final case class Disclosure(templatedId: TypeConName, contractId: ContractId, bl
object Converter {
def apply(majorLanguageVersion: LanguageMajorVersion): ConverterMethods = {
majorLanguageVersion match {
- case V2 => com.daml.lf.engine.script.v2.Converter
+ case V2 => com.digitalasset.daml.lf.engine.script.v2.Converter
case _ => throw new IllegalArgumentException(s"${majorLanguageVersion.pretty} not supported")
}
}
diff --git a/sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/ParticipantMode.scala b/sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/ParticipantMode.scala
similarity index 91%
rename from sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/ParticipantMode.scala
rename to sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/ParticipantMode.scala
index 244935e942..b9932847b5 100644
--- a/sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/ParticipantMode.scala
+++ b/sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/ParticipantMode.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.engine.script
+package com.digitalasset.daml.lf.engine.script
import java.io.File
diff --git a/sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/Runner.scala b/sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/Runner.scala
similarity index 95%
rename from sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/Runner.scala
rename to sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/Runner.scala
index a2263013dc..0d63c216c6 100644
--- a/sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/Runner.scala
+++ b/sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/Runner.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package engine
package script
@@ -14,24 +14,24 @@ import com.digitalasset.canton.ledger.client.configuration.{
LedgerClientChannelConfiguration,
LedgerClientConfiguration,
}
-import com.daml.lf.archive.Dar
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref._
-import com.daml.lf.engine.script.ParticipantsJsonProtocol.ContractIdFormat
-import com.daml.lf.engine.script.ledgerinteraction.{
+import com.digitalasset.daml.lf.archive.Dar
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.engine.script.ParticipantsJsonProtocol.ContractIdFormat
+import com.digitalasset.daml.lf.engine.script.ledgerinteraction.{
GrpcLedgerClient,
IdeLedgerClient,
ScriptLedgerClient,
}
-import com.daml.lf.engine.script.v2.ledgerinteraction.grpcLedgerClient.AdminLedgerClient
-import com.daml.lf.typesig.EnvironmentSignature
-import com.daml.lf.typesig.reader.SignatureReader
-import com.daml.lf.language.Ast._
-import com.daml.lf.language.LanguageMajorVersion
-import com.daml.lf.language.LanguageVersionRangeOps._
-import com.daml.lf.scenario.{ScenarioLedger, ScenarioRunner}
-import com.daml.lf.speedy.SExpr._
-import com.daml.lf.speedy.{
+import com.digitalasset.daml.lf.engine.script.v2.ledgerinteraction.grpcLedgerClient.AdminLedgerClient
+import com.digitalasset.daml.lf.typesig.EnvironmentSignature
+import com.digitalasset.daml.lf.typesig.reader.SignatureReader
+import com.digitalasset.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.language.LanguageMajorVersion
+import com.digitalasset.daml.lf.language.LanguageVersionRangeOps._
+import com.digitalasset.daml.lf.scenario.{ScenarioLedger, ScenarioRunner}
+import com.digitalasset.daml.lf.speedy.SExpr._
+import com.digitalasset.daml.lf.speedy.{
Compiler,
Pretty,
Profile,
@@ -42,8 +42,8 @@ import com.daml.lf.speedy.{
TraceLog,
WarningLog,
}
-import com.daml.lf.value.Value.ContractId
-import com.daml.lf.value.json.ApiCodecCompressed
+import com.digitalasset.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.value.json.ApiCodecCompressed
import com.daml.logging.LoggingContext
import com.daml.script.converter.ConverterException
import com.digitalasset.canton.logging.NamedLoggerFactory
diff --git a/sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/RunnerMain.scala b/sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/RunnerMain.scala
similarity index 92%
rename from sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/RunnerMain.scala
rename to sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/RunnerMain.scala
index 561bc8e41a..ebb7e4b201 100644
--- a/sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/RunnerMain.scala
+++ b/sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/RunnerMain.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.engine.script
+package com.digitalasset.daml.lf.engine.script
import org.apache.pekko.actor.ActorSystem
import org.apache.pekko.stream._
@@ -13,17 +13,20 @@ import scala.concurrent.duration.Duration
import scalaz.\/-
import scalaz.syntax.traverse._
import spray.json._
-import com.daml.lf.PureCompiledPackages
-import com.daml.lf.speedy.{SValue, Speedy, TraceLog, WarningLog}
-import com.daml.lf.archive.{Dar, DarDecoder}
-import com.daml.lf.data.Ref.{Identifier, PackageId, QualifiedName}
-import com.daml.lf.language.Ast.Package
-import com.daml.lf.language.Ast.Type
-import com.daml.lf.typesig.EnvironmentSignature
-import com.daml.lf.typesig.reader.SignatureReader
+import com.digitalasset.daml.lf.PureCompiledPackages
+import com.digitalasset.daml.lf.speedy.{SValue, Speedy, TraceLog, WarningLog}
+import com.digitalasset.daml.lf.archive.{Dar, DarDecoder}
+import com.digitalasset.daml.lf.data.Ref.{Identifier, PackageId, QualifiedName}
+import com.digitalasset.daml.lf.language.Ast.Package
+import com.digitalasset.daml.lf.language.Ast.Type
+import com.digitalasset.daml.lf.typesig.EnvironmentSignature
+import com.digitalasset.daml.lf.typesig.reader.SignatureReader
import com.daml.grpc.adapter.{ExecutionSequencerFactory, PekkoExecutionSequencerPool}
import com.daml.auth.TokenHolder
-import com.daml.lf.engine.script.ledgerinteraction.{GrpcLedgerClient, ScriptLedgerClient}
+import com.digitalasset.daml.lf.engine.script.ledgerinteraction.{
+ GrpcLedgerClient,
+ ScriptLedgerClient,
+}
import java.io.FileInputStream
import com.google.protobuf.ByteString
diff --git a/sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/RunnerMainConfig.scala b/sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/RunnerMainConfig.scala
similarity index 99%
rename from sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/RunnerMainConfig.scala
rename to sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/RunnerMainConfig.scala
index 5e8fe18bba..03510dc05b 100644
--- a/sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/RunnerMainConfig.scala
+++ b/sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/RunnerMainConfig.scala
@@ -1,12 +1,12 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.engine.script
+package com.digitalasset.daml.lf.engine.script
import java.nio.file.{Path, Paths}
import java.io.File
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.daml.tls.{TlsConfiguration, TlsConfigurationCli}
case class RunnerMainConfig(
diff --git a/sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/ScriptMain.scala b/sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/ScriptMain.scala
similarity index 87%
rename from sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/ScriptMain.scala
rename to sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/ScriptMain.scala
index 86e1554dc5..64e42869aa 100644
--- a/sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/ScriptMain.scala
+++ b/sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/ScriptMain.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.engine.script
+package com.digitalasset.daml.lf.engine.script
object ScriptMain {
def main(args: Array[String]): Unit = {
diff --git a/sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/ledgerinteraction/ScriptLedgerClient.scala b/sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/ledgerinteraction/ScriptLedgerClient.scala
similarity index 75%
rename from sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/ledgerinteraction/ScriptLedgerClient.scala
rename to sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/ledgerinteraction/ScriptLedgerClient.scala
index 3086d2620d..80028b3605 100644
--- a/sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/ledgerinteraction/ScriptLedgerClient.scala
+++ b/sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/ledgerinteraction/ScriptLedgerClient.scala
@@ -1,13 +1,13 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package engine.script.ledgerinteraction
import com.digitalasset.canton.ledger.client.LedgerClient
-import com.daml.lf.data.Ref
-import com.daml.lf.engine.script.v2.ledgerinteraction.grpcLedgerClient.AdminLedgerClient
-import com.daml.lf.speedy.{TraceLog, WarningLog}
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.engine.script.v2.ledgerinteraction.grpcLedgerClient.AdminLedgerClient
+import com.digitalasset.daml.lf.speedy.{TraceLog, WarningLog}
// Ledger clients before implementation is chosen
sealed trait ScriptLedgerClient extends Product with Serializable
diff --git a/sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/v1/Converter.scala b/sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/v1/Converter.scala
similarity index 96%
rename from sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/v1/Converter.scala
rename to sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/v1/Converter.scala
index d7752c0d6f..4b5dee6ac5 100644
--- a/sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/v1/Converter.scala
+++ b/sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/v1/Converter.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package engine
package script
package v1
@@ -9,17 +9,17 @@ package v1
import com.daml.ledger.api.v2.transaction.TreeEvent
import com.daml.ledger.api.v2.transaction.TransactionTree
import com.digitalasset.canton.ledger.api.validation.NoLoggingValueValidator
-import com.daml.lf.data.Ref._
-import com.daml.lf.data._
-import com.daml.lf.engine.script.v1.ledgerinteraction.ScriptLedgerClient
-import com.daml.lf.language.Ast._
-import com.daml.lf.speedy.SExpr._
-import com.daml.lf.speedy.SValue._
-import com.daml.lf.speedy.SResult._
-import com.daml.lf.speedy.{Pretty, SValue, Speedy}
-import com.daml.lf.speedy.SExpr.SExpr
-import com.daml.lf.stablepackages.StablePackagesV2
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.data._
+import com.digitalasset.daml.lf.engine.script.v1.ledgerinteraction.ScriptLedgerClient
+import com.digitalasset.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.speedy.SExpr._
+import com.digitalasset.daml.lf.speedy.SValue._
+import com.digitalasset.daml.lf.speedy.SResult._
+import com.digitalasset.daml.lf.speedy.{Pretty, SValue, Speedy}
+import com.digitalasset.daml.lf.speedy.SExpr.SExpr
+import com.digitalasset.daml.lf.stablepackages.StablePackagesV2
+import com.digitalasset.daml.lf.value.Value.ContractId
import com.digitalasset.canton.ledger.api.util.LfEngineToApi.toApiIdentifier
import scalaz.std.list._
import scalaz.std.either._
diff --git a/sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/v1/Runner.scala b/sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/v1/Runner.scala
similarity index 91%
rename from sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/v1/Runner.scala
rename to sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/v1/Runner.scala
index eccc872e23..8603fc01dd 100644
--- a/sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/v1/Runner.scala
+++ b/sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/v1/Runner.scala
@@ -1,25 +1,33 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package engine
package script
package v1
import org.apache.pekko.stream.Materializer
import com.daml.grpc.adapter.ExecutionSequencerFactory
-import com.daml.lf.engine.script.Runner.IdeLedgerContext
-import com.daml.lf.engine.script.ledgerinteraction.{
+import com.digitalasset.daml.lf.engine.script.Runner.IdeLedgerContext
+import com.digitalasset.daml.lf.engine.script.ledgerinteraction.{
ScriptLedgerClient => UnversionedScriptLedgerClient
}
-import com.daml.lf.engine.script.v1.ledgerinteraction.ScriptLedgerClient
-import com.daml.lf.interpretation.{Error => IE}
-import com.daml.lf.scenario.{ScenarioLedger, ScenarioRunner}
-import com.daml.lf.speedy.SBuiltinFun.SBToAny
-import com.daml.lf.speedy.SExpr._
-import com.daml.lf.speedy.SResult._
-import com.daml.lf.speedy.SValue._
-import com.daml.lf.speedy.{ArrayList, Profile, SError, SValue, Speedy, TraceLog, WarningLog}
+import com.digitalasset.daml.lf.engine.script.v1.ledgerinteraction.ScriptLedgerClient
+import com.digitalasset.daml.lf.interpretation.{Error => IE}
+import com.digitalasset.daml.lf.scenario.{ScenarioLedger, ScenarioRunner}
+import com.digitalasset.daml.lf.speedy.SBuiltinFun.SBToAny
+import com.digitalasset.daml.lf.speedy.SExpr._
+import com.digitalasset.daml.lf.speedy.SResult._
+import com.digitalasset.daml.lf.speedy.SValue._
+import com.digitalasset.daml.lf.speedy.{
+ ArrayList,
+ Profile,
+ SError,
+ SValue,
+ Speedy,
+ TraceLog,
+ WarningLog,
+}
import com.daml.script.converter.Converter.unrollFree
import com.daml.script.converter.ConverterException
import com.digitalasset.canton.logging.NamedLoggerFactory
diff --git a/sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/v1/ScriptF.scala b/sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/v1/ScriptF.scala
similarity index 98%
rename from sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/v1/ScriptF.scala
rename to sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/v1/ScriptF.scala
index 5d2a2f6a44..2d2a31e177 100644
--- a/sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/v1/ScriptF.scala
+++ b/sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/v1/ScriptF.scala
@@ -1,24 +1,24 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package engine
package script
package v1
import com.daml.grpc.adapter.ExecutionSequencerFactory
-import com.daml.lf.data.FrontStack
-import com.daml.lf.data.Ref._
-import com.daml.lf.data.Time.Timestamp
-import com.daml.lf.engine.preprocessing.ValueTranslator
-import com.daml.lf.language.Ast
-import com.daml.lf.speedy.SExpr.{SEAppAtomic, SEValue, SExpr}
-import com.daml.lf.speedy.SValue._
-import com.daml.lf.speedy.Speedy.PureMachine
-import com.daml.lf.speedy.{ArrayList, SError, SValue}
-import com.daml.lf.value.Value
-import com.daml.lf.value.Value.ContractId
-import com.daml.lf.{CompiledPackages, command}
+import com.digitalasset.daml.lf.data.FrontStack
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.engine.preprocessing.ValueTranslator
+import com.digitalasset.daml.lf.language.Ast
+import com.digitalasset.daml.lf.speedy.SExpr.{SEAppAtomic, SEValue, SExpr}
+import com.digitalasset.daml.lf.speedy.SValue._
+import com.digitalasset.daml.lf.speedy.Speedy.PureMachine
+import com.digitalasset.daml.lf.speedy.{ArrayList, SError, SValue}
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.{CompiledPackages, command}
import com.daml.script.converter.Converter.{makeTuple, toContractId, toText}
import com.digitalasset.canton.ledger.api.domain.{User, UserRight}
import org.apache.pekko.stream.Materializer
diff --git a/sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/v1/ledgerinteraction/GrpcLedgerClient.scala b/sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/v1/ledgerinteraction/GrpcLedgerClient.scala
similarity index 97%
rename from sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/v1/ledgerinteraction/GrpcLedgerClient.scala
rename to sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/v1/ledgerinteraction/GrpcLedgerClient.scala
index efcd107935..10151b4e75 100644
--- a/sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/v1/ledgerinteraction/GrpcLedgerClient.scala
+++ b/sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/v1/ledgerinteraction/GrpcLedgerClient.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.engine.script
+package com.digitalasset.daml.lf.engine.script
package v1.ledgerinteraction
import java.util.UUID
@@ -26,14 +26,14 @@ import com.daml.ledger.api.v2.transaction_filter.{
}
import com.digitalasset.canton.ledger.api.validation.NoLoggingValueValidator
import com.digitalasset.canton.ledger.client.LedgerClient
-import com.daml.lf.command
-import com.daml.lf.data.Ref._
-import com.daml.lf.data.{Bytes, Ref, Time}
-import com.daml.lf.engine.script.v1.Converter
-import com.daml.lf.language.Ast
-import com.daml.lf.speedy.{SValue, svalue}
-import com.daml.lf.value.Value
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.command
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.data.{Bytes, Ref, Time}
+import com.digitalasset.daml.lf.engine.script.v1.Converter
+import com.digitalasset.daml.lf.language.Ast
+import com.digitalasset.daml.lf.speedy.{SValue, svalue}
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value.ContractId
import com.digitalasset.canton.ledger.api.util.LfEngineToApi.{
lfValueToApiRecord,
lfValueToApiValue,
diff --git a/sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/v1/ledgerinteraction/IdeLedgerClient.scala b/sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/v1/ledgerinteraction/IdeLedgerClient.scala
similarity index 96%
rename from sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/v1/ledgerinteraction/IdeLedgerClient.scala
rename to sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/v1/ledgerinteraction/IdeLedgerClient.scala
index 459a904b51..2a0452f87d 100644
--- a/sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/v1/ledgerinteraction/IdeLedgerClient.scala
+++ b/sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/v1/ledgerinteraction/IdeLedgerClient.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package engine
package script
package v1
@@ -16,16 +16,16 @@ import com.digitalasset.canton.ledger.api.domain.{
User,
UserRight,
}
-import com.daml.lf.data.Ref._
-import com.daml.lf.data.{Bytes, ImmArray, Ref, Time}
-import com.daml.lf.engine.preprocessing.ValueTranslator
-import com.daml.lf.interpretation.Error.ContractIdInContractKey
-import com.daml.lf.language.Ast
-import com.daml.lf.language.Ast.TTyCon
-import com.daml.lf.scenario.{ScenarioLedger, ScenarioRunner}
-import com.daml.lf.speedy.Speedy.Machine
-import com.daml.lf.speedy.{SError, SValue, TraceLog, WarningLog}
-import com.daml.lf.transaction.{
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.data.{Bytes, ImmArray, Ref, Time}
+import com.digitalasset.daml.lf.engine.preprocessing.ValueTranslator
+import com.digitalasset.daml.lf.interpretation.Error.ContractIdInContractKey
+import com.digitalasset.daml.lf.language.Ast
+import com.digitalasset.daml.lf.language.Ast.TTyCon
+import com.digitalasset.daml.lf.scenario.{ScenarioLedger, ScenarioRunner}
+import com.digitalasset.daml.lf.speedy.Speedy.Machine
+import com.digitalasset.daml.lf.speedy.{SError, SValue, TraceLog, WarningLog}
+import com.digitalasset.daml.lf.transaction.{
FatContractInstance,
GlobalKey,
IncompleteTransaction,
@@ -34,8 +34,8 @@ import com.daml.lf.transaction.{
Transaction,
TransactionCoder,
}
-import com.daml.lf.value.Value
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value.ContractId
import com.digitalasset.canton.logging.{LoggingContextWithTrace, NamedLoggerFactory}
import com.digitalasset.canton.ledger.localstore.InMemoryUserManagementStore
import io.grpc.StatusRuntimeException
diff --git a/sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/v1/ledgerinteraction/ScriptLedgerClient.scala b/sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/v1/ledgerinteraction/ScriptLedgerClient.scala
similarity index 93%
rename from sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/v1/ledgerinteraction/ScriptLedgerClient.scala
rename to sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/v1/ledgerinteraction/ScriptLedgerClient.scala
index ab7ae091b7..f37296bdc0 100644
--- a/sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/v1/ledgerinteraction/ScriptLedgerClient.scala
+++ b/sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/v1/ledgerinteraction/ScriptLedgerClient.scala
@@ -1,22 +1,22 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.engine.script
+package com.digitalasset.daml.lf.engine.script
package v1.ledgerinteraction
import org.apache.pekko.stream.Materializer
import com.daml.grpc.adapter.ExecutionSequencerFactory
import com.digitalasset.canton.ledger.api.domain.{PartyDetails, User, UserRight}
-import com.daml.lf.command
-import com.daml.lf.data.Ref._
-import com.daml.lf.data.{Bytes, Ref, Time}
-import com.daml.lf.language.Ast
-import com.daml.lf.speedy.SValue
-import com.daml.lf.value.Value
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.command
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.data.{Bytes, Ref, Time}
+import com.digitalasset.daml.lf.language.Ast
+import com.digitalasset.daml.lf.speedy.SValue
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value.ContractId
import io.grpc.StatusRuntimeException
import scalaz.OneAnd
-import com.daml.lf.engine.script.{ledgerinteraction => abstractLedgers}
+import com.digitalasset.daml.lf.engine.script.{ledgerinteraction => abstractLedgers}
import com.digitalasset.canton.logging.NamedLoggerFactory
import scala.concurrent.{ExecutionContext, Future}
diff --git a/sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/v2/Converter.scala b/sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/v2/Converter.scala
similarity index 96%
rename from sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/v2/Converter.scala
rename to sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/v2/Converter.scala
index 1ea1f3a314..842e5a1f0e 100644
--- a/sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/v2/Converter.scala
+++ b/sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/v2/Converter.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package engine
package script
package v2
@@ -9,14 +9,14 @@ package v2
import com.daml.ledger.api.v2.transaction.TreeEvent
import com.daml.ledger.api.v2.transaction.TransactionTree
import com.digitalasset.canton.ledger.api.validation.NoLoggingValueValidator
-import com.daml.lf.data._
-import com.daml.lf.data.Ref._
-import com.daml.lf.engine.script.v2.ledgerinteraction.ScriptLedgerClient
-import com.daml.lf.language.Ast._
-import com.daml.lf.speedy.SValue._
-import com.daml.lf.speedy.{ArrayList, SValue}
-import com.daml.lf.stablepackages.StablePackagesV2
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.data._
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.engine.script.v2.ledgerinteraction.ScriptLedgerClient
+import com.digitalasset.daml.lf.language.Ast._
+import com.digitalasset.daml.lf.speedy.SValue._
+import com.digitalasset.daml.lf.speedy.{ArrayList, SValue}
+import com.digitalasset.daml.lf.stablepackages.StablePackagesV2
+import com.digitalasset.daml.lf.value.Value.ContractId
import com.digitalasset.canton.ledger.api.util.LfEngineToApi.toApiIdentifier
import scalaz.std.list._
import scalaz.std.either._
diff --git a/sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/v2/Runner.scala b/sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/v2/Runner.scala
similarity index 88%
rename from sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/v2/Runner.scala
rename to sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/v2/Runner.scala
index e4aba0d1ec..acd889e085 100644
--- a/sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/v2/Runner.scala
+++ b/sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/v2/Runner.scala
@@ -1,21 +1,21 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package engine
package script
package v2
import org.apache.pekko.stream.Materializer
import com.daml.grpc.adapter.ExecutionSequencerFactory
-import com.daml.lf.engine.free.Free
-import com.daml.lf.engine.script.Runner.IdeLedgerContext
-import com.daml.lf.engine.script.ledgerinteraction.{
+import com.digitalasset.daml.lf.engine.free.Free
+import com.digitalasset.daml.lf.engine.script.Runner.IdeLedgerContext
+import com.digitalasset.daml.lf.engine.script.ledgerinteraction.{
ScriptLedgerClient => UnversionedScriptLedgerClient
}
-import com.daml.lf.engine.script.v2.ledgerinteraction.ScriptLedgerClient
-import com.daml.lf.scenario.{ScenarioLedger, ScenarioRunner}
-import com.daml.lf.speedy.{Profile, SExpr, SValue, Speedy, TraceLog, WarningLog}
+import com.digitalasset.daml.lf.engine.script.v2.ledgerinteraction.ScriptLedgerClient
+import com.digitalasset.daml.lf.scenario.{ScenarioLedger, ScenarioRunner}
+import com.digitalasset.daml.lf.speedy.{Profile, SExpr, SValue, Speedy, TraceLog, WarningLog}
import com.daml.script.converter.ConverterException
import com.digitalasset.canton.logging.NamedLoggerFactory
diff --git a/sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/v2/ScriptF.scala b/sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/v2/ScriptF.scala
similarity index 97%
rename from sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/v2/ScriptF.scala
rename to sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/v2/ScriptF.scala
index e35fbc973c..270f80baaf 100644
--- a/sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/v2/ScriptF.scala
+++ b/sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/v2/ScriptF.scala
@@ -1,27 +1,27 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package engine
package script
package v2
import com.daml.grpc.adapter.ExecutionSequencerFactory
-import com.daml.lf.CompiledPackages
-import com.daml.lf.data.FrontStack
-import com.daml.lf.data.Ref._
-import com.daml.lf.data.Time.Timestamp
-import com.daml.lf.engine.preprocessing.ValueTranslator
-import com.daml.lf.engine.script.v2.ledgerinteraction.ScriptLedgerClient
-import com.daml.lf.interpretation.{Error => IE}
-import com.daml.lf.language.{Ast, LanguageVersion}
-import com.daml.lf.speedy.SBuiltinFun.{SBToAny, SBVariantCon}
-import com.daml.lf.speedy.SExpr._
-import com.daml.lf.speedy.SValue._
-import com.daml.lf.speedy.{ArrayList, SError, SValue}
-import com.daml.lf.stablepackages.StablePackagesV2
-import com.daml.lf.value.Value
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.CompiledPackages
+import com.digitalasset.daml.lf.data.FrontStack
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.engine.preprocessing.ValueTranslator
+import com.digitalasset.daml.lf.engine.script.v2.ledgerinteraction.ScriptLedgerClient
+import com.digitalasset.daml.lf.interpretation.{Error => IE}
+import com.digitalasset.daml.lf.language.{Ast, LanguageVersion}
+import com.digitalasset.daml.lf.speedy.SBuiltinFun.{SBToAny, SBVariantCon}
+import com.digitalasset.daml.lf.speedy.SExpr._
+import com.digitalasset.daml.lf.speedy.SValue._
+import com.digitalasset.daml.lf.speedy.{ArrayList, SError, SValue}
+import com.digitalasset.daml.lf.stablepackages.StablePackagesV2
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value.ContractId
import com.daml.script.converter.Converter.{makeTuple, toContractId, toText}
import com.digitalasset.canton.ledger.api.domain.{User, UserRight}
import org.apache.pekko.stream.Materializer
@@ -774,7 +774,7 @@ object ScriptF {
case Failure(
Script.FailedCmd(cmdName, _, err)
) =>
- import com.daml.lf.scenario.{Error, Pretty}
+ import com.digitalasset.daml.lf.scenario.{Error, Pretty}
val msg = err match {
case e: Error => Pretty.prettyError(e).render(10000)
case e => e.getMessage
diff --git a/sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/v2/ledgerinteraction/GrpcErrorParser.scala b/sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/v2/ledgerinteraction/GrpcErrorParser.scala
similarity index 97%
rename from sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/v2/ledgerinteraction/GrpcErrorParser.scala
rename to sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/v2/ledgerinteraction/GrpcErrorParser.scala
index dbdeaf1c08..6f9e59458e 100644
--- a/sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/v2/ledgerinteraction/GrpcErrorParser.scala
+++ b/sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/v2/ledgerinteraction/GrpcErrorParser.scala
@@ -1,12 +1,12 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.engine.script.v2.ledgerinteraction
+package com.digitalasset.daml.lf.engine.script.v2.ledgerinteraction
-import com.daml.lf.data.Ref._
-import com.daml.lf.transaction.{GlobalKey, TransactionVersion}
-import com.daml.lf.value.Value.ContractId
-import com.daml.lf.value.ValueCoder
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.transaction.{GlobalKey, TransactionVersion}
+import com.digitalasset.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.value.ValueCoder
import com.daml.nonempty.NonEmpty
import com.google.common.io.BaseEncoding
import com.google.protobuf.ByteString
diff --git a/sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/v2/ledgerinteraction/IdeLedgerClient.scala b/sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/v2/ledgerinteraction/IdeLedgerClient.scala
similarity index 97%
rename from sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/v2/ledgerinteraction/IdeLedgerClient.scala
rename to sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/v2/ledgerinteraction/IdeLedgerClient.scala
index 40aca005ac..c1da1ee425 100644
--- a/sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/v2/ledgerinteraction/IdeLedgerClient.scala
+++ b/sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/v2/ledgerinteraction/IdeLedgerClient.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package engine
package script
package v2
@@ -16,17 +16,17 @@ import com.digitalasset.canton.ledger.api.domain.{
User,
UserRight,
}
-import com.daml.lf.data.Ref._
-import com.daml.lf.data.{Bytes, ImmArray, Ref, Time}
-import com.daml.lf.engine.preprocessing.ValueTranslator
-import com.daml.lf.interpretation.Error.ContractIdInContractKey
-import com.daml.lf.language.{Ast, LanguageVersion, LookupError, Reference}
-import com.daml.lf.language.Ast.PackageMetadata
-import com.daml.lf.language.Ast.TTyCon
-import com.daml.lf.scenario.{ScenarioLedger, ScenarioRunner}
-import com.daml.lf.speedy.Speedy.Machine
-import com.daml.lf.speedy.{Pretty, SError, SValue, TraceLog, WarningLog}
-import com.daml.lf.transaction.{
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.data.{Bytes, ImmArray, Ref, Time}
+import com.digitalasset.daml.lf.engine.preprocessing.ValueTranslator
+import com.digitalasset.daml.lf.interpretation.Error.ContractIdInContractKey
+import com.digitalasset.daml.lf.language.{Ast, LanguageVersion, LookupError, Reference}
+import com.digitalasset.daml.lf.language.Ast.PackageMetadata
+import com.digitalasset.daml.lf.language.Ast.TTyCon
+import com.digitalasset.daml.lf.scenario.{ScenarioLedger, ScenarioRunner}
+import com.digitalasset.daml.lf.speedy.Speedy.Machine
+import com.digitalasset.daml.lf.speedy.{Pretty, SError, SValue, TraceLog, WarningLog}
+import com.digitalasset.daml.lf.transaction.{
FatContractInstance,
GlobalKey,
IncompleteTransaction,
@@ -35,8 +35,8 @@ import com.daml.lf.transaction.{
Transaction,
TransactionCoder,
}
-import com.daml.lf.value.Value
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value.ContractId
import com.daml.nonempty.NonEmpty
import com.digitalasset.canton.logging.{LoggingContextWithTrace, NamedLoggerFactory}
diff --git a/sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/v2/ledgerinteraction/ScriptLedgerClient.scala b/sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/v2/ledgerinteraction/ScriptLedgerClient.scala
similarity index 94%
rename from sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/v2/ledgerinteraction/ScriptLedgerClient.scala
rename to sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/v2/ledgerinteraction/ScriptLedgerClient.scala
index 15b65b3ddd..374f4b2460 100644
--- a/sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/v2/ledgerinteraction/ScriptLedgerClient.scala
+++ b/sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/v2/ledgerinteraction/ScriptLedgerClient.scala
@@ -1,22 +1,22 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.engine.script
+package com.digitalasset.daml.lf.engine.script
package v2.ledgerinteraction
import org.apache.pekko.stream.Materializer
import com.daml.grpc.adapter.ExecutionSequencerFactory
import com.digitalasset.canton.ledger.api.domain.{PartyDetails, User, UserRight}
-import com.daml.lf.CompiledPackages
-import com.daml.lf.command.ApiCommand
-import com.daml.lf.data.Ref._
-import com.daml.lf.data.{Bytes, Ref, Time}
-import com.daml.lf.language.{Ast, LanguageVersion}
-import com.daml.lf.speedy.SValue
-import com.daml.lf.value.Value
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.CompiledPackages
+import com.digitalasset.daml.lf.command.ApiCommand
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.data.{Bytes, Ref, Time}
+import com.digitalasset.daml.lf.language.{Ast, LanguageVersion}
+import com.digitalasset.daml.lf.speedy.SValue
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value.ContractId
import scalaz.OneAnd
-import com.daml.lf.engine.script.{ledgerinteraction => abstractLedgers}
+import com.digitalasset.daml.lf.engine.script.{ledgerinteraction => abstractLedgers}
import com.digitalasset.canton.logging.NamedLoggerFactory
import scala.concurrent.{ExecutionContext, Future}
diff --git a/sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/v2/ledgerinteraction/SubmitError.scala b/sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/v2/ledgerinteraction/SubmitError.scala
similarity index 95%
rename from sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/v2/ledgerinteraction/SubmitError.scala
rename to sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/v2/ledgerinteraction/SubmitError.scala
index 1bf30c2049..b6a7321a69 100644
--- a/sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/v2/ledgerinteraction/SubmitError.scala
+++ b/sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/v2/ledgerinteraction/SubmitError.scala
@@ -1,23 +1,23 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.engine.script
+package com.digitalasset.daml.lf.engine.script
package v2
package ledgerinteraction
-import com.daml.lf.data.FrontStack
-import com.daml.lf.data.Ref.{Identifier, Name}
-import com.daml.lf.language.{Ast}
-import com.daml.lf.speedy.SValue
-import com.daml.lf.speedy.SValue._
-import com.daml.lf.transaction.GlobalKey
-import com.daml.lf.value.Value
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.data.FrontStack
+import com.digitalasset.daml.lf.data.Ref.{Identifier, Name}
+import com.digitalasset.daml.lf.language.{Ast}
+import com.digitalasset.daml.lf.speedy.SValue
+import com.digitalasset.daml.lf.speedy.SValue._
+import com.digitalasset.daml.lf.transaction.GlobalKey
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value.ContractId
import com.daml.nonempty.NonEmpty
import com.digitalasset.canton.ledger.api.util.LfEngineToApi.toApiIdentifier
-import com.daml.lf.data.Ref._
-import com.daml.lf.data.Time
-import com.daml.lf.stablepackages.StablePackagesV2
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.data.Time
+import com.digitalasset.daml.lf.stablepackages.StablePackagesV2
import scala.util.control.NoStackTrace
@@ -33,7 +33,7 @@ sealed abstract class SubmitError
object SubmitError {
import ScriptF.Env
import com.daml.script.converter.Converter._
- import com.daml.lf.engine.script.v2.Converter._
+ import com.digitalasset.daml.lf.engine.script.v2.Converter._
final case class SubmitErrorConverters(env: ScriptF.Env) {
def damlScriptErrorIdentifier(s: String) =
diff --git a/sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/v2/ledgerinteraction/grpcLedgerClient/AdminLedgerClient.scala b/sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/v2/ledgerinteraction/grpcLedgerClient/AdminLedgerClient.scala
similarity index 98%
rename from sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/v2/ledgerinteraction/grpcLedgerClient/AdminLedgerClient.scala
rename to sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/v2/ledgerinteraction/grpcLedgerClient/AdminLedgerClient.scala
index f0c5940144..785db3b813 100644
--- a/sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/v2/ledgerinteraction/grpcLedgerClient/AdminLedgerClient.scala
+++ b/sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/v2/ledgerinteraction/grpcLedgerClient/AdminLedgerClient.scala
@@ -3,7 +3,7 @@
// Temporary stand-in for the real admin api clients defined in canton. Needed only for upgrades testing
// We should intend to replace this as soon as possible
-package com.daml.lf.engine.script.v2.ledgerinteraction
+package com.digitalasset.daml.lf.engine.script.v2.ledgerinteraction
package grpcLedgerClient
import com.digitalasset.canton.ledger.client.LedgerCallCredentials.authenticatingStub
diff --git a/sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/v2/ledgerinteraction/grpcLedgerClient/GrpcLedgerClient.scala b/sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/v2/ledgerinteraction/grpcLedgerClient/GrpcLedgerClient.scala
similarity index 97%
rename from sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/v2/ledgerinteraction/grpcLedgerClient/GrpcLedgerClient.scala
rename to sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/v2/ledgerinteraction/grpcLedgerClient/GrpcLedgerClient.scala
index 116deef390..86b0cbf97d 100644
--- a/sdk/daml-script/runner/src/main/scala/com/daml/lf/engine/script/v2/ledgerinteraction/grpcLedgerClient/GrpcLedgerClient.scala
+++ b/sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/v2/ledgerinteraction/grpcLedgerClient/GrpcLedgerClient.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.engine.script
+package com.digitalasset.daml.lf.engine.script
package v2.ledgerinteraction
package grpcLedgerClient
@@ -25,17 +25,17 @@ import com.daml.ledger.api.v2.transaction_filter.{
TemplateFilter,
}
import com.daml.ledger.api.v2.{value => api}
-import com.daml.lf.CompiledPackages
+import com.digitalasset.daml.lf.CompiledPackages
import com.digitalasset.canton.ledger.api.validation.NoLoggingValueValidator
import com.digitalasset.canton.ledger.client.LedgerClient
-import com.daml.lf.command
-import com.daml.lf.data.Ref._
-import com.daml.lf.data.{Bytes, Ref, Time}
-import com.daml.lf.engine.script.v2.Converter
-import com.daml.lf.language.{Ast, LanguageVersion}
-import com.daml.lf.speedy.{SValue, svalue}
-import com.daml.lf.value.Value
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.command
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.data.{Bytes, Ref, Time}
+import com.digitalasset.daml.lf.engine.script.v2.Converter
+import com.digitalasset.daml.lf.language.{Ast, LanguageVersion}
+import com.digitalasset.daml.lf.speedy.{SValue, svalue}
+import com.digitalasset.daml.lf.value.Value
+import com.digitalasset.daml.lf.value.Value.ContractId
import com.digitalasset.canton.ledger.api.util.LfEngineToApi.{
lfValueToApiRecord,
lfValueToApiValue,
diff --git a/sdk/daml-script/runner/src/test/scala/com/daml/lf/engine/script/IdeLedgerRunnerMainTest.scala b/sdk/daml-script/runner/src/test/scala/com/digitalasset/daml/lf/engine/script/IdeLedgerRunnerMainTest.scala
similarity index 97%
rename from sdk/daml-script/runner/src/test/scala/com/daml/lf/engine/script/IdeLedgerRunnerMainTest.scala
rename to sdk/daml-script/runner/src/test/scala/com/digitalasset/daml/lf/engine/script/IdeLedgerRunnerMainTest.scala
index 1d5b6f3d40..30fccde3a0 100644
--- a/sdk/daml-script/runner/src/test/scala/com/daml/lf/engine/script/IdeLedgerRunnerMainTest.scala
+++ b/sdk/daml-script/runner/src/test/scala/com/digitalasset/daml/lf/engine/script/IdeLedgerRunnerMainTest.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.engine.script
+package com.digitalasset.daml.lf.engine.script
import org.scalatest.Suite
import org.scalatest.freespec.AsyncFreeSpec
diff --git a/sdk/daml-script/runner/src/test/scala/com/daml/lf/engine/script/NonTlsRunnerMainTest.scala b/sdk/daml-script/runner/src/test/scala/com/digitalasset/daml/lf/engine/script/NonTlsRunnerMainTest.scala
similarity index 98%
rename from sdk/daml-script/runner/src/test/scala/com/daml/lf/engine/script/NonTlsRunnerMainTest.scala
rename to sdk/daml-script/runner/src/test/scala/com/digitalasset/daml/lf/engine/script/NonTlsRunnerMainTest.scala
index 1df4b47970..a636542c51 100644
--- a/sdk/daml-script/runner/src/test/scala/com/daml/lf/engine/script/NonTlsRunnerMainTest.scala
+++ b/sdk/daml-script/runner/src/test/scala/com/digitalasset/daml/lf/engine/script/NonTlsRunnerMainTest.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.engine.script
+package com.digitalasset.daml.lf.engine.script
import org.scalatest.freespec.AsyncFreeSpec
import org.scalatest.Suite
diff --git a/sdk/daml-script/runner/src/test/scala/com/daml/lf/engine/script/RunnerMainTestBase.scala b/sdk/daml-script/runner/src/test/scala/com/digitalasset/daml/lf/engine/script/RunnerMainTestBase.scala
similarity index 98%
rename from sdk/daml-script/runner/src/test/scala/com/daml/lf/engine/script/RunnerMainTestBase.scala
rename to sdk/daml-script/runner/src/test/scala/com/digitalasset/daml/lf/engine/script/RunnerMainTestBase.scala
index 99f7977c36..e3361be5dd 100644
--- a/sdk/daml-script/runner/src/test/scala/com/daml/lf/engine/script/RunnerMainTestBase.scala
+++ b/sdk/daml-script/runner/src/test/scala/com/digitalasset/daml/lf/engine/script/RunnerMainTestBase.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.engine.script
+package com.digitalasset.daml.lf.engine.script
import com.daml.bazeltools.BazelRunfiles
import com.daml.scalautil.Statement.discard
diff --git a/sdk/daml-script/runner/src/test/scala/com/daml/lf/engine/script/RunnerMainTestBaseCanton.scala b/sdk/daml-script/runner/src/test/scala/com/digitalasset/daml/lf/engine/script/RunnerMainTestBaseCanton.scala
similarity index 96%
rename from sdk/daml-script/runner/src/test/scala/com/daml/lf/engine/script/RunnerMainTestBaseCanton.scala
rename to sdk/daml-script/runner/src/test/scala/com/digitalasset/daml/lf/engine/script/RunnerMainTestBaseCanton.scala
index 97a0ffe862..4edae55248 100644
--- a/sdk/daml-script/runner/src/test/scala/com/daml/lf/engine/script/RunnerMainTestBaseCanton.scala
+++ b/sdk/daml-script/runner/src/test/scala/com/digitalasset/daml/lf/engine/script/RunnerMainTestBaseCanton.scala
@@ -1,10 +1,10 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.engine.script
+package com.digitalasset.daml.lf.engine.script
import com.daml.integrationtest.CantonFixture
-import com.daml.lf.archive.DarParser
+import com.digitalasset.daml.lf.archive.DarParser
import com.daml.ports.Port
import java.nio.charset.StandardCharsets
import java.nio.file.{Path, Files}
diff --git a/sdk/daml-script/runner/src/test/scala/com/daml/lf/engine/script/TlsRunnerMainTest.scala b/sdk/daml-script/runner/src/test/scala/com/digitalasset/daml/lf/engine/script/TlsRunnerMainTest.scala
similarity index 98%
rename from sdk/daml-script/runner/src/test/scala/com/daml/lf/engine/script/TlsRunnerMainTest.scala
rename to sdk/daml-script/runner/src/test/scala/com/digitalasset/daml/lf/engine/script/TlsRunnerMainTest.scala
index c2b5804ced..362739dea9 100644
--- a/sdk/daml-script/runner/src/test/scala/com/daml/lf/engine/script/TlsRunnerMainTest.scala
+++ b/sdk/daml-script/runner/src/test/scala/com/digitalasset/daml/lf/engine/script/TlsRunnerMainTest.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.engine.script
+package com.digitalasset.daml.lf.engine.script
import com.daml.bazeltools.BazelRunfiles
import org.scalatest.Suite
diff --git a/sdk/daml-script/test/BUILD.bazel b/sdk/daml-script/test/BUILD.bazel
index a8773f9012..6b77049c7f 100644
--- a/sdk/daml-script/test/BUILD.bazel
+++ b/sdk/daml-script/test/BUILD.bazel
@@ -365,7 +365,7 @@ da_scala_test_suite(
["src/main/scala/**/*.scala"],
exclude = [
"src/main/scala/**/*Dev*.scala",
- "src/main/scala/com/daml/lf/engine/script/test/UpgradesIT.scala",
+ "src/main/scala/com/digitalasset/daml/lf/engine/script/test/UpgradesIT.scala",
],
),
data = [
@@ -421,7 +421,7 @@ da_scala_test_suite(
da_scala_test(
name = "upgrade-test",
size = "large",
- srcs = ["src/main/scala/com/daml/lf/engine/script/test/UpgradesIT.scala"],
+ srcs = ["src/main/scala/com/digitalasset/daml/lf/engine/script/test/UpgradesIT.scala"],
data = [
":upgrade-test-files",
":upgrade-test-lib.dar",
diff --git a/sdk/daml-script/test/src/main/resources/logback-test.xml b/sdk/daml-script/test/src/main/resources/logback-test.xml
index 4ade30e5ec..9177d36369 100644
--- a/sdk/daml-script/test/src/main/resources/logback-test.xml
+++ b/sdk/daml-script/test/src/main/resources/logback-test.xml
@@ -6,7 +6,7 @@
-
+
diff --git a/sdk/daml-script/test/src/main/scala/com/daml/lf/engine/script/Daml2ScriptTestRunner.scala b/sdk/daml-script/test/src/main/scala/com/daml/lf/engine/script/Daml2ScriptTestRunner.scala
deleted file mode 100644
index d8cbc1fefc..0000000000
--- a/sdk/daml-script/test/src/main/scala/com/daml/lf/engine/script/Daml2ScriptTestRunner.scala
+++ /dev/null
@@ -1,96 +0,0 @@
-// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
-// SPDX-License-Identifier: Apache-2.0
-
-package com.daml.lf.engine.script
-
-import com.daml.bazeltools.BazelRunfiles
-import org.scalatest.Suite
-
-import java.nio.file.Paths
-
-class Daml2ScriptTestRunner extends DamlScriptTestRunner {
- self: Suite =>
-
- // TODO(https://github.com/digital-asset/daml/issues/18457): split key test cases and revert to
- // to devMode = false
- override lazy val devMode = true
-
- // TODO(https://github.com/digital-asset/daml/issues/18457): split key test cases and revert
- // to non-dev dar
- val darPath = Paths.get(BazelRunfiles.rlocation("daml-script/test/script-test-v2.dev.dar"))
-
- "daml-script command line" should {
- "pick up all scripts and returns somewhat sensible outputs" in
- assertDamlScriptRunnerResult(
- darPath,
- """AuthFailure:t1_CreateMissingAuthorization FAILURE (com.daml.lf.engine.script.Script$FailedCmd: Command submit failed: INVALID_ARGUMENT: DAML_AUTHORIZATION_ERROR(8,XXXXXXXX): Interpretation error: Error: node NodeId(0) (XXXXXXXX:AuthFailure:TheContract1) requires authorizers party, but only party were given
- |AuthFailure:t3_FetchMissingAuthorization FAILURE (com.daml.lf.engine.script.Script$FailedCmd: Command submit failed: INVALID_ARGUMENT: DAML_AUTHORIZATION_ERROR(8,XXXXXXXX): Interpretation error: Error: node NodeId(2) requires one of the stakeholders TreeSet(party) of the fetched contract to be an authorizer, but authorizers were TreeSet(party)
- |AuthFailure:t4_ExerciseMissingAuthorization FAILURE (com.daml.lf.engine.script.Script$FailedCmd: Command submit failed: INVALID_ARGUMENT: DAML_AUTHORIZATION_ERROR(8,XXXXXXXX): Interpretation error: Error: node NodeId(0) (XXXXXXXX:AuthFailure:TheContract4) requires authorizers party, but only party were given
- |AuthFailureWithKey:t1_LookupByKeyMissingAuthorization FAILURE (com.daml.lf.engine.script.Script$FailedCmd: Command submit failed: INVALID_ARGUMENT: DAML_AUTHORIZATION_ERROR(8,XXXXXXXX): Interpretation error: Error: node NodeId(2) (XXXXXXXX:AuthFailureWithKey:TheContract1) requires authorizers TreeSet(party) for lookup by key, but it only has TreeSet(party)
- |AuthFailureWithKey:t2_MaintainersNotSubsetOfSignatories FAILURE (com.daml.lf.engine.script.Script$FailedCmd: Command submit failed: INVALID_ARGUMENT: DAML_AUTHORIZATION_ERROR(8,XXXXXXXX): Interpretation error: Error: node NodeId(0) (XXXXXXXX:AuthFailureWithKey:TheContract2) has maintainers TreeSet(party) which are not a subset of the signatories TreeSet(party)
- |AuthorizedDivulgence:test_authorizedFetch SUCCESS
- |AuthorizedDivulgence:test_divulgeChoiceTargetContractId SUCCESS
- |AuthorizedDivulgence:test_noDivulgenceForFetch FAILURE (com.daml.lf.engine.script.Script$FailedCmd: Command submit failed: NOT_FOUND: CONTRACT_NOT_FOUND(11,XXXXXXXX): Contract could not be found with id XXXXXXXX
- |AuthorizedDivulgence:test_noDivulgenceOfCreateArguments SUCCESS
- |DiscloseViaChoiceObserver:test FAILURE (com.daml.lf.engine.script.Script$FailedCmd: Command submit failed: NOT_FOUND: CONTRACT_NOT_FOUND(11,XXXXXXXX): Contract could not be found with id XXXXXXXX
- |Divulgence:main FAILURE (com.daml.lf.engine.script.Script$FailedCmd: Command submit failed: NOT_FOUND: CONTRACT_NOT_FOUND(11,XXXXXXXX): Contract could not be found with id XXXXXXXX
- |ExceptionSemantics:divulgence FAILURE (com.daml.lf.engine.script.Script$FailedCmd: Command submit failed: NOT_FOUND: CONTRACT_NOT_FOUND(11,XXXXXXXX): Contract could not be found with id XXXXXXXX
- |ExceptionSemantics:handledArithmeticError SUCCESS
- |ExceptionSemantics:handledUserException SUCCESS
- |ExceptionSemantics:rollbackArchive SUCCESS
- |ExceptionSemantics:tryContext FAILURE (com.daml.lf.engine.script.Script$FailedCmd: Command submit failed: NOT_FOUND: CONTRACT_NOT_FOUND(11,XXXXXXXX): Contract could not be found with id XXXXXXXX
- |ExceptionSemantics:uncaughtArithmeticError SUCCESS
- |ExceptionSemantics:uncaughtUserException SUCCESS
- |ExceptionSemantics:unhandledArithmeticError FAILURE (com.daml.lf.engine.script.Script$FailedCmd: Command submit failed: FAILED_PRECONDITION: UNHANDLED_EXCEPTION(9,XXXXXXXX): Interpretation error: Error: Unhandled Daml exception: DA.Exception.ArithmeticError:ArithmeticError@XXXXXXXX{ message = "ArithmeticError while evaluating (DIV_INT64 1 0)." }. Details: Last location: [DA.Internal.Template.Functions:265], partial transaction: ...
- |ExceptionSemantics:unhandledUserException FAILURE (com.daml.lf.engine.script.Script$FailedCmd: Command submit failed: FAILED_PRECONDITION: UNHANDLED_EXCEPTION(9,XXXXXXXX): Interpretation error: Error: Unhandled Daml exception: ExceptionSemantics:E@XXXXXXXX{ }. Details: Last location: [DA.Internal.Exception:176], partial transaction: ...
- |ExceptionSemanticsWithKeys:duplicateKey FAILURE (com.daml.lf.engine.script.Script$FailedCmd: Command submitMustFail failed: null
- |LFContractKeys:lookupTest FAILURE (com.daml.lf.engine.script.Script$FailedCmd: Command submitMustFail failed: null
- |MoreChoiceObserverDivulgence:test FAILURE (com.daml.lf.engine.script.Script$FailedCmd: Command submit failed: NOT_FOUND: CONTRACT_NOT_FOUND(11,XXXXXXXX): Contract could not be found with id XXXXXXXX
- |MultiTest:disclosuresByKeyTest SUCCESS
- |MultiTest:disclosuresTest SUCCESS
- |MultiTest:inactiveDisclosureDoesNotFailDuringSubmission FAILURE (com.daml.lf.engine.script.Script$FailedCmd: Command submit failed: FAILED_PRECONDITION: UNHANDLED_EXCEPTION(9,XXXXXXXX): Interpretation error: Error: Unhandled Daml exception: DA.Exception.GeneralError:GeneralError@XXXXXXXX{ message = "Here" }. Details: Last location: [GHC.Err:25], partial transaction: ...
- |MultiTest:listKnownPartiesTest SUCCESS
- |MultiTest:multiTest SUCCESS
- |MultiTest:partyIdHintTest SUCCESS
- |ScriptExample:allocateParties SUCCESS
- |ScriptExample:initializeFixed SUCCESS
- |ScriptExample:initializeUser SUCCESS
- |ScriptExample:test SUCCESS
- |ScriptTest:clearUsers SUCCESS
- |ScriptTest:failingTest FAILURE (com.daml.lf.engine.script.Script$FailedCmd: Command submit failed: FAILED_PRECONDITION: UNHANDLED_EXCEPTION(9,XXXXXXXX): Interpretation error: Error: Unhandled Daml exception: DA.Exception.AssertionFailed:AssertionFailed@XXXXXXXX{ message = "Assertion failed" }. Details: Last location: [DA.Internal.Exception:176], partial transaction: ...
- |ScriptTest:listKnownPartiesTest SUCCESS
- |ScriptTest:multiPartySubmission SUCCESS
- |ScriptTest:partyIdHintTest SUCCESS
- |ScriptTest:sleepTest SUCCESS
- |ScriptTest:stackTrace FAILURE (com.daml.lf.engine.script.Script$FailedCmd: Command submit failed: FAILED_PRECONDITION: UNHANDLED_EXCEPTION(9,XXXXXXXX): Interpretation error: Error: Unhandled Daml exception: DA.Exception.AssertionFailed:AssertionFailed@XXXXXXXX{ message = "Assertion failed" }. Details: Last location: [DA.Internal.Exception:176], partial transaction: ...
- |ScriptTest:test0 SUCCESS
- |ScriptTest:test1 SUCCESS
- |ScriptTest:test3 SUCCESS
- |ScriptTest:test4 SUCCESS
- |ScriptTest:testCreateAndExercise SUCCESS
- |ScriptTest:testGetTime SUCCESS
- |ScriptTest:testKey SUCCESS
- |ScriptTest:testMaxInboundMessageSize SUCCESS
- |ScriptTest:testMultiPartyQueries SUCCESS
- |ScriptTest:testQueryContractId SUCCESS
- |ScriptTest:testQueryContractKey SUCCESS
- |ScriptTest:testSetTime SUCCESS
- |ScriptTest:testStack SUCCESS
- |ScriptTest:testUserListPagination SUCCESS
- |ScriptTest:testUserManagement SUCCESS
- |ScriptTest:testUserRightManagement SUCCESS
- |ScriptTest:traceOrder SUCCESS
- |ScriptTest:tree SUCCESS
- |ScriptTest:tupleKey SUCCESS
- |TestContractId:testContractId SUCCESS
- |TestExceptions:test SUCCESS
- |TestExceptions:try_catch_recover SUCCESS
- |TestExceptions:try_catch_then_abort FAILURE (com.daml.lf.engine.script.Runner$InterpretationError: Error: Unhandled Daml exception: DA.Exception.GeneralError:GeneralError@XXXXXXXX{ message = "expected exception" })
- |TestExceptions:try_catch_then_error FAILURE (com.daml.lf.engine.script.Runner$InterpretationError: Error: Unhandled Daml exception: DA.Exception.GeneralError:GeneralError@XXXXXXXX{ message = "expected exception" })
- |TestExceptions:try_catch_then_fail FAILURE (com.daml.lf.engine.script.Runner$InterpretationError: Error: Unhandled Daml exception: DA.Exception.GeneralError:GeneralError@XXXXXXXX{ message = "expected exception" })
- |TestInterfaces:test SUCCESS
- |TestInterfaces:test_queryInterface SUCCESS
- |""".stripMargin,
- )
- }
-}
diff --git a/sdk/daml-script/test/src/main/scala/com/daml/lf/engine/script/Daml3ScriptTestRunner.scala b/sdk/daml-script/test/src/main/scala/com/daml/lf/engine/script/Daml3ScriptTestRunner.scala
deleted file mode 100644
index d02b09fffc..0000000000
--- a/sdk/daml-script/test/src/main/scala/com/daml/lf/engine/script/Daml3ScriptTestRunner.scala
+++ /dev/null
@@ -1,96 +0,0 @@
-// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
-// SPDX-License-Identifier: Apache-2.0
-
-package com.daml.lf.engine.script
-
-import com.daml.bazeltools.BazelRunfiles
-import org.scalatest.Suite
-
-import java.nio.file.Paths
-
-class Daml3ScriptTestRunner extends DamlScriptTestRunner {
- self: Suite =>
-
- // TODO(https://github.com/digital-asset/daml/issues/18457): split key test cases and revert to
- // to devMode = false
- override lazy val devMode = true
-
- // TODO(https://github.com/digital-asset/daml/issues/18457): split key test cases and revert
- // to non-dev dar
- val darPath = Paths.get(BazelRunfiles.rlocation("daml-script/test/script3-test-v2.dev.dar"))
-
- "daml-script command line" should {
- "pick up all scripts and returns somewhat sensible outputs" in
- assertDamlScriptRunnerResult(
- darPath,
- """AuthFailure:t1_CreateMissingAuthorization FAILURE (com.daml.lf.engine.script.Script$FailedCmd: Command Submit failed: INVALID_ARGUMENT: DAML_AUTHORIZATION_ERROR(8,XXXXXXXX): Interpretation error: Error: node NodeId(0) (XXXXXXXX:AuthFailure:TheContract1) requires authorizers party, but only party were given
- |AuthFailure:t3_FetchMissingAuthorization FAILURE (com.daml.lf.engine.script.Script$FailedCmd: Command Submit failed: INVALID_ARGUMENT: DAML_AUTHORIZATION_ERROR(8,XXXXXXXX): Interpretation error: Error: node NodeId(2) requires one of the stakeholders TreeSet(party) of the fetched contract to be an authorizer, but authorizers were TreeSet(party)
- |AuthFailure:t4_ExerciseMissingAuthorization FAILURE (com.daml.lf.engine.script.Script$FailedCmd: Command Submit failed: INVALID_ARGUMENT: DAML_AUTHORIZATION_ERROR(8,XXXXXXXX): Interpretation error: Error: node NodeId(0) (XXXXXXXX:AuthFailure:TheContract4) requires authorizers party, but only party were given
- |AuthFailureWithKey:t1_LookupByKeyMissingAuthorization FAILURE (com.daml.lf.engine.script.Script$FailedCmd: Command Submit failed: INVALID_ARGUMENT: DAML_AUTHORIZATION_ERROR(8,XXXXXXXX): Interpretation error: Error: node NodeId(2) (XXXXXXXX:AuthFailureWithKey:TheContract1) requires authorizers TreeSet(party) for lookup by key, but it only has TreeSet(party)
- |AuthFailureWithKey:t2_MaintainersNotSubsetOfSignatories FAILURE (com.daml.lf.engine.script.Script$FailedCmd: Command Submit failed: INVALID_ARGUMENT: DAML_AUTHORIZATION_ERROR(8,XXXXXXXX): Interpretation error: Error: node NodeId(0) (XXXXXXXX:AuthFailureWithKey:TheContract2) has maintainers TreeSet(party) which are not a subset of the signatories TreeSet(party)
- |AuthorizedDivulgence:test_authorizedFetch SUCCESS
- |AuthorizedDivulgence:test_divulgeChoiceTargetContractId SUCCESS
- |AuthorizedDivulgence:test_noDivulgenceForFetch FAILURE (com.daml.lf.engine.script.Script$FailedCmd: Command Submit failed: NOT_FOUND: CONTRACT_NOT_FOUND(11,XXXXXXXX): Contract could not be found with id XXXXXXXX
- |AuthorizedDivulgence:test_noDivulgenceOfCreateArguments SUCCESS
- |DiscloseViaChoiceObserver:test FAILURE (com.daml.lf.engine.script.Script$FailedCmd: Command Submit failed: NOT_FOUND: CONTRACT_NOT_FOUND(11,XXXXXXXX): Contract could not be found with id XXXXXXXX
- |Divulgence:main FAILURE (com.daml.lf.engine.script.Script$FailedCmd: Command Submit failed: NOT_FOUND: CONTRACT_NOT_FOUND(11,XXXXXXXX): Contract could not be found with id XXXXXXXX
- |ExceptionSemantics:divulgence FAILURE (com.daml.lf.engine.script.Script$FailedCmd: Command Submit failed: NOT_FOUND: CONTRACT_NOT_FOUND(11,XXXXXXXX): Contract could not be found with id XXXXXXXX
- |ExceptionSemantics:handledArithmeticError SUCCESS
- |ExceptionSemantics:handledUserException SUCCESS
- |ExceptionSemantics:rollbackArchive SUCCESS
- |ExceptionSemantics:tryContext FAILURE (com.daml.lf.engine.script.Script$FailedCmd: Command Submit failed: NOT_FOUND: CONTRACT_NOT_FOUND(11,XXXXXXXX): Contract could not be found with id XXXXXXXX
- |ExceptionSemantics:uncaughtArithmeticError SUCCESS
- |ExceptionSemantics:uncaughtUserException SUCCESS
- |ExceptionSemantics:unhandledArithmeticError FAILURE (com.daml.lf.engine.script.Script$FailedCmd: Command Submit failed: FAILED_PRECONDITION: UNHANDLED_EXCEPTION(9,XXXXXXXX): Interpretation error: Error: Unhandled Daml exception: DA.Exception.ArithmeticError:ArithmeticError@XXXXXXXX{ message = "ArithmeticError while evaluating (DIV_INT64 1 0)." }. Details: Last location: [DA.Internal.Template.Functions:265], partial transaction: ...
- |ExceptionSemantics:unhandledUserException FAILURE (com.daml.lf.engine.script.Script$FailedCmd: Command Submit failed: FAILED_PRECONDITION: UNHANDLED_EXCEPTION(9,XXXXXXXX): Interpretation error: Error: Unhandled Daml exception: ExceptionSemantics:E@XXXXXXXX{ }. Details: Last location: [DA.Internal.Exception:176], partial transaction: ...
- |ExceptionSemanticsWithKeys:duplicateKey FAILURE (com.daml.lf.engine.script.Script$FailedCmd: Command Submit failed: null
- |LFContractKeys:lookupTest FAILURE (com.daml.lf.engine.script.Script$FailedCmd: Command Submit failed: null
- |MoreChoiceObserverDivulgence:test FAILURE (com.daml.lf.engine.script.Script$FailedCmd: Command Submit failed: NOT_FOUND: CONTRACT_NOT_FOUND(11,XXXXXXXX): Contract could not be found with id XXXXXXXX
- |MultiTest:disclosuresByKeyTest SUCCESS
- |MultiTest:disclosuresTest SUCCESS
- |MultiTest:inactiveDisclosureDoesNotFailDuringSubmission FAILURE (com.daml.lf.engine.script.Script$FailedCmd: Command Submit failed: FAILED_PRECONDITION: UNHANDLED_EXCEPTION(9,XXXXXXXX): Interpretation error: Error: Unhandled Daml exception: DA.Exception.GeneralError:GeneralError@XXXXXXXX{ message = "Here" }. Details: Last location: [GHC.Err:25], partial transaction: ...
- |MultiTest:listKnownPartiesTest SUCCESS
- |MultiTest:multiTest SUCCESS
- |MultiTest:partyIdHintTest SUCCESS
- |ScriptExample:allocateParties SUCCESS
- |ScriptExample:initializeFixed SUCCESS
- |ScriptExample:initializeUser SUCCESS
- |ScriptExample:test SUCCESS
- |ScriptTest:clearUsers SUCCESS
- |ScriptTest:failingTest FAILURE (com.daml.lf.engine.script.Script$FailedCmd: Command Submit failed: FAILED_PRECONDITION: UNHANDLED_EXCEPTION(9,XXXXXXXX): Interpretation error: Error: Unhandled Daml exception: DA.Exception.AssertionFailed:AssertionFailed@XXXXXXXX{ message = "Assertion failed" }. Details: Last location: [DA.Internal.Exception:176], partial transaction: ...
- |ScriptTest:listKnownPartiesTest SUCCESS
- |ScriptTest:multiPartySubmission SUCCESS
- |ScriptTest:partyIdHintTest SUCCESS
- |ScriptTest:sleepTest SUCCESS
- |ScriptTest:stackTrace FAILURE (com.daml.lf.engine.script.Script$FailedCmd: Command Submit failed: FAILED_PRECONDITION: UNHANDLED_EXCEPTION(9,XXXXXXXX): Interpretation error: Error: Unhandled Daml exception: DA.Exception.AssertionFailed:AssertionFailed@XXXXXXXX{ message = "Assertion failed" }. Details: Last location: [DA.Internal.Exception:176], partial transaction: ...
- |ScriptTest:test0 SUCCESS
- |ScriptTest:test1 SUCCESS
- |ScriptTest:test3 SUCCESS
- |ScriptTest:test4 SUCCESS
- |ScriptTest:testCreateAndExercise SUCCESS
- |ScriptTest:testGetTime SUCCESS
- |ScriptTest:testKey SUCCESS
- |ScriptTest:testMaxInboundMessageSize SUCCESS
- |ScriptTest:testMultiPartyQueries SUCCESS
- |ScriptTest:testQueryContractId SUCCESS
- |ScriptTest:testQueryContractKey SUCCESS
- |ScriptTest:testSetTime SUCCESS
- |ScriptTest:testStack SUCCESS
- |ScriptTest:testUserListPagination SUCCESS
- |ScriptTest:testUserManagement SUCCESS
- |ScriptTest:testUserRightManagement SUCCESS
- |ScriptTest:traceOrder SUCCESS
- |ScriptTest:tree SUCCESS
- |ScriptTest:tupleKey SUCCESS
- |TestContractId:testContractId SUCCESS
- |TestExceptions:test SUCCESS
- |TestExceptions:try_catch_recover SUCCESS
- |TestExceptions:try_catch_then_abort FAILURE (com.daml.lf.engine.free.InterpretationError: Error: Unhandled Daml exception: DA.Exception.GeneralError:GeneralError@XXXXXXXX{ message = "expected exception" })
- |TestExceptions:try_catch_then_error FAILURE (com.daml.lf.engine.free.InterpretationError: Error: Unhandled Daml exception: DA.Exception.GeneralError:GeneralError@XXXXXXXX{ message = "expected exception" })
- |TestExceptions:try_catch_then_fail FAILURE (com.daml.lf.engine.free.InterpretationError: Error: Unhandled Daml exception: DA.Exception.GeneralError:GeneralError@XXXXXXXX{ message = "expected exception" })
- |TestInterfaces:test SUCCESS
- |TestInterfaces:test_queryInterface SUCCESS
- |""".stripMargin,
- )
- }
-}
diff --git a/sdk/daml-script/test/src/main/scala/com/digitalasset/daml/lf/engine/script/Daml2ScriptTestRunner.scala b/sdk/daml-script/test/src/main/scala/com/digitalasset/daml/lf/engine/script/Daml2ScriptTestRunner.scala
new file mode 100644
index 0000000000..a1ec590ee3
--- /dev/null
+++ b/sdk/daml-script/test/src/main/scala/com/digitalasset/daml/lf/engine/script/Daml2ScriptTestRunner.scala
@@ -0,0 +1,96 @@
+// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
+
+package com.digitalasset.daml.lf.engine.script
+
+import com.daml.bazeltools.BazelRunfiles
+import org.scalatest.Suite
+
+import java.nio.file.Paths
+
+class Daml2ScriptTestRunner extends DamlScriptTestRunner {
+ self: Suite =>
+
+ // TODO(https://github.com/digital-asset/daml/issues/18457): split key test cases and revert to
+ // to devMode = false
+ override lazy val devMode = true
+
+ // TODO(https://github.com/digital-asset/daml/issues/18457): split key test cases and revert
+ // to non-dev dar
+ val darPath = Paths.get(BazelRunfiles.rlocation("daml-script/test/script-test-v2.dev.dar"))
+
+ "daml-script command line" should {
+ "pick up all scripts and returns somewhat sensible outputs" in
+ assertDamlScriptRunnerResult(
+ darPath,
+ """AuthFailure:t1_CreateMissingAuthorization FAILURE (com.digitalasset.daml.lf.engine.script.Script$FailedCmd: Command submit failed: INVALID_ARGUMENT: DAML_AUTHORIZATION_ERROR(8,XXXXXXXX): Interpretation error: Error: node NodeId(0) (XXXXXXXX:AuthFailure:TheContract1) requires authorizers party, but only party were given
+ |AuthFailure:t3_FetchMissingAuthorization FAILURE (com.digitalasset.daml.lf.engine.script.Script$FailedCmd: Command submit failed: INVALID_ARGUMENT: DAML_AUTHORIZATION_ERROR(8,XXXXXXXX): Interpretation error: Error: node NodeId(2) requires one of the stakeholders TreeSet(party) of the fetched contract to be an authorizer, but authorizers were TreeSet(party)
+ |AuthFailure:t4_ExerciseMissingAuthorization FAILURE (com.digitalasset.daml.lf.engine.script.Script$FailedCmd: Command submit failed: INVALID_ARGUMENT: DAML_AUTHORIZATION_ERROR(8,XXXXXXXX): Interpretation error: Error: node NodeId(0) (XXXXXXXX:AuthFailure:TheContract4) requires authorizers party, but only party were given
+ |AuthFailureWithKey:t1_LookupByKeyMissingAuthorization FAILURE (com.digitalasset.daml.lf.engine.script.Script$FailedCmd: Command submit failed: INVALID_ARGUMENT: DAML_AUTHORIZATION_ERROR(8,XXXXXXXX): Interpretation error: Error: node NodeId(2) (XXXXXXXX:AuthFailureWithKey:TheContract1) requires authorizers TreeSet(party) for lookup by key, but it only has TreeSet(party)
+ |AuthFailureWithKey:t2_MaintainersNotSubsetOfSignatories FAILURE (com.digitalasset.daml.lf.engine.script.Script$FailedCmd: Command submit failed: INVALID_ARGUMENT: DAML_AUTHORIZATION_ERROR(8,XXXXXXXX): Interpretation error: Error: node NodeId(0) (XXXXXXXX:AuthFailureWithKey:TheContract2) has maintainers TreeSet(party) which are not a subset of the signatories TreeSet(party)
+ |AuthorizedDivulgence:test_authorizedFetch SUCCESS
+ |AuthorizedDivulgence:test_divulgeChoiceTargetContractId SUCCESS
+ |AuthorizedDivulgence:test_noDivulgenceForFetch FAILURE (com.digitalasset.daml.lf.engine.script.Script$FailedCmd: Command submit failed: NOT_FOUND: CONTRACT_NOT_FOUND(11,XXXXXXXX): Contract could not be found with id XXXXXXXX
+ |AuthorizedDivulgence:test_noDivulgenceOfCreateArguments SUCCESS
+ |DiscloseViaChoiceObserver:test FAILURE (com.digitalasset.daml.lf.engine.script.Script$FailedCmd: Command submit failed: NOT_FOUND: CONTRACT_NOT_FOUND(11,XXXXXXXX): Contract could not be found with id XXXXXXXX
+ |Divulgence:main FAILURE (com.digitalasset.daml.lf.engine.script.Script$FailedCmd: Command submit failed: NOT_FOUND: CONTRACT_NOT_FOUND(11,XXXXXXXX): Contract could not be found with id XXXXXXXX
+ |ExceptionSemantics:divulgence FAILURE (com.digitalasset.daml.lf.engine.script.Script$FailedCmd: Command submit failed: NOT_FOUND: CONTRACT_NOT_FOUND(11,XXXXXXXX): Contract could not be found with id XXXXXXXX
+ |ExceptionSemantics:handledArithmeticError SUCCESS
+ |ExceptionSemantics:handledUserException SUCCESS
+ |ExceptionSemantics:rollbackArchive SUCCESS
+ |ExceptionSemantics:tryContext FAILURE (com.digitalasset.daml.lf.engine.script.Script$FailedCmd: Command submit failed: NOT_FOUND: CONTRACT_NOT_FOUND(11,XXXXXXXX): Contract could not be found with id XXXXXXXX
+ |ExceptionSemantics:uncaughtArithmeticError SUCCESS
+ |ExceptionSemantics:uncaughtUserException SUCCESS
+ |ExceptionSemantics:unhandledArithmeticError FAILURE (com.digitalasset.daml.lf.engine.script.Script$FailedCmd: Command submit failed: FAILED_PRECONDITION: UNHANDLED_EXCEPTION(9,XXXXXXXX): Interpretation error: Error: Unhandled Daml exception: DA.Exception.ArithmeticError:ArithmeticError@XXXXXXXX{ message = "ArithmeticError while evaluating (DIV_INT64 1 0)." }. Details: Last location: [DA.Internal.Template.Functions:265], partial transaction: ...
+ |ExceptionSemantics:unhandledUserException FAILURE (com.digitalasset.daml.lf.engine.script.Script$FailedCmd: Command submit failed: FAILED_PRECONDITION: UNHANDLED_EXCEPTION(9,XXXXXXXX): Interpretation error: Error: Unhandled Daml exception: ExceptionSemantics:E@XXXXXXXX{ }. Details: Last location: [DA.Internal.Exception:176], partial transaction: ...
+ |ExceptionSemanticsWithKeys:duplicateKey FAILURE (com.digitalasset.daml.lf.engine.script.Script$FailedCmd: Command submitMustFail failed: null
+ |LFContractKeys:lookupTest FAILURE (com.digitalasset.daml.lf.engine.script.Script$FailedCmd: Command submitMustFail failed: null
+ |MoreChoiceObserverDivulgence:test FAILURE (com.digitalasset.daml.lf.engine.script.Script$FailedCmd: Command submit failed: NOT_FOUND: CONTRACT_NOT_FOUND(11,XXXXXXXX): Contract could not be found with id XXXXXXXX
+ |MultiTest:disclosuresByKeyTest SUCCESS
+ |MultiTest:disclosuresTest SUCCESS
+ |MultiTest:inactiveDisclosureDoesNotFailDuringSubmission FAILURE (com.digitalasset.daml.lf.engine.script.Script$FailedCmd: Command submit failed: FAILED_PRECONDITION: UNHANDLED_EXCEPTION(9,XXXXXXXX): Interpretation error: Error: Unhandled Daml exception: DA.Exception.GeneralError:GeneralError@XXXXXXXX{ message = "Here" }. Details: Last location: [GHC.Err:25], partial transaction: ...
+ |MultiTest:listKnownPartiesTest SUCCESS
+ |MultiTest:multiTest SUCCESS
+ |MultiTest:partyIdHintTest SUCCESS
+ |ScriptExample:allocateParties SUCCESS
+ |ScriptExample:initializeFixed SUCCESS
+ |ScriptExample:initializeUser SUCCESS
+ |ScriptExample:test SUCCESS
+ |ScriptTest:clearUsers SUCCESS
+ |ScriptTest:failingTest FAILURE (com.digitalasset.daml.lf.engine.script.Script$FailedCmd: Command submit failed: FAILED_PRECONDITION: UNHANDLED_EXCEPTION(9,XXXXXXXX): Interpretation error: Error: Unhandled Daml exception: DA.Exception.AssertionFailed:AssertionFailed@XXXXXXXX{ message = "Assertion failed" }. Details: Last location: [DA.Internal.Exception:176], partial transaction: ...
+ |ScriptTest:listKnownPartiesTest SUCCESS
+ |ScriptTest:multiPartySubmission SUCCESS
+ |ScriptTest:partyIdHintTest SUCCESS
+ |ScriptTest:sleepTest SUCCESS
+ |ScriptTest:stackTrace FAILURE (com.digitalasset.daml.lf.engine.script.Script$FailedCmd: Command submit failed: FAILED_PRECONDITION: UNHANDLED_EXCEPTION(9,XXXXXXXX): Interpretation error: Error: Unhandled Daml exception: DA.Exception.AssertionFailed:AssertionFailed@XXXXXXXX{ message = "Assertion failed" }. Details: Last location: [DA.Internal.Exception:176], partial transaction: ...
+ |ScriptTest:test0 SUCCESS
+ |ScriptTest:test1 SUCCESS
+ |ScriptTest:test3 SUCCESS
+ |ScriptTest:test4 SUCCESS
+ |ScriptTest:testCreateAndExercise SUCCESS
+ |ScriptTest:testGetTime SUCCESS
+ |ScriptTest:testKey SUCCESS
+ |ScriptTest:testMaxInboundMessageSize SUCCESS
+ |ScriptTest:testMultiPartyQueries SUCCESS
+ |ScriptTest:testQueryContractId SUCCESS
+ |ScriptTest:testQueryContractKey SUCCESS
+ |ScriptTest:testSetTime SUCCESS
+ |ScriptTest:testStack SUCCESS
+ |ScriptTest:testUserListPagination SUCCESS
+ |ScriptTest:testUserManagement SUCCESS
+ |ScriptTest:testUserRightManagement SUCCESS
+ |ScriptTest:traceOrder SUCCESS
+ |ScriptTest:tree SUCCESS
+ |ScriptTest:tupleKey SUCCESS
+ |TestContractId:testContractId SUCCESS
+ |TestExceptions:test SUCCESS
+ |TestExceptions:try_catch_recover SUCCESS
+ |TestExceptions:try_catch_then_abort FAILURE (com.digitalasset.daml.lf.engine.script.Runner$InterpretationError: Error: Unhandled Daml exception: DA.Exception.GeneralError:GeneralError@XXXXXXXX{ message = "expected exception" })
+ |TestExceptions:try_catch_then_error FAILURE (com.digitalasset.daml.lf.engine.script.Runner$InterpretationError: Error: Unhandled Daml exception: DA.Exception.GeneralError:GeneralError@XXXXXXXX{ message = "expected exception" })
+ |TestExceptions:try_catch_then_fail FAILURE (com.digitalasset.daml.lf.engine.script.Runner$InterpretationError: Error: Unhandled Daml exception: DA.Exception.GeneralError:GeneralError@XXXXXXXX{ message = "expected exception" })
+ |TestInterfaces:test SUCCESS
+ |TestInterfaces:test_queryInterface SUCCESS
+ |""".stripMargin,
+ )
+ }
+}
diff --git a/sdk/daml-script/test/src/main/scala/com/digitalasset/daml/lf/engine/script/Daml3ScriptTestRunner.scala b/sdk/daml-script/test/src/main/scala/com/digitalasset/daml/lf/engine/script/Daml3ScriptTestRunner.scala
new file mode 100644
index 0000000000..92a0fdca36
--- /dev/null
+++ b/sdk/daml-script/test/src/main/scala/com/digitalasset/daml/lf/engine/script/Daml3ScriptTestRunner.scala
@@ -0,0 +1,96 @@
+// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0
+
+package com.digitalasset.daml.lf.engine.script
+
+import com.daml.bazeltools.BazelRunfiles
+import org.scalatest.Suite
+
+import java.nio.file.Paths
+
+class Daml3ScriptTestRunner extends DamlScriptTestRunner {
+ self: Suite =>
+
+ // TODO(https://github.com/digital-asset/daml/issues/18457): split key test cases and revert to
+ // to devMode = false
+ override lazy val devMode = true
+
+ // TODO(https://github.com/digital-asset/daml/issues/18457): split key test cases and revert
+ // to non-dev dar
+ val darPath = Paths.get(BazelRunfiles.rlocation("daml-script/test/script3-test-v2.dev.dar"))
+
+ "daml-script command line" should {
+ "pick up all scripts and returns somewhat sensible outputs" in
+ assertDamlScriptRunnerResult(
+ darPath,
+ """AuthFailure:t1_CreateMissingAuthorization FAILURE (com.digitalasset.daml.lf.engine.script.Script$FailedCmd: Command Submit failed: INVALID_ARGUMENT: DAML_AUTHORIZATION_ERROR(8,XXXXXXXX): Interpretation error: Error: node NodeId(0) (XXXXXXXX:AuthFailure:TheContract1) requires authorizers party, but only party were given
+ |AuthFailure:t3_FetchMissingAuthorization FAILURE (com.digitalasset.daml.lf.engine.script.Script$FailedCmd: Command Submit failed: INVALID_ARGUMENT: DAML_AUTHORIZATION_ERROR(8,XXXXXXXX): Interpretation error: Error: node NodeId(2) requires one of the stakeholders TreeSet(party) of the fetched contract to be an authorizer, but authorizers were TreeSet(party)
+ |AuthFailure:t4_ExerciseMissingAuthorization FAILURE (com.digitalasset.daml.lf.engine.script.Script$FailedCmd: Command Submit failed: INVALID_ARGUMENT: DAML_AUTHORIZATION_ERROR(8,XXXXXXXX): Interpretation error: Error: node NodeId(0) (XXXXXXXX:AuthFailure:TheContract4) requires authorizers party, but only party were given
+ |AuthFailureWithKey:t1_LookupByKeyMissingAuthorization FAILURE (com.digitalasset.daml.lf.engine.script.Script$FailedCmd: Command Submit failed: INVALID_ARGUMENT: DAML_AUTHORIZATION_ERROR(8,XXXXXXXX): Interpretation error: Error: node NodeId(2) (XXXXXXXX:AuthFailureWithKey:TheContract1) requires authorizers TreeSet(party) for lookup by key, but it only has TreeSet(party)
+ |AuthFailureWithKey:t2_MaintainersNotSubsetOfSignatories FAILURE (com.digitalasset.daml.lf.engine.script.Script$FailedCmd: Command Submit failed: INVALID_ARGUMENT: DAML_AUTHORIZATION_ERROR(8,XXXXXXXX): Interpretation error: Error: node NodeId(0) (XXXXXXXX:AuthFailureWithKey:TheContract2) has maintainers TreeSet(party) which are not a subset of the signatories TreeSet(party)
+ |AuthorizedDivulgence:test_authorizedFetch SUCCESS
+ |AuthorizedDivulgence:test_divulgeChoiceTargetContractId SUCCESS
+ |AuthorizedDivulgence:test_noDivulgenceForFetch FAILURE (com.digitalasset.daml.lf.engine.script.Script$FailedCmd: Command Submit failed: NOT_FOUND: CONTRACT_NOT_FOUND(11,XXXXXXXX): Contract could not be found with id XXXXXXXX
+ |AuthorizedDivulgence:test_noDivulgenceOfCreateArguments SUCCESS
+ |DiscloseViaChoiceObserver:test FAILURE (com.digitalasset.daml.lf.engine.script.Script$FailedCmd: Command Submit failed: NOT_FOUND: CONTRACT_NOT_FOUND(11,XXXXXXXX): Contract could not be found with id XXXXXXXX
+ |Divulgence:main FAILURE (com.digitalasset.daml.lf.engine.script.Script$FailedCmd: Command Submit failed: NOT_FOUND: CONTRACT_NOT_FOUND(11,XXXXXXXX): Contract could not be found with id XXXXXXXX
+ |ExceptionSemantics:divulgence FAILURE (com.digitalasset.daml.lf.engine.script.Script$FailedCmd: Command Submit failed: NOT_FOUND: CONTRACT_NOT_FOUND(11,XXXXXXXX): Contract could not be found with id XXXXXXXX
+ |ExceptionSemantics:handledArithmeticError SUCCESS
+ |ExceptionSemantics:handledUserException SUCCESS
+ |ExceptionSemantics:rollbackArchive SUCCESS
+ |ExceptionSemantics:tryContext FAILURE (com.digitalasset.daml.lf.engine.script.Script$FailedCmd: Command Submit failed: NOT_FOUND: CONTRACT_NOT_FOUND(11,XXXXXXXX): Contract could not be found with id XXXXXXXX
+ |ExceptionSemantics:uncaughtArithmeticError SUCCESS
+ |ExceptionSemantics:uncaughtUserException SUCCESS
+ |ExceptionSemantics:unhandledArithmeticError FAILURE (com.digitalasset.daml.lf.engine.script.Script$FailedCmd: Command Submit failed: FAILED_PRECONDITION: UNHANDLED_EXCEPTION(9,XXXXXXXX): Interpretation error: Error: Unhandled Daml exception: DA.Exception.ArithmeticError:ArithmeticError@XXXXXXXX{ message = "ArithmeticError while evaluating (DIV_INT64 1 0)." }. Details: Last location: [DA.Internal.Template.Functions:265], partial transaction: ...
+ |ExceptionSemantics:unhandledUserException FAILURE (com.digitalasset.daml.lf.engine.script.Script$FailedCmd: Command Submit failed: FAILED_PRECONDITION: UNHANDLED_EXCEPTION(9,XXXXXXXX): Interpretation error: Error: Unhandled Daml exception: ExceptionSemantics:E@XXXXXXXX{ }. Details: Last location: [DA.Internal.Exception:176], partial transaction: ...
+ |ExceptionSemanticsWithKeys:duplicateKey FAILURE (com.digitalasset.daml.lf.engine.script.Script$FailedCmd: Command Submit failed: null
+ |LFContractKeys:lookupTest FAILURE (com.digitalasset.daml.lf.engine.script.Script$FailedCmd: Command Submit failed: null
+ |MoreChoiceObserverDivulgence:test FAILURE (com.digitalasset.daml.lf.engine.script.Script$FailedCmd: Command Submit failed: NOT_FOUND: CONTRACT_NOT_FOUND(11,XXXXXXXX): Contract could not be found with id XXXXXXXX
+ |MultiTest:disclosuresByKeyTest SUCCESS
+ |MultiTest:disclosuresTest SUCCESS
+ |MultiTest:inactiveDisclosureDoesNotFailDuringSubmission FAILURE (com.digitalasset.daml.lf.engine.script.Script$FailedCmd: Command Submit failed: FAILED_PRECONDITION: UNHANDLED_EXCEPTION(9,XXXXXXXX): Interpretation error: Error: Unhandled Daml exception: DA.Exception.GeneralError:GeneralError@XXXXXXXX{ message = "Here" }. Details: Last location: [GHC.Err:25], partial transaction: ...
+ |MultiTest:listKnownPartiesTest SUCCESS
+ |MultiTest:multiTest SUCCESS
+ |MultiTest:partyIdHintTest SUCCESS
+ |ScriptExample:allocateParties SUCCESS
+ |ScriptExample:initializeFixed SUCCESS
+ |ScriptExample:initializeUser SUCCESS
+ |ScriptExample:test SUCCESS
+ |ScriptTest:clearUsers SUCCESS
+ |ScriptTest:failingTest FAILURE (com.digitalasset.daml.lf.engine.script.Script$FailedCmd: Command Submit failed: FAILED_PRECONDITION: UNHANDLED_EXCEPTION(9,XXXXXXXX): Interpretation error: Error: Unhandled Daml exception: DA.Exception.AssertionFailed:AssertionFailed@XXXXXXXX{ message = "Assertion failed" }. Details: Last location: [DA.Internal.Exception:176], partial transaction: ...
+ |ScriptTest:listKnownPartiesTest SUCCESS
+ |ScriptTest:multiPartySubmission SUCCESS
+ |ScriptTest:partyIdHintTest SUCCESS
+ |ScriptTest:sleepTest SUCCESS
+ |ScriptTest:stackTrace FAILURE (com.digitalasset.daml.lf.engine.script.Script$FailedCmd: Command Submit failed: FAILED_PRECONDITION: UNHANDLED_EXCEPTION(9,XXXXXXXX): Interpretation error: Error: Unhandled Daml exception: DA.Exception.AssertionFailed:AssertionFailed@XXXXXXXX{ message = "Assertion failed" }. Details: Last location: [DA.Internal.Exception:176], partial transaction: ...
+ |ScriptTest:test0 SUCCESS
+ |ScriptTest:test1 SUCCESS
+ |ScriptTest:test3 SUCCESS
+ |ScriptTest:test4 SUCCESS
+ |ScriptTest:testCreateAndExercise SUCCESS
+ |ScriptTest:testGetTime SUCCESS
+ |ScriptTest:testKey SUCCESS
+ |ScriptTest:testMaxInboundMessageSize SUCCESS
+ |ScriptTest:testMultiPartyQueries SUCCESS
+ |ScriptTest:testQueryContractId SUCCESS
+ |ScriptTest:testQueryContractKey SUCCESS
+ |ScriptTest:testSetTime SUCCESS
+ |ScriptTest:testStack SUCCESS
+ |ScriptTest:testUserListPagination SUCCESS
+ |ScriptTest:testUserManagement SUCCESS
+ |ScriptTest:testUserRightManagement SUCCESS
+ |ScriptTest:traceOrder SUCCESS
+ |ScriptTest:tree SUCCESS
+ |ScriptTest:tupleKey SUCCESS
+ |TestContractId:testContractId SUCCESS
+ |TestExceptions:test SUCCESS
+ |TestExceptions:try_catch_recover SUCCESS
+ |TestExceptions:try_catch_then_abort FAILURE (com.digitalasset.daml.lf.engine.free.InterpretationError: Error: Unhandled Daml exception: DA.Exception.GeneralError:GeneralError@XXXXXXXX{ message = "expected exception" })
+ |TestExceptions:try_catch_then_error FAILURE (com.digitalasset.daml.lf.engine.free.InterpretationError: Error: Unhandled Daml exception: DA.Exception.GeneralError:GeneralError@XXXXXXXX{ message = "expected exception" })
+ |TestExceptions:try_catch_then_fail FAILURE (com.digitalasset.daml.lf.engine.free.InterpretationError: Error: Unhandled Daml exception: DA.Exception.GeneralError:GeneralError@XXXXXXXX{ message = "expected exception" })
+ |TestInterfaces:test SUCCESS
+ |TestInterfaces:test_queryInterface SUCCESS
+ |""".stripMargin,
+ )
+ }
+}
diff --git a/sdk/daml-script/test/src/main/scala/com/daml/lf/engine/script/Daml3ScriptTestRunnerDev.scala b/sdk/daml-script/test/src/main/scala/com/digitalasset/daml/lf/engine/script/Daml3ScriptTestRunnerDev.scala
similarity index 73%
rename from sdk/daml-script/test/src/main/scala/com/daml/lf/engine/script/Daml3ScriptTestRunnerDev.scala
rename to sdk/daml-script/test/src/main/scala/com/digitalasset/daml/lf/engine/script/Daml3ScriptTestRunnerDev.scala
index 4bf2fcf5b2..263e846123 100644
--- a/sdk/daml-script/test/src/main/scala/com/daml/lf/engine/script/Daml3ScriptTestRunnerDev.scala
+++ b/sdk/daml-script/test/src/main/scala/com/digitalasset/daml/lf/engine/script/Daml3ScriptTestRunnerDev.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.engine.script
+package com.digitalasset.daml.lf.engine.script
import com.daml.bazeltools.BazelRunfiles
import org.scalatest.Suite
@@ -19,7 +19,7 @@ class Daml3ScriptTestRunnerDev extends DamlScriptTestRunner {
override lazy val darFiles = List(trySubmitTestDarPath)
val expectedContractNotActiveResponse =
- """FAILURE (com.daml.lf.engine.free.InterpretationError: Error: Unhandled Daml exception: DA.Exception.GeneralError:GeneralError@XXXXXXXX{ message = "contractNotActive no additional info" })"""
+ """FAILURE (com.digitalasset.daml.lf.engine.free.InterpretationError: Error: Unhandled Daml exception: DA.Exception.GeneralError:GeneralError@XXXXXXXX{ message = "contractNotActive no additional info" })"""
"daml-script command line" should {
"pick up all scripts and returns somewhat sensible outputs for daml3-script features" in
@@ -31,7 +31,7 @@ class Daml3ScriptTestRunnerDev extends DamlScriptTestRunner {
|Daml3ScriptTrySubmit:createEmptyContractKeyMaintainers SUCCESS
|Daml3ScriptTrySubmit:devError SUCCESS
|Daml3ScriptTrySubmit:fetchEmptyContractKeyMaintainers SUCCESS
- |Daml3ScriptTrySubmit:truncatedError FAILURE (com.daml.lf.engine.free.InterpretationError: Error: Unhandled Daml exception: DA.Exception.GeneralError:GeneralError@XXXXXXXX{ message = "EXPECTED_TRUNCATED_ERROR" })
+ |Daml3ScriptTrySubmit:truncatedError FAILURE (com.digitalasset.daml.lf.engine.free.InterpretationError: Error: Unhandled Daml exception: DA.Exception.GeneralError:GeneralError@XXXXXXXX{ message = "EXPECTED_TRUNCATED_ERROR" })
|Daml3ScriptTrySubmit:unhandledException SUCCESS
|Daml3ScriptTrySubmit:wronglyTypedContract SUCCESS
|""".stripMargin,
diff --git a/sdk/daml-script/test/src/main/scala/com/daml/lf/engine/script/test/AuthIT.scala b/sdk/daml-script/test/src/main/scala/com/digitalasset/daml/lf/engine/script/test/AuthIT.scala
similarity index 90%
rename from sdk/daml-script/test/src/main/scala/com/daml/lf/engine/script/test/AuthIT.scala
rename to sdk/daml-script/test/src/main/scala/com/digitalasset/daml/lf/engine/script/test/AuthIT.scala
index 2bf0742a04..0676cb178a 100644
--- a/sdk/daml-script/test/src/main/scala/com/daml/lf/engine/script/test/AuthIT.scala
+++ b/sdk/daml-script/test/src/main/scala/com/digitalasset/daml/lf/engine/script/test/AuthIT.scala
@@ -1,15 +1,15 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.engine.script
+package com.digitalasset.daml.lf.engine.script
package test
import com.digitalasset.canton.ledger.api.domain
-import com.daml.lf.data.{ImmArray, Ref}
-import com.daml.lf.engine.script.ScriptTimeMode
+import com.digitalasset.daml.lf.data.{ImmArray, Ref}
+import com.digitalasset.daml.lf.engine.script.ScriptTimeMode
import com.daml.integrationtest._
-import com.daml.lf.language.LanguageMajorVersion
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.language.LanguageMajorVersion
+import com.digitalasset.daml.lf.value.Value
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AsyncWordSpec
diff --git a/sdk/daml-script/test/src/main/scala/com/daml/lf/engine/script/test/Daml3ScriptDevIT.scala b/sdk/daml-script/test/src/main/scala/com/digitalasset/daml/lf/engine/script/test/Daml3ScriptDevIT.scala
similarity index 88%
rename from sdk/daml-script/test/src/main/scala/com/daml/lf/engine/script/test/Daml3ScriptDevIT.scala
rename to sdk/daml-script/test/src/main/scala/com/digitalasset/daml/lf/engine/script/test/Daml3ScriptDevIT.scala
index 130442c034..d914bb5d25 100644
--- a/sdk/daml-script/test/src/main/scala/com/daml/lf/engine/script/test/Daml3ScriptDevIT.scala
+++ b/sdk/daml-script/test/src/main/scala/com/digitalasset/daml/lf/engine/script/test/Daml3ScriptDevIT.scala
@@ -1,15 +1,15 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.engine.script
+package com.digitalasset.daml.lf.engine.script
package test
import com.daml.bazeltools.BazelRunfiles
-import com.daml.lf.data.Ref._
-import com.daml.lf.engine.script.ScriptTimeMode
-import com.daml.lf.language.LanguageMajorVersion
-import com.daml.lf.language.LanguageMajorVersion.V2
-import com.daml.lf.speedy.SValue._
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.engine.script.ScriptTimeMode
+import com.digitalasset.daml.lf.language.LanguageMajorVersion
+import com.digitalasset.daml.lf.language.LanguageMajorVersion.V2
+import com.digitalasset.daml.lf.speedy.SValue._
import java.nio.file.Paths
import org.scalatest.Inside
diff --git a/sdk/daml-script/test/src/main/scala/com/daml/lf/engine/script/test/DevIT.scala b/sdk/daml-script/test/src/main/scala/com/digitalasset/daml/lf/engine/script/test/DevIT.scala
similarity index 96%
rename from sdk/daml-script/test/src/main/scala/com/daml/lf/engine/script/test/DevIT.scala
rename to sdk/daml-script/test/src/main/scala/com/digitalasset/daml/lf/engine/script/test/DevIT.scala
index 41d621e40d..fada8df868 100644
--- a/sdk/daml-script/test/src/main/scala/com/daml/lf/engine/script/test/DevIT.scala
+++ b/sdk/daml-script/test/src/main/scala/com/digitalasset/daml/lf/engine/script/test/DevIT.scala
@@ -1,14 +1,14 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.engine.script
+package com.digitalasset.daml.lf.engine.script
package test
import com.daml.bazeltools.BazelRunfiles
-import com.daml.lf.data.Ref._
-import com.daml.lf.engine.script.ScriptTimeMode
-import com.daml.lf.language.LanguageMajorVersion
-import com.daml.lf.speedy.SValue._
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.engine.script.ScriptTimeMode
+import com.digitalasset.daml.lf.language.LanguageMajorVersion
+import com.digitalasset.daml.lf.speedy.SValue._
import java.nio.file.Paths
import org.scalatest.Inside
diff --git a/sdk/daml-script/test/src/main/scala/com/daml/lf/engine/script/test/FuncStaticTimeIT.scala b/sdk/daml-script/test/src/main/scala/com/digitalasset/daml/lf/engine/script/test/FuncStaticTimeIT.scala
similarity index 74%
rename from sdk/daml-script/test/src/main/scala/com/daml/lf/engine/script/test/FuncStaticTimeIT.scala
rename to sdk/daml-script/test/src/main/scala/com/digitalasset/daml/lf/engine/script/test/FuncStaticTimeIT.scala
index 2834b0a1a1..c689f1a546 100644
--- a/sdk/daml-script/test/src/main/scala/com/daml/lf/engine/script/test/FuncStaticTimeIT.scala
+++ b/sdk/daml-script/test/src/main/scala/com/digitalasset/daml/lf/engine/script/test/FuncStaticTimeIT.scala
@@ -1,13 +1,13 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.engine.script.test
+package com.digitalasset.daml.lf.engine.script.test
-import com.daml.lf.data.Ref.QualifiedName
-import com.daml.lf.data.Time.Timestamp
-import com.daml.lf.engine.script.ScriptTimeMode
-import com.daml.lf.language.LanguageMajorVersion
-import com.daml.lf.speedy.SValue.SRecord
+import com.digitalasset.daml.lf.data.Ref.QualifiedName
+import com.digitalasset.daml.lf.data.Time.Timestamp
+import com.digitalasset.daml.lf.engine.script.ScriptTimeMode
+import com.digitalasset.daml.lf.language.LanguageMajorVersion
+import com.digitalasset.daml.lf.speedy.SValue.SRecord
class FuncStaticTimeITV2 extends FuncStaticTimeIT(LanguageMajorVersion.V2)
diff --git a/sdk/daml-script/test/src/main/scala/com/daml/lf/engine/script/test/FuncWallClockIT.scala b/sdk/daml-script/test/src/main/scala/com/digitalasset/daml/lf/engine/script/test/FuncWallClockIT.scala
similarity index 79%
rename from sdk/daml-script/test/src/main/scala/com/daml/lf/engine/script/test/FuncWallClockIT.scala
rename to sdk/daml-script/test/src/main/scala/com/digitalasset/daml/lf/engine/script/test/FuncWallClockIT.scala
index f8cbae1902..74595b94ee 100644
--- a/sdk/daml-script/test/src/main/scala/com/daml/lf/engine/script/test/FuncWallClockIT.scala
+++ b/sdk/daml-script/test/src/main/scala/com/digitalasset/daml/lf/engine/script/test/FuncWallClockIT.scala
@@ -1,13 +1,13 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.engine.script.test
+package com.digitalasset.daml.lf.engine.script.test
import java.time.Duration
-import com.daml.lf.data.Ref.QualifiedName
-import com.daml.lf.engine.script.ScriptTimeMode
-import com.daml.lf.language.LanguageMajorVersion
-import com.daml.lf.speedy.SValue.SRecord
+import com.digitalasset.daml.lf.data.Ref.QualifiedName
+import com.digitalasset.daml.lf.engine.script.ScriptTimeMode
+import com.digitalasset.daml.lf.language.LanguageMajorVersion
+import com.digitalasset.daml.lf.speedy.SValue.SRecord
class FuncWallClockITV2 extends FuncWallClockIT(LanguageMajorVersion.V2)
diff --git a/sdk/daml-script/test/src/main/scala/com/daml/lf/engine/script/test/MultiParticipantIT.scala b/sdk/daml-script/test/src/main/scala/com/digitalasset/daml/lf/engine/script/test/MultiParticipantIT.scala
similarity index 92%
rename from sdk/daml-script/test/src/main/scala/com/daml/lf/engine/script/test/MultiParticipantIT.scala
rename to sdk/daml-script/test/src/main/scala/com/digitalasset/daml/lf/engine/script/test/MultiParticipantIT.scala
index ebe9e23dbe..cced1ca2c0 100644
--- a/sdk/daml-script/test/src/main/scala/com/daml/lf/engine/script/test/MultiParticipantIT.scala
+++ b/sdk/daml-script/test/src/main/scala/com/digitalasset/daml/lf/engine/script/test/MultiParticipantIT.scala
@@ -1,14 +1,14 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.engine.script
+package com.digitalasset.daml.lf.engine.script
package test
-import com.daml.lf.data.FrontStack
-import com.daml.lf.data.Ref._
-import com.daml.lf.engine.script.ScriptTimeMode
-import com.daml.lf.language.LanguageMajorVersion
-import com.daml.lf.speedy.SValue._
+import com.digitalasset.daml.lf.data.FrontStack
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.engine.script.ScriptTimeMode
+import com.digitalasset.daml.lf.language.LanguageMajorVersion
+import com.digitalasset.daml.lf.speedy.SValue._
import org.scalatest.Inside
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AsyncWordSpec
diff --git a/sdk/daml-script/test/src/main/scala/com/daml/lf/engine/script/test/TlsIT.scala b/sdk/daml-script/test/src/main/scala/com/digitalasset/daml/lf/engine/script/test/TlsIT.scala
similarity index 82%
rename from sdk/daml-script/test/src/main/scala/com/daml/lf/engine/script/test/TlsIT.scala
rename to sdk/daml-script/test/src/main/scala/com/digitalasset/daml/lf/engine/script/test/TlsIT.scala
index c08298a3d9..dc232c1f59 100644
--- a/sdk/daml-script/test/src/main/scala/com/daml/lf/engine/script/test/TlsIT.scala
+++ b/sdk/daml-script/test/src/main/scala/com/digitalasset/daml/lf/engine/script/test/TlsIT.scala
@@ -1,12 +1,12 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.engine.script
+package com.digitalasset.daml.lf.engine.script
package test
-import com.daml.lf.data.Ref
-import com.daml.lf.engine.script.ScriptTimeMode
-import com.daml.lf.language.LanguageMajorVersion
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.engine.script.ScriptTimeMode
+import com.digitalasset.daml.lf.language.LanguageMajorVersion
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AsyncWordSpec
diff --git a/sdk/daml-script/test/src/main/scala/com/daml/lf/engine/script/test/UpgradesIT.scala b/sdk/daml-script/test/src/main/scala/com/digitalasset/daml/lf/engine/script/test/UpgradesIT.scala
similarity index 96%
rename from sdk/daml-script/test/src/main/scala/com/daml/lf/engine/script/test/UpgradesIT.scala
rename to sdk/daml-script/test/src/main/scala/com/digitalasset/daml/lf/engine/script/test/UpgradesIT.scala
index 073f09e7af..70aacfaff2 100644
--- a/sdk/daml-script/test/src/main/scala/com/daml/lf/engine/script/test/UpgradesIT.scala
+++ b/sdk/daml-script/test/src/main/scala/com/digitalasset/daml/lf/engine/script/test/UpgradesIT.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.engine.script
+package com.digitalasset.daml.lf.engine.script
package test
import io.circe._
@@ -9,11 +9,11 @@ import io.circe.yaml
import java.io.File
import java.nio.file.{Files, Path, Paths}
import com.daml.bazeltools.BazelRunfiles.{requiredResource, rlocation}
-import com.daml.lf.data.Ref._
-import com.daml.lf.engine.script.ScriptTimeMode
-import com.daml.lf.engine.script.test.DarUtil.{buildDar, Dar, DataDep}
-import com.daml.lf.language.{LanguageMajorVersion, LanguageVersion}
-import com.daml.lf.engine.script.v2.ledgerinteraction.grpcLedgerClient.test.TestingAdminLedgerClient
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.engine.script.ScriptTimeMode
+import com.digitalasset.daml.lf.engine.script.test.DarUtil.{buildDar, Dar, DataDep}
+import com.digitalasset.daml.lf.language.{LanguageMajorVersion, LanguageVersion}
+import com.digitalasset.daml.lf.engine.script.v2.ledgerinteraction.grpcLedgerClient.test.TestingAdminLedgerClient
import com.daml.scalautil.Statement.discard
import com.daml.timer.RetryStrategy
import com.digitalasset.canton.ledger.client.configuration.LedgerClientChannelConfiguration
diff --git a/sdk/daml-script/test/src/test-utils/scala/com/daml/lf/engine/script/DamlScriptTestRunner.scala b/sdk/daml-script/test/src/test-utils/scala/com/digitalasset/daml/lf/engine/script/DamlScriptTestRunner.scala
similarity index 98%
rename from sdk/daml-script/test/src/test-utils/scala/com/daml/lf/engine/script/DamlScriptTestRunner.scala
rename to sdk/daml-script/test/src/test-utils/scala/com/digitalasset/daml/lf/engine/script/DamlScriptTestRunner.scala
index c789988965..f1cb68e842 100644
--- a/sdk/daml-script/test/src/test-utils/scala/com/daml/lf/engine/script/DamlScriptTestRunner.scala
+++ b/sdk/daml-script/test/src/test-utils/scala/com/digitalasset/daml/lf/engine/script/DamlScriptTestRunner.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.engine.script
+package com.digitalasset.daml.lf.engine.script
import com.daml.bazeltools.BazelRunfiles
import com.daml.integrationtest.CantonConfig.TimeProviderType
diff --git a/sdk/daml-script/test/src/test-utils/scala/com/daml/lf/engine/script/test/AbstractFuncIT.scala b/sdk/daml-script/test/src/test-utils/scala/com/digitalasset/daml/lf/engine/script/test/AbstractFuncIT.scala
similarity index 97%
rename from sdk/daml-script/test/src/test-utils/scala/com/daml/lf/engine/script/test/AbstractFuncIT.scala
rename to sdk/daml-script/test/src/test-utils/scala/com/digitalasset/daml/lf/engine/script/test/AbstractFuncIT.scala
index 9ab9d0b808..0bc7a6d51f 100644
--- a/sdk/daml-script/test/src/test-utils/scala/com/daml/lf/engine/script/test/AbstractFuncIT.scala
+++ b/sdk/daml-script/test/src/test-utils/scala/com/digitalasset/daml/lf/engine/script/test/AbstractFuncIT.scala
@@ -1,18 +1,18 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package engine
package script
package test
-import com.daml.lf.data.ImmArray
-import com.daml.lf.data.Ref._
-import com.daml.lf.data.{FrontStack, FrontStackCons, Numeric}
-import com.daml.lf.engine.script.Runner.InterpretationError
-import com.daml.lf.speedy.SValue
-import com.daml.lf.speedy.SValue._
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.data.ImmArray
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.data.{FrontStack, FrontStackCons, Numeric}
+import com.digitalasset.daml.lf.engine.script.Runner.InterpretationError
+import com.digitalasset.daml.lf.speedy.SValue
+import com.digitalasset.daml.lf.speedy.SValue._
+import com.digitalasset.daml.lf.value.Value
import io.grpc.{Status, StatusRuntimeException}
import org.scalatest.Inside
import org.scalatest.matchers.should.Matchers
diff --git a/sdk/daml-script/test/src/test-utils/scala/com/daml/lf/engine/script/test/AbstractScriptTest.scala b/sdk/daml-script/test/src/test-utils/scala/com/digitalasset/daml/lf/engine/script/test/AbstractScriptTest.scala
similarity index 85%
rename from sdk/daml-script/test/src/test-utils/scala/com/daml/lf/engine/script/test/AbstractScriptTest.scala
rename to sdk/daml-script/test/src/test-utils/scala/com/digitalasset/daml/lf/engine/script/test/AbstractScriptTest.scala
index 41ec1b815c..ec4c1acf7e 100644
--- a/sdk/daml-script/test/src/test-utils/scala/com/daml/lf/engine/script/test/AbstractScriptTest.scala
+++ b/sdk/daml-script/test/src/test-utils/scala/com/digitalasset/daml/lf/engine/script/test/AbstractScriptTest.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package engine.script
package test
@@ -10,12 +10,15 @@ import com.daml.bazeltools.BazelRunfiles.rlocation
import com.daml.integrationtest.CantonConfig.TimeProviderType
import com.daml.integrationtest.CantonFixture
import com.daml.ledger.api.testing.utils.PekkoBeforeAndAfterAll
-import com.daml.lf.data.{ImmArray, Ref}
-import com.daml.lf.engine.script.ledgerinteraction.{GrpcLedgerClient, ScriptLedgerClient}
-import com.daml.lf.language.{Ast, LanguageMajorVersion}
-import com.daml.lf.speedy.{ArrayList, SValue}
-import com.daml.lf.stablepackages.StablePackages
-import com.daml.lf.value.Value
+import com.digitalasset.daml.lf.data.{ImmArray, Ref}
+import com.digitalasset.daml.lf.engine.script.ledgerinteraction.{
+ GrpcLedgerClient,
+ ScriptLedgerClient,
+}
+import com.digitalasset.daml.lf.language.{Ast, LanguageMajorVersion}
+import com.digitalasset.daml.lf.speedy.{ArrayList, SValue}
+import com.digitalasset.daml.lf.stablepackages.StablePackages
+import com.digitalasset.daml.lf.value.Value
import org.scalatest.Suite
import scala.concurrent.{ExecutionContext, Future}
@@ -61,7 +64,10 @@ trait AbstractScriptTest extends CantonFixture with PekkoBeforeAndAfterAll {
)(implicit ec: ExecutionContext): Future[SValue] = {
val scriptId = Ref.Identifier(dar.mainPkg, name)
def converter(input: Value, typ: Ast.Type) =
- new com.daml.lf.engine.preprocessing.ValueTranslator(dar.compiledPackages.pkgInterface, false)
+ new com.digitalasset.daml.lf.engine.preprocessing.ValueTranslator(
+ dar.compiledPackages.pkgInterface,
+ false,
+ )
.strictTranslateValue(typ, input)
.left
.map(_.message)
diff --git a/sdk/daml-script/test/src/test-utils/scala/com/daml/lf/engine/script/test/CompiledDar.scala b/sdk/daml-script/test/src/test-utils/scala/com/digitalasset/daml/lf/engine/script/test/CompiledDar.scala
similarity index 89%
rename from sdk/daml-script/test/src/test-utils/scala/com/daml/lf/engine/script/test/CompiledDar.scala
rename to sdk/daml-script/test/src/test-utils/scala/com/digitalasset/daml/lf/engine/script/test/CompiledDar.scala
index b2ece0dab0..a34a8f3b27 100644
--- a/sdk/daml-script/test/src/test-utils/scala/com/daml/lf/engine/script/test/CompiledDar.scala
+++ b/sdk/daml-script/test/src/test-utils/scala/com/digitalasset/daml/lf/engine/script/test/CompiledDar.scala
@@ -1,10 +1,10 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package engine.script.test
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import java.nio.file.Path
diff --git a/sdk/daml-script/test/src/test-utils/scala/com/daml/lf/engine/script/test/DarUtil.scala b/sdk/daml-script/test/src/test-utils/scala/com/digitalasset/daml/lf/engine/script/test/DarUtil.scala
similarity index 93%
rename from sdk/daml-script/test/src/test-utils/scala/com/daml/lf/engine/script/test/DarUtil.scala
rename to sdk/daml-script/test/src/test-utils/scala/com/digitalasset/daml/lf/engine/script/test/DarUtil.scala
index 3141e3616f..9baed6b38d 100644
--- a/sdk/daml-script/test/src/test-utils/scala/com/daml/lf/engine/script/test/DarUtil.scala
+++ b/sdk/daml-script/test/src/test-utils/scala/com/digitalasset/daml/lf/engine/script/test/DarUtil.scala
@@ -1,13 +1,13 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.engine.script
+package com.digitalasset.daml.lf.engine.script
package test
import com.daml.bazeltools.BazelRunfiles.requiredResource
-import com.daml.lf.archive.DarParser
-import com.daml.lf.data.Ref.PackageId
-import com.daml.lf.language.LanguageVersion
+import com.digitalasset.daml.lf.archive.DarParser
+import com.digitalasset.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.language.LanguageVersion
import com.daml.SdkVersion
import java.nio.charset.StandardCharsets
import java.nio.file.{Files, Path, Paths}
diff --git a/sdk/daml-script/test/src/test-utils/scala/com/daml/lf/engine/script/test/LogCollector.scala b/sdk/daml-script/test/src/test-utils/scala/com/digitalasset/daml/lf/engine/script/test/LogCollector.scala
similarity index 92%
rename from sdk/daml-script/test/src/test-utils/scala/com/daml/lf/engine/script/test/LogCollector.scala
rename to sdk/daml-script/test/src/test-utils/scala/com/digitalasset/daml/lf/engine/script/test/LogCollector.scala
index da45ebc843..aa0ebd274a 100644
--- a/sdk/daml-script/test/src/test-utils/scala/com/daml/lf/engine/script/test/LogCollector.scala
+++ b/sdk/daml-script/test/src/test-utils/scala/com/digitalasset/daml/lf/engine/script/test/LogCollector.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.engine.script.test
+package com.digitalasset.daml.lf.engine.script.test
import ch.qos.logback.classic.spi.ILoggingEvent
import ch.qos.logback.core.AppenderBase
diff --git a/sdk/daml-script/test/src/test-utils/scala/com/daml/lf/engine/script/v2/ledgerinteraction/grpcLedgerClient/test/TestingAdminLedgerClient.scala b/sdk/daml-script/test/src/test-utils/scala/com/digitalasset/daml/lf/engine/script/v2/ledgerinteraction/grpcLedgerClient/test/TestingAdminLedgerClient.scala
similarity index 98%
rename from sdk/daml-script/test/src/test-utils/scala/com/daml/lf/engine/script/v2/ledgerinteraction/grpcLedgerClient/test/TestingAdminLedgerClient.scala
rename to sdk/daml-script/test/src/test-utils/scala/com/digitalasset/daml/lf/engine/script/v2/ledgerinteraction/grpcLedgerClient/test/TestingAdminLedgerClient.scala
index 38d7c998c8..c20d573669 100644
--- a/sdk/daml-script/test/src/test-utils/scala/com/daml/lf/engine/script/v2/ledgerinteraction/grpcLedgerClient/test/TestingAdminLedgerClient.scala
+++ b/sdk/daml-script/test/src/test-utils/scala/com/digitalasset/daml/lf/engine/script/v2/ledgerinteraction/grpcLedgerClient/test/TestingAdminLedgerClient.scala
@@ -3,7 +3,7 @@
// Temporary stand-in for the real admin api clients defined in canton. Needed only for upgrades testing
// We should intend to replace this as soon as possible
-package com.daml.lf.engine.script.v2.ledgerinteraction
+package com.digitalasset.daml.lf.engine.script.v2.ledgerinteraction
package grpcLedgerClient
package test
diff --git a/sdk/language-support/codegen-common/src/main/scala/com/daml/lf/codegen/Util.scala b/sdk/language-support/codegen-common/src/main/scala/com/digitalasset/daml/lf/codegen/Util.scala
similarity index 90%
rename from sdk/language-support/codegen-common/src/main/scala/com/daml/lf/codegen/Util.scala
rename to sdk/language-support/codegen-common/src/main/scala/com/digitalasset/daml/lf/codegen/Util.scala
index d59dd55cab..4290299fcb 100644
--- a/sdk/language-support/codegen-common/src/main/scala/com/daml/lf/codegen/Util.scala
+++ b/sdk/language-support/codegen-common/src/main/scala/com/digitalasset/daml/lf/codegen/Util.scala
@@ -1,10 +1,10 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen
+package com.digitalasset.daml.lf.codegen
-import com.daml.lf.data.Ref
-import com.daml.lf.typesig
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.typesig
import typesig.TypeConName
import typesig.PackageSignature.TypeDecl
import scalaz.std.list._
diff --git a/sdk/language-support/codegen-common/src/main/scala/com/daml/lf/codegen/conf/CodegenConfigReader.scala b/sdk/language-support/codegen-common/src/main/scala/com/digitalasset/daml/lf/codegen/conf/CodegenConfigReader.scala
similarity index 98%
rename from sdk/language-support/codegen-common/src/main/scala/com/daml/lf/codegen/conf/CodegenConfigReader.scala
rename to sdk/language-support/codegen-common/src/main/scala/com/digitalasset/daml/lf/codegen/conf/CodegenConfigReader.scala
index 528dc22876..b7e62edd62 100644
--- a/sdk/language-support/codegen-common/src/main/scala/com/daml/lf/codegen/conf/CodegenConfigReader.scala
+++ b/sdk/language-support/codegen-common/src/main/scala/com/digitalasset/daml/lf/codegen/conf/CodegenConfigReader.scala
@@ -1,13 +1,13 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.conf
+package com.digitalasset.daml.lf.codegen.conf
import java.io.File
import java.nio.file.{Path, Paths}
import ch.qos.logback.classic.Level
-import com.daml.lf.data.Ref.{PackageName, PackageVersion}
+import com.digitalasset.daml.lf.data.Ref.{PackageName, PackageVersion}
import com.daml.assistant.config._
import io.circe.{ACursor, KeyDecoder}
diff --git a/sdk/language-support/codegen-common/src/main/scala/com/daml/lf/codegen/conf/Conf.scala b/sdk/language-support/codegen-common/src/main/scala/com/digitalasset/daml/lf/codegen/conf/Conf.scala
similarity index 97%
rename from sdk/language-support/codegen-common/src/main/scala/com/daml/lf/codegen/conf/Conf.scala
rename to sdk/language-support/codegen-common/src/main/scala/com/digitalasset/daml/lf/codegen/conf/Conf.scala
index 291a72be4e..c3b122ce7b 100644
--- a/sdk/language-support/codegen-common/src/main/scala/com/daml/lf/codegen/conf/Conf.scala
+++ b/sdk/language-support/codegen-common/src/main/scala/com/digitalasset/daml/lf/codegen/conf/Conf.scala
@@ -1,13 +1,13 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.conf
+package com.digitalasset.daml.lf.codegen.conf
import java.nio.file.{Path, Paths}
import ch.qos.logback.classic.Level
import com.daml.buildinfo.BuildInfo
-import com.daml.lf.data.Ref.{PackageName, PackageVersion}
+import com.digitalasset.daml.lf.data.Ref.{PackageName, PackageVersion}
import scopt.{OptionParser, Read}
sealed trait PackageReference extends Product with Serializable
diff --git a/sdk/language-support/codegen-common/src/main/scala/com/daml/lf/codegen/dependencygraph/DependencyGraph.scala b/sdk/language-support/codegen-common/src/main/scala/com/digitalasset/daml/lf/codegen/dependencygraph/DependencyGraph.scala
similarity index 87%
rename from sdk/language-support/codegen-common/src/main/scala/com/daml/lf/codegen/dependencygraph/DependencyGraph.scala
rename to sdk/language-support/codegen-common/src/main/scala/com/digitalasset/daml/lf/codegen/dependencygraph/DependencyGraph.scala
index a88b437082..7065d3dcc9 100644
--- a/sdk/language-support/codegen-common/src/main/scala/com/daml/lf/codegen/dependencygraph/DependencyGraph.scala
+++ b/sdk/language-support/codegen-common/src/main/scala/com/digitalasset/daml/lf/codegen/dependencygraph/DependencyGraph.scala
@@ -1,18 +1,18 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.dependencygraph
+package com.digitalasset.daml.lf.codegen.dependencygraph
-import com.daml.lf.data.Ref.Identifier
-import com.daml.lf.typesig.DefInterface
-import com.daml.lf.typesig.PackageSignature.TypeDecl
+import com.digitalasset.daml.lf.data.Ref.Identifier
+import com.digitalasset.daml.lf.typesig.DefInterface
+import com.digitalasset.daml.lf.typesig.PackageSignature.TypeDecl
import scalaz.std.list._
import scalaz.syntax.bifoldable._
import scalaz.syntax.foldable._
private[codegen] object DependencyGraph {
- import com.daml.lf.codegen.Util.genTypeTopLevelDeclNames
+ import com.digitalasset.daml.lf.codegen.Util.genTypeTopLevelDeclNames
private def toNode(namedTypeDecl: (Identifier, TypeDecl)) =
namedTypeDecl match {
diff --git a/sdk/language-support/codegen-common/src/main/scala/com/daml/lf/codegen/dependencygraph/Graph.scala b/sdk/language-support/codegen-common/src/main/scala/com/digitalasset/daml/lf/codegen/dependencygraph/Graph.scala
similarity index 94%
rename from sdk/language-support/codegen-common/src/main/scala/com/daml/lf/codegen/dependencygraph/Graph.scala
rename to sdk/language-support/codegen-common/src/main/scala/com/digitalasset/daml/lf/codegen/dependencygraph/Graph.scala
index d83f03295e..94257420e6 100644
--- a/sdk/language-support/codegen-common/src/main/scala/com/daml/lf/codegen/dependencygraph/Graph.scala
+++ b/sdk/language-support/codegen-common/src/main/scala/com/digitalasset/daml/lf/codegen/dependencygraph/Graph.scala
@@ -1,9 +1,9 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.dependencygraph
+package com.digitalasset.daml.lf.codegen.dependencygraph
-import com.daml.lf.codegen.exception.UnsupportedTypeError
+import com.digitalasset.daml.lf.codegen.exception.UnsupportedTypeError
object Graph {
diff --git a/sdk/language-support/codegen-common/src/main/scala/com/daml/lf/codegen/dependencygraph/Node.scala b/sdk/language-support/codegen-common/src/main/scala/com/digitalasset/daml/lf/codegen/dependencygraph/Node.scala
similarity index 78%
rename from sdk/language-support/codegen-common/src/main/scala/com/daml/lf/codegen/dependencygraph/Node.scala
rename to sdk/language-support/codegen-common/src/main/scala/com/digitalasset/daml/lf/codegen/dependencygraph/Node.scala
index 8b9c5900e6..99cc45e797 100644
--- a/sdk/language-support/codegen-common/src/main/scala/com/daml/lf/codegen/dependencygraph/Node.scala
+++ b/sdk/language-support/codegen-common/src/main/scala/com/digitalasset/daml/lf/codegen/dependencygraph/Node.scala
@@ -1,6 +1,6 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.dependencygraph
+package com.digitalasset.daml.lf.codegen.dependencygraph
final case class Node[+K, +A](content: A, dependencies: List[K])
diff --git a/sdk/language-support/codegen-common/src/main/scala/com/daml/lf/codegen/dependencygraph/NodeType.scala b/sdk/language-support/codegen-common/src/main/scala/com/digitalasset/daml/lf/codegen/dependencygraph/NodeType.scala
similarity index 79%
rename from sdk/language-support/codegen-common/src/main/scala/com/daml/lf/codegen/dependencygraph/NodeType.scala
rename to sdk/language-support/codegen-common/src/main/scala/com/digitalasset/daml/lf/codegen/dependencygraph/NodeType.scala
index 93a5da055f..36807d22b1 100644
--- a/sdk/language-support/codegen-common/src/main/scala/com/daml/lf/codegen/dependencygraph/NodeType.scala
+++ b/sdk/language-support/codegen-common/src/main/scala/com/digitalasset/daml/lf/codegen/dependencygraph/NodeType.scala
@@ -1,9 +1,9 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.dependencygraph
+package com.digitalasset.daml.lf.codegen.dependencygraph
-import com.daml.lf.typesig.{DefTemplate, DefInterface, DefDataType, Record}
+import com.digitalasset.daml.lf.typesig.{DefTemplate, DefInterface, DefDataType, Record}
sealed abstract class NodeType extends Product with Serializable
diff --git a/sdk/language-support/codegen-common/src/main/scala/com/daml/lf/codegen/dependencygraph/OrderedDependencies.scala b/sdk/language-support/codegen-common/src/main/scala/com/digitalasset/daml/lf/codegen/dependencygraph/OrderedDependencies.scala
similarity index 78%
rename from sdk/language-support/codegen-common/src/main/scala/com/daml/lf/codegen/dependencygraph/OrderedDependencies.scala
rename to sdk/language-support/codegen-common/src/main/scala/com/digitalasset/daml/lf/codegen/dependencygraph/OrderedDependencies.scala
index d964de9100..df000cb62c 100644
--- a/sdk/language-support/codegen-common/src/main/scala/com/daml/lf/codegen/dependencygraph/OrderedDependencies.scala
+++ b/sdk/language-support/codegen-common/src/main/scala/com/digitalasset/daml/lf/codegen/dependencygraph/OrderedDependencies.scala
@@ -1,9 +1,9 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.dependencygraph
+package com.digitalasset.daml.lf.codegen.dependencygraph
-import com.daml.lf.codegen.exception.UnsupportedTypeError
+import com.digitalasset.daml.lf.codegen.exception.UnsupportedTypeError
/** Ordered dependencies where the dependant node always comes after the dependency.
*
diff --git a/sdk/language-support/codegen-common/src/main/scala/com/daml/lf/codegen/dependencygraph/TransitiveClosure.scala b/sdk/language-support/codegen-common/src/main/scala/com/digitalasset/daml/lf/codegen/dependencygraph/TransitiveClosure.scala
similarity index 80%
rename from sdk/language-support/codegen-common/src/main/scala/com/daml/lf/codegen/dependencygraph/TransitiveClosure.scala
rename to sdk/language-support/codegen-common/src/main/scala/com/digitalasset/daml/lf/codegen/dependencygraph/TransitiveClosure.scala
index 6198fb477f..f2a51b2734 100644
--- a/sdk/language-support/codegen-common/src/main/scala/com/daml/lf/codegen/dependencygraph/TransitiveClosure.scala
+++ b/sdk/language-support/codegen-common/src/main/scala/com/digitalasset/daml/lf/codegen/dependencygraph/TransitiveClosure.scala
@@ -1,12 +1,12 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.dependencygraph
+package com.digitalasset.daml.lf.codegen.dependencygraph
-import com.daml.lf.codegen.exception.UnsupportedTypeError
-import com.daml.lf.data.Ref.Identifier
-import com.daml.lf.typesig.DefInterface
-import com.daml.lf.typesig.PackageSignature.TypeDecl
+import com.digitalasset.daml.lf.codegen.exception.UnsupportedTypeError
+import com.digitalasset.daml.lf.data.Ref.Identifier
+import com.digitalasset.daml.lf.typesig.DefInterface
+import com.digitalasset.daml.lf.typesig.PackageSignature.TypeDecl
/** Represents a collection of templates and all the type
* declarations for which code must be generated so that
diff --git a/sdk/language-support/codegen-common/src/main/scala/com/daml/lf/codegen/exception/UnsupportedTypeError.scala b/sdk/language-support/codegen-common/src/main/scala/com/digitalasset/daml/lf/codegen/exception/UnsupportedTypeError.scala
similarity index 91%
rename from sdk/language-support/codegen-common/src/main/scala/com/daml/lf/codegen/exception/UnsupportedTypeError.scala
rename to sdk/language-support/codegen-common/src/main/scala/com/digitalasset/daml/lf/codegen/exception/UnsupportedTypeError.scala
index bdf3bceecd..fcaa782329 100644
--- a/sdk/language-support/codegen-common/src/main/scala/com/daml/lf/codegen/exception/UnsupportedTypeError.scala
+++ b/sdk/language-support/codegen-common/src/main/scala/com/digitalasset/daml/lf/codegen/exception/UnsupportedTypeError.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.exception
+package com.digitalasset.daml.lf.codegen.exception
/** The reason why a given type's code can't be generated
*/
diff --git a/sdk/language-support/codegen-common/src/test/scala/com/daml/lf/codegen/UtilSpec.scala b/sdk/language-support/codegen-common/src/test/scala/com/digitalasset/daml/lf/codegen/UtilSpec.scala
similarity index 89%
rename from sdk/language-support/codegen-common/src/test/scala/com/daml/lf/codegen/UtilSpec.scala
rename to sdk/language-support/codegen-common/src/test/scala/com/digitalasset/daml/lf/codegen/UtilSpec.scala
index 91e50b4fba..a8737f5de9 100644
--- a/sdk/language-support/codegen-common/src/test/scala/com/daml/lf/codegen/UtilSpec.scala
+++ b/sdk/language-support/codegen-common/src/test/scala/com/digitalasset/daml/lf/codegen/UtilSpec.scala
@@ -1,14 +1,14 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package codegen
-import com.daml.lf.data.ImmArray.ImmArraySeq
-import com.daml.lf.data.Ref.Identifier
+import com.digitalasset.daml.lf.data.ImmArray.ImmArraySeq
+import com.digitalasset.daml.lf.data.Ref.Identifier
import typesig._
import PackageSignature.TypeDecl
-import com.daml.lf.value.test.ValueGenerators.idGen
+import com.digitalasset.daml.lf.value.test.ValueGenerators.idGen
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
diff --git a/sdk/language-support/codegen-common/src/test/scala/com/daml/lf/codegen/conf/CodegenConfigReaderSpec.scala b/sdk/language-support/codegen-common/src/test/scala/com/digitalasset/daml/lf/codegen/conf/CodegenConfigReaderSpec.scala
similarity index 98%
rename from sdk/language-support/codegen-common/src/test/scala/com/daml/lf/codegen/conf/CodegenConfigReaderSpec.scala
rename to sdk/language-support/codegen-common/src/test/scala/com/digitalasset/daml/lf/codegen/conf/CodegenConfigReaderSpec.scala
index 5a22d00460..ef57d99ef4 100644
--- a/sdk/language-support/codegen-common/src/test/scala/com/daml/lf/codegen/conf/CodegenConfigReaderSpec.scala
+++ b/sdk/language-support/codegen-common/src/test/scala/com/digitalasset/daml/lf/codegen/conf/CodegenConfigReaderSpec.scala
@@ -1,15 +1,15 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.conf
+package com.digitalasset.daml.lf.codegen.conf
import java.nio.file.{Path, Paths}
import ch.qos.logback.classic.Level
import com.daml.assistant.config.{ProjectConfig, ConfigParseError, ConfigMissing}
-import com.daml.lf.codegen.conf.{CodegenConfigReader => CCR}
+import com.digitalasset.daml.lf.codegen.conf.{CodegenConfigReader => CCR}
import CCR.{Java, Result, CodegenDest}
-import com.daml.lf.data.Ref.{PackageName, PackageVersion}
+import com.digitalasset.daml.lf.data.Ref.{PackageName, PackageVersion}
import org.scalatest.matchers.should.Matchers
import org.scalatest.flatspec.AnyFlatSpec
import org.scalatestplus.scalacheck.ScalaCheckPropertyChecks
diff --git a/sdk/language-support/codegen-common/src/test/scala/com/daml/lf/codegen/conf/ConfSpec.scala b/sdk/language-support/codegen-common/src/test/scala/com/digitalasset/daml/lf/codegen/conf/ConfSpec.scala
similarity index 98%
rename from sdk/language-support/codegen-common/src/test/scala/com/daml/lf/codegen/conf/ConfSpec.scala
rename to sdk/language-support/codegen-common/src/test/scala/com/digitalasset/daml/lf/codegen/conf/ConfSpec.scala
index 8977314199..98f9aaf184 100644
--- a/sdk/language-support/codegen-common/src/test/scala/com/daml/lf/codegen/conf/ConfSpec.scala
+++ b/sdk/language-support/codegen-common/src/test/scala/com/digitalasset/daml/lf/codegen/conf/ConfSpec.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.conf
+package com.digitalasset.daml.lf.codegen.conf
import java.nio.file.Paths
diff --git a/sdk/language-support/codegen-common/src/test/scala/com/daml/lf/codegen/dependencygraph/DependencyGraphSpec.scala b/sdk/language-support/codegen-common/src/test/scala/com/digitalasset/daml/lf/codegen/dependencygraph/DependencyGraphSpec.scala
similarity index 91%
rename from sdk/language-support/codegen-common/src/test/scala/com/daml/lf/codegen/dependencygraph/DependencyGraphSpec.scala
rename to sdk/language-support/codegen-common/src/test/scala/com/digitalasset/daml/lf/codegen/dependencygraph/DependencyGraphSpec.scala
index 258a850d57..3aa40f2105 100644
--- a/sdk/language-support/codegen-common/src/test/scala/com/daml/lf/codegen/dependencygraph/DependencyGraphSpec.scala
+++ b/sdk/language-support/codegen-common/src/test/scala/com/digitalasset/daml/lf/codegen/dependencygraph/DependencyGraphSpec.scala
@@ -1,12 +1,12 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.dependencygraph
+package com.digitalasset.daml.lf.codegen.dependencygraph
-import com.daml.lf.codegen.Util
-import com.daml.lf.data.ImmArray.ImmArraySeq
-import com.daml.lf.data.{Ref, ImmArray}
-import com.daml.lf.typesig._
+import com.digitalasset.daml.lf.codegen.Util
+import com.digitalasset.daml.lf.data.ImmArray.ImmArraySeq
+import com.digitalasset.daml.lf.data.{Ref, ImmArray}
+import com.digitalasset.daml.lf.typesig._
import PackageSignature.TypeDecl
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
diff --git a/sdk/language-support/codegen-common/src/test/scala/com/daml/lf/codegen/dependencygraph/GraphSpec.scala b/sdk/language-support/codegen-common/src/test/scala/com/digitalasset/daml/lf/codegen/dependencygraph/GraphSpec.scala
similarity index 98%
rename from sdk/language-support/codegen-common/src/test/scala/com/daml/lf/codegen/dependencygraph/GraphSpec.scala
rename to sdk/language-support/codegen-common/src/test/scala/com/digitalasset/daml/lf/codegen/dependencygraph/GraphSpec.scala
index f19452da0a..2dd68655df 100644
--- a/sdk/language-support/codegen-common/src/test/scala/com/daml/lf/codegen/dependencygraph/GraphSpec.scala
+++ b/sdk/language-support/codegen-common/src/test/scala/com/digitalasset/daml/lf/codegen/dependencygraph/GraphSpec.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.dependencygraph
+package com.digitalasset.daml.lf.codegen.dependencygraph
import org.scalatest.flatspec.AnyFlatSpec
import org.scalatest.matchers.should.Matchers
diff --git a/sdk/language-support/codegen-main/src/main/scala/com/daml/codegen/CodegenMain.scala b/sdk/language-support/codegen-main/src/main/scala/com/daml/codegen/CodegenMain.scala
index ec05b70aef..3b515c9398 100644
--- a/sdk/language-support/codegen-main/src/main/scala/com/daml/codegen/CodegenMain.scala
+++ b/sdk/language-support/codegen-main/src/main/scala/com/daml/codegen/CodegenMain.scala
@@ -3,9 +3,9 @@
package com.daml.codegen
-import com.daml.lf.codegen.conf.CodegenConfigReader.{CodegenDest, Java}
-import com.daml.lf.codegen.conf.{CodegenConfigReader, Conf}
-import com.daml.lf.codegen.{CodeGenRunner => JavaCodegen}
+import com.digitalasset.daml.lf.codegen.conf.CodegenConfigReader.{CodegenDest, Java}
+import com.digitalasset.daml.lf.codegen.conf.{CodegenConfigReader, Conf}
+import com.digitalasset.daml.lf.codegen.{CodeGenRunner => JavaCodegen}
import scala.util.{Failure, Success, Try}
diff --git a/sdk/language-support/java/bindings-rxjava/src/test/scala/com/daml/ledger/rxjava/package.scala b/sdk/language-support/java/bindings-rxjava/src/test/scala/com/daml/ledger/rxjava/package.scala
index 4848d61826..06c688c8dd 100644
--- a/sdk/language-support/java/bindings-rxjava/src/test/scala/com/daml/ledger/rxjava/package.scala
+++ b/sdk/language-support/java/bindings-rxjava/src/test/scala/com/daml/ledger/rxjava/package.scala
@@ -7,7 +7,7 @@ import java.util.UUID
import org.apache.pekko.actor.ActorSystem
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.ledger.api.auth.{
Claim,
ClaimActAsParty,
diff --git a/sdk/language-support/java/codegen/BUILD.bazel b/sdk/language-support/java/codegen/BUILD.bazel
index f817e030f0..5b77fa7585 100644
--- a/sdk/language-support/java/codegen/BUILD.bazel
+++ b/sdk/language-support/java/codegen/BUILD.bazel
@@ -34,7 +34,7 @@ load("@bazel_skylib//rules:copy_file.bzl", "copy_file")
da_scala_binary(
name = "codegen",
- main_class = "com.daml.lf.codegen.StandaloneMain",
+ main_class = "com.digitalasset.daml.lf.codegen.StandaloneMain",
visibility = ["//visibility:public"],
deps = [":lib"],
)
diff --git a/sdk/language-support/java/codegen/src/bench/scala/com/daml/lf/codegen/java/FromJsonBench.scala b/sdk/language-support/java/codegen/src/bench/scala/com/digitalasset/daml/lf/codegen/java/FromJsonBench.scala
similarity index 97%
rename from sdk/language-support/java/codegen/src/bench/scala/com/daml/lf/codegen/java/FromJsonBench.scala
rename to sdk/language-support/java/codegen/src/bench/scala/com/digitalasset/daml/lf/codegen/java/FromJsonBench.scala
index 9930c51bf1..499b662ce5 100644
--- a/sdk/language-support/java/codegen/src/bench/scala/com/daml/lf/codegen/java/FromJsonBench.scala
+++ b/sdk/language-support/java/codegen/src/bench/scala/com/digitalasset/daml/lf/codegen/java/FromJsonBench.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.java
+package com.digitalasset.daml.lf.codegen.java
import java.util.concurrent.TimeUnit
import org.openjdk.jmh.annotations._
diff --git a/sdk/language-support/java/codegen/src/bench/scala/com/daml/lf/codegen/java/ToJsonBench.scala b/sdk/language-support/java/codegen/src/bench/scala/com/digitalasset/daml/lf/codegen/java/ToJsonBench.scala
similarity index 97%
rename from sdk/language-support/java/codegen/src/bench/scala/com/daml/lf/codegen/java/ToJsonBench.scala
rename to sdk/language-support/java/codegen/src/bench/scala/com/digitalasset/daml/lf/codegen/java/ToJsonBench.scala
index b78eaa8ff9..9f4f69c74d 100644
--- a/sdk/language-support/java/codegen/src/bench/scala/com/daml/lf/codegen/java/ToJsonBench.scala
+++ b/sdk/language-support/java/codegen/src/bench/scala/com/digitalasset/daml/lf/codegen/java/ToJsonBench.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.java
+package com.digitalasset.daml.lf.codegen.java
import com.daml.ledger.javaapi.data.Unit
import java.util.concurrent.TimeUnit
diff --git a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/CodeGenRunner.scala b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/CodeGenRunner.scala
similarity index 95%
rename from sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/CodeGenRunner.scala
rename to sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/CodeGenRunner.scala
index 804d6155c8..9b6466d569 100644
--- a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/CodeGenRunner.scala
+++ b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/CodeGenRunner.scala
@@ -1,25 +1,25 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen
+package com.digitalasset.daml.lf.codegen
import java.nio.file.{Files, Path}
import java.util.concurrent.atomic.AtomicInteger
import java.util.concurrent.{Executors, ThreadFactory}
-import com.daml.lf.archive.DarParser
-import com.daml.lf.codegen.backend.java.inner.{
+import com.digitalasset.daml.lf.archive.DarParser
+import com.digitalasset.daml.lf.codegen.backend.java.inner.{
ClassForType,
DecoderClass,
PackagePrefixes,
fullyQualifiedName,
}
-import com.daml.lf.codegen.conf.{Conf, PackageReference}
-import com.daml.lf.codegen.dependencygraph.DependencyGraph
-import com.daml.lf.data.Ref.{Identifier, PackageId}
-import com.daml.lf.typesig.reader.{Errors, SignatureReader}
-import com.daml.lf.typesig.{EnvironmentSignature, PackageSignature}
+import com.digitalasset.daml.lf.codegen.conf.{Conf, PackageReference}
+import com.digitalasset.daml.lf.codegen.dependencygraph.DependencyGraph
+import com.digitalasset.daml.lf.data.Ref.{Identifier, PackageId}
+import com.digitalasset.daml.lf.typesig.reader.{Errors, SignatureReader}
+import com.digitalasset.daml.lf.typesig.{EnvironmentSignature, PackageSignature}
import PackageSignature.TypeDecl
-import com.daml.lf.language.Reference
+import com.digitalasset.daml.lf.language.Reference
import com.daml.nonempty.NonEmpty
import com.squareup.javapoet.{ClassName, JavaFile}
import com.typesafe.scalalogging.StrictLogging
@@ -124,7 +124,7 @@ object CodeGenRunner extends StrictLogging {
.asInstanceOf[ch.qos.logback.classic.Logger]
.setLevel(conf.verbosity)
LoggerFactory
- .getLogger("com.daml.lf.codegen.backend.java.inner")
+ .getLogger("com.digitalasset.daml.lf.codegen.backend.java.inner")
.asInstanceOf[ch.qos.logback.classic.Logger]
.setLevel(conf.verbosity)
diff --git a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/InterfaceTree.scala b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/InterfaceTree.scala
similarity index 98%
rename from sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/InterfaceTree.scala
rename to sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/InterfaceTree.scala
index 90980172f1..a292ae2629 100644
--- a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/InterfaceTree.scala
+++ b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/InterfaceTree.scala
@@ -1,10 +1,10 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen
+package com.digitalasset.daml.lf.codegen
-import com.daml.lf.data.{BackStack, ImmArray, Ref}
-import com.daml.lf.typesig.PackageSignature
+import com.digitalasset.daml.lf.data.{BackStack, ImmArray, Ref}
+import com.digitalasset.daml.lf.typesig.PackageSignature
import PackageSignature.TypeDecl
import com.typesafe.scalalogging.StrictLogging
diff --git a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/Main.scala b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/Main.scala
similarity index 90%
rename from sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/Main.scala
rename to sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/Main.scala
index 21ae2d88ac..5bf1914fac 100644
--- a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/Main.scala
+++ b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/Main.scala
@@ -1,9 +1,9 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen
+package com.digitalasset.daml.lf.codegen
-import com.daml.lf.codegen.conf.Conf
+import com.digitalasset.daml.lf.codegen.conf.Conf
import com.typesafe.scalalogging.StrictLogging
import scala.util.control.NonFatal
diff --git a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/JavaEscaper.scala b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/JavaEscaper.scala
similarity index 95%
rename from sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/JavaEscaper.scala
rename to sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/JavaEscaper.scala
index 827647263f..a17d6fe2ca 100644
--- a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/JavaEscaper.scala
+++ b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/JavaEscaper.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.backend.java
+package com.digitalasset.daml.lf.codegen.backend.java
object JavaEscaper {
diff --git a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/ObjectMethods.scala b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/ObjectMethods.scala
similarity index 97%
rename from sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/ObjectMethods.scala
rename to sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/ObjectMethods.scala
index b5bb987000..a6ae364487 100644
--- a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/ObjectMethods.scala
+++ b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/ObjectMethods.scala
@@ -1,13 +1,13 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.backend.java
+package com.digitalasset.daml.lf.codegen.backend.java
import com.squareup.javapoet.{ClassName, CodeBlock, MethodSpec, TypeName}
import com.typesafe.scalalogging.StrictLogging
import javax.lang.model.element.Modifier
-import com.daml.lf.codegen.backend.java.inner.ClassNameExtensions
+import com.digitalasset.daml.lf.codegen.backend.java.inner.ClassNameExtensions
import java.util.Objects
import scala.jdk.CollectionConverters._
diff --git a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/Types.scala b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/Types.scala
similarity index 97%
rename from sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/Types.scala
rename to sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/Types.scala
index f00c7ddd04..8ddbcaeacf 100644
--- a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/Types.scala
+++ b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/Types.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.backend.java
+package com.digitalasset.daml.lf.codegen.backend.java
import com.daml.ledger.javaapi
import com.daml.ledger.javaapi.data.DamlTextMap
diff --git a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/ClassForType.scala b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/ClassForType.scala
similarity index 92%
rename from sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/ClassForType.scala
rename to sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/ClassForType.scala
index 1b1b1b9019..3e295bc84f 100644
--- a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/ClassForType.scala
+++ b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/ClassForType.scala
@@ -1,12 +1,12 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.backend.java.inner
+package com.digitalasset.daml.lf.codegen.backend.java.inner
-import com.daml.lf.codegen.TypeWithContext
-import com.daml.lf.codegen.backend.java.JavaEscaper
-import com.daml.lf.data.Ref.Identifier
-import com.daml.lf.typesig.{Enum, DefDataType, PackageSignature, Record, Variant}
+import com.digitalasset.daml.lf.codegen.TypeWithContext
+import com.digitalasset.daml.lf.codegen.backend.java.JavaEscaper
+import com.digitalasset.daml.lf.data.Ref.Identifier
+import com.digitalasset.daml.lf.typesig.{Enum, DefDataType, PackageSignature, Record, Variant}
import PackageSignature.TypeDecl
import TypeDecl.{Normal, Template}
import com.squareup.javapoet.{ClassName, JavaFile, TypeSpec}
diff --git a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/ClassGenUtils.scala b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/ClassGenUtils.scala
similarity index 92%
rename from sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/ClassGenUtils.scala
rename to sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/ClassGenUtils.scala
index 93353cbb30..da24a4c955 100644
--- a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/ClassGenUtils.scala
+++ b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/ClassGenUtils.scala
@@ -1,18 +1,17 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.backend.java.inner
+package com.digitalasset.daml.lf.codegen.backend.java.inner
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import Ref.{ChoiceName, PackageId, PackageName, PackageVersion}
-import com.daml.lf.typesig.{DefDataType, Record, TypeCon}
-import com.daml.lf.typesig.PackageSignature.TypeDecl
-
+import com.digitalasset.daml.lf.typesig.{DefDataType, Record, TypeCon}
+import com.digitalasset.daml.lf.typesig.PackageSignature.TypeDecl
import java.util.Optional
-import com.daml.lf.typesig._
+import com.digitalasset.daml.lf.typesig._
import com.squareup.javapoet._
import com.daml.ledger.javaapi
-import com.daml.lf.codegen.NodeWithContext.AuxiliarySignatures
+import com.digitalasset.daml.lf.codegen.NodeWithContext.AuxiliarySignatures
import javax.lang.model.element.Modifier
diff --git a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/ConstructorGenerator.scala b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/ConstructorGenerator.scala
similarity index 90%
rename from sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/ConstructorGenerator.scala
rename to sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/ConstructorGenerator.scala
index ef4fde2d80..6e0f132ac6 100644
--- a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/ConstructorGenerator.scala
+++ b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/ConstructorGenerator.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.backend.java.inner
+package com.digitalasset.daml.lf.codegen.backend.java.inner
import com.squareup.javapoet.MethodSpec
import javax.lang.model.element.Modifier
diff --git a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/ContractClass.scala b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/ContractClass.scala
similarity index 98%
rename from sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/ContractClass.scala
rename to sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/ContractClass.scala
index b82a7f0233..52117f559c 100644
--- a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/ContractClass.scala
+++ b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/ContractClass.scala
@@ -1,11 +1,11 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.backend.java.inner
+package com.digitalasset.daml.lf.codegen.backend.java.inner
import com.daml.ledger.javaapi
import ClassGenUtils.{companionFieldName, optional, setOfStrings}
-import com.daml.lf.typesig.Type
+import com.digitalasset.daml.lf.typesig.Type
import com.squareup.javapoet._
import scalaz.syntax.std.option._
diff --git a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/ContractIdClass.scala b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/ContractIdClass.scala
similarity index 97%
rename from sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/ContractIdClass.scala
rename to sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/ContractIdClass.scala
index c59d2ca7f0..a41bc5dfe1 100644
--- a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/ContractIdClass.scala
+++ b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/ContractIdClass.scala
@@ -1,13 +1,13 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.backend.java.inner
+package com.digitalasset.daml.lf.codegen.backend.java.inner
import com.daml.ledger.javaapi
-import com.daml.lf.codegen.NodeWithContext.AuxiliarySignatures
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.ChoiceName
-import com.daml.lf.typesig
+import com.digitalasset.daml.lf.codegen.NodeWithContext.AuxiliarySignatures
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.ChoiceName
+import com.digitalasset.daml.lf.typesig
import typesig.{TemplateChoice, Type}
import com.squareup.javapoet._
import ClassGenUtils.companionFieldName
diff --git a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/DecoderClass.scala b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/DecoderClass.scala
similarity index 98%
rename from sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/DecoderClass.scala
rename to sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/DecoderClass.scala
index 6831973068..33bbd272e8 100644
--- a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/DecoderClass.scala
+++ b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/DecoderClass.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.backend.java.inner
+package com.digitalasset.daml.lf.codegen.backend.java.inner
import com.daml.ledger.javaapi.data._
import com.daml.ledger.javaapi.data.codegen.ContractCompanion
diff --git a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/EnumClass.scala b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/EnumClass.scala
similarity index 98%
rename from sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/EnumClass.scala
rename to sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/EnumClass.scala
index a33ab3aa72..0968e6f791 100644
--- a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/EnumClass.scala
+++ b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/EnumClass.scala
@@ -1,11 +1,11 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.backend.java.inner
+package com.digitalasset.daml.lf.codegen.backend.java.inner
import com.daml.ledger.javaapi
import com.daml.ledger.javaapi.data.codegen.ValueDecoder
-import com.daml.lf.typesig
+import com.digitalasset.daml.lf.typesig
import com.squareup.javapoet._
import com.typesafe.scalalogging.StrictLogging
diff --git a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/FromJsonGenerator.scala b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/FromJsonGenerator.scala
similarity index 97%
rename from sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/FromJsonGenerator.scala
rename to sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/FromJsonGenerator.scala
index d46a9959f3..8b341246d9 100644
--- a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/FromJsonGenerator.scala
+++ b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/FromJsonGenerator.scala
@@ -1,10 +1,10 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.backend.java.inner
+package com.digitalasset.daml.lf.codegen.backend.java.inner
-import com.daml.lf.typesig.Type
-import com.daml.lf.codegen.backend.java.JavaEscaper.escapeString
+import com.digitalasset.daml.lf.typesig.Type
+import com.digitalasset.daml.lf.codegen.backend.java.JavaEscaper.escapeString
import com.daml.ledger.javaapi.data.codegen.json.{JsonLfReader, JsonLfDecoder, JsonLfDecoders}
import com.typesafe.scalalogging.StrictLogging
import javax.lang.model.element.Modifier
@@ -279,8 +279,8 @@ private[inner] object FromJsonGenerator extends StrictLogging {
private[inner] def jsonDecoderForType(
damlType: Type
)(implicit packagePrefixes: PackagePrefixes): CodeBlock = {
- import com.daml.lf.typesig._
- import com.daml.lf.data.ImmArray.ImmArraySeq
+ import com.digitalasset.daml.lf.typesig._
+ import com.digitalasset.daml.lf.data.ImmArray.ImmArraySeq
import com.daml.ledger.javaapi.data.codegen.ContractId
def typeReaders(types: Iterable[Type]): CodeBlock =
diff --git a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/FromValueExtractorParameters.scala b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/FromValueExtractorParameters.scala
similarity index 96%
rename from sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/FromValueExtractorParameters.scala
rename to sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/FromValueExtractorParameters.scala
index 15622a6571..78fc9a53e9 100644
--- a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/FromValueExtractorParameters.scala
+++ b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/FromValueExtractorParameters.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.backend.java.inner
+package com.digitalasset.daml.lf.codegen.backend.java.inner
import com.daml.ledger.javaapi.data.Value
import com.daml.ledger.javaapi.data.codegen.ValueDecoder
diff --git a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/FromValueGenerator.scala b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/FromValueGenerator.scala
similarity index 97%
rename from sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/FromValueGenerator.scala
rename to sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/FromValueGenerator.scala
index e7b1c79697..8e6c4801d0 100644
--- a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/FromValueGenerator.scala
+++ b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/FromValueGenerator.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.backend.java.inner
+package com.digitalasset.daml.lf.codegen.backend.java.inner
import com.daml.ledger.javaapi
import com.daml.ledger.javaapi.data.codegen.{
@@ -9,9 +9,9 @@ import com.daml.ledger.javaapi.data.codegen.{
ValueDecoder,
PrimitiveValueDecoders,
}
-import com.daml.lf.codegen.backend.java.JavaEscaper
-import com.daml.lf.data.ImmArray.ImmArraySeq
-import com.daml.lf.typesig._
+import com.digitalasset.daml.lf.codegen.backend.java.JavaEscaper
+import com.digitalasset.daml.lf.data.ImmArray.ImmArraySeq
+import com.digitalasset.daml.lf.typesig._
import com.squareup.javapoet._
import com.typesafe.scalalogging.StrictLogging
diff --git a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/InterfaceClass.scala b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/InterfaceClass.scala
similarity index 93%
rename from sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/InterfaceClass.scala
rename to sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/InterfaceClass.scala
index b96b0c7956..5a9e4832bb 100644
--- a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/InterfaceClass.scala
+++ b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/InterfaceClass.scala
@@ -1,14 +1,14 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.backend.java.inner
+package com.digitalasset.daml.lf.codegen.backend.java.inner
import com.daml.ledger.javaapi.data.ContractFilter
import com.daml.ledger.javaapi.data.codegen.{Contract, InterfaceCompanion}
-import com.daml.lf.codegen.NodeWithContext.AuxiliarySignatures
-import com.daml.lf.codegen.backend.java.inner.TemplateClass.toChoiceNameField
-import com.daml.lf.data.Ref.{ChoiceName, PackageId, QualifiedName}
-import com.daml.lf.typesig.{DefInterface, PackageMetadata}
+import com.digitalasset.daml.lf.codegen.NodeWithContext.AuxiliarySignatures
+import com.digitalasset.daml.lf.codegen.backend.java.inner.TemplateClass.toChoiceNameField
+import com.digitalasset.daml.lf.data.Ref.{ChoiceName, PackageId, QualifiedName}
+import com.digitalasset.daml.lf.typesig.{DefInterface, PackageMetadata}
import com.squareup.javapoet._
import com.typesafe.scalalogging.StrictLogging
import scalaz.-\/
diff --git a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/RecordClass.scala b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/RecordClass.scala
similarity index 91%
rename from sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/RecordClass.scala
rename to sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/RecordClass.scala
index 80e247c82e..757a31947f 100644
--- a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/RecordClass.scala
+++ b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/RecordClass.scala
@@ -1,11 +1,11 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.backend.java.inner
+package com.digitalasset.daml.lf.codegen.backend.java.inner
import com.daml.ledger.javaapi
-import com.daml.lf.data.Ref.PackageId
-import com.daml.lf.typesig.Record
+import com.digitalasset.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.typesig.Record
import com.squareup.javapoet.{ClassName, ParameterizedTypeName, TypeSpec, TypeVariableName}
import com.typesafe.scalalogging.StrictLogging
diff --git a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/RecordFields.scala b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/RecordFields.scala
similarity index 89%
rename from sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/RecordFields.scala
rename to sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/RecordFields.scala
index d9ce35013d..bbe7164b54 100644
--- a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/RecordFields.scala
+++ b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/RecordFields.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.backend.java.inner
+package com.digitalasset.daml.lf.codegen.backend.java.inner
import com.squareup.javapoet.FieldSpec
import javax.lang.model.element.Modifier
diff --git a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/RecordMethods.scala b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/RecordMethods.scala
similarity index 93%
rename from sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/RecordMethods.scala
rename to sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/RecordMethods.scala
index 0caf41d1a4..eeb7e538a8 100644
--- a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/RecordMethods.scala
+++ b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/RecordMethods.scala
@@ -1,10 +1,10 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.backend.java.inner
+package com.digitalasset.daml.lf.codegen.backend.java.inner
import com.daml.ledger.javaapi
-import com.daml.lf.codegen.backend.java.ObjectMethods
+import com.digitalasset.daml.lf.codegen.backend.java.ObjectMethods
import com.squareup.javapoet._
private[inner] object RecordMethods {
diff --git a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/TemplateClass.scala b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/TemplateClass.scala
similarity index 98%
rename from sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/TemplateClass.scala
rename to sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/TemplateClass.scala
index 1820050812..a96e51a76d 100644
--- a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/TemplateClass.scala
+++ b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/TemplateClass.scala
@@ -1,17 +1,17 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.backend.java.inner
+package com.digitalasset.daml.lf.codegen.backend.java.inner
import com.daml.ledger.javaapi
import ClassGenUtils.{companionFieldName, generateGetCompanion, templateIdFieldName}
-import com.daml.lf.codegen.TypeWithContext
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.codegen.TypeWithContext
+import com.digitalasset.daml.lf.data.Ref
import Ref.ChoiceName
import com.daml.ledger.javaapi.data.codegen.{Choice, Created, Exercised, Update}
-import com.daml.lf.codegen.NodeWithContext.AuxiliarySignatures
-import com.daml.lf.codegen.backend.java.inner.ToValueGenerator.generateToValueConverter
-import com.daml.lf.typesig
+import com.digitalasset.daml.lf.codegen.NodeWithContext.AuxiliarySignatures
+import com.digitalasset.daml.lf.codegen.backend.java.inner.ToValueGenerator.generateToValueConverter
+import com.digitalasset.daml.lf.typesig
import typesig._
import com.squareup.javapoet._
import com.typesafe.scalalogging.StrictLogging
diff --git a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/TemplateMethods.scala b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/TemplateMethods.scala
similarity index 95%
rename from sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/TemplateMethods.scala
rename to sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/TemplateMethods.scala
index 37f7c7d044..ac282e5c75 100644
--- a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/TemplateMethods.scala
+++ b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/TemplateMethods.scala
@@ -1,11 +1,11 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.backend.java.inner
+package com.digitalasset.daml.lf.codegen.backend.java.inner
import com.daml.ledger.javaapi
import com.daml.ledger.javaapi.data.ContractFilter
-import com.daml.lf.codegen.backend.java.ObjectMethods
+import com.digitalasset.daml.lf.codegen.backend.java.ObjectMethods
import com.squareup.javapoet._
import javax.lang.model.element.Modifier
diff --git a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/ToJsonGenerator.scala b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/ToJsonGenerator.scala
similarity index 98%
rename from sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/ToJsonGenerator.scala
rename to sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/ToJsonGenerator.scala
index 7c68c74964..6d416ee97d 100644
--- a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/ToJsonGenerator.scala
+++ b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/ToJsonGenerator.scala
@@ -1,11 +1,11 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.backend.java.inner
+package com.digitalasset.daml.lf.codegen.backend.java.inner
-import com.daml.lf.codegen.backend.java.JavaEscaper.escapeString
+import com.digitalasset.daml.lf.codegen.backend.java.JavaEscaper.escapeString
import com.daml.ledger.javaapi.data.codegen.json.{JsonLfEncoder, JsonLfEncoders, JsonLfWriter}
-import com.daml.lf.typesig.Type
+import com.digitalasset.daml.lf.typesig.Type
import com.squareup.javapoet.{
CodeBlock,
ClassName,
@@ -248,7 +248,7 @@ private[inner] object ToJsonGenerator {
damlType: Type,
nesting: Int = 0, // Used to avoid clashing argument identifiers in nested encoder definitions
)(implicit packagePrefixes: PackagePrefixes): CodeBlock = {
- import com.daml.lf.typesig._
+ import com.digitalasset.daml.lf.typesig._
def typeEncoders(types: Iterable[Type]): CodeBlock =
CodeBlock.join(types.map(t => encoderOf(t, nesting + 1)).asJava, ", ")
diff --git a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/ToValueExtractorParameters.scala b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/ToValueExtractorParameters.scala
similarity index 93%
rename from sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/ToValueExtractorParameters.scala
rename to sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/ToValueExtractorParameters.scala
index 98ef7b09c8..8d99caf2c0 100644
--- a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/ToValueExtractorParameters.scala
+++ b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/ToValueExtractorParameters.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.backend.java.inner
+package com.digitalasset.daml.lf.codegen.backend.java.inner
import com.daml.ledger.javaapi.data.Value
import com.squareup.javapoet.{ClassName, ParameterSpec, ParameterizedTypeName, TypeVariableName}
diff --git a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/ToValueGenerator.scala b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/ToValueGenerator.scala
similarity index 95%
rename from sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/ToValueGenerator.scala
rename to sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/ToValueGenerator.scala
index c44ab7289b..ba7a377fcc 100644
--- a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/ToValueGenerator.scala
+++ b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/ToValueGenerator.scala
@@ -1,12 +1,12 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.backend.java.inner
+package com.digitalasset.daml.lf.codegen.backend.java.inner
import com.daml.ledger.javaapi
-import com.daml.lf.codegen.backend.java.{JavaEscaper, Types}
-import com.daml.lf.data.ImmArray.ImmArraySeq
-import com.daml.lf.typesig._
+import com.digitalasset.daml.lf.codegen.backend.java.{JavaEscaper, Types}
+import com.digitalasset.daml.lf.data.ImmArray.ImmArraySeq
+import com.digitalasset.daml.lf.typesig._
import com.squareup.javapoet._
import javax.lang.model.element.Modifier
diff --git a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/TrackLineage.scala b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/TrackLineage.scala
similarity index 97%
rename from sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/TrackLineage.scala
rename to sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/TrackLineage.scala
index d233d93c44..cd55895a36 100644
--- a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/TrackLineage.scala
+++ b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/TrackLineage.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.backend.java.inner
+package com.digitalasset.daml.lf.codegen.backend.java.inner
import java.util.{ArrayDeque, Deque}
diff --git a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/VariantClass.scala b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/VariantClass.scala
similarity index 97%
rename from sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/VariantClass.scala
rename to sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/VariantClass.scala
index 510223f389..388c5eff5b 100644
--- a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/VariantClass.scala
+++ b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/VariantClass.scala
@@ -1,12 +1,12 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.backend.java.inner
+package com.digitalasset.daml.lf.codegen.backend.java.inner
import com.daml.ledger.javaapi
-import com.daml.lf.codegen.TypeWithContext
-import com.daml.lf.codegen.backend.java.JavaEscaper
-import com.daml.lf.typesig._
+import com.digitalasset.daml.lf.codegen.TypeWithContext
+import com.digitalasset.daml.lf.codegen.backend.java.JavaEscaper
+import com.digitalasset.daml.lf.typesig._
import PackageSignature.TypeDecl.Normal
import com.daml.ledger.javaapi.data.codegen.ValueDecoder
import com.squareup.javapoet._
diff --git a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/VariantConstructorClass.scala b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/VariantConstructorClass.scala
similarity index 93%
rename from sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/VariantConstructorClass.scala
rename to sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/VariantConstructorClass.scala
index 19c579d3f9..b466c6ef9d 100644
--- a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/VariantConstructorClass.scala
+++ b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/VariantConstructorClass.scala
@@ -1,12 +1,12 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.backend.java.inner
+package com.digitalasset.daml.lf.codegen.backend.java.inner
import com.daml.ledger.javaapi.data
-import com.daml.lf.codegen.backend.java.{JavaEscaper, ObjectMethods}
-import com.daml.lf.data.Ref.PackageId
-import com.daml.lf.typesig.{Type, TypeVar}
+import com.digitalasset.daml.lf.codegen.backend.java.{JavaEscaper, ObjectMethods}
+import com.digitalasset.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.typesig.{Type, TypeVar}
import com.squareup.javapoet._
import com.typesafe.scalalogging.StrictLogging
diff --git a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/VariantRecordClass.scala b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/VariantRecordClass.scala
similarity index 92%
rename from sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/VariantRecordClass.scala
rename to sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/VariantRecordClass.scala
index 42f069f7b8..b62ed58c8a 100644
--- a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/VariantRecordClass.scala
+++ b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/VariantRecordClass.scala
@@ -1,9 +1,9 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.backend.java.inner
+package com.digitalasset.daml.lf.codegen.backend.java.inner
-import com.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.data.Ref.PackageId
import com.squareup.javapoet._
import com.typesafe.scalalogging.StrictLogging
import javax.lang.model.element.Modifier
diff --git a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/VariantRecordMethods.scala b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/VariantRecordMethods.scala
similarity index 93%
rename from sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/VariantRecordMethods.scala
rename to sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/VariantRecordMethods.scala
index d213c8c2ca..29996eed06 100644
--- a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/VariantRecordMethods.scala
+++ b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/VariantRecordMethods.scala
@@ -1,10 +1,10 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.backend.java.inner
+package com.digitalasset.daml.lf.codegen.backend.java.inner
import com.daml.ledger.javaapi
-import com.daml.lf.codegen.backend.java.ObjectMethods
+import com.digitalasset.daml.lf.codegen.backend.java.ObjectMethods
import com.squareup.javapoet._
import com.typesafe.scalalogging.StrictLogging
diff --git a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/VariantValueDecodersMethods.scala b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/VariantValueDecodersMethods.scala
similarity index 93%
rename from sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/VariantValueDecodersMethods.scala
rename to sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/VariantValueDecodersMethods.scala
index f432983882..0221f877c2 100644
--- a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/VariantValueDecodersMethods.scala
+++ b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/VariantValueDecodersMethods.scala
@@ -1,12 +1,12 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.backend.java.inner
+package com.digitalasset.daml.lf.codegen.backend.java.inner
-import com.daml.lf.typesig.{Type, Variant}
-import com.daml.lf.codegen.backend.java.JavaEscaper
-import com.daml.lf.codegen.TypeWithContext
-import com.daml.lf.typesig._
+import com.digitalasset.daml.lf.typesig.{Type, Variant}
+import com.digitalasset.daml.lf.codegen.backend.java.JavaEscaper
+import com.digitalasset.daml.lf.codegen.TypeWithContext
+import com.digitalasset.daml.lf.typesig._
import com.squareup.javapoet._
import PackageSignature.TypeDecl.Normal
import com.daml.ledger.javaapi.data.codegen.ValueDecoder
diff --git a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/package.scala b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/package.scala
similarity index 97%
rename from sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/package.scala
rename to sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/package.scala
index 280f5822f6..024d77196f 100644
--- a/sdk/language-support/java/codegen/src/main/scala/com/daml/lf/codegen/backend/java/inner/package.scala
+++ b/sdk/language-support/java/codegen/src/main/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/package.scala
@@ -1,16 +1,16 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.backend.java
+package com.digitalasset.daml.lf.codegen.backend.java
import java.util
import com.daml.ledger.javaapi
import com.daml.ledger.javaapi.data.codegen.ContractId
import com.daml.ledger.javaapi.data.{DamlGenMap, DamlList, DamlOptional, DamlTextMap}
-import com.daml.lf.codegen.TypeWithContext
-import com.daml.lf.data.ImmArray.ImmArraySeq
-import com.daml.lf.data.Ref.{Identifier, PackageId, QualifiedName}
-import com.daml.lf.typesig._
+import com.digitalasset.daml.lf.codegen.TypeWithContext
+import com.digitalasset.daml.lf.data.ImmArray.ImmArraySeq
+import com.digitalasset.daml.lf.data.Ref.{Identifier, PackageId, QualifiedName}
+import com.digitalasset.daml.lf.typesig._
import com.squareup.javapoet._
import scalaz.@@
diff --git a/sdk/language-support/java/codegen/src/test/scala/com/daml/lf/codegen/CodeGenRunnerTests.scala b/sdk/language-support/java/codegen/src/test/scala/com/digitalasset/daml/lf/codegen/CodeGenRunnerTests.scala
similarity index 96%
rename from sdk/language-support/java/codegen/src/test/scala/com/daml/lf/codegen/CodeGenRunnerTests.scala
rename to sdk/language-support/java/codegen/src/test/scala/com/digitalasset/daml/lf/codegen/CodeGenRunnerTests.scala
index 2ebc39447a..208cd988e6 100644
--- a/sdk/language-support/java/codegen/src/test/scala/com/daml/lf/codegen/CodeGenRunnerTests.scala
+++ b/sdk/language-support/java/codegen/src/test/scala/com/digitalasset/daml/lf/codegen/CodeGenRunnerTests.scala
@@ -1,17 +1,17 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen
+package com.digitalasset.daml.lf.codegen
import java.nio.file.Path
import com.daml.bazeltools.BazelRunfiles
-import com.daml.lf.archive.DarReader
-import com.daml.lf.data.ImmArray.ImmArraySeq
-import com.daml.lf.data.Ref._
-import com.daml.lf.typesig._
-import com.daml.lf.codegen.conf.PackageReference
-import com.daml.lf.language.Reference
-import com.daml.lf.stablepackages.StablePackagesV2
+import com.digitalasset.daml.lf.archive.DarReader
+import com.digitalasset.daml.lf.data.ImmArray.ImmArraySeq
+import com.digitalasset.daml.lf.data.Ref._
+import com.digitalasset.daml.lf.typesig._
+import com.digitalasset.daml.lf.codegen.conf.PackageReference
+import com.digitalasset.daml.lf.language.Reference
+import com.digitalasset.daml.lf.stablepackages.StablePackagesV2
import org.scalatest.matchers.should.Matchers
import org.scalatest.flatspec.AnyFlatSpec
diff --git a/sdk/language-support/java/codegen/src/test/scala/com/daml/lf/codegen/InterfaceTreeSpec.scala b/sdk/language-support/java/codegen/src/test/scala/com/digitalasset/daml/lf/codegen/InterfaceTreeSpec.scala
similarity index 91%
rename from sdk/language-support/java/codegen/src/test/scala/com/daml/lf/codegen/InterfaceTreeSpec.scala
rename to sdk/language-support/java/codegen/src/test/scala/com/digitalasset/daml/lf/codegen/InterfaceTreeSpec.scala
index 7eb330af31..84af5c9889 100644
--- a/sdk/language-support/java/codegen/src/test/scala/com/daml/lf/codegen/InterfaceTreeSpec.scala
+++ b/sdk/language-support/java/codegen/src/test/scala/com/digitalasset/daml/lf/codegen/InterfaceTreeSpec.scala
@@ -1,12 +1,18 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen
+package com.digitalasset.daml.lf.codegen
-import com.daml.lf.data.{ImmArray, Ref}
-import com.daml.lf.data.ImmArray.ImmArraySeq
-import com.daml.lf.data.Ref.{DottedName, PackageId, QualifiedName}
-import com.daml.lf.typesig.{DefDataType, PackageMetadata, PackageSignature, Record, Variant}
+import com.digitalasset.daml.lf.data.{ImmArray, Ref}
+import com.digitalasset.daml.lf.data.ImmArray.ImmArraySeq
+import com.digitalasset.daml.lf.data.Ref.{DottedName, PackageId, QualifiedName}
+import com.digitalasset.daml.lf.typesig.{
+ DefDataType,
+ PackageMetadata,
+ PackageSignature,
+ Record,
+ Variant,
+}
import PackageSignature.TypeDecl
import org.scalatest.matchers.should.Matchers
import org.scalatest.flatspec.AnyFlatSpec
diff --git a/sdk/language-support/java/codegen/src/test/scala/com/daml/lf/codegen/backend/java/ChoiceFieldsSpec.scala b/sdk/language-support/java/codegen/src/test/scala/com/digitalasset/daml/lf/codegen/backend/java/ChoiceFieldsSpec.scala
similarity index 97%
rename from sdk/language-support/java/codegen/src/test/scala/com/daml/lf/codegen/backend/java/ChoiceFieldsSpec.scala
rename to sdk/language-support/java/codegen/src/test/scala/com/digitalasset/daml/lf/codegen/backend/java/ChoiceFieldsSpec.scala
index 0b77e4b7f0..7dd2033aed 100644
--- a/sdk/language-support/java/codegen/src/test/scala/com/daml/lf/codegen/backend/java/ChoiceFieldsSpec.scala
+++ b/sdk/language-support/java/codegen/src/test/scala/com/digitalasset/daml/lf/codegen/backend/java/ChoiceFieldsSpec.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.backend.java
+package com.digitalasset.daml.lf.codegen.backend.java
import com.daml.ledger.javaapi.data.Unit
import com.daml.ledger.javaapi.data.codegen.Choice
diff --git a/sdk/language-support/java/codegen/src/test/scala/com/daml/lf/codegen/backend/java/FromValueSpec.scala b/sdk/language-support/java/codegen/src/test/scala/com/digitalasset/daml/lf/codegen/backend/java/FromValueSpec.scala
similarity index 96%
rename from sdk/language-support/java/codegen/src/test/scala/com/daml/lf/codegen/backend/java/FromValueSpec.scala
rename to sdk/language-support/java/codegen/src/test/scala/com/digitalasset/daml/lf/codegen/backend/java/FromValueSpec.scala
index d60c093e8f..dbe18d0810 100644
--- a/sdk/language-support/java/codegen/src/test/scala/com/daml/lf/codegen/backend/java/FromValueSpec.scala
+++ b/sdk/language-support/java/codegen/src/test/scala/com/digitalasset/daml/lf/codegen/backend/java/FromValueSpec.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.backend.java
+package com.digitalasset.daml.lf.codegen.backend.java
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
diff --git a/sdk/language-support/java/codegen/src/test/scala/com/daml/lf/codegen/backend/java/JavaEscaperSpec.scala b/sdk/language-support/java/codegen/src/test/scala/com/digitalasset/daml/lf/codegen/backend/java/JavaEscaperSpec.scala
similarity index 94%
rename from sdk/language-support/java/codegen/src/test/scala/com/daml/lf/codegen/backend/java/JavaEscaperSpec.scala
rename to sdk/language-support/java/codegen/src/test/scala/com/digitalasset/daml/lf/codegen/backend/java/JavaEscaperSpec.scala
index 7a932d6efe..8a301ae5eb 100644
--- a/sdk/language-support/java/codegen/src/test/scala/com/daml/lf/codegen/backend/java/JavaEscaperSpec.scala
+++ b/sdk/language-support/java/codegen/src/test/scala/com/digitalasset/daml/lf/codegen/backend/java/JavaEscaperSpec.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.backend.java
+package com.digitalasset.daml.lf.codegen.backend.java
import org.scalatest.matchers.should.Matchers
import org.scalatest.flatspec.AnyFlatSpec
diff --git a/sdk/language-support/java/codegen/src/test/scala/com/daml/lf/codegen/backend/java/ObjectMethodsSpec.scala b/sdk/language-support/java/codegen/src/test/scala/com/digitalasset/daml/lf/codegen/backend/java/ObjectMethodsSpec.scala
similarity index 98%
rename from sdk/language-support/java/codegen/src/test/scala/com/daml/lf/codegen/backend/java/ObjectMethodsSpec.scala
rename to sdk/language-support/java/codegen/src/test/scala/com/digitalasset/daml/lf/codegen/backend/java/ObjectMethodsSpec.scala
index b770f7ee0a..6f5d7f210b 100644
--- a/sdk/language-support/java/codegen/src/test/scala/com/daml/lf/codegen/backend/java/ObjectMethodsSpec.scala
+++ b/sdk/language-support/java/codegen/src/test/scala/com/digitalasset/daml/lf/codegen/backend/java/ObjectMethodsSpec.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.backend.java
+package com.digitalasset.daml.lf.codegen.backend.java
import com.squareup.javapoet.{ClassName, TypeName}
import javax.lang.model.element.Modifier
diff --git a/sdk/language-support/java/codegen/src/test/scala/com/daml/lf/codegen/backend/java/inner/ContractClassBuilderSpec.scala b/sdk/language-support/java/codegen/src/test/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/ContractClassBuilderSpec.scala
similarity index 97%
rename from sdk/language-support/java/codegen/src/test/scala/com/daml/lf/codegen/backend/java/inner/ContractClassBuilderSpec.scala
rename to sdk/language-support/java/codegen/src/test/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/ContractClassBuilderSpec.scala
index 52704c7b91..c8b1bef6d1 100644
--- a/sdk/language-support/java/codegen/src/test/scala/com/daml/lf/codegen/backend/java/inner/ContractClassBuilderSpec.scala
+++ b/sdk/language-support/java/codegen/src/test/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/ContractClassBuilderSpec.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.backend.java.inner
+package com.digitalasset.daml.lf.codegen.backend.java.inner
import java.util.Optional
diff --git a/sdk/language-support/java/codegen/src/test/scala/com/daml/lf/codegen/backend/java/inner/RecordFieldsSpec.scala b/sdk/language-support/java/codegen/src/test/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/RecordFieldsSpec.scala
similarity index 89%
rename from sdk/language-support/java/codegen/src/test/scala/com/daml/lf/codegen/backend/java/inner/RecordFieldsSpec.scala
rename to sdk/language-support/java/codegen/src/test/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/RecordFieldsSpec.scala
index d1c42f7447..7750bc60b3 100644
--- a/sdk/language-support/java/codegen/src/test/scala/com/daml/lf/codegen/backend/java/inner/RecordFieldsSpec.scala
+++ b/sdk/language-support/java/codegen/src/test/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/RecordFieldsSpec.scala
@@ -1,12 +1,12 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.backend.java.inner
+package com.digitalasset.daml.lf.codegen.backend.java.inner
-import com.daml.lf.data.ImmArray.ImmArraySeq
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.{DottedName, Identifier, QualifiedName}
-import com.daml.lf.typesig._
+import com.digitalasset.daml.lf.data.ImmArray.ImmArraySeq
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.{DottedName, Identifier, QualifiedName}
+import com.digitalasset.daml.lf.typesig._
import com.squareup.javapoet.{ClassName, TypeName}
import javax.lang.model.element.Modifier
import org.scalatest.matchers.should.Matchers
diff --git a/sdk/language-support/java/codegen/src/test/scala/com/daml/lf/codegen/backend/java/inner/RecordLikeMethodsSpec.scala b/sdk/language-support/java/codegen/src/test/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/RecordLikeMethodsSpec.scala
similarity index 93%
rename from sdk/language-support/java/codegen/src/test/scala/com/daml/lf/codegen/backend/java/inner/RecordLikeMethodsSpec.scala
rename to sdk/language-support/java/codegen/src/test/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/RecordLikeMethodsSpec.scala
index 7f4fda467c..8dcfa9d906 100644
--- a/sdk/language-support/java/codegen/src/test/scala/com/daml/lf/codegen/backend/java/inner/RecordLikeMethodsSpec.scala
+++ b/sdk/language-support/java/codegen/src/test/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/RecordLikeMethodsSpec.scala
@@ -1,13 +1,13 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.backend.java.inner
+package com.digitalasset.daml.lf.codegen.backend.java.inner
import com.daml.ledger.javaapi
import com.daml.ledger.javaapi.data.codegen.ValueDecoder
-import com.daml.lf.data.ImmArray.ImmArraySeq
-import com.daml.lf.data.Ref
-import com.daml.lf.typesig.{PrimTypeBool, TypePrim}
+import com.digitalasset.daml.lf.data.ImmArray.ImmArraySeq
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.typesig.{PrimTypeBool, TypePrim}
import com.squareup.javapoet._
import javax.lang.model.element.Modifier
diff --git a/sdk/language-support/java/codegen/src/test/scala/com/daml/lf/codegen/backend/java/inner/TrackLineageSpec.scala b/sdk/language-support/java/codegen/src/test/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/TrackLineageSpec.scala
similarity index 97%
rename from sdk/language-support/java/codegen/src/test/scala/com/daml/lf/codegen/backend/java/inner/TrackLineageSpec.scala
rename to sdk/language-support/java/codegen/src/test/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/TrackLineageSpec.scala
index 2cc9b7fb66..0f8491ddcf 100644
--- a/sdk/language-support/java/codegen/src/test/scala/com/daml/lf/codegen/backend/java/inner/TrackLineageSpec.scala
+++ b/sdk/language-support/java/codegen/src/test/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/TrackLineageSpec.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.backend.java.inner
+package com.digitalasset.daml.lf.codegen.backend.java.inner
import org.scalatest.matchers.should.Matchers
import org.scalatest.flatspec.AnyFlatSpec
diff --git a/sdk/language-support/java/codegen/src/test/scala/com/daml/lf/codegen/backend/java/inner/VariantConstructorClassSpec.scala b/sdk/language-support/java/codegen/src/test/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/VariantConstructorClassSpec.scala
similarity index 92%
rename from sdk/language-support/java/codegen/src/test/scala/com/daml/lf/codegen/backend/java/inner/VariantConstructorClassSpec.scala
rename to sdk/language-support/java/codegen/src/test/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/VariantConstructorClassSpec.scala
index 898b527ffb..3d14c6d576 100644
--- a/sdk/language-support/java/codegen/src/test/scala/com/daml/lf/codegen/backend/java/inner/VariantConstructorClassSpec.scala
+++ b/sdk/language-support/java/codegen/src/test/scala/com/digitalasset/daml/lf/codegen/backend/java/inner/VariantConstructorClassSpec.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.backend.java.inner
+package com.digitalasset.daml.lf.codegen.backend.java.inner
import org.scalatest.matchers.should.Matchers
import org.scalatest.flatspec.AnyFlatSpec
diff --git a/sdk/language-support/java/codegen/src/test/scala/com/daml/lf/codegen/backend/java/package.scala b/sdk/language-support/java/codegen/src/test/scala/com/digitalasset/daml/lf/codegen/backend/java/package.scala
similarity index 86%
rename from sdk/language-support/java/codegen/src/test/scala/com/daml/lf/codegen/backend/java/package.scala
rename to sdk/language-support/java/codegen/src/test/scala/com/digitalasset/daml/lf/codegen/backend/java/package.scala
index b9a1b126b2..41134d5466 100644
--- a/sdk/language-support/java/codegen/src/test/scala/com/daml/lf/codegen/backend/java/package.scala
+++ b/sdk/language-support/java/codegen/src/test/scala/com/digitalasset/daml/lf/codegen/backend/java/package.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.backend
+package com.digitalasset.daml.lf.codegen.backend
import com.squareup.javapoet.AnnotationSpec
diff --git a/sdk/language-support/java/json/src/main/scala/com/daml/lf/codegen/json/JsonCodec.scala b/sdk/language-support/java/json/src/main/scala/com/digitalasset/daml/lf/codegen/json/JsonCodec.scala
similarity index 84%
rename from sdk/language-support/java/json/src/main/scala/com/daml/lf/codegen/json/JsonCodec.scala
rename to sdk/language-support/java/json/src/main/scala/com/digitalasset/daml/lf/codegen/json/JsonCodec.scala
index 406a2821cd..2be9a0f2cc 100644
--- a/sdk/language-support/java/json/src/main/scala/com/daml/lf/codegen/json/JsonCodec.scala
+++ b/sdk/language-support/java/json/src/main/scala/com/digitalasset/daml/lf/codegen/json/JsonCodec.scala
@@ -1,12 +1,12 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.json
+package com.digitalasset.daml.lf.codegen.json
import com.daml.ledger.javaapi.data.Value
import com.daml.ledger.javaapi.data.codegen.DefinedDataType
-import com.daml.lf.value.json.ApiCodecCompressed
-import com.daml.lf.value.json.ApiCodecCompressed.JsonImplicits._
+import com.digitalasset.daml.lf.value.json.ApiCodecCompressed
+import com.digitalasset.daml.lf.value.json.ApiCodecCompressed.JsonImplicits._
import spray.json.JsValue
final class JsonCodec private (encodeDecimalAsString: Boolean, encodeInt64AsString: Boolean) {
diff --git a/sdk/language-support/java/json/src/main/scala/com/daml/lf/codegen/json/ValueConversion.scala b/sdk/language-support/java/json/src/main/scala/com/digitalasset/daml/lf/codegen/json/ValueConversion.scala
similarity index 96%
rename from sdk/language-support/java/json/src/main/scala/com/daml/lf/codegen/json/ValueConversion.scala
rename to sdk/language-support/java/json/src/main/scala/com/digitalasset/daml/lf/codegen/json/ValueConversion.scala
index 2fc08f8e7c..7219c3768c 100644
--- a/sdk/language-support/java/json/src/main/scala/com/daml/lf/codegen/json/ValueConversion.scala
+++ b/sdk/language-support/java/json/src/main/scala/com/digitalasset/daml/lf/codegen/json/ValueConversion.scala
@@ -1,11 +1,11 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.json
+package com.digitalasset.daml.lf.codegen.json
import com.daml.ledger.javaapi.{data => JData}
-import com.daml.lf.data.{FrontStack, ImmArray, Numeric, Ref, SortedLookupList, Time}
-import com.daml.lf.value.{Value => LfValue}
+import com.digitalasset.daml.lf.data.{FrontStack, ImmArray, Numeric, Ref, SortedLookupList, Time}
+import com.digitalasset.daml.lf.value.{Value => LfValue}
import scalaz.syntax.std.option._
import scala.jdk.CollectionConverters._
diff --git a/sdk/language-support/java/json/src/test/scala/com/daml/lf/codegen/json/ValueConversionSpec.scala b/sdk/language-support/java/json/src/test/scala/com/digitalasset/daml/lf/codegen/json/ValueConversionSpec.scala
similarity index 88%
rename from sdk/language-support/java/json/src/test/scala/com/daml/lf/codegen/json/ValueConversionSpec.scala
rename to sdk/language-support/java/json/src/test/scala/com/digitalasset/daml/lf/codegen/json/ValueConversionSpec.scala
index 15bf8226dd..e69498fbe2 100644
--- a/sdk/language-support/java/json/src/test/scala/com/daml/lf/codegen/json/ValueConversionSpec.scala
+++ b/sdk/language-support/java/json/src/test/scala/com/digitalasset/daml/lf/codegen/json/ValueConversionSpec.scala
@@ -1,11 +1,11 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.codegen.json
+package com.digitalasset.daml.lf.codegen.json
import com.daml.ledger.javaapi.{data => JData}
-import com.daml.lf.value.{Value => LfValue}
-import com.daml.lf.value.test.ValueGenerators
+import com.digitalasset.daml.lf.value.{Value => LfValue}
+import com.digitalasset.daml.lf.value.test.ValueGenerators
import org.scalacheck.{Gen, Shrink}
import org.scalatest.Assertion
import org.scalatest.matchers.should.Matchers
diff --git a/sdk/ledger-service/lf-value-json/src/main/scala/com/daml/lf/value/json/ApiCodecCompressed.scala b/sdk/ledger-service/lf-value-json/src/main/scala/com/digitalasset/daml/lf/value/json/ApiCodecCompressed.scala
similarity index 96%
rename from sdk/ledger-service/lf-value-json/src/main/scala/com/daml/lf/value/json/ApiCodecCompressed.scala
rename to sdk/ledger-service/lf-value-json/src/main/scala/com/digitalasset/daml/lf/value/json/ApiCodecCompressed.scala
index 6f571b25c3..e5b2ceb0ea 100644
--- a/sdk/ledger-service/lf-value-json/src/main/scala/com/daml/lf/value/json/ApiCodecCompressed.scala
+++ b/sdk/ledger-service/lf-value-json/src/main/scala/com/digitalasset/daml/lf/value/json/ApiCodecCompressed.scala
@@ -1,15 +1,22 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.value.json
+package com.digitalasset.daml.lf.value.json
-import com.daml.lf.data.{FrontStack, ImmArray, Ref, SortedLookupList, Time, Numeric => LfNumeric}
-import com.daml.lf.data.ImmArray.ImmArraySeq
-import com.daml.lf.data.ScalazEqual._
-import com.daml.lf.typesig
-import com.daml.lf.value.{Value => V}
-import com.daml.lf.value.Value.ContractId
-import com.daml.lf.value.json.{NavigatorModelAliases => Model}
+import com.digitalasset.daml.lf.data.{
+ FrontStack,
+ ImmArray,
+ Ref,
+ SortedLookupList,
+ Time,
+ Numeric => LfNumeric,
+}
+import com.digitalasset.daml.lf.data.ImmArray.ImmArraySeq
+import com.digitalasset.daml.lf.data.ScalazEqual._
+import com.digitalasset.daml.lf.typesig
+import com.digitalasset.daml.lf.value.{Value => V}
+import com.digitalasset.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.value.json.{NavigatorModelAliases => Model}
import Model.{DamlLfIdentifier, DamlLfType, DamlLfTypeLookup}
import ApiValueImplicits._
import spray.json._
diff --git a/sdk/ledger-service/lf-value-json/src/main/scala/com/daml/lf/value/json/ApiValueImplicits.scala b/sdk/ledger-service/lf-value-json/src/main/scala/com/digitalasset/daml/lf/value/json/ApiValueImplicits.scala
similarity index 92%
rename from sdk/ledger-service/lf-value-json/src/main/scala/com/daml/lf/value/json/ApiValueImplicits.scala
rename to sdk/ledger-service/lf-value-json/src/main/scala/com/digitalasset/daml/lf/value/json/ApiValueImplicits.scala
index ed5ada434f..2f33538fda 100644
--- a/sdk/ledger-service/lf-value-json/src/main/scala/com/daml/lf/value/json/ApiValueImplicits.scala
+++ b/sdk/ledger-service/lf-value-json/src/main/scala/com/digitalasset/daml/lf/value/json/ApiValueImplicits.scala
@@ -1,13 +1,13 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.value.json
+package com.digitalasset.daml.lf.value.json
import java.time.{Instant, LocalDate}
import java.time.format.DateTimeFormatter
-import com.daml.lf.data.Time
-import com.daml.lf.value.{Value => V}
+import com.digitalasset.daml.lf.data.Time
+import com.digitalasset.daml.lf.value.{Value => V}
object ApiValueImplicits {
diff --git a/sdk/ledger-service/lf-value-json/src/main/scala/com/daml/lf/value/json/JsonVariant.scala b/sdk/ledger-service/lf-value-json/src/main/scala/com/digitalasset/daml/lf/value/json/JsonVariant.scala
similarity index 89%
rename from sdk/ledger-service/lf-value-json/src/main/scala/com/daml/lf/value/json/JsonVariant.scala
rename to sdk/ledger-service/lf-value-json/src/main/scala/com/digitalasset/daml/lf/value/json/JsonVariant.scala
index e98fd3ae37..2a170f6207 100644
--- a/sdk/ledger-service/lf-value-json/src/main/scala/com/daml/lf/value/json/JsonVariant.scala
+++ b/sdk/ledger-service/lf-value-json/src/main/scala/com/digitalasset/daml/lf/value/json/JsonVariant.scala
@@ -1,9 +1,9 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf.value.json
+package com.digitalasset.daml.lf.value.json
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import spray.json.{JsObject, JsString, JsValue}
object JsonVariant {
diff --git a/sdk/ledger-service/lf-value-json/src/main/scala/com/daml/lf/value/json/NavigatorModelAliases.scala b/sdk/ledger-service/lf-value-json/src/main/scala/com/digitalasset/daml/lf/value/json/NavigatorModelAliases.scala
similarity index 98%
rename from sdk/ledger-service/lf-value-json/src/main/scala/com/daml/lf/value/json/NavigatorModelAliases.scala
rename to sdk/ledger-service/lf-value-json/src/main/scala/com/digitalasset/daml/lf/value/json/NavigatorModelAliases.scala
index 7e010daae9..a5bc84111e 100644
--- a/sdk/ledger-service/lf-value-json/src/main/scala/com/daml/lf/value/json/NavigatorModelAliases.scala
+++ b/sdk/ledger-service/lf-value-json/src/main/scala/com/digitalasset/daml/lf/value/json/NavigatorModelAliases.scala
@@ -1,7 +1,7 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package value.json
import data.{Ref => DamlLfRef}
diff --git a/sdk/ledger-service/lf-value-json/src/test/scala/com/daml/lf/value/json/ApiCodecCompressedSpec.scala b/sdk/ledger-service/lf-value-json/src/test/scala/com/digitalasset/daml/lf/value/json/ApiCodecCompressedSpec.scala
similarity index 99%
rename from sdk/ledger-service/lf-value-json/src/test/scala/com/daml/lf/value/json/ApiCodecCompressedSpec.scala
rename to sdk/ledger-service/lf-value-json/src/test/scala/com/digitalasset/daml/lf/value/json/ApiCodecCompressedSpec.scala
index 060f4fa492..cb4fb20edb 100644
--- a/sdk/ledger-service/lf-value-json/src/test/scala/com/daml/lf/value/json/ApiCodecCompressedSpec.scala
+++ b/sdk/ledger-service/lf-value-json/src/test/scala/com/digitalasset/daml/lf/value/json/ApiCodecCompressedSpec.scala
@@ -1,11 +1,11 @@
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-package com.daml.lf
+package com.digitalasset.daml.lf
package value.json
import com.daml.bazeltools.BazelRunfiles._
-import com.daml.lf.value.Value.ContractId
+import com.digitalasset.daml.lf.value.Value.ContractId
import data.{ImmArray, Numeric, Ref, SortedLookupList, Time}
import value.json.{NavigatorModelAliases => model}
import value.test.TypedValueGenerators.{genAddend, genTypeAndValue, ValueAddend => VA}
@@ -398,7 +398,7 @@ class ApiCodecCompressedSpec
}
}
- import com.daml.lf.value.{Value => LfValue}
+ import com.digitalasset.daml.lf.value.{Value => LfValue}
import ApiCodecCompressed.JsonImplicits._
val packageId: Ref.PackageId = mustBeOne(
diff --git a/sdk/ledger-service/utils/src/main/scala/com/daml/ledger/service/MetadataReader.scala b/sdk/ledger-service/utils/src/main/scala/com/daml/ledger/service/MetadataReader.scala
index 9a842cd15f..9ecba2a51e 100644
--- a/sdk/ledger-service/utils/src/main/scala/com/daml/ledger/service/MetadataReader.scala
+++ b/sdk/ledger-service/utils/src/main/scala/com/daml/ledger/service/MetadataReader.scala
@@ -5,10 +5,10 @@ package com.daml.ledger.service
import java.io.File
-import com.daml.lf.archive.{ArchivePayload, Dar, DarReader}
-import com.daml.lf.data.Ref
-import com.daml.lf.data.Ref.PackageId
-import com.daml.lf.typesig
+import com.digitalasset.daml.lf.archive.{ArchivePayload, Dar, DarReader}
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref.PackageId
+import com.digitalasset.daml.lf.typesig
import com.daml.scalautil.ExceptionOps._
import scalaz.std.list._
import scalaz.syntax.traverse._
diff --git a/sdk/ledger-service/utils/src/main/scala/com/daml/ledger/service/TemplateIds.scala b/sdk/ledger-service/utils/src/main/scala/com/daml/ledger/service/TemplateIds.scala
index 2353a2ee32..c06b086d19 100644
--- a/sdk/ledger-service/utils/src/main/scala/com/daml/ledger/service/TemplateIds.scala
+++ b/sdk/ledger-service/utils/src/main/scala/com/daml/ledger/service/TemplateIds.scala
@@ -3,8 +3,8 @@
package com.daml.ledger.service
-import com.daml.lf.data.Ref
-import com.daml.lf.typesig.PackageSignature
+import com.digitalasset.daml.lf.data.Ref
+import com.digitalasset.daml.lf.typesig.PackageSignature
import PackageSignature.TypeDecl.Template
import com.daml.ledger.api.v2.value.Identifier
diff --git a/sdk/libs-scala/scala-utils/src/main/scala/com/daml/scalautil/FoldableContravariant.scala b/sdk/libs-scala/scala-utils/src/main/scala/com/daml/scalautil/FoldableContravariant.scala
index 7e33a8fa7c..b6eaf85ec1 100644
--- a/sdk/libs-scala/scala-utils/src/main/scala/com/daml/scalautil/FoldableContravariant.scala
+++ b/sdk/libs-scala/scala-utils/src/main/scala/com/daml/scalautil/FoldableContravariant.scala
@@ -9,13 +9,13 @@ import FoldableContravariant._
// Specialized overrides for when a Foldable wraps another Foldable.
// If you need to hand-write some of these, just mix in the traits you
// don't want to hand-write.
-private[daml] trait FoldableContravariant[X[_], Y[_]]
+trait FoldableContravariant[X[_], Y[_]]
extends CoreOps[X, Y]
with Semigroupoids[X, Y]
with Conversions[X, Y]
with Lookups[X, Y]
-private[daml] object FoldableContravariant {
+object FoldableContravariant {
trait CtMap[X[_], Y[_]] {
protected[this] def Y: Foldable[Y]
protected[this] def ctmap[A](ax: X[A]): Y[A]
diff --git a/sdk/libs-scala/scalatest-utils/src/main/scala/com/daml/scalatest/Unnatural.scala b/sdk/libs-scala/scalatest-utils/src/main/scala/com/daml/scalatest/Unnatural.scala
index 82f96a93c6..4258b15c7b 100644
--- a/sdk/libs-scala/scalatest-utils/src/main/scala/com/daml/scalatest/Unnatural.scala
+++ b/sdk/libs-scala/scalatest-utils/src/main/scala/com/daml/scalatest/Unnatural.scala
@@ -10,7 +10,7 @@ import scalaz.Equal
* that short-circuit when the tparam's equalIsNatural, so you're testing the
* handwritten paths rather than the compiler-generated ones.
*/
-private[daml] final case class Unnatural[+A](a: A)
+final case class Unnatural[+A](a: A)
private[daml] object Unnatural {
implicit def arbUA[A: Arbitrary]: Arbitrary[Unnatural[A]] =
diff --git a/sdk/security-evidence.md b/sdk/security-evidence.md
index 2f135b80e7..828f60e00d 100644
--- a/sdk/security-evidence.md
+++ b/sdk/security-evidence.md
@@ -1,186 +1,186 @@
# Security tests, by category
## Authorization:
-- badly-authorized create is rejected: [AuthorizationSpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/AuthorizationSpec.scala#L73)
-- badly-authorized exercise is rejected: [AuthorizationSpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/AuthorizationSpec.scala#L174)
-- badly-authorized exercise/create (create is unauthorized) is rejected: [AuthPropagationSpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/AuthPropagationSpec.scala#L269)
-- badly-authorized exercise/create (exercise is unauthorized) is rejected: [AuthPropagationSpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/AuthPropagationSpec.scala#L237)
-- badly-authorized exercise/exercise (no implicit authority from outer exercise) is rejected: [AuthPropagationSpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/AuthPropagationSpec.scala#L328)
-- badly-authorized fetch is rejected: [AuthorizationSpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/AuthorizationSpec.scala#L108)
-- badly-authorized lookup is rejected: [AuthorizationSpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/AuthorizationSpec.scala#L131)
-- create with no signatories is rejected: [AuthorizationSpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/AuthorizationSpec.scala#L63)
-- create with non-signatory maintainers is rejected: [AuthorizationSpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/AuthorizationSpec.scala#L85)
-- exercise with no controllers is rejected: [AuthorizationSpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/AuthorizationSpec.scala#L164)
-- well-authorized create is accepted: [AuthorizationSpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/AuthorizationSpec.scala#L56)
-- well-authorized exercise is accepted: [AuthorizationSpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/AuthorizationSpec.scala#L157)
-- well-authorized exercise/create is accepted: [AuthPropagationSpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/AuthPropagationSpec.scala#L215)
-- well-authorized exercise/exercise is accepted: [AuthPropagationSpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/AuthPropagationSpec.scala#L371)
-- well-authorized fetch is accepted: [AuthorizationSpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/AuthorizationSpec.scala#L102)
-- well-authorized lookup is accepted: [AuthorizationSpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/AuthorizationSpec.scala#L124)
+- badly-authorized create is rejected: [AuthorizationSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/AuthorizationSpec.scala#L77)
+- badly-authorized exercise is rejected: [AuthorizationSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/AuthorizationSpec.scala#L178)
+- badly-authorized exercise/create (create is unauthorized) is rejected: [AuthPropagationSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/AuthPropagationSpec.scala#L276)
+- badly-authorized exercise/create (exercise is unauthorized) is rejected: [AuthPropagationSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/AuthPropagationSpec.scala#L244)
+- badly-authorized exercise/exercise (no implicit authority from outer exercise) is rejected: [AuthPropagationSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/AuthPropagationSpec.scala#L335)
+- badly-authorized fetch is rejected: [AuthorizationSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/AuthorizationSpec.scala#L112)
+- badly-authorized lookup is rejected: [AuthorizationSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/AuthorizationSpec.scala#L135)
+- create with no signatories is rejected: [AuthorizationSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/AuthorizationSpec.scala#L67)
+- create with non-signatory maintainers is rejected: [AuthorizationSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/AuthorizationSpec.scala#L89)
+- exercise with no controllers is rejected: [AuthorizationSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/AuthorizationSpec.scala#L168)
+- well-authorized create is accepted: [AuthorizationSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/AuthorizationSpec.scala#L60)
+- well-authorized exercise is accepted: [AuthorizationSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/AuthorizationSpec.scala#L161)
+- well-authorized exercise/create is accepted: [AuthPropagationSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/AuthPropagationSpec.scala#L222)
+- well-authorized exercise/exercise is accepted: [AuthPropagationSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/AuthPropagationSpec.scala#L378)
+- well-authorized fetch is accepted: [AuthorizationSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/AuthorizationSpec.scala#L106)
+- well-authorized lookup is accepted: [AuthorizationSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/AuthorizationSpec.scala#L128)
## Availability:
-- Tail call optimization: Tail recursion does not blow the scala JVM stack.: [TailCallTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/TailCallTest.scala#L18)
+- Tail call optimization: Tail recursion does not blow the scala JVM stack.: [TailCallTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/TailCallTest.scala#L18)
## Confidentiality:
-- ensure correct privacy for create node: [BlindingSpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/BlindingSpec.scala#L38)
-- ensure correct privacy for exercise node (consuming): [BlindingSpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/BlindingSpec.scala#L50)
-- ensure correct privacy for exercise node (non-consuming): [BlindingSpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/BlindingSpec.scala#L71)
-- ensure correct privacy for exercise subtree: [BlindingSpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/BlindingSpec.scala#L149)
-- ensure correct privacy for fetch node: [BlindingSpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/BlindingSpec.scala#L93)
-- ensure correct privacy for lookup-by-key node (found): [BlindingSpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/BlindingSpec.scala#L106)
-- ensure correct privacy for lookup-by-key node (not-found): [BlindingSpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/BlindingSpec.scala#L127)
-- ensure correct privacy for rollback subtree: [BlindingSpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/BlindingSpec.scala#L224)
+- ensure correct privacy for create node: [BlindingSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/BlindingSpec.scala#L42)
+- ensure correct privacy for exercise node (consuming): [BlindingSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/BlindingSpec.scala#L54)
+- ensure correct privacy for exercise node (non-consuming): [BlindingSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/BlindingSpec.scala#L75)
+- ensure correct privacy for exercise subtree: [BlindingSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/BlindingSpec.scala#L153)
+- ensure correct privacy for fetch node: [BlindingSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/BlindingSpec.scala#L97)
+- ensure correct privacy for lookup-by-key node (found): [BlindingSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/BlindingSpec.scala#L110)
+- ensure correct privacy for lookup-by-key node (not-found): [BlindingSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/BlindingSpec.scala#L131)
+- ensure correct privacy for rollback subtree: [BlindingSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/BlindingSpec.scala#L228)
## Integrity:
-- Evaluation order of create with authorization failure: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L579)
-- Evaluation order of create with contract ID in contract key: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L613)
-- Evaluation order of create with contract key exceeding max nesting: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L664)
-- Evaluation order of create with create argument exceeding max nesting: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L639)
-- Evaluation order of create with duplicate contract key: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L530)
-- Evaluation order of create with empty contract key maintainers: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L554)
-- Evaluation order of create with failed precondition: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L512)
-- Evaluation order of create_interface with authorization failure: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L786)
-- Evaluation order of create_interface with contract ID in contract key: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L820)
-- Evaluation order of create_interface with contract key exceeding max nesting: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L871)
-- Evaluation order of create_interface with create argument exceeding max nesting: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L846)
-- Evaluation order of create_interface with duplicate contract key: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L737)
-- Evaluation order of create_interface with empty contract key maintainers: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L761)
-- Evaluation order of create_interface with failed precondition: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L717)
-- Evaluation order of exercise by interface of a cached global contract that does not implement the interface.: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L1888)
-- Evaluation order of exercise by interface of an inactive global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L1870)
-- Evaluation order of exercise by interface of cached global contract with failed authorization: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L1930)
-- Evaluation order of exercise of a cached global contract with failure authorization: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L1226)
-- Evaluation order of exercise of a non-cached global contract with failure authorization: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L944)
-- Evaluation order of exercise of a non-cached global contract with inconsistent key: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L988)
-- Evaluation order of exercise of a wrongly typed cached global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L1062)
-- Evaluation order of exercise of a wrongly typed non-cached global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L929)
-- Evaluation order of exercise of an inactive global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L1045)
-- Evaluation order of exercise of an inactive local contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L1168)
-- Evaluation order of exercise of an unknown contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L1269)
-- Evaluation order of exercise of an wrongly typed local contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L1187)
-- Evaluation order of exercise of cached global contract with failure authorization: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L1102)
-- Evaluation order of exercise with argument exceeding max nesting: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L1283)
-- Evaluation order of exercise with output exceeding max nesting: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L1311)
-- Evaluation order of exercise_by_key of a cached global contract with failure authorization: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L1591)
-- Evaluation order of exercise_by_key of a non-cached global contract with failure authorization: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L1389)
-- Evaluation order of exercise_by_key of a wrongly typed cached global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L1482)
-- Evaluation order of exercise_by_key of an inactive global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L1463)
-- Evaluation order of exercise_by_key of an inactive local contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L1571)
-- Evaluation order of exercise_by_key of an unknown contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L1634)
-- Evaluation order of exercise_by_key of cached global contract with failure authorization: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L1501)
-- Evaluation order of exercise_by_key with argument exceeding max nesting: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L1649)
-- Evaluation order of exercise_by_key with contract ID in contract key: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L1724)
-- Evaluation order of exercise_by_key with result exceeding max nesting: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L1678)
-- Evaluation order of exercise_interface of a cached local contract with failed authorization: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L2062)
-- Evaluation order of exercise_interface of a non-cached global contract with failed authorization: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L1795)
-- Evaluation order of exercise_interface of an inactive local contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L1998)
-- Evaluation order of exercise_interface of an local contract not implementing the interface: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L2017)
-- Evaluation order of exercise_vy_key with empty contract key maintainers: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L1708)
-- Evaluation order of fetch of a cached global contract with failure authorization: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L2383)
-- Evaluation order of fetch of a non-cached global contract with failure authorization: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L2148)
-- Evaluation order of fetch of a non-cached global contract with inconsistent key: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L2183)
-- Evaluation order of fetch of a wrongly typed cached global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L2246)
-- Evaluation order of fetch of a wrongly typed disclosed contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L2415)
-- Evaluation order of fetch of a wrongly typed non-cached global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L2133)
-- Evaluation order of fetch of an inactive global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L2230)
-- Evaluation order of fetch of an inactive local contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L2331)
-- Evaluation order of fetch of an unknown contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L2434)
-- Evaluation order of fetch of an wrongly typed local contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L2348)
-- Evaluation order of fetch of cached global contract with failure authorization: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L2284)
-- Evaluation order of fetch_by_key of a cached global contract with authorization failure: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L2573)
-- Evaluation order of fetch_by_key of a local contract with authorization failure: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L2639)
-- Evaluation order of fetch_by_key of a non-cached global contract with authorization failure: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L2498)
-- Evaluation order of fetch_by_key of an inactive global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L2554)
-- Evaluation order of fetch_by_key of an inactive global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L2621)
-- Evaluation order of fetch_by_key of an unknown contract key: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L2669)
-- Evaluation order of fetch_by_key with contract ID in contract key: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L2701)
-- Evaluation order of fetch_by_key with contract key exceeding max nesting: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L2715)
-- Evaluation order of fetch_by_key with empty contract key maintainers: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L2685)
-- Evaluation order of fetch_interface of a cached global contract not implementing the interface.: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L2852)
-- Evaluation order of fetch_interface of a cached global contract with failure authorization: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L2992)
-- Evaluation order of fetch_interface of a non-cached global contract that doesn't implement interface.: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L2760)
-- Evaluation order of fetch_interface of a non-cached global contract with failed authorization: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L2779)
-- Evaluation order of fetch_interface of an inactive global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L2835)
-- Evaluation order of fetch_interface of an inactive local contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L2937)
-- Evaluation order of fetch_interface of an local contract not implementing the interface: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L2954)
-- Evaluation order of fetch_interface of an unknown contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L3022)
-- Evaluation order of fetch_interface of cached global contract with failure authorization: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L2890)
-- Evaluation order of lookup_by_key of a cached global contract with authorization failure: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L3139)
-- Evaluation order of lookup_by_key of a local contract with failure authorization: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L3204)
-- Evaluation order of lookup_by_key of a non-cached global contract with authorization failure: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L3066)
-- Evaluation order of lookup_by_key of an inactive global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L3121)
-- Evaluation order of lookup_by_key of an inactive local contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L3187)
-- Evaluation order of lookup_by_key of an unknown contract key: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L3234)
-- Evaluation order of lookup_by_key with contract ID in contract key: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L3266)
-- Evaluation order of lookup_by_key with contract key exceeding max nesting: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L3280)
-- Evaluation order of lookup_by_key with empty contract key maintainers: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L3250)
-- Evaluation order of successful create: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L489)
-- Evaluation order of successful create_interface: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L693)
-- Evaluation order of successful exercise by interface of a non-cached global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L1749)
-- Evaluation order of successful exercise of a cached global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L1021)
-- Evaluation order of successful exercise of a local contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L1145)
-- Evaluation order of successful exercise of a non-cached global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L902)
-- Evaluation order of successful exercise_by_key of a cached global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L1437)
-- Evaluation order of successful exercise_by_key of a local contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L1547)
-- Evaluation order of successful exercise_by_key of a non-cached global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L1345)
-- Evaluation order of successful exercise_interface of a cached global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L1845)
-- Evaluation order of successful exercise_interface of a local contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L1974)
-- Evaluation order of successful fetch of a cached global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L2213)
-- Evaluation order of successful fetch of a local contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L2316)
-- Evaluation order of successful fetch of a non-cached global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L2110)
-- Evaluation order of successful fetch_by_key of a cached global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L2537)
-- Evaluation order of successful fetch_by_key of a local contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L2605)
-- Evaluation order of successful fetch_by_key of a non-cached global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L2453)
-- Evaluation order of successful fetch_interface of a cached global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L2818)
-- Evaluation order of successful fetch_interface of a local contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L2922)
-- Evaluation order of successful fetch_interface of a non-cached global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L2736)
-- Evaluation order of successful lookup_by_key of a cached global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L3104)
-- Evaluation order of successful lookup_by_key of a local contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L3171)
-- Evaluation order of successful lookup_by_key of a non-cached global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L3042)
-- Exceptions, throw/catch.: [ExceptionTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/ExceptionTest.scala#L28)
-- Rollback creates cannot be exercise: [EngineTest.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/EngineTest.scala#L2122)
-- This checks that type checking in exercise_interface is done after checking activeness.: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L2042)
-- This checks that type checking is done after checking activeness.: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L1912)
-- This checks that type checking is done after checking activeness.: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L2974)
-- contract key behaviour (non-unique mode): [ContractKeySpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/ContractKeySpec.scala#L415)
-- contract key behaviour (unique mode): [ContractKeySpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/ContractKeySpec.scala#L425)
-- contract keys must have a non-empty set of maintainers: [ContractKeySpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/ContractKeySpec.scala#L229)
-- contract keys should be evaluated after ensure clause: [ContractKeySpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/ContractKeySpec.scala#L197)
-- contract keys should be evaluated only when executing create: [ContractKeySpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/ContractKeySpec.scala#L156)
-- ensure builtin operators have the correct type: [TypingSpec.scala](daml-lf/validation/src/test/scala/com/daml/lf/validation/TypingSpec.scala#L70)
-- ensure expression forms have the correct type: [TypingSpec.scala](daml-lf/validation/src/test/scala/com/daml/lf/validation/TypingSpec.scala#L130)
-- exercise-by-interface command is rejected for a: [ApiCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/preprocessing/ApiCommandPreprocessorSpec.scala#L188)
-- exercise_interface with a contract instance that does not implement the interface fails.: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/daml/lf/speedy/EvaluationOrderTest.scala#L1777)
-- ill-formed create API command is rejected: [ApiCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/preprocessing/ApiCommandPreprocessorSpec.scala#L176)
-- ill-formed create replay command is rejected: [ReplayCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/preprocessing/ReplayCommandPreprocessorSpec.scala#L121)
-- ill-formed create-and-exercise API command is rejected: [ApiCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/preprocessing/ApiCommandPreprocessorSpec.scala#L201)
-- ill-formed exception definitions are rejected: [TypingSpec.scala](daml-lf/validation/src/test/scala/com/daml/lf/validation/TypingSpec.scala#L1710)
-- ill-formed exercise API command is rejected: [ApiCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/preprocessing/ApiCommandPreprocessorSpec.scala#L181)
-- ill-formed exercise replay command is rejected: [ReplayCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/preprocessing/ReplayCommandPreprocessorSpec.scala#L126)
-- ill-formed exercise-by-key API command is rejected: [ApiCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/preprocessing/ApiCommandPreprocessorSpec.scala#L192)
-- ill-formed exercise-by-key replay command is rejected: [ReplayCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/preprocessing/ReplayCommandPreprocessorSpec.scala#L133)
-- ill-formed expressions are rejected: [TypingSpec.scala](daml-lf/validation/src/test/scala/com/daml/lf/validation/TypingSpec.scala#L476)
-- ill-formed fetch command is rejected: [ReplayCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/preprocessing/ReplayCommandPreprocessorSpec.scala#L180)
-- ill-formed fetch-by-key command is rejected: [ReplayCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/preprocessing/ReplayCommandPreprocessorSpec.scala#L183)
-- ill-formed interfaces are rejected: [TypingSpec.scala](daml-lf/validation/src/test/scala/com/daml/lf/validation/TypingSpec.scala#L1442)
-- ill-formed kinds are rejected: [TypingSpec.scala](daml-lf/validation/src/test/scala/com/daml/lf/validation/TypingSpec.scala#L42)
-- ill-formed lookup command is rejected: [ReplayCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/preprocessing/ReplayCommandPreprocessorSpec.scala#L188)
-- ill-formed records are rejected: [TypingSpec.scala](daml-lf/validation/src/test/scala/com/daml/lf/validation/TypingSpec.scala#L1855)
-- ill-formed templates are rejected: [TypingSpec.scala](daml-lf/validation/src/test/scala/com/daml/lf/validation/TypingSpec.scala#L1087)
-- ill-formed type synonyms applications are rejected: [TypingSpec.scala](daml-lf/validation/src/test/scala/com/daml/lf/validation/TypingSpec.scala#L1834)
-- ill-formed type synonyms definitions are rejected: [TypingSpec.scala](daml-lf/validation/src/test/scala/com/daml/lf/validation/TypingSpec.scala#L1901)
-- ill-formed types are rejected: [TypingSpec.scala](daml-lf/validation/src/test/scala/com/daml/lf/validation/TypingSpec.scala#L122)
-- ill-formed variants are rejected: [TypingSpec.scala](daml-lf/validation/src/test/scala/com/daml/lf/validation/TypingSpec.scala#L1878)
-- well formed create API command is accepted: [ApiCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/preprocessing/ApiCommandPreprocessorSpec.scala#L128)
-- well formed create replay command is accepted: [ReplayCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/preprocessing/ReplayCommandPreprocessorSpec.scala#L92)
-- well formed create-and-exercise API command is accepted: [ApiCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/preprocessing/ApiCommandPreprocessorSpec.scala#L156)
-- well formed exercise API command is accepted: [ApiCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/preprocessing/ApiCommandPreprocessorSpec.scala#L133)
-- well formed exercise replay command is accepted: [ReplayCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/preprocessing/ReplayCommandPreprocessorSpec.scala#L97)
-- well formed exercise-by-interface command is accepted: [ApiCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/preprocessing/ApiCommandPreprocessorSpec.scala#L149)
-- well formed exercise-by-key API command is accepted: [ApiCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/preprocessing/ApiCommandPreprocessorSpec.scala#L141)
-- well formed exercise-by-key command is accepted: [ReplayCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/preprocessing/ReplayCommandPreprocessorSpec.scala#L105)
-- well formed fetch replay command is accepted: [ReplayCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/preprocessing/ReplayCommandPreprocessorSpec.scala#L157)
-- well formed fetch-by-key replay command is accepted: [ReplayCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/preprocessing/ReplayCommandPreprocessorSpec.scala#L162)
-- well formed lookup replay command is accepted: [ReplayCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/daml/lf/engine/preprocessing/ReplayCommandPreprocessorSpec.scala#L167)
+- Evaluation order of create with authorization failure: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L583)
+- Evaluation order of create with contract ID in contract key: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L617)
+- Evaluation order of create with contract key exceeding max nesting: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L668)
+- Evaluation order of create with create argument exceeding max nesting: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L643)
+- Evaluation order of create with duplicate contract key: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L534)
+- Evaluation order of create with empty contract key maintainers: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L558)
+- Evaluation order of create with failed precondition: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L516)
+- Evaluation order of create_interface with authorization failure: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L790)
+- Evaluation order of create_interface with contract ID in contract key: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L824)
+- Evaluation order of create_interface with contract key exceeding max nesting: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L875)
+- Evaluation order of create_interface with create argument exceeding max nesting: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L850)
+- Evaluation order of create_interface with duplicate contract key: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L741)
+- Evaluation order of create_interface with empty contract key maintainers: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L765)
+- Evaluation order of create_interface with failed precondition: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L721)
+- Evaluation order of exercise by interface of a cached global contract that does not implement the interface.: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1892)
+- Evaluation order of exercise by interface of an inactive global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1874)
+- Evaluation order of exercise by interface of cached global contract with failed authorization: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1934)
+- Evaluation order of exercise of a cached global contract with failure authorization: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1230)
+- Evaluation order of exercise of a non-cached global contract with failure authorization: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L948)
+- Evaluation order of exercise of a non-cached global contract with inconsistent key: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L992)
+- Evaluation order of exercise of a wrongly typed cached global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1066)
+- Evaluation order of exercise of a wrongly typed non-cached global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L933)
+- Evaluation order of exercise of an inactive global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1049)
+- Evaluation order of exercise of an inactive local contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1172)
+- Evaluation order of exercise of an unknown contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1273)
+- Evaluation order of exercise of an wrongly typed local contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1191)
+- Evaluation order of exercise of cached global contract with failure authorization: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1106)
+- Evaluation order of exercise with argument exceeding max nesting: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1287)
+- Evaluation order of exercise with output exceeding max nesting: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1315)
+- Evaluation order of exercise_by_key of a cached global contract with failure authorization: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1595)
+- Evaluation order of exercise_by_key of a non-cached global contract with failure authorization: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1393)
+- Evaluation order of exercise_by_key of a wrongly typed cached global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1486)
+- Evaluation order of exercise_by_key of an inactive global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1467)
+- Evaluation order of exercise_by_key of an inactive local contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1575)
+- Evaluation order of exercise_by_key of an unknown contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1638)
+- Evaluation order of exercise_by_key of cached global contract with failure authorization: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1505)
+- Evaluation order of exercise_by_key with argument exceeding max nesting: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1653)
+- Evaluation order of exercise_by_key with contract ID in contract key: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1728)
+- Evaluation order of exercise_by_key with result exceeding max nesting: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1682)
+- Evaluation order of exercise_interface of a cached local contract with failed authorization: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2066)
+- Evaluation order of exercise_interface of a non-cached global contract with failed authorization: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1799)
+- Evaluation order of exercise_interface of an inactive local contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2002)
+- Evaluation order of exercise_interface of an local contract not implementing the interface: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2021)
+- Evaluation order of exercise_vy_key with empty contract key maintainers: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1712)
+- Evaluation order of fetch of a cached global contract with failure authorization: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2387)
+- Evaluation order of fetch of a non-cached global contract with failure authorization: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2152)
+- Evaluation order of fetch of a non-cached global contract with inconsistent key: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2187)
+- Evaluation order of fetch of a wrongly typed cached global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2250)
+- Evaluation order of fetch of a wrongly typed disclosed contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2419)
+- Evaluation order of fetch of a wrongly typed non-cached global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2137)
+- Evaluation order of fetch of an inactive global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2234)
+- Evaluation order of fetch of an inactive local contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2335)
+- Evaluation order of fetch of an unknown contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2438)
+- Evaluation order of fetch of an wrongly typed local contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2352)
+- Evaluation order of fetch of cached global contract with failure authorization: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2288)
+- Evaluation order of fetch_by_key of a cached global contract with authorization failure: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2577)
+- Evaluation order of fetch_by_key of a local contract with authorization failure: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2643)
+- Evaluation order of fetch_by_key of a non-cached global contract with authorization failure: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2502)
+- Evaluation order of fetch_by_key of an inactive global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2558)
+- Evaluation order of fetch_by_key of an inactive global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2625)
+- Evaluation order of fetch_by_key of an unknown contract key: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2673)
+- Evaluation order of fetch_by_key with contract ID in contract key: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2705)
+- Evaluation order of fetch_by_key with contract key exceeding max nesting: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2719)
+- Evaluation order of fetch_by_key with empty contract key maintainers: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2689)
+- Evaluation order of fetch_interface of a cached global contract not implementing the interface.: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2856)
+- Evaluation order of fetch_interface of a cached global contract with failure authorization: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2996)
+- Evaluation order of fetch_interface of a non-cached global contract that doesn't implement interface.: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2764)
+- Evaluation order of fetch_interface of a non-cached global contract with failed authorization: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2783)
+- Evaluation order of fetch_interface of an inactive global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2839)
+- Evaluation order of fetch_interface of an inactive local contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2941)
+- Evaluation order of fetch_interface of an local contract not implementing the interface: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2958)
+- Evaluation order of fetch_interface of an unknown contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L3026)
+- Evaluation order of fetch_interface of cached global contract with failure authorization: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2894)
+- Evaluation order of lookup_by_key of a cached global contract with authorization failure: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L3143)
+- Evaluation order of lookup_by_key of a local contract with failure authorization: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L3208)
+- Evaluation order of lookup_by_key of a non-cached global contract with authorization failure: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L3070)
+- Evaluation order of lookup_by_key of an inactive global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L3125)
+- Evaluation order of lookup_by_key of an inactive local contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L3191)
+- Evaluation order of lookup_by_key of an unknown contract key: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L3238)
+- Evaluation order of lookup_by_key with contract ID in contract key: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L3270)
+- Evaluation order of lookup_by_key with contract key exceeding max nesting: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L3284)
+- Evaluation order of lookup_by_key with empty contract key maintainers: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L3254)
+- Evaluation order of successful create: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L493)
+- Evaluation order of successful create_interface: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L697)
+- Evaluation order of successful exercise by interface of a non-cached global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1753)
+- Evaluation order of successful exercise of a cached global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1025)
+- Evaluation order of successful exercise of a local contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1149)
+- Evaluation order of successful exercise of a non-cached global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L906)
+- Evaluation order of successful exercise_by_key of a cached global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1441)
+- Evaluation order of successful exercise_by_key of a local contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1551)
+- Evaluation order of successful exercise_by_key of a non-cached global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1349)
+- Evaluation order of successful exercise_interface of a cached global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1849)
+- Evaluation order of successful exercise_interface of a local contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1978)
+- Evaluation order of successful fetch of a cached global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2217)
+- Evaluation order of successful fetch of a local contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2320)
+- Evaluation order of successful fetch of a non-cached global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2114)
+- Evaluation order of successful fetch_by_key of a cached global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2541)
+- Evaluation order of successful fetch_by_key of a local contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2609)
+- Evaluation order of successful fetch_by_key of a non-cached global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2457)
+- Evaluation order of successful fetch_interface of a cached global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2822)
+- Evaluation order of successful fetch_interface of a local contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2926)
+- Evaluation order of successful fetch_interface of a non-cached global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2740)
+- Evaluation order of successful lookup_by_key of a cached global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L3108)
+- Evaluation order of successful lookup_by_key of a local contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L3175)
+- Evaluation order of successful lookup_by_key of a non-cached global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L3046)
+- Exceptions, throw/catch.: [ExceptionTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/ExceptionTest.scala#L28)
+- Rollback creates cannot be exercise: [EngineTest.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/EngineTest.scala#L2128)
+- This checks that type checking in exercise_interface is done after checking activeness.: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2046)
+- This checks that type checking is done after checking activeness.: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1916)
+- This checks that type checking is done after checking activeness.: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2978)
+- contract key behaviour (non-unique mode): [ContractKeySpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ContractKeySpec.scala#L426)
+- contract key behaviour (unique mode): [ContractKeySpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ContractKeySpec.scala#L436)
+- contract keys must have a non-empty set of maintainers: [ContractKeySpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ContractKeySpec.scala#L240)
+- contract keys should be evaluated after ensure clause: [ContractKeySpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ContractKeySpec.scala#L208)
+- contract keys should be evaluated only when executing create: [ContractKeySpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ContractKeySpec.scala#L167)
+- ensure builtin operators have the correct type: [TypingSpec.scala](daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/TypingSpec.scala#L70)
+- ensure expression forms have the correct type: [TypingSpec.scala](daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/TypingSpec.scala#L130)
+- exercise-by-interface command is rejected for a: [ApiCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/preprocessing/ApiCommandPreprocessorSpec.scala#L191)
+- exercise_interface with a contract instance that does not implement the interface fails.: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1781)
+- ill-formed create API command is rejected: [ApiCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/preprocessing/ApiCommandPreprocessorSpec.scala#L179)
+- ill-formed create replay command is rejected: [ReplayCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/preprocessing/ReplayCommandPreprocessorSpec.scala#L124)
+- ill-formed create-and-exercise API command is rejected: [ApiCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/preprocessing/ApiCommandPreprocessorSpec.scala#L204)
+- ill-formed exception definitions are rejected: [TypingSpec.scala](daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/TypingSpec.scala#L1710)
+- ill-formed exercise API command is rejected: [ApiCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/preprocessing/ApiCommandPreprocessorSpec.scala#L184)
+- ill-formed exercise replay command is rejected: [ReplayCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/preprocessing/ReplayCommandPreprocessorSpec.scala#L129)
+- ill-formed exercise-by-key API command is rejected: [ApiCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/preprocessing/ApiCommandPreprocessorSpec.scala#L195)
+- ill-formed exercise-by-key replay command is rejected: [ReplayCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/preprocessing/ReplayCommandPreprocessorSpec.scala#L136)
+- ill-formed expressions are rejected: [TypingSpec.scala](daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/TypingSpec.scala#L476)
+- ill-formed fetch command is rejected: [ReplayCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/preprocessing/ReplayCommandPreprocessorSpec.scala#L183)
+- ill-formed fetch-by-key command is rejected: [ReplayCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/preprocessing/ReplayCommandPreprocessorSpec.scala#L186)
+- ill-formed interfaces are rejected: [TypingSpec.scala](daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/TypingSpec.scala#L1442)
+- ill-formed kinds are rejected: [TypingSpec.scala](daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/TypingSpec.scala#L42)
+- ill-formed lookup command is rejected: [ReplayCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/preprocessing/ReplayCommandPreprocessorSpec.scala#L191)
+- ill-formed records are rejected: [TypingSpec.scala](daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/TypingSpec.scala#L1855)
+- ill-formed templates are rejected: [TypingSpec.scala](daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/TypingSpec.scala#L1087)
+- ill-formed type synonyms applications are rejected: [TypingSpec.scala](daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/TypingSpec.scala#L1834)
+- ill-formed type synonyms definitions are rejected: [TypingSpec.scala](daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/TypingSpec.scala#L1901)
+- ill-formed types are rejected: [TypingSpec.scala](daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/TypingSpec.scala#L122)
+- ill-formed variants are rejected: [TypingSpec.scala](daml-lf/validation/src/test/scala/com/digitalasset/daml/lf/validation/TypingSpec.scala#L1878)
+- well formed create API command is accepted: [ApiCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/preprocessing/ApiCommandPreprocessorSpec.scala#L131)
+- well formed create replay command is accepted: [ReplayCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/preprocessing/ReplayCommandPreprocessorSpec.scala#L95)
+- well formed create-and-exercise API command is accepted: [ApiCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/preprocessing/ApiCommandPreprocessorSpec.scala#L159)
+- well formed exercise API command is accepted: [ApiCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/preprocessing/ApiCommandPreprocessorSpec.scala#L136)
+- well formed exercise replay command is accepted: [ReplayCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/preprocessing/ReplayCommandPreprocessorSpec.scala#L100)
+- well formed exercise-by-interface command is accepted: [ApiCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/preprocessing/ApiCommandPreprocessorSpec.scala#L152)
+- well formed exercise-by-key API command is accepted: [ApiCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/preprocessing/ApiCommandPreprocessorSpec.scala#L144)
+- well formed exercise-by-key command is accepted: [ReplayCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/preprocessing/ReplayCommandPreprocessorSpec.scala#L108)
+- well formed fetch replay command is accepted: [ReplayCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/preprocessing/ReplayCommandPreprocessorSpec.scala#L160)
+- well formed fetch-by-key replay command is accepted: [ReplayCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/preprocessing/ReplayCommandPreprocessorSpec.scala#L165)
+- well formed lookup replay command is accepted: [ReplayCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/preprocessing/ReplayCommandPreprocessorSpec.scala#L170)
diff --git a/sdk/test-common/BUILD.bazel b/sdk/test-common/BUILD.bazel
index 72570ff60a..b5dfcdd1a0 100644
--- a/sdk/test-common/BUILD.bazel
+++ b/sdk/test-common/BUILD.bazel
@@ -428,7 +428,7 @@ da_scala_dar_resources_library(
dar_to_java(
name = "%s-tests-%s.java-codegen" % (test_name, target),
src = ":%s-tests-%s.dar" % (test_name, target),
- package_prefix = "com.daml.ledger.test.java.%s" % test_name,
+ package_prefix = "com.digitalasset.daml.ledger.test.java.%s" % test_name,
tags = ["maven_coordinates=com.daml:test-common-%s-tests-java-%s:__VERSION__" % (
test_name.replace("_", "-"),
target,
diff --git a/sdk/test-common/canton/it-lib/src/main/scala/com/daml/integrationtest/CantonConfig.scala b/sdk/test-common/canton/it-lib/src/main/scala/com/daml/integrationtest/CantonConfig.scala
index 9c45c40a6a..d56b82321f 100644
--- a/sdk/test-common/canton/it-lib/src/main/scala/com/daml/integrationtest/CantonConfig.scala
+++ b/sdk/test-common/canton/it-lib/src/main/scala/com/daml/integrationtest/CantonConfig.scala
@@ -9,7 +9,7 @@ import com.daml.grpc.adapter.ExecutionSequencerFactory
import com.daml.tls.TlsConfiguration
import com.digitalasset.canton.ledger.client.{GrpcChannel, LedgerClient}
import com.daml.ledger.resources.ResourceOwner
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.daml.ports.Port
import io.grpc.ManagedChannel
import io.grpc.netty.NettyChannelBuilder
diff --git a/sdk/test-common/canton/it-lib/src/main/scala/com/daml/integrationtest/CantonFixture.scala b/sdk/test-common/canton/it-lib/src/main/scala/com/daml/integrationtest/CantonFixture.scala
index 1be0547358..e4f5afa4c4 100644
--- a/sdk/test-common/canton/it-lib/src/main/scala/com/daml/integrationtest/CantonFixture.scala
+++ b/sdk/test-common/canton/it-lib/src/main/scala/com/daml/integrationtest/CantonFixture.scala
@@ -13,7 +13,7 @@ import com.daml.ledger.api.testing.utils.{
}
import com.digitalasset.canton.ledger.client.LedgerClient
import com.daml.ledger.resources.{Resource, ResourceContext, ResourceOwner}
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.daml.ports.Port
import org.scalatest.Suite
diff --git a/sdk/test-common/canton/it-lib/src/main/scala/com/daml/integrationtest/CantonRunner.scala b/sdk/test-common/canton/it-lib/src/main/scala/com/daml/integrationtest/CantonRunner.scala
index 0caf1c6a9a..2ae6f96cb0 100644
--- a/sdk/test-common/canton/it-lib/src/main/scala/com/daml/integrationtest/CantonRunner.scala
+++ b/sdk/test-common/canton/it-lib/src/main/scala/com/daml/integrationtest/CantonRunner.scala
@@ -7,7 +7,7 @@ package integrationtest
import com.daml.bazeltools.BazelRunfiles._
import com.daml.jwt.JwtSigner
import com.daml.jwt.domain.DecodedJwt
-import com.daml.lf.data.Ref
+import com.digitalasset.daml.lf.data.Ref
import com.digitalasset.canton.ledger.api.auth
import com.daml.ledger.resources.{Resource, ResourceContext, ResourceOwner}
import com.daml.ports.{LockedFreePort, PortLock}
diff --git a/sdk/test-common/test-common.bzl b/sdk/test-common/test-common.bzl
index fe4132713a..888144a02e 100644
--- a/sdk/test-common/test-common.bzl
+++ b/sdk/test-common/test-common.bzl
@@ -42,7 +42,7 @@ def da_scala_dar_resources_library(
cat > $@ <