Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
26b627c
Add weight, kind to ValidatorLicense
dfordivam Oct 15, 2025
f0e076e
DsoRules_GrantValidatorLicense
dfordivam Oct 15, 2025
613d4e1
Fix merging of ValidatorLicenses
dfordivam Oct 24, 2025
ce0768f
Use defaultValidatorLicenseWeight, and fix runNextIssuanceD
dfordivam Nov 4, 2025
1184a59
Doc comment fix
dfordivam Nov 5, 2025
c153aa2
Documentation fixes
dfordivam Nov 5, 2025
a816a30
Add tests for ValidatorLicense weight
dfordivam Nov 4, 2025
08c5b37
Move Grant test to new file
dfordivam Nov 4, 2025
2f76f2e
Move test_MergeValidatorLicense
dfordivam Nov 4, 2025
28a1450
Add tests for confirming runNextIssuance(D) APIs use license weights
dfordivam Nov 4, 2025
2835562
Split test_MergeValidatorLicense into multiple smaller tests
dfordivam Nov 5, 2025
d1bfb93
Add a note about merging of weights
dfordivam Nov 5, 2025
70fd439
Bump daml.yaml package versions
dfordivam Nov 5, 2025
8099e01
Add new dars
dfordivam Nov 5, 2025
45811e6
Add new dars in DarResources.scala
dfordivam Nov 5, 2025
dfc5590
Bump versions in package.json
dfordivam Nov 5, 2025
45ef18f
Code fixes for daml changes
dfordivam Nov 5, 2025
395c3ff
Update apps/package-lock.json
dfordivam Nov 5, 2025
9e366de
Update dars.lock
dfordivam Nov 5, 2025
53ee5d1
Doc comment update
dfordivam Nov 6, 2025
872e0ca
Doc comment update
dfordivam Nov 6, 2025
c1de1cb
Refactor hasOperatorLicense
dfordivam Nov 6, 2025
dd600c0
Remove redundant import
dfordivam Nov 6, 2025
88741ca
Move merge ValidatorLicense logic to pure API and use unit tests
dfordivam Nov 6, 2025
64688e5
Refactor, use Total.minimumOn
dfordivam Nov 6, 2025
2689d2d
Add setupDefaultAppWithUsersNoFees for tests requiring more precise b…
dfordivam Nov 6, 2025
f332f9d
Refactor ValidatorLicense weight tests to use no-fees setup, and more…
dfordivam Nov 6, 2025
06f587a
Update daml/dars
dfordivam Nov 6, 2025
dc4985a
Update daml/dars.lock
dfordivam Nov 6, 2025
3c1bc2a
Bump daml version
dfordivam Nov 6, 2025
9e053fd
Update daml/dars.lock
dfordivam Nov 6, 2025
ee324c2
fix CI errors
meiersi-da Nov 6, 2025
1274d07
Upload dars in batches to avoid hitting gRPC limit
dfordivam Nov 7, 2025
389dce7
Update dars.lock
dfordivam Nov 7, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -168,13 +168,18 @@ class BootstrapPackageConfigIntegrationTest
// This simulates an app vetting newer versions of their own DARs depending on newer splice-amulet versions
// before the SVs do so. Topology aware package selection will then force the old splice-amulet and old splitwell versions
// for composed transactions. Note that for this to work splitwell contracts must be downgradeable.

// Split into batches to avoid gRPC message size limit (10 MB)
val batchSize = 12
val versionBatches =
DarResources.splitwell.all.map(_.metadata.version).distinct.grouped(batchSize).toSeq

