From 107fafce1e943b9af3d808d2683c8a61f2a1e589 Mon Sep 17 00:00:00 2001 From: Ryan Date: Mon, 25 Jul 2022 18:16:55 +0100 Subject: [PATCH] fix: IntialConfig Signed-off-by: Ryan --- .../daml/runtime/BuilderLedgerFactory.scala | 39 ++++++++++++++++++- .../daml/runtime/ParticipantOwner.scala | 5 +-- 2 files changed, 40 insertions(+), 4 deletions(-) diff --git a/core/src/main/scala/com/blockchaintp/daml/runtime/BuilderLedgerFactory.scala b/core/src/main/scala/com/blockchaintp/daml/runtime/BuilderLedgerFactory.scala index f40abca..56c405d 100644 --- a/core/src/main/scala/com/blockchaintp/daml/runtime/BuilderLedgerFactory.scala +++ b/core/src/main/scala/com/blockchaintp/daml/runtime/BuilderLedgerFactory.scala @@ -17,6 +17,8 @@ import akka.stream.Materializer import com.blockchaintp.daml.address.Identifier import com.blockchaintp.daml.address.LedgerAddress import com.blockchaintp.daml.participant.ParticipantBuilder +import com.daml.ledger.api.v1.admin.config_management_service.TimeModel +import com.daml.ledger.configuration.{Configuration, LedgerTimeModel} import com.daml.ledger.participant.state.kvutils.api.KeyValueLedger import com.daml.ledger.participant.state.kvutils.api.KeyValueParticipantState import com.daml.ledger.participant.state.kvutils.app.Config @@ -26,6 +28,9 @@ import com.daml.ledger.resources.ResourceOwner import com.daml.lf.engine.Engine import com.daml.logging.LoggingContext import com.daml.metrics.Metrics +import com.daml.platform.configuration.InitialLedgerConfiguration + +import java.time.Duration abstract class BuilderLedgerFactory[ Id <: Identifier, @@ -54,6 +59,38 @@ abstract class BuilderLedgerFactory[ ) } + override def initialLedgerConfig(config: Config[ExtraConfig]): InitialLedgerConfiguration = + InitialLedgerConfiguration( + configuration = Configuration( + generation = 1, + timeModel = TimeModel( + LedgerTimeModel( + avgTransactionLatency = Duration.ofSeconds(1L), + minSkew = Duration.ofSeconds(40L), + maxSkew = Duration.ofSeconds(80L) + ).get, + maxDeduplicationTime = Duration.ofDays(1) + ), + initialConfigurationSubmitDelay = Duration.ofSeconds(5), + configurationLoadTimeout = Duration.ofSeconds(10) + delayBeforeSubmitting = Duration.ofSeconds(5) + ) + ) + + def initialLedgerConfig(config: Config[ExtraConfig]): InitialLedgerConfiguration = + InitialLedgerConfiguration( + configuration = Configuration( + generation = 1, + timeModel = LedgerTimeModel( + avgTransactionLatency = Duration.ofSeconds(1L), + minSkew = Duration.ofSeconds(40L), + maxSkew = Duration.ofSeconds(80L) + ).get, + maxDeduplicationTime = Duration.ofDays(1) + ), + delayBeforeSubmitting = Duration.ofSeconds(5) + ) + def owner( config: Config[ExtraConfig], metrics: Metrics, @@ -65,7 +102,7 @@ abstract class BuilderLedgerFactory[ logCtx: LoggingContext ): ResourceOwner[KeyValueLedger] = { new ParticipantOwner( - ledgerConfig(config), + initialLedgerConfig(config), engine, metrics, logCtx, diff --git a/core/src/main/scala/com/blockchaintp/daml/runtime/ParticipantOwner.scala b/core/src/main/scala/com/blockchaintp/daml/runtime/ParticipantOwner.scala index c042b73..dfcf12f 100644 --- a/core/src/main/scala/com/blockchaintp/daml/runtime/ParticipantOwner.scala +++ b/core/src/main/scala/com/blockchaintp/daml/runtime/ParticipantOwner.scala @@ -17,8 +17,6 @@ import com.blockchaintp.daml.address.Identifier import com.blockchaintp.daml.address.LedgerAddress import com.blockchaintp.daml.participant.Participant import com.blockchaintp.daml.participant.ParticipantBuilder -import com.daml.ledger.api.domain.LedgerId -import com.daml.ledger.participant.state.index.v2.LedgerConfiguration import com.daml.ledger.participant.state.kvutils.app.Config import com.daml.ledger.resources.Resource import com.daml.ledger.resources.ResourceContext @@ -27,13 +25,14 @@ import com.daml.lf.data.Ref.ParticipantId import com.daml.lf.engine.Engine import com.daml.logging.LoggingContext import com.daml.metrics.Metrics +import com.daml.platform.configuration.InitialLedgerConfiguration import com.daml.resources import java.util.concurrent.Executors import scala.{concurrent => sc} class ParticipantOwner[ExtraConfig, Id <: Identifier, Address <: LedgerAddress]( - val ledgerConfig: LedgerConfiguration, + val ledgerConfig: InitialLedgerConfiguration, val engine: Engine, val metrics: Metrics, val logCtx: LoggingContext,