@@ -6,13 +6,36 @@ package org.lfdecentralizedtrust.splice.validator
66import cats .implicits .{catsSyntaxApplicativeByValue as _ , * }
77import com .daml .grpc .adapter .ExecutionSequencerFactory
88import com .daml .ledger .javaapi .data .User
9+ import com .digitalasset .canton .SynchronizerAlias
10+ import com .digitalasset .canton .concurrent .FutureSupervisor
11+ import com .digitalasset .canton .config .CantonRequireTypes .InstanceName
12+ import com .digitalasset .canton .config .ProcessingTimeout
13+ import com .digitalasset .canton .config .RequireTypes .NonNegativeLong
14+ import com .digitalasset .canton .data .CantonTimestamp
15+ import com .digitalasset .canton .ledger .api .util .DurationConversion
16+ import com .digitalasset .canton .lifecycle .LifeCycle
17+ import com .digitalasset .canton .logging .{NamedLoggerFactory , TracedLogger }
18+ import com .digitalasset .canton .resource .{DbStorage , Storage }
19+ import com .digitalasset .canton .time .Clock
20+ import com .digitalasset .canton .topology .{PartyId , SynchronizerId }
21+ import com .digitalasset .canton .tracing .{TraceContext , TracerProvider }
22+ import com .digitalasset .canton .util .MonadUtil
23+ import com .google .protobuf .ByteString
24+ import io .grpc .Status
25+ import io .opentelemetry .api .trace .Tracer
26+ import org .apache .pekko .actor .ActorSystem
27+ import org .apache .pekko .http .cors .scaladsl .CorsDirectives .*
28+ import org .apache .pekko .http .cors .scaladsl .settings .CorsSettings
29+ import org .apache .pekko .http .scaladsl .model .HttpMethods
30+ import org .apache .pekko .http .scaladsl .server .Directives .*
31+ import org .apache .pekko .http .scaladsl .server .directives .BasicDirectives
932import org .lfdecentralizedtrust .splice .admin .api .TraceContextDirectives .withTraceContext
1033import org .lfdecentralizedtrust .splice .admin .http .{AdminRoutes , HttpErrorHandler }
34+ import org .lfdecentralizedtrust .splice .auth .*
1135import org .lfdecentralizedtrust .splice .automation .{
1236 DomainParamsAutomationService ,
1337 DomainTimeAutomationService ,
1438}
15- import org .lfdecentralizedtrust .splice .auth .*
1639import org .lfdecentralizedtrust .splice .config .{NetworkAppClientConfig , SharedSpliceAppParameters }
1740import org .lfdecentralizedtrust .splice .environment .*
1841import org .lfdecentralizedtrust .splice .environment .ledger .api .DedupDuration
@@ -31,80 +54,48 @@ import org.lfdecentralizedtrust.splice.migration.{
3154 ParticipantUsersDataRestorer ,
3255}
3356import org .lfdecentralizedtrust .splice .scan .admin .api .client
57+ import org .lfdecentralizedtrust .splice .scan .admin .api .client .BftScanConnection .BftScanClientConfig
3458import org .lfdecentralizedtrust .splice .scan .admin .api .client .{
3559 BftScanConnection ,
3660 MinimalScanConnection ,
3761 SingleScanConnection ,
3862}
39- import org .lfdecentralizedtrust .splice .scan .admin .api .client .BftScanConnection .BftScanClientConfig
4063import org .lfdecentralizedtrust .splice .scan .config .ScanAppClientConfig
41- import org .lfdecentralizedtrust .splice .setup .{
42- NodeInitializer ,
43- ParticipantInitializer ,
44- ParticipantPartyMigrator ,
45- }
46- import org .lfdecentralizedtrust .splice .store .{AppStoreWithIngestion , HistoryMetrics , UpdateHistory }
64+ import org .lfdecentralizedtrust .splice .setup .{NodeInitializer , ParticipantInitializer }
65+ import org .lfdecentralizedtrust .splice .store .AppStoreWithIngestion .SpliceLedgerConnectionPriority
4766import org .lfdecentralizedtrust .splice .store .MultiDomainAcsStore .QueryResult
48- import org .lfdecentralizedtrust .splice .util .{
49- AmuletConfigSchedule ,
50- BackupDump ,
51- HasHealth ,
52- PackageVetting ,
53- SpliceCircuitBreaker ,
54- }
67+ import org .lfdecentralizedtrust .splice .store .UpdateHistory .BackfillingRequirement
68+ import org .lfdecentralizedtrust .splice .store .{AppStoreWithIngestion , HistoryMetrics , UpdateHistory }
69+ import org .lfdecentralizedtrust .splice .util .*
5570import org .lfdecentralizedtrust .splice .validator .admin .http .*
5671import org .lfdecentralizedtrust .splice .validator .automation .{
5772 ValidatorAutomationService ,
5873 ValidatorPackageVettingTrigger ,
5974}
60- import org .lfdecentralizedtrust .splice .validator .config .{
61- AppInstance ,
62- MigrateValidatorPartyConfig ,
63- ValidatorAppBackendConfig ,
64- ValidatorCantonIdentifierConfig ,
65- ValidatorOnboardingConfig ,
66- }
75+ import org .lfdecentralizedtrust .splice .validator .config .*
6776import org .lfdecentralizedtrust .splice .validator .domain .DomainConnector
6877import org .lfdecentralizedtrust .splice .validator .metrics .ValidatorAppMetrics
69- import org .lfdecentralizedtrust .splice .validator .migration .DomainMigrationDump
70- import org .lfdecentralizedtrust .splice .validator .store .ValidatorStore
78+ import org .lfdecentralizedtrust .splice .validator .migration .{
79+ DomainMigrationDump ,
80+ ParticipantPartyMigrator ,
81+ }
82+ import org .lfdecentralizedtrust .splice .validator .store .{
83+ ValidatorConfigProvider ,
84+ ValidatorInternalStore ,
85+ ValidatorStore ,
86+ }
7187import org .lfdecentralizedtrust .splice .validator .util .ValidatorUtil
72- import org .lfdecentralizedtrust .splice .wallet .{ExternalPartyWalletManager , UserWalletManager }
7388import org .lfdecentralizedtrust .splice .wallet .admin .http .{
7489 HttpExternalWalletHandler ,
7590 HttpWalletHandler ,
7691}
7792import org .lfdecentralizedtrust .splice .wallet .automation .UserWalletAutomationService
7893import org .lfdecentralizedtrust .splice .wallet .util .ValidatorTopupConfig
79- import org .lfdecentralizedtrust .tokenstandard .metadata .v1 .Resource as TokenStandardMetadataResource
80- import org .lfdecentralizedtrust .tokenstandard .transferinstruction .v1 .Resource as TokenStandardTransferInstructionResource
94+ import org .lfdecentralizedtrust .splice .wallet .{ExternalPartyWalletManager , UserWalletManager }
8195import org .lfdecentralizedtrust .tokenstandard .allocation .v1 .Resource as TokenStandardAllocationResource
8296import org .lfdecentralizedtrust .tokenstandard .allocationinstruction .v1 .Resource as TokenStandardAllocationInstructionResource
83- import com .digitalasset .canton .concurrent .FutureSupervisor
84- import com .digitalasset .canton .config .CantonRequireTypes .InstanceName
85- import com .digitalasset .canton .config .ProcessingTimeout
86- import com .digitalasset .canton .config .RequireTypes .NonNegativeLong
87- import com .digitalasset .canton .data .CantonTimestamp
88- import com .digitalasset .canton .ledger .api .util .DurationConversion
89- import com .digitalasset .canton .lifecycle .LifeCycle
90- import com .digitalasset .canton .logging .{NamedLoggerFactory , TracedLogger }
91- import com .digitalasset .canton .resource .{DbStorage , Storage }
92- import com .digitalasset .canton .time .Clock
93- import com .digitalasset .canton .topology .{PartyId , SynchronizerId }
94- import com .digitalasset .canton .tracing .{TraceContext , TracerProvider }
95- import com .digitalasset .canton .util .MonadUtil
96- import com .digitalasset .canton .SynchronizerAlias
97- import io .grpc .Status
98- import io .opentelemetry .api .trace .Tracer
99- import org .apache .pekko .actor .ActorSystem
100- import org .apache .pekko .http .cors .scaladsl .CorsDirectives .*
101- import org .apache .pekko .http .cors .scaladsl .settings .CorsSettings
102- import org .apache .pekko .http .scaladsl .model .HttpMethods
103- import org .apache .pekko .http .scaladsl .server .Directives .*
104- import org .apache .pekko .http .scaladsl .server .directives .BasicDirectives
105- import com .google .protobuf .ByteString
106- import org .lfdecentralizedtrust .splice .store .AppStoreWithIngestion .SpliceLedgerConnectionPriority
107- import org .lfdecentralizedtrust .splice .store .UpdateHistory .BackfillingRequirement
97+ import org .lfdecentralizedtrust .tokenstandard .metadata .v1 .Resource as TokenStandardMetadataResource
98+ import org .lfdecentralizedtrust .tokenstandard .transferinstruction .v1 .Resource as TokenStandardTransferInstructionResource
10899
109100import scala .concurrent .{ExecutionContextExecutor , Future }
110101import scala .util .{Failure , Success }
@@ -334,10 +325,15 @@ class ValidatorApp(
334325 .getOrElse(
335326 BaseLedgerConnection .sanitizeUserIdToPartyString(config.ledgerApiUser)
336327 )
328+ val configProvider = new ValidatorConfigProvider (
329+ ValidatorInternalStore (storage, loggerFactory),
330+ loggerFactory,
331+ )
337332 val participantPartyMigrator = new ParticipantPartyMigrator (
338333 connection,
339334 participantAdminConnection,
340335 config.domains.global.alias,
336+ configProvider,
341337 loggerFactory,
342338 )
343339 appInitStep(" Migrating party data" ) {
@@ -823,6 +819,10 @@ class ValidatorApp(
823819 readOnlyLedgerConnection,
824820 loggerFactory,
825821 )
822+ configProvider = new ValidatorConfigProvider (
823+ ValidatorInternalStore (storage, loggerFactory),
824+ loggerFactory,
825+ )
826826 walletManagerOpt =
827827 if (config.enableWallet) {
828828 val externalPartyWalletManager = new ExternalPartyWalletManager (
@@ -1213,6 +1213,7 @@ class ValidatorApp(
12131213 domainTimeAutomationService,
12141214 domainParamsAutomationService,
12151215 store,
1216+ configProvider,
12161217 automation,
12171218 walletManagerOpt,
12181219 timeouts,
@@ -1234,6 +1235,7 @@ object ValidatorApp {
12341235 domainTimeAutomationService : DomainTimeAutomationService ,
12351236 domainParamsAutomationService : DomainParamsAutomationService ,
12361237 store : ValidatorStore ,
1238+ configProvider : ValidatorConfigProvider ,
12371239 automation : ValidatorAutomationService ,
12381240 walletManager : Option [UserWalletManager ],
12391241 timeouts : ProcessingTimeout ,
0 commit comments