Seq(aliceValidatorBackend, bobValidatorBackend, splitwellValidatorBackend).foreach { p =>
p.participantClient.dars.upload_many(
DarResources.splitwell.all
.map(_.metadata.version)
.distinct
.map((v: PackageVersion) => s"daml/dars/splitwell-$v.dar")
)
versionBatches.foreach { batch =>
p.participantClient.dars.upload_many(
batch.map((v: PackageVersion) => s"daml/dars/splitwell-$v.dar")
)
}
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ export function validatorLicensesHandler(baseUrl: string): RestHandler {
},
metadata: { version: '1', lastUpdatedAt: aTimestamp, contactPoint: 'nowhere' },
lastActiveAt: aTimestamp,
weight: null,
kind: null,
};
return {
contract_id: id,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@ object DarResources {
val amulet_0_1_12 = DarResource("splice-amulet-0.1.12.dar")
val amulet_0_1_13 = DarResource("splice-amulet-0.1.13.dar")
val amulet_0_1_14 = DarResource("splice-amulet-0.1.14.dar")
val amulet_0_1_15 = DarResource("splice-amulet-0.1.15.dar")
val amulet_current = DarResource("splice-amulet-current.dar")
val amulet = PackageResource(
amulet_current,
Expand All @@ -95,6 +96,7 @@ object DarResources {
amulet_0_1_12,
amulet_0_1_13,
amulet_0_1_14,
amulet_0_1_15,
),
)

Expand All @@ -119,6 +121,7 @@ object DarResources {
val dsoGovernance_0_1_18 = DarResource("splice-dso-governance-0.1.18.dar")
val dsoGovernance_0_1_19 = DarResource("splice-dso-governance-0.1.19.dar")
val dsoGovernance_0_1_20 = DarResource("splice-dso-governance-0.1.20.dar")
val dsoGovernance_0_1_21 = DarResource("splice-dso-governance-0.1.21.dar")
val dsoGovernance_current = DarResource("splice-dso-governance-current.dar")
val dsoGovernance = PackageResource(
dsoGovernance_current,
Expand All @@ -145,6 +148,7 @@ object DarResources {
dsoGovernance_0_1_18,
dsoGovernance_0_1_19,
dsoGovernance_0_1_20,
dsoGovernance_0_1_21,
),
)

Expand All @@ -164,6 +168,7 @@ object DarResources {
val amuletNameService_0_1_13 = DarResource("splice-amulet-name-service-0.1.13.dar")
val amuletNameService_0_1_14 = DarResource("splice-amulet-name-service-0.1.14.dar")
val amuletNameService_0_1_15 = DarResource("splice-amulet-name-service-0.1.15.dar")
val amuletNameService_0_1_16 = DarResource("splice-amulet-name-service-0.1.16.dar")
val amuletNameService_current = DarResource("splice-amulet-name-service-current.dar")
val amuletNameService = PackageResource(
amuletNameService_current,
Expand All @@ -185,6 +190,7 @@ object DarResources {
amuletNameService_0_1_13,
amuletNameService_0_1_14,
amuletNameService_0_1_15,
amuletNameService_0_1_16,
),
)

Expand All @@ -203,6 +209,7 @@ object DarResources {
val splitwell_0_1_12 = DarResource("splitwell-0.1.12.dar")
val splitwell_0_1_13 = DarResource("splitwell-0.1.13.dar")
val splitwell_0_1_14 = DarResource("splitwell-0.1.14.dar")
val splitwell_0_1_15 = DarResource("splitwell-0.1.15.dar")
val splitwell_current = DarResource("splitwell-current.dar")
val splitwell = PackageResource(
splitwell_current,
Expand All @@ -223,6 +230,7 @@ object DarResources {
splitwell_0_1_12,
splitwell_0_1_13,
splitwell_0_1_14,
splitwell_0_1_15,
),
)

Expand All @@ -241,6 +249,7 @@ object DarResources {
val wallet_0_1_12 = DarResource("splice-wallet-0.1.12.dar")
val wallet_0_1_13 = DarResource("splice-wallet-0.1.13.dar")
val wallet_0_1_14 = DarResource("splice-wallet-0.1.14.dar")
val wallet_0_1_15 = DarResource("splice-wallet-0.1.15.dar")
val wallet_current = DarResource("splice-wallet-current.dar")
val wallet = PackageResource(
wallet_current,
Expand All @@ -261,6 +270,7 @@ object DarResources {
wallet_0_1_12,
wallet_0_1_13,
wallet_0_1_14,
wallet_0_1_15,
),
)

Expand All @@ -279,6 +289,7 @@ object DarResources {
val walletPayments_0_1_12 = DarResource("splice-wallet-payments-0.1.12.dar")
val walletPayments_0_1_13 = DarResource("splice-wallet-payments-0.1.13.dar")
val walletPayments_0_1_14 = DarResource("splice-wallet-payments-0.1.14.dar")
val walletPayments_0_1_15 = DarResource("splice-wallet-payments-0.1.15.dar")
val walletPayments_current = DarResource("splice-wallet-payments-current.dar")
val walletPayments = PackageResource(
walletPayments_current,
Expand All @@ -299,6 +310,7 @@ object DarResources {
walletPayments_0_1_12,
walletPayments_0_1_13,
walletPayments_0_1_14,
walletPayments_0_1_15,
),
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -411,6 +411,8 @@ abstract class StoreTest extends AsyncWordSpec with BaseTest {
)
).toJava,
Some(defaultEffectiveAt).toJava,
Optional.empty(),
Optional.empty(),
)
contract(
identifier = templateId,
Expand Down Expand Up @@ -460,6 +462,7 @@ abstract class StoreTest extends AsyncWordSpec with BaseTest {
dsoParty.toProtoPrimitive,
validator.toProtoPrimitive,
new Round(round),
Optional.empty(),
),
)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,8 @@ class ValueJsonCodecCodegenTest extends StoreTest with StoreErrors {
Optional.empty(),
Optional.empty(),
Optional.empty(),
Optional.empty(),
Optional.empty(),
)
// with (one) optional field set
val decodedOptionalSet: JavaApi.DamlRecord = ValueJsonCodecCodegen
Expand All @@ -81,6 +83,8 @@ class ValueJsonCodecCodegenTest extends StoreTest with StoreErrors {
Optional.empty(),
Optional.empty(),
Optional.of(java.time.Instant.EPOCH),
Optional.empty(),
Optional.empty(),
)
}

Expand Down
Loading
Loading