mirror of
https://github.com/digital-asset/daml.git
synced 2024-09-17 15:57:21 +03:00
Port upgrading changes from 2.x (#18733)
Includes: Pass package resolution into reinterpret (#18286) Enable upgrading based on language version (#18239)
This commit is contained in:
parent
db54939c92
commit
6e5763b40f
@ -5,7 +5,6 @@ package com.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}
|
||||
@ -109,7 +108,7 @@ private[lf] final class ConcurrentCompiledPackages(compilerConfig: Compiler.Conf
|
||||
val defns =
|
||||
try {
|
||||
new speedy.Compiler(extendedSignatures, compilerConfig)
|
||||
.unsafeCompilePackage(pkgId, pkg, compilerConfig.enableContractUpgrading)
|
||||
.unsafeCompilePackage(pkgId, pkg)
|
||||
} catch {
|
||||
case e: validation.ValidationError =>
|
||||
return ResultError(Error.Package.Validation(e))
|
||||
|
@ -71,7 +71,6 @@ class Engine(val config: EngineConfig) {
|
||||
new preprocessing.Preprocessor(
|
||||
compiledPackages = compiledPackages,
|
||||
requireV1ContractIdSuffix = config.requireSuffixedGlobalContractId,
|
||||
enableContractUpgrading = config.enableContractUpgrading,
|
||||
)
|
||||
|
||||
def info = new EngineInfo(config)
|
||||
|
@ -48,7 +48,7 @@ final case class EngineConfig(
|
||||
limits: interpretation.Limits = interpretation.Limits.Lenient,
|
||||
checkAuthorization: Boolean = true,
|
||||
iterationsBetweenInterruptions: Long = 10000,
|
||||
enableContractUpgrading: Boolean = false,
|
||||
enableContractUpgrading: Boolean = true, // Will be removed once removed from Canton
|
||||
) {
|
||||
private[lf] def getCompilerConfig: speedy.Compiler.Config =
|
||||
speedy.Compiler.Config(
|
||||
@ -68,7 +68,6 @@ final case class EngineConfig(
|
||||
speedy.Compiler.FullProfile
|
||||
else
|
||||
speedy.Compiler.NoProfile,
|
||||
enableContractUpgrading = enableContractUpgrading,
|
||||
)
|
||||
|
||||
private[lf] def authorizationChecker: AuthorizationChecker =
|
||||
|
@ -55,6 +55,7 @@ sealed trait Result[+A] extends Product with Serializable {
|
||||
pkgs: PartialFunction[PackageId, Package] = PartialFunction.empty,
|
||||
keys: PartialFunction[GlobalKeyWithMaintainers, ContractId] = PartialFunction.empty,
|
||||
grantNeedAuthority: Boolean = false,
|
||||
grantUpgradeVerification: Option[String] = Some("not validated!"),
|
||||
): Either[Error, A] = {
|
||||
@tailrec
|
||||
def go(res: Result[A]): Either[Error, A] =
|
||||
@ -66,7 +67,8 @@ sealed trait Result[+A] extends Product with Serializable {
|
||||
case ResultNeedPackage(pkgId, resume) => go(resume(pkgs.lift(pkgId)))
|
||||
case ResultNeedKey(key, resume) => go(resume(keys.lift(key)))
|
||||
case ResultNeedAuthority(_, _, resume) => go(resume(grantNeedAuthority))
|
||||
case ResultNeedUpgradeVerification(_, _, _, _, resume) => go(resume(Some("not validated!")))
|
||||
case ResultNeedUpgradeVerification(_, _, _, _, resume) =>
|
||||
go(resume(grantUpgradeVerification))
|
||||
}
|
||||
go(this)
|
||||
}
|
||||
|
@ -14,35 +14,10 @@ import com.daml.scalautil.Statement.discard
|
||||
private[lf] final class CommandPreprocessor(
|
||||
pkgInterface: language.PackageInterface,
|
||||
requireV1ContractIdSuffix: Boolean,
|
||||
enableContractUpgrading: Boolean,
|
||||
) {
|
||||
|
||||
import Preprocessor._
|
||||
|
||||
// config for createArgument in ApiCommand
|
||||
private[this] val LenientCreateArgTranslateConfig =
|
||||
if (enableContractUpgrading)
|
||||
ValueTranslator.Config.Upgradeable
|
||||
else
|
||||
ValueTranslator.Config.Strict
|
||||
|
||||
// config for non createArgument in ApiCommand
|
||||
private[this] val LenientNonCreateArgTranslateConfig =
|
||||
if (enableContractUpgrading)
|
||||
// in case of upgrade
|
||||
// - we need to ignore package id
|
||||
ValueTranslator.Config.Coerceable
|
||||
else
|
||||
ValueTranslator.Config.Strict
|
||||
|
||||
// Config for all values translation in ReplayCommand and explicit disclosure
|
||||
// is it strict in the sens, upgrade is completely disable.
|
||||
// TODO: https://github.com/digital-asset/daml/issues/17082
|
||||
// We allow field reordering for backward compatibility reason
|
||||
// However we probably could and should prevent it
|
||||
private[this] val StrictTranslateConfig =
|
||||
ValueTranslator.Config.Strict
|
||||
|
||||
private val valueTranslator =
|
||||
new ValueTranslator(
|
||||
pkgInterface = pkgInterface,
|
||||
@ -51,18 +26,21 @@ private[lf] final class CommandPreprocessor(
|
||||
|
||||
import valueTranslator.validateCid
|
||||
|
||||
private[this] def translateUpgradableArg(typ: Ast.Type, value: Value, strict: Boolean) =
|
||||
private def valueTranslatorConfig(strict: Boolean) =
|
||||
if (strict) ValueTranslator.Config.Strict else ValueTranslator.Config.Upgradeable
|
||||
|
||||
private def translateUpgradableArg(typ: Ast.Type, value: Value, strict: Boolean) =
|
||||
valueTranslator.unsafeTranslateValue(
|
||||
ty = typ,
|
||||
value = value,
|
||||
config = if (strict) StrictTranslateConfig else LenientCreateArgTranslateConfig,
|
||||
config = valueTranslatorConfig(strict),
|
||||
)
|
||||
|
||||
private[this] def translateNonUpgradableArg(typ: Ast.Type, value: Value, strict: Boolean) =
|
||||
private def translateNonUpgradableArg(typ: Ast.Type, value: Value, strict: Boolean) =
|
||||
valueTranslator.unsafeTranslateValue(
|
||||
ty = typ,
|
||||
value = value,
|
||||
config = if (strict) StrictTranslateConfig else LenientNonCreateArgTranslateConfig,
|
||||
config = valueTranslatorConfig(strict),
|
||||
)
|
||||
|
||||
// This is used by value enricher,
|
||||
@ -139,11 +117,7 @@ private[lf] final class CommandPreprocessor(
|
||||
templateId = templateId,
|
||||
contractId = valueTranslator.unsafeTranslateCid(contractId),
|
||||
choiceId = choiceId,
|
||||
argument = translateUpgradableArg(
|
||||
choice.argBinder._2,
|
||||
argument,
|
||||
strict = strict,
|
||||
),
|
||||
argument = translateUpgradableArg(choice.argBinder._2, argument, strict = strict),
|
||||
)
|
||||
}
|
||||
|
||||
@ -159,11 +133,7 @@ private[lf] final class CommandPreprocessor(
|
||||
interfaceId = ifaceId,
|
||||
contractId = valueTranslator.unsafeTranslateCid(contractId),
|
||||
choiceId = choiceId,
|
||||
argument = translateNonUpgradableArg(
|
||||
choice.argBinder._2,
|
||||
argument,
|
||||
strict = strict,
|
||||
),
|
||||
argument = translateNonUpgradableArg(choice.argBinder._2, argument, strict = strict),
|
||||
)
|
||||
}
|
||||
|
||||
@ -179,16 +149,8 @@ private[lf] final class CommandPreprocessor(
|
||||
pkgInterface.lookupTemplateChoice(templateId, choiceId)
|
||||
).argBinder._2
|
||||
val ckTtype = handleLookup(pkgInterface.lookupTemplateKey(templateId)).typ
|
||||
val arg = translateUpgradableArg(
|
||||
choiceArgType,
|
||||
argument,
|
||||
strict = strict,
|
||||
)
|
||||
val key = translateNonUpgradableArg(
|
||||
ckTtype,
|
||||
contractKey,
|
||||
strict = strict,
|
||||
)
|
||||
val arg = translateUpgradableArg(choiceArgType, argument, strict = strict)
|
||||
val key = translateNonUpgradableArg(ckTtype, contractKey, strict = strict)
|
||||
speedy.Command.ExerciseByKey(templateId, key, choiceId, arg)
|
||||
}
|
||||
|
||||
@ -221,11 +183,7 @@ private[lf] final class CommandPreprocessor(
|
||||
strict: Boolean,
|
||||
): speedy.Command.LookupByKey = {
|
||||
val ckTtype = handleLookup(pkgInterface.lookupTemplateKey(templateId)).typ
|
||||
val key = translateNonUpgradableArg(
|
||||
ckTtype,
|
||||
contractKey,
|
||||
strict = strict,
|
||||
)
|
||||
val key = translateNonUpgradableArg(ckTtype, contractKey, strict = strict)
|
||||
speedy.Command.LookupByKey(templateId, key)
|
||||
}
|
||||
|
||||
@ -328,19 +286,11 @@ private[lf] final class CommandPreprocessor(
|
||||
}
|
||||
case command.ReplayCommand.FetchByKey(templateId, key) =>
|
||||
val ckTtype = handleLookup(pkgInterface.lookupTemplateKey(templateId)).typ
|
||||
val sKey = translateNonUpgradableArg(
|
||||
ckTtype,
|
||||
key,
|
||||
strict = true,
|
||||
)
|
||||
val sKey = translateNonUpgradableArg(ckTtype, key, strict = true)
|
||||
speedy.Command.FetchByKey(templateId, sKey)
|
||||
case command.ReplayCommand.LookupByKey(templateId, key) =>
|
||||
val ckTtype = handleLookup(pkgInterface.lookupTemplateKey(templateId)).typ
|
||||
val sKey = translateNonUpgradableArg(
|
||||
ckTtype,
|
||||
key,
|
||||
strict = true,
|
||||
)
|
||||
val sKey = translateNonUpgradableArg(ckTtype, key, strict = true)
|
||||
speedy.Command.LookupByKey(templateId, sKey)
|
||||
}
|
||||
|
||||
@ -381,12 +331,9 @@ private[lf] final class CommandPreprocessor(
|
||||
discard(handleLookup(pkgInterface.lookupInterface(interfaceId)))
|
||||
discard(handleLookup(pkgInterface.lookupInterfaceInstance(interfaceId, templateId)))
|
||||
|
||||
val arg = translateNonUpgradableArg(
|
||||
Ast.TTyCon(templateId),
|
||||
argument,
|
||||
strict = true,
|
||||
)
|
||||
val arg = translateNonUpgradableArg(Ast.TTyCon(templateId), argument, strict = true)
|
||||
|
||||
speedy.InterfaceView(templateId, arg, interfaceId)
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -37,7 +37,6 @@ import scala.annotation.tailrec
|
||||
private[engine] final class Preprocessor(
|
||||
compiledPackages: MutableCompiledPackages,
|
||||
requireV1ContractIdSuffix: Boolean = true,
|
||||
enableContractUpgrading: Boolean = false,
|
||||
) {
|
||||
|
||||
import Preprocessor._
|
||||
@ -48,7 +47,6 @@ private[engine] final class Preprocessor(
|
||||
new CommandPreprocessor(
|
||||
pkgInterface = pkgInterface,
|
||||
requireV1ContractIdSuffix = requireV1ContractIdSuffix,
|
||||
enableContractUpgrading = enableContractUpgrading,
|
||||
)
|
||||
|
||||
val transactionPreprocessor = new TransactionPreprocessor(commandPreprocessor)
|
||||
|
@ -121,7 +121,6 @@ class ApiCommandPreprocessorSpec(majorLanguageVersion: LanguageMajorVersion)
|
||||
new CommandPreprocessor(
|
||||
compiledPackage.pkgInterface,
|
||||
requireV1ContractIdSuffix = false,
|
||||
enableContractUpgrading = false,
|
||||
)
|
||||
|
||||
"reject improperly typed ApiCommands" in {
|
||||
@ -273,7 +272,6 @@ class ApiCommandPreprocessorSpec(majorLanguageVersion: LanguageMajorVersion)
|
||||
val cmdPreprocessor = new CommandPreprocessor(
|
||||
compiledPackage.pkgInterface,
|
||||
requireV1ContractIdSuffix = false,
|
||||
enableContractUpgrading = false,
|
||||
)
|
||||
|
||||
val cids = List(
|
||||
@ -299,7 +297,6 @@ class ApiCommandPreprocessorSpec(majorLanguageVersion: LanguageMajorVersion)
|
||||
val cmdPreprocessor = new CommandPreprocessor(
|
||||
compiledPackage.pkgInterface,
|
||||
requireV1ContractIdSuffix = true,
|
||||
enableContractUpgrading = false,
|
||||
)
|
||||
val List(aLegalCid, anotherLegalCid) =
|
||||
List("a legal Contract ID", "another legal Contract ID").map(s =>
|
||||
|
@ -55,13 +55,22 @@ class ContractKeySpec(majorLanguageVersion: LanguageMajorVersion)
|
||||
|
||||
private[this] implicit def logContext: LoggingContext = LoggingContext.ForTesting
|
||||
|
||||
private def loadPackage(resource: String): (PackageId, Package, Map[PackageId, Package]) = {
|
||||
private[this] val suffixLenientEngine = Engine.DevEngine(majorLanguageVersion)
|
||||
private[this] val compiledPackages = ConcurrentCompiledPackages(
|
||||
suffixLenientEngine.config.getCompilerConfig
|
||||
)
|
||||
private[this] val preprocessor = new preprocessing.Preprocessor(compiledPackages)
|
||||
|
||||
private def loadAndAddPackage(resource: String): (PackageId, Package, Map[PackageId, Package]) = {
|
||||
val packages = UniversalArchiveDecoder.assertReadFile(new File(rlocation(resource)))
|
||||
val (mainPkgId, mainPkg) = packages.main
|
||||
assert(
|
||||
compiledPackages.addPackage(mainPkgId, mainPkg).consume(pkgs = packages.all.toMap).isRight
|
||||
)
|
||||
(mainPkgId, mainPkg, packages.all.toMap)
|
||||
}
|
||||
|
||||
private val (basicTestsPkgId, basicTestsPkg, allPackages) = loadPackage(
|
||||
private val (basicTestsPkgId, basicTestsPkg, allPackages) = loadAndAddPackage(
|
||||
s"daml-lf/engine/BasicTests-v${majorLanguageVersion.pretty}dev.dar"
|
||||
)
|
||||
|
||||
@ -135,12 +144,6 @@ class ContractKeySpec(majorLanguageVersion: LanguageMajorVersion)
|
||||
toContractId("BasicTests:WithKey:1")
|
||||
}
|
||||
|
||||
private[this] val suffixLenientEngine = Engine.DevEngine(majorLanguageVersion)
|
||||
private[this] val preprocessor =
|
||||
new preprocessing.Preprocessor(
|
||||
ConcurrentCompiledPackages(suffixLenientEngine.config.getCompilerConfig)
|
||||
)
|
||||
|
||||
"contract key" should {
|
||||
val now = Time.Timestamp.now()
|
||||
val submissionSeed = crypto.Hash.hashPrivateKey("contract key")
|
||||
@ -273,7 +276,7 @@ class ContractKeySpec(majorLanguageVersion: LanguageMajorVersion)
|
||||
)
|
||||
)
|
||||
val (multiKeysPkgId, multiKeysPkg, allMultiKeysPkgs) =
|
||||
loadPackage(s"daml-lf/tests/MultiKeys-v${majorLanguageVersion.pretty}dev.dar")
|
||||
loadAndAddPackage(s"daml-lf/tests/MultiKeys-v${majorLanguageVersion.pretty}dev.dar")
|
||||
val keyedId = Identifier(multiKeysPkgId, "MultiKeys:Keyed")
|
||||
val opsId = Identifier(multiKeysPkgId, "MultiKeys:KeyOperations")
|
||||
val let = Time.Timestamp.now()
|
||||
|
@ -52,6 +52,7 @@ import scala.annotation.nowarn
|
||||
import scala.collection.immutable.HashMap
|
||||
import scala.language.implicitConversions
|
||||
import scala.math.Ordered.orderingToOrdered
|
||||
import scala.util.Right
|
||||
|
||||
class EngineTestV2 extends EngineTest(LanguageMajorVersion.V2)
|
||||
|
||||
@ -240,16 +241,18 @@ class EngineTest(majorLanguageVersion: LanguageMajorVersion)
|
||||
val Right((tx, _)) = interpretResult(templateId, signatories, submitters)
|
||||
|
||||
val replaySubmitters = submitters + party
|
||||
val replayResult = suffixLenientEngine.replay(
|
||||
submitters = replaySubmitters,
|
||||
tx = tx,
|
||||
ledgerEffectiveTime = let,
|
||||
participantId = participant,
|
||||
submissionTime = let,
|
||||
submissionSeed = submissionSeed,
|
||||
)
|
||||
val replayResult = suffixLenientEngine
|
||||
.replay(
|
||||
submitters = replaySubmitters,
|
||||
tx = tx,
|
||||
ledgerEffectiveTime = let,
|
||||
participantId = participant,
|
||||
submissionTime = let,
|
||||
submissionSeed = submissionSeed,
|
||||
)
|
||||
.consume(grantUpgradeVerification = None)
|
||||
|
||||
replayResult shouldBe a[ResultDone[_]]
|
||||
replayResult shouldBe a[Right[_, _]]
|
||||
}
|
||||
}
|
||||
|
||||
@ -338,6 +341,7 @@ class EngineTest(majorLanguageVersion: LanguageMajorVersion)
|
||||
let,
|
||||
lookupPackage,
|
||||
defaultContracts,
|
||||
grantUpgradeVerification = None,
|
||||
)
|
||||
isReplayedBy(stx, rtx) shouldBe Right(())
|
||||
}
|
||||
@ -346,7 +350,7 @@ class EngineTest(majorLanguageVersion: LanguageMajorVersion)
|
||||
val ntx = SubmittedTransaction(Normalization.normalizeTx(tx))
|
||||
val validated = suffixLenientEngine
|
||||
.validate(Set(submitter), ntx, let, participant, let, submissionSeed)
|
||||
.consume(lookupContract, lookupPackage, lookupKey)
|
||||
.consume(lookupContract, lookupPackage, lookupKey, grantUpgradeVerification = None)
|
||||
validated match {
|
||||
case Left(e) =>
|
||||
fail(e.message)
|
||||
@ -476,7 +480,7 @@ class EngineTest(majorLanguageVersion: LanguageMajorVersion)
|
||||
val ntx = SubmittedTransaction(Normalization.normalizeTx(tx))
|
||||
val validated = suffixLenientEngine
|
||||
.validate(submitters, ntx, let, participant, let, submissionSeed)
|
||||
.consume(lookupContract, lookupPackage, lookupKey)
|
||||
.consume(lookupContract, lookupPackage, lookupKey, grantUpgradeVerification = None)
|
||||
validated match {
|
||||
case Left(e) =>
|
||||
fail(e.message)
|
||||
@ -823,7 +827,16 @@ class EngineTest(majorLanguageVersion: LanguageMajorVersion)
|
||||
val stx = suffix(tx)
|
||||
|
||||
val Right((rtx, _)) =
|
||||
reinterpret(suffixStrictEngine, Set(party), stx.roots, stx, txMeta, let, lookupPackage)
|
||||
reinterpret(
|
||||
suffixStrictEngine,
|
||||
Set(party),
|
||||
stx.roots,
|
||||
stx,
|
||||
txMeta,
|
||||
let,
|
||||
lookupPackage,
|
||||
grantUpgradeVerification = None,
|
||||
)
|
||||
|
||||
isReplayedBy(stx, rtx) shouldBe Right(())
|
||||
}
|
||||
@ -1100,6 +1113,7 @@ class EngineTest(majorLanguageVersion: LanguageMajorVersion)
|
||||
let,
|
||||
lookupPackage,
|
||||
defaultContracts,
|
||||
grantUpgradeVerification = None,
|
||||
)
|
||||
|
||||
isReplayedBy(rtx, stx) shouldBe Right(())
|
||||
@ -1306,7 +1320,7 @@ class EngineTest(majorLanguageVersion: LanguageMajorVersion)
|
||||
txMeta.submissionTime,
|
||||
let,
|
||||
)
|
||||
.consume(lookupContract, lookupPackage, lookupKey)
|
||||
.consume(lookupContract, lookupPackage, lookupKey, grantUpgradeVerification = None)
|
||||
isReplayedBy(fetchTx, reinterpreted) shouldBe Right(())
|
||||
}
|
||||
}
|
||||
@ -1359,7 +1373,7 @@ class EngineTest(majorLanguageVersion: LanguageMajorVersion)
|
||||
val reinterpreted =
|
||||
engine
|
||||
.reinterpret(submitters, fetchNode, None, let, let)
|
||||
.consume(lookupContract, lookupPackage, lookupKey)
|
||||
.consume(lookupContract, lookupPackage, lookupKey, grantUpgradeVerification = None)
|
||||
|
||||
reinterpreted shouldBe a[Right[_, _]]
|
||||
}
|
||||
@ -1465,7 +1479,7 @@ class EngineTest(majorLanguageVersion: LanguageMajorVersion)
|
||||
txMeta.submissionTime,
|
||||
now,
|
||||
)
|
||||
.consume(lookupContract, lookupPackage, lookupKey)
|
||||
.consume(lookupContract, lookupPackage, lookupKey, grantUpgradeVerification = None)
|
||||
|
||||
firstLookupNode(reinterpreted.transaction).map(_._2) shouldEqual Some(lookupNode)
|
||||
}
|
||||
@ -1967,6 +1981,7 @@ class EngineTest(majorLanguageVersion: LanguageMajorVersion)
|
||||
txMeta,
|
||||
let,
|
||||
lookupPackage,
|
||||
grantUpgradeVerification = None,
|
||||
) shouldBe a[Right[_, _]]
|
||||
|
||||
}
|
||||
@ -1976,7 +1991,7 @@ class EngineTest(majorLanguageVersion: LanguageMajorVersion)
|
||||
val (exceptionsPkgId, exceptionsPkg, allExceptionsPkgs) =
|
||||
// TODO(https://github.com/digital-asset/daml/issues/18457): split key test cases and revert
|
||||
// to non-dev dar
|
||||
loadPackage(s"daml-lf/tests/Exceptions-v${majorLanguageVersion.pretty}dev.dar")
|
||||
loadAndAddPackage(s"daml-lf/tests/Exceptions-v${majorLanguageVersion.pretty}dev.dar")
|
||||
val kId = Identifier(exceptionsPkgId, "Exceptions:K")
|
||||
val tId = Identifier(exceptionsPkgId, "Exceptions:T")
|
||||
val let = Time.Timestamp.now()
|
||||
@ -2127,7 +2142,7 @@ class EngineTest(majorLanguageVersion: LanguageMajorVersion)
|
||||
val (exceptionsPkgId, exceptionsPkg, allExceptionsPkgs) =
|
||||
// TODO(https://github.com/digital-asset/daml/issues/18457): split key test cases and revert
|
||||
// to non-dev dar
|
||||
loadPackage(s"daml-lf/tests/Exceptions-v${majorLanguageVersion.pretty}dev.dar")
|
||||
loadAndAddPackage(s"daml-lf/tests/Exceptions-v${majorLanguageVersion.pretty}dev.dar")
|
||||
val kId = Identifier(exceptionsPkgId, "Exceptions:K")
|
||||
val seedId = Identifier(exceptionsPkgId, "Exceptions:NodeSeeds")
|
||||
val let = Time.Timestamp.now()
|
||||
@ -2206,7 +2221,7 @@ class EngineTest(majorLanguageVersion: LanguageMajorVersion)
|
||||
val (exceptionsPkgId, exceptionsPkg, allExceptionsPkgs) =
|
||||
// TODO(https://github.com/digital-asset/daml/issues/18457): split key test cases and revert
|
||||
// to non-dev dar
|
||||
loadPackage(s"daml-lf/tests/Exceptions-v${majorLanguageVersion.pretty}dev.dar")
|
||||
loadAndAddPackage(s"daml-lf/tests/Exceptions-v${majorLanguageVersion.pretty}dev.dar")
|
||||
val kId = Identifier(exceptionsPkgId, "Exceptions:K")
|
||||
val tId = Identifier(exceptionsPkgId, "Exceptions:GlobalLookups")
|
||||
val let = Time.Timestamp.now()
|
||||
@ -2310,7 +2325,7 @@ class EngineTest(majorLanguageVersion: LanguageMajorVersion)
|
||||
)
|
||||
|
||||
val devVersion = majorLanguageVersion.dev
|
||||
val (_, _, allPackagesDev) = new EngineTestHelpers(majorLanguageVersion).loadPackage(
|
||||
val (_, _, allPackagesDev) = new EngineTestHelpers(majorLanguageVersion).loadAndAddPackage(
|
||||
s"daml-lf/engine/BasicTests-v${majorLanguageVersion.pretty}dev.dar"
|
||||
)
|
||||
val compatibleLanguageVersions = LanguageVersion.All
|
||||
@ -2402,7 +2417,21 @@ class EngineTestHelpers(majorLanguageVersion: LanguageMajorVersion) {
|
||||
implicit def toName(s: String): Name =
|
||||
Name.assertFromString(s)
|
||||
|
||||
val (basicTestsPkgId, basicTestsPkg, allPackages) = loadPackage(
|
||||
val suffixStrictEngine: Engine = newEngine(requireCidSuffixes = true)
|
||||
val suffixLenientEngine = newEngine()
|
||||
val compiledPackages = ConcurrentCompiledPackages(suffixLenientEngine.config.getCompilerConfig)
|
||||
val preprocessor = new preprocessing.Preprocessor(compiledPackages)
|
||||
|
||||
def loadAndAddPackage(resource: String): (PackageId, Package, Map[PackageId, Package]) = {
|
||||
val packages = UniversalArchiveDecoder.assertReadFile(new File(rlocation(resource)))
|
||||
val (mainPkgId, mainPkg) = packages.main
|
||||
assert(
|
||||
compiledPackages.addPackage(mainPkgId, mainPkg).consume(pkgs = packages.all.toMap).isRight
|
||||
)
|
||||
(mainPkgId, mainPkg, packages.all.toMap)
|
||||
}
|
||||
|
||||
val (basicTestsPkgId, basicTestsPkg, allPackages) = loadAndAddPackage(
|
||||
// TODO(https://github.com/digital-asset/daml/issues/18457): split key test cases and revert to
|
||||
// non-dev dar
|
||||
s"daml-lf/engine/BasicTests-v${majorLanguageVersion.pretty}dev.dar"
|
||||
@ -2482,19 +2511,6 @@ class EngineTestHelpers(majorLanguageVersion: LanguageMajorVersion) {
|
||||
|
||||
val lookupContract = defaultContracts
|
||||
|
||||
val suffixLenientEngine: Engine = newEngine()
|
||||
val suffixStrictEngine: Engine = newEngine(requireCidSuffixes = true)
|
||||
val preprocessor =
|
||||
new preprocessing.Preprocessor(
|
||||
ConcurrentCompiledPackages(suffixLenientEngine.config.getCompilerConfig)
|
||||
)
|
||||
|
||||
def loadPackage(resource: String): (PackageId, Package, Map[PackageId, Package]) = {
|
||||
val packages = UniversalArchiveDecoder.assertReadFile(new File(rlocation(resource)))
|
||||
val (mainPkgId, mainPkg) = packages.main
|
||||
(mainPkgId, mainPkg, packages.all.toMap)
|
||||
}
|
||||
|
||||
val lookupPackage = allPackages
|
||||
|
||||
val lookupKey: PartialFunction[GlobalKeyWithMaintainers, ContractId] = {
|
||||
@ -2553,6 +2569,7 @@ class EngineTestHelpers(majorLanguageVersion: LanguageMajorVersion) {
|
||||
lookupPackages: PartialFunction[PackageId, Package],
|
||||
contracts: Map[ContractId, VersionedContractInstance] = Map.empty,
|
||||
keys: Map[GlobalKeyWithMaintainers, ContractId] = Map.empty,
|
||||
grantUpgradeVerification: Option[String] = None,
|
||||
): Either[Error, (VersionedTransaction, Tx.Metadata)] = {
|
||||
|
||||
val nodeSeedMap = txMeta.nodeSeeds.toSeq.toMap
|
||||
@ -2603,6 +2620,7 @@ class EngineTestHelpers(majorLanguageVersion: LanguageMajorVersion) {
|
||||
state.contracts,
|
||||
lookupPackages,
|
||||
state.keys,
|
||||
grantUpgradeVerification = grantUpgradeVerification,
|
||||
)
|
||||
(tr0, meta0) = currentStep
|
||||
tr1 = suffix(tr0)
|
||||
|
@ -45,21 +45,26 @@ class InterfacesTest(majorLanguageVersion: LanguageMajorVersion)
|
||||
|
||||
import InterfacesTest._
|
||||
|
||||
private def loadPackage(resource: String): (PackageId, Package, Map[PackageId, Package]) = {
|
||||
private[this] val engine = Engine.DevEngine(majorLanguageVersion)
|
||||
private[this] val compiledPackages = ConcurrentCompiledPackages(engine.config.getCompilerConfig)
|
||||
private[this] val preprocessor = new preprocessing.Preprocessor(compiledPackages)
|
||||
|
||||
private def loadAndAddPackage(resource: String): (PackageId, Package, Map[PackageId, Package]) = {
|
||||
val packages = UniversalArchiveDecoder.assertReadFile(new File(rlocation(resource)))
|
||||
val (mainPkgId, mainPkg) = packages.main
|
||||
assert(
|
||||
compiledPackages.addPackage(mainPkgId, mainPkg).consume(pkgs = packages.all.toMap).isRight
|
||||
)
|
||||
(mainPkgId, mainPkg, packages.all.toMap)
|
||||
}
|
||||
|
||||
private[this] val engine = Engine.DevEngine(majorLanguageVersion)
|
||||
private[this] val preprocessor =
|
||||
new preprocessing.Preprocessor(
|
||||
ConcurrentCompiledPackages(engine.config.getCompilerConfig)
|
||||
)
|
||||
|
||||
"interfaces" should {
|
||||
|
||||
val (interfacesPkgId, interfacesPkg, allInterfacesPkgs) =
|
||||
loadPackage(s"daml-lf/tests/Interfaces-v${majorLanguageVersion.pretty}.dar")
|
||||
loadAndAddPackage(s"daml-lf/tests/Interfaces-v${majorLanguageVersion.pretty}.dar")
|
||||
|
||||
val packageNameMap = Map(interfacesPkg.name -> interfacesPkgId)
|
||||
|
||||
val idI1 = Identifier(interfacesPkgId, "Interfaces:I1")
|
||||
val idI2 = Identifier(interfacesPkgId, "Interfaces:I2")
|
||||
val idT1 = Identifier(interfacesPkgId, "Interfaces:T1")
|
||||
@ -101,6 +106,7 @@ class InterfacesTest(majorLanguageVersion: LanguageMajorVersion)
|
||||
ledgerTime = let,
|
||||
submissionTime = let,
|
||||
seeding = seeding,
|
||||
packageResolution = packageNameMap,
|
||||
)
|
||||
} yield result
|
||||
def runApi(cmd: ApiCommand): Either[Error, (SubmittedTransaction, Transaction.Metadata)] =
|
||||
|
@ -165,7 +165,7 @@ class NodeSeedsTest(majorLanguageVersion: LanguageMajorVersion) extends AnyWordS
|
||||
time,
|
||||
time,
|
||||
)(LoggingContext.empty)
|
||||
.consume(pcs = contracts, pkgs = packages)
|
||||
.consume(pcs = contracts, pkgs = packages, grantUpgradeVerification = None)
|
||||
rTx.nodes.values.collect { case create: Node.Create => create }.toSet
|
||||
}
|
||||
|
||||
|
@ -87,7 +87,7 @@ class ReinterpretTest(majorLanguageVersion: LanguageMajorVersion)
|
||||
time,
|
||||
time,
|
||||
)
|
||||
.consume(pcs = defaultContracts, pkgs = allPackages)
|
||||
.consume(pcs = defaultContracts, pkgs = allPackages, grantUpgradeVerification = None)
|
||||
res match {
|
||||
case Right((tx, _)) => Right(tx)
|
||||
case Left(e) => Left(e)
|
||||
|
@ -85,7 +85,6 @@ class ReplayCommandPreprocessorSpec(majorLanguageVersion: LanguageMajorVersion)
|
||||
new CommandPreprocessor(
|
||||
compiledPackage.pkgInterface,
|
||||
requireV1ContractIdSuffix = false,
|
||||
enableContractUpgrading = false,
|
||||
)
|
||||
|
||||
"reject improperly typed ApiCommands" in {
|
||||
@ -238,7 +237,6 @@ class ReplayCommandPreprocessorSpec(majorLanguageVersion: LanguageMajorVersion)
|
||||
val cmdPreprocessor = new CommandPreprocessor(
|
||||
compiledPackage.pkgInterface,
|
||||
requireV1ContractIdSuffix = false,
|
||||
enableContractUpgrading = false,
|
||||
)
|
||||
|
||||
val cids = List(
|
||||
@ -264,7 +262,6 @@ class ReplayCommandPreprocessorSpec(majorLanguageVersion: LanguageMajorVersion)
|
||||
val cmdPreprocessor = new CommandPreprocessor(
|
||||
compiledPackage.pkgInterface,
|
||||
requireV1ContractIdSuffix = true,
|
||||
enableContractUpgrading = false,
|
||||
)
|
||||
val List(aLegalCid, anotherLegalCid) =
|
||||
List("a legal Contract ID", "another legal Contract ID").map(s =>
|
||||
|
@ -26,9 +26,7 @@ object LoadDarFunction extends App {
|
||||
val compilerConfig =
|
||||
Compiler.Config
|
||||
.Default(packages.main._2.languageVersion.major)
|
||||
.copy(
|
||||
stacktracing = Compiler.NoStackTrace
|
||||
)
|
||||
.copy(stacktracing = Compiler.NoStackTrace)
|
||||
|
||||
val compiledPackages: CompiledPackages =
|
||||
PureCompiledPackages.assertBuild(packages.all.toMap, compilerConfig)
|
||||
|
@ -70,7 +70,6 @@ private[lf] object Compiler {
|
||||
packageValidation: PackageValidationMode,
|
||||
profiling: ProfilingMode,
|
||||
stacktracing: StackTraceMode,
|
||||
enableContractUpgrading: Boolean = false,
|
||||
)
|
||||
|
||||
object Config {
|
||||
@ -103,10 +102,11 @@ private[lf] object Compiler {
|
||||
): Either[String, Map[t.SDefinitionRef, SDefinition]] = {
|
||||
val compiler = new Compiler(pkgInterface, compilerConfig)
|
||||
try {
|
||||
Right(packages.foldLeft(Map.empty[t.SDefinitionRef, SDefinition]) {
|
||||
case (acc, (pkgId, pkg)) =>
|
||||
acc ++ compiler.compilePackage(pkgId, pkg, compilerConfig.enableContractUpgrading)
|
||||
})
|
||||
Right(
|
||||
packages.foldLeft(Map.empty[t.SDefinitionRef, SDefinition]) { case (acc, (pkgId, pkg)) =>
|
||||
acc ++ compiler.compilePackage(pkgId, pkg)
|
||||
}
|
||||
)
|
||||
} catch {
|
||||
case CompilationError(msg) => Left(s"Compilation Error: $msg")
|
||||
case PackageNotFound(pkgId, context) =>
|
||||
@ -149,9 +149,8 @@ private[lf] final class Compiler(
|
||||
def unsafeCompilePackage(
|
||||
pkgId: PackageId,
|
||||
pkg: Package,
|
||||
enableContractUpgrading: Boolean = false,
|
||||
): Iterable[(t.SDefinitionRef, SDefinition)] = {
|
||||
compilePackage(pkgId, pkg, enableContractUpgrading)
|
||||
compilePackage(pkgId, pkg)
|
||||
}
|
||||
|
||||
@throws[PackageNotFound]
|
||||
@ -160,7 +159,7 @@ private[lf] final class Compiler(
|
||||
pkgId: PackageId,
|
||||
module: Module,
|
||||
): Iterable[(t.SDefinitionRef, SDefinition)] = {
|
||||
compileModule(pkgId, module, enableContractUpgrading = false)
|
||||
compileModule(pkgId, module)
|
||||
}
|
||||
|
||||
@throws[PackageNotFound]
|
||||
@ -351,11 +350,7 @@ private[lf] final class Compiler(
|
||||
private[this] def pipeline(sexpr: s.SExpr): t.SExpr =
|
||||
flattenToAnf(closureConvert(sexpr))
|
||||
|
||||
private[this] def compileModule(
|
||||
pkgId: PackageId,
|
||||
module: Module,
|
||||
enableContractUpgrading: Boolean,
|
||||
): Iterable[(t.SDefinitionRef, SDefinition)] = {
|
||||
private def compileModule(pkgId: PackageId, module: Module) = {
|
||||
val builder = Iterable.newBuilder[(t.SDefinitionRef, SDefinition)]
|
||||
def addDef(binding: (t.SDefinitionRef, SDefinition)): Unit = discard(builder += binding)
|
||||
|
||||
@ -374,15 +369,10 @@ private[lf] final class Compiler(
|
||||
module.templates.foreach { case (tmplName, tmpl) =>
|
||||
val tmplId = Identifier(pkgId, QualifiedName(module.name, tmplName))
|
||||
|
||||
val optTargetTemplateId =
|
||||
if (enableContractUpgrading) {
|
||||
Some(tmplId) // soft
|
||||
} else {
|
||||
None // hard
|
||||
}
|
||||
val targetTemplateId = Some(tmplId)
|
||||
|
||||
addDef(compileCreate(tmplId, tmpl))
|
||||
addDef(compileFetchTemplate(tmplId, optTargetTemplateId))
|
||||
addDef(compileFetchTemplate(tmplId, targetTemplateId))
|
||||
addDef(compileTemplatePreCondition(tmplId, tmpl))
|
||||
addDef(compileSignatories(tmplId, tmpl))
|
||||
addDef(compileObservers(tmplId, tmpl))
|
||||
@ -398,26 +388,26 @@ private[lf] final class Compiler(
|
||||
}
|
||||
|
||||
tmpl.choices.values.foreach { choice =>
|
||||
addDef(compileTemplateChoice(tmplId, tmpl, choice, optTargetTemplateId))
|
||||
addDef(compileTemplateChoice(tmplId, tmpl, choice, targetTemplateId))
|
||||
addDef(compileChoiceController(tmplId, tmpl.param, choice))
|
||||
addDef(compileChoiceObserver(tmplId, tmpl.param, choice))
|
||||
}
|
||||
|
||||
tmpl.key.foreach { tmplKey =>
|
||||
addDef(compileContractKeyWithMaintainers(tmplId, tmpl, tmplKey))
|
||||
addDef(compileFetchByKey(tmplId, tmplKey, optTargetTemplateId))
|
||||
addDef(compileLookupByKey(tmplId, tmplKey, optTargetTemplateId))
|
||||
addDef(compileFetchByKey(tmplId, tmplKey, targetTemplateId))
|
||||
addDef(compileLookupByKey(tmplId, tmplKey, targetTemplateId))
|
||||
tmpl.choices.values.foreach { x =>
|
||||
addDef(compileChoiceByKey(tmplId, tmpl, tmplKey, x, optTargetTemplateId))
|
||||
addDef(compileChoiceByKey(tmplId, tmpl, tmplKey, x, targetTemplateId))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module.interfaces.foreach { case (ifaceName, iface) =>
|
||||
val ifaceId = Identifier(pkgId, QualifiedName(module.name, ifaceName))
|
||||
addDef(compileFetchInterface(ifaceId, soft = enableContractUpgrading))
|
||||
addDef(compileFetchInterface(ifaceId, soft = true))
|
||||
iface.choices.values.foreach { choice =>
|
||||
addDef(compileInterfaceChoice(ifaceId, iface.param, choice, soft = enableContractUpgrading))
|
||||
addDef(compileInterfaceChoice(ifaceId, iface.param, choice, soft = true))
|
||||
addDef(compileChoiceController(ifaceId, iface.param, choice))
|
||||
addDef(compileChoiceObserver(ifaceId, iface.param, choice))
|
||||
}
|
||||
@ -433,11 +423,7 @@ private[lf] final class Compiler(
|
||||
*
|
||||
* @throws ValidationError if the package does not pass validations.
|
||||
*/
|
||||
private def compilePackage(
|
||||
pkgId: PackageId,
|
||||
pkg: Package,
|
||||
enableContractUpgrading: Boolean,
|
||||
): Iterable[(t.SDefinitionRef, SDefinition)] = {
|
||||
private def compilePackage(pkgId: PackageId, pkg: Package) = {
|
||||
logger.trace(s"compilePackage: Compiling $pkgId...")
|
||||
|
||||
val t0 = Time.Timestamp.now()
|
||||
@ -460,7 +446,8 @@ private[lf] final class Compiler(
|
||||
|
||||
val t1 = Time.Timestamp.now()
|
||||
|
||||
val result = pkg.modules.values.flatMap(compileModule(pkgId, _, enableContractUpgrading))
|
||||
val result =
|
||||
pkg.modules.values.flatMap((module: GenModule[Expr]) => compileModule(pkgId, module))
|
||||
|
||||
val t2 = Time.Timestamp.now()
|
||||
logger.trace(
|
||||
|
@ -2282,7 +2282,7 @@ private[lf] object SBuiltinFun {
|
||||
}
|
||||
}
|
||||
case None =>
|
||||
crash(s"unexpected contract instance without packageName")
|
||||
crash(s"Could not resolve packageName to packageId: $packageName")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -67,6 +67,7 @@ class SBuiltinInterfaceTest(majorLanguageVersion: LanguageMajorVersion)
|
||||
evalApp(
|
||||
e"\(cid: ContractId Mod:Iface) -> fetch_interface @Mod:Iface cid",
|
||||
Array(SContractId(cid), SToken),
|
||||
packageResolution = basePkgNameMap,
|
||||
getContract = Map(
|
||||
cid -> Versioned(
|
||||
TransactionVersion.StableVersions.max,
|
||||
@ -83,6 +84,7 @@ class SBuiltinInterfaceTest(majorLanguageVersion: LanguageMajorVersion)
|
||||
evalApp(
|
||||
e"\(cid: ContractId Mod:Iface) -> fetch_interface @Mod:Iface cid",
|
||||
Array(SContractId(cid), SToken),
|
||||
packageResolution = basePkgNameMap,
|
||||
getContract = Map(
|
||||
cid -> Versioned(
|
||||
TransactionVersion.StableVersions.max,
|
||||
@ -99,6 +101,7 @@ class SBuiltinInterfaceTest(majorLanguageVersion: LanguageMajorVersion)
|
||||
evalApp(
|
||||
e"\(cid: ContractId Mod:Iface) -> fetch_interface @Mod:Iface cid",
|
||||
Array(SContractId(cid), SToken),
|
||||
packageResolution = basePkgNameMap,
|
||||
getContract = Map(
|
||||
cid -> Versioned(
|
||||
TransactionVersion.StableVersions.max,
|
||||
@ -168,6 +171,9 @@ final class SBuiltinInterfaceTestHelpers(majorLanguageVersion: LanguageMajorVers
|
||||
val extraPkgId = Ref.PackageId.assertFromString("-extra-package-id-")
|
||||
require(extraPkgId != basePkgId)
|
||||
|
||||
val basePkgNameMap =
|
||||
List(basePkg.name, extraPkgName).map(n => n -> basePkgId).toMap
|
||||
|
||||
lazy val extendedPkgs = {
|
||||
|
||||
val modifiedParserParameters: parser.ParserParameters[this.type] =
|
||||
@ -210,6 +216,7 @@ final class SBuiltinInterfaceTestHelpers(majorLanguageVersion: LanguageMajorVers
|
||||
def eval(e: Expr): Try[Either[SError, SValue]] =
|
||||
evalSExpr(
|
||||
compiledBasePkgs.compiler.unsafeCompile(e),
|
||||
Map.empty,
|
||||
PartialFunction.empty,
|
||||
PartialFunction.empty,
|
||||
PartialFunction.empty,
|
||||
@ -218,6 +225,7 @@ final class SBuiltinInterfaceTestHelpers(majorLanguageVersion: LanguageMajorVers
|
||||
def evalApp(
|
||||
e: Expr,
|
||||
args: Array[SValue],
|
||||
packageResolution: Map[Ref.PackageName, Ref.PackageId] = Map.empty,
|
||||
getPkg: PartialFunction[Ref.PackageId, CompiledPackages] = PartialFunction.empty,
|
||||
getContract: PartialFunction[Value.ContractId, Value.VersionedContractInstance] =
|
||||
PartialFunction.empty,
|
||||
@ -225,6 +233,7 @@ final class SBuiltinInterfaceTestHelpers(majorLanguageVersion: LanguageMajorVers
|
||||
): Try[Either[SError, SValue]] =
|
||||
evalSExpr(
|
||||
SEApp(compiledBasePkgs.compiler.unsafeCompile(e), args),
|
||||
packageResolution,
|
||||
getPkg,
|
||||
getContract,
|
||||
getKey,
|
||||
@ -232,6 +241,7 @@ final class SBuiltinInterfaceTestHelpers(majorLanguageVersion: LanguageMajorVers
|
||||
|
||||
def evalSExpr(
|
||||
e: SExpr,
|
||||
packageResolution: Map[Ref.PackageName, Ref.PackageId] = Map.empty,
|
||||
getPkg: PartialFunction[Ref.PackageId, CompiledPackages] = PartialFunction.empty,
|
||||
getContract: PartialFunction[Value.ContractId, Value.VersionedContractInstance],
|
||||
getKey: PartialFunction[GlobalKeyWithMaintainers, Value.ContractId],
|
||||
@ -239,6 +249,7 @@ final class SBuiltinInterfaceTestHelpers(majorLanguageVersion: LanguageMajorVers
|
||||
val machine =
|
||||
Speedy.Machine.fromUpdateSExpr(
|
||||
compiledBasePkgs,
|
||||
packageResolution = packageResolution,
|
||||
transactionSeed = crypto.Hash.hashPrivateKey("SBuiltinTest"),
|
||||
updateSE = SELet1(e, SEMakeClo(Array(SELocS(1)), 1, SELocF(0))),
|
||||
committers = Set(alice),
|
||||
|
@ -25,6 +25,7 @@ import org.scalatest.freespec.AnyFreeSpec
|
||||
import org.scalatest.matchers.should.Matchers
|
||||
|
||||
import scala.collection.mutable.ArrayBuffer
|
||||
import scala.math.Ordered.orderingToOrdered
|
||||
import scala.util.{Failure, Success, Try}
|
||||
|
||||
class TestTraceLog extends TraceLog {
|
||||
@ -54,8 +55,11 @@ class EvaluationOrderTest(languageVersion: LanguageVersion)
|
||||
|
||||
private[this] implicit def logContext: LoggingContext = LoggingContext.ForTesting
|
||||
|
||||
private val packageId = Ref.PackageId.assertFromString("-pkg-")
|
||||
private[this] implicit val parserParameters: ParserParameters[this.type] =
|
||||
ParserParameters(Ref.PackageId.assertFromString("-pkg-"), languageVersion = languageVersion)
|
||||
ParserParameters(packageId, languageVersion = languageVersion)
|
||||
|
||||
private val upgradingEnabled = languageVersion >= LanguageVersion.Features.packageUpgrades
|
||||
|
||||
val pkg = p""" metadata ( 'evaluation-order-test' : '1.0.0' )
|
||||
module M {
|
||||
@ -282,6 +286,8 @@ class EvaluationOrderTest(languageVersion: LanguageVersion)
|
||||
|
||||
private val pkgs: PureCompiledPackages = SpeedyTestLib.typeAndCompile(pkg)
|
||||
|
||||
private val packageNameMap = Map(pkg.name -> packageId)
|
||||
|
||||
private[this] val List(alice, bob, charlie) =
|
||||
List("alice", "bob", "charlie").map(Ref.Party.assertFromString)
|
||||
|
||||
@ -423,6 +429,7 @@ class EvaluationOrderTest(languageVersion: LanguageVersion)
|
||||
args: Array[SValue],
|
||||
parties: Set[Party],
|
||||
readAs: Set[Party] = Set.empty,
|
||||
packageResolution: Map[Ref.PackageName, Ref.PackageId] = packageNameMap,
|
||||
disclosedContracts: Iterable[(Value.ContractId, Speedy.ContractInfo)] = Iterable.empty,
|
||||
getContract: PartialFunction[Value.ContractId, Value.VersionedContractInstance] =
|
||||
PartialFunction.empty,
|
||||
@ -437,6 +444,7 @@ class EvaluationOrderTest(languageVersion: LanguageVersion)
|
||||
if (args.isEmpty) se else SEApp(se, args),
|
||||
parties,
|
||||
readAs,
|
||||
packageResolution = packageResolution,
|
||||
traceLog = traceLog,
|
||||
)
|
||||
disclosedContracts.foreach { case (cid, contract) =>
|
||||
@ -1060,7 +1068,7 @@ class EvaluationOrderTest(languageVersion: LanguageVersion)
|
||||
}
|
||||
}
|
||||
|
||||
// This checks that type checking is done after checking activeness.
|
||||
// This checks that type checking is done after checking activeness (pre upgrading)
|
||||
"wrongly typed inactive contract" in {
|
||||
val (res, msgs) = evalUpdateApp(
|
||||
pkgs,
|
||||
@ -1073,7 +1081,11 @@ class EvaluationOrderTest(languageVersion: LanguageVersion)
|
||||
getContract = getWronglyTypedContract,
|
||||
)
|
||||
inside(res) {
|
||||
case Success(Left(SErrorDamlException(IE.ContractNotActive(_, Dummy, _)))) =>
|
||||
case Success(Left(SErrorDamlException(IE.ContractNotActive(_, Dummy, _))))
|
||||
if !upgradingEnabled =>
|
||||
msgs shouldBe Seq("starts test")
|
||||
case Success(Left(SErrorDamlException(IE.WronglyTypedContract(_, T, Dummy))))
|
||||
if upgradingEnabled =>
|
||||
msgs shouldBe Seq("starts test")
|
||||
}
|
||||
}
|
||||
@ -2251,7 +2263,11 @@ class EvaluationOrderTest(languageVersion: LanguageVersion)
|
||||
getContract = getWronglyTypedContract,
|
||||
)
|
||||
inside(res) {
|
||||
case Success(Left(SErrorDamlException(IE.ContractNotActive(_, Dummy, _)))) =>
|
||||
case Success(Left(SErrorDamlException(IE.ContractNotActive(_, Dummy, _))))
|
||||
if !upgradingEnabled =>
|
||||
msgs shouldBe Seq("starts test")
|
||||
case Success(Left(SErrorDamlException(IE.WronglyTypedContract(_, T, Dummy))))
|
||||
if upgradingEnabled =>
|
||||
msgs shouldBe Seq("starts test")
|
||||
}
|
||||
}
|
||||
|
@ -210,9 +210,7 @@ private[speedy] object SpeedyTestLib {
|
||||
pkgs,
|
||||
Compiler.Config
|
||||
.Dev(majorLanguageVersion)
|
||||
.copy(
|
||||
stacktracing = Compiler.FullStackTrace
|
||||
),
|
||||
.copy(stacktracing = Compiler.FullStackTrace),
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -121,7 +121,7 @@ class UpgradeTest(majorLanguageVersion: LanguageMajorVersion)
|
||||
private lazy val pkgs =
|
||||
PureCompiledPackages.assertBuild(
|
||||
Map(pkgId1 -> pkg1, pkgId2 -> pkg2, pkgId3 -> pkg3),
|
||||
Compiler.Config.Dev(majorLanguageVersion).copy(enableContractUpgrading = true),
|
||||
Compiler.Config.Dev(majorLanguageVersion),
|
||||
)
|
||||
|
||||
private val alice = Ref.Party.assertFromString("alice")
|
||||
|
@ -609,8 +609,8 @@ object Repl {
|
||||
)
|
||||
|
||||
def devCompilerConfig(majorLanguageVersion: LanguageMajorVersion): Compiler.Config =
|
||||
defaultCompilerConfig(majorLanguageVersion).copy(
|
||||
allowedLanguageVersions = LV.AllVersions(majorLanguageVersion)
|
||||
defaultCompilerConfig(majorLanguageVersion).copy(allowedLanguageVersions =
|
||||
LV.AllVersions(majorLanguageVersion)
|
||||
)
|
||||
|
||||
private val nextSeed =
|
||||
|
@ -430,7 +430,11 @@ private[lf] object ScenarioRunner {
|
||||
doEnrichment: Boolean = true,
|
||||
)(implicit loggingContext: LoggingContext): SubmissionResult[R] = {
|
||||
val ledgerMachine = Speedy.UpdateMachine(
|
||||
packageResolution = Map.empty,
|
||||
packageResolution = Map(
|
||||
PackageName.assertFromString("-dummy-package-name-") -> PackageId.assertFromString(
|
||||
"-homePackageId-"
|
||||
)
|
||||
),
|
||||
compiledPackages = compiledPackages,
|
||||
submissionTime = Time.Timestamp.MinValue,
|
||||
initialSeeding = InitialSeeding.TransactionSeed(seed),
|
||||
|
@ -71,7 +71,6 @@ class IdeLedgerClient(
|
||||
new preprocessing.CommandPreprocessor(
|
||||
compiledPackages.pkgInterface,
|
||||
requireV1ContractIdSuffix = false,
|
||||
enableContractUpgrading = true,
|
||||
)
|
||||
|
||||
private var _ledger: ScenarioLedger = ScenarioLedger.initialLedger(Time.Timestamp.Epoch)
|
||||
|
@ -79,7 +79,6 @@ class IdeLedgerClient(
|
||||
new preprocessing.CommandPreprocessor(
|
||||
compiledPackages.pkgInterface,
|
||||
requireV1ContractIdSuffix = false,
|
||||
enableContractUpgrading = true,
|
||||
)
|
||||
|
||||
private[this] def partialFunctionFilterNot[A](f: A => Boolean): PartialFunction[A, A] = {
|
||||
|
@ -24,7 +24,6 @@ class DevIT(override val majorLanguageVersion: LanguageMajorVersion)
|
||||
with Matchers {
|
||||
final override protected lazy val devMode = true
|
||||
// TODO: https://github.com/digital-asset/daml/issues/17082
|
||||
final override protected lazy val enableContractUpgrading = true
|
||||
final override protected val disableUpgradeValidation = true
|
||||
final override protected lazy val timeMode = ScriptTimeMode.WallClock
|
||||
|
||||
|
@ -33,7 +33,6 @@ class UpgradesIT extends AsyncWordSpec with AbstractScriptTest with Inside with
|
||||
final override protected lazy val timeMode = ScriptTimeMode.WallClock
|
||||
|
||||
final override protected lazy val devMode = true
|
||||
final override protected lazy val enableContractUpgrading = true
|
||||
final override protected val disableUpgradeValidation = true
|
||||
|
||||
// TODO(https://github.com/digital-asset/daml/issues/18457): split the test into one with contract
|
||||
|
@ -32,155 +32,155 @@
|
||||
- ensure correct privacy for rollback subtree: [BlindingSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/BlindingSpec.scala#L224)
|
||||
|
||||
## Integrity:
|
||||
- Evaluation order of create with authorization failure: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L562)
|
||||
- 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#L596)
|
||||
- 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#L647)
|
||||
- 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#L622)
|
||||
- Evaluation order of create with duplicate contract key: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L513)
|
||||
- Evaluation order of create with empty contract key maintainers: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L537)
|
||||
- Evaluation order of create with failed precondition: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L495)
|
||||
- Evaluation order of create_interface with authorization failure: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L769)
|
||||
- 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#L803)
|
||||
- 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#L854)
|
||||
- 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#L829)
|
||||
- Evaluation order of create_interface with duplicate contract key: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L720)
|
||||
- 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#L744)
|
||||
- Evaluation order of create_interface with failed precondition: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L700)
|
||||
- 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#L1867)
|
||||
- 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#L1849)
|
||||
- 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#L1909)
|
||||
- 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#L1205)
|
||||
- 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#L927)
|
||||
- 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#L971)
|
||||
- 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#L1045)
|
||||
- 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#L912)
|
||||
- Evaluation order of exercise of an inactive global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1028)
|
||||
- Evaluation order of exercise of an inactive local contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1147)
|
||||
- Evaluation order of exercise of an unknown contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1248)
|
||||
- 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#L1166)
|
||||
- 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#L1081)
|
||||
- Evaluation order of exercise with argument exceeding max nesting: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1262)
|
||||
- Evaluation order of exercise with output exceeding max nesting: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1290)
|
||||
- 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#L1570)
|
||||
- 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#L1368)
|
||||
- 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#L1461)
|
||||
- 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#L1442)
|
||||
- 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#L1550)
|
||||
- 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#L1613)
|
||||
- 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#L1480)
|
||||
- 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#L1628)
|
||||
- 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#L1703)
|
||||
- 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#L1657)
|
||||
- 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#L2041)
|
||||
- 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#L1774)
|
||||
- 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#L1977)
|
||||
- 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#L1996)
|
||||
- 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#L1687)
|
||||
- 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#L2358)
|
||||
- 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#L2127)
|
||||
- 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#L2162)
|
||||
- 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#L2225)
|
||||
- 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#L2390)
|
||||
- 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#L2112)
|
||||
- Evaluation order of fetch of an inactive global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2209)
|
||||
- Evaluation order of fetch of an inactive local contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2306)
|
||||
- Evaluation order of fetch of an unknown contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2409)
|
||||
- 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#L2323)
|
||||
- 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#L2259)
|
||||
- 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#L2548)
|
||||
- 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#L2614)
|
||||
- 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#L2473)
|
||||
- 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#L2529)
|
||||
- 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#L2596)
|
||||
- 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#L2644)
|
||||
- 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#L2676)
|
||||
- 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#L2690)
|
||||
- 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#L2660)
|
||||
- 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#L2827)
|
||||
- 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#L2967)
|
||||
- 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#L2735)
|
||||
- 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#L2754)
|
||||
- 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#L2810)
|
||||
- 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#L2912)
|
||||
- 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#L2929)
|
||||
- Evaluation order of fetch_interface of an unknown contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2997)
|
||||
- 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#L2865)
|
||||
- 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#L3114)
|
||||
- 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#L3179)
|
||||
- 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#L3041)
|
||||
- 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#L3096)
|
||||
- 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#L3162)
|
||||
- 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#L3209)
|
||||
- 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#L3241)
|
||||
- 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#L3255)
|
||||
- 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#L3225)
|
||||
- Evaluation order of successful create: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L472)
|
||||
- Evaluation order of successful create_interface: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L676)
|
||||
- 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#L1728)
|
||||
- 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#L1004)
|
||||
- Evaluation order of successful exercise of a local contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1124)
|
||||
- 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#L885)
|
||||
- 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#L1416)
|
||||
- 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#L1526)
|
||||
- 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#L1324)
|
||||
- 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#L1824)
|
||||
- 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#L1953)
|
||||
- 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#L2192)
|
||||
- Evaluation order of successful fetch of a local contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2291)
|
||||
- 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#L2089)
|
||||
- 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#L2512)
|
||||
- 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#L2580)
|
||||
- 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#L2428)
|
||||
- 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#L2793)
|
||||
- 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#L2897)
|
||||
- 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#L2711)
|
||||
- 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#L3079)
|
||||
- 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#L3146)
|
||||
- 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#L3017)
|
||||
- Evaluation order of create with authorization failure: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L570)
|
||||
- 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#L604)
|
||||
- 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#L655)
|
||||
- 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#L630)
|
||||
- Evaluation order of create with duplicate contract key: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L521)
|
||||
- Evaluation order of create with empty contract key maintainers: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L545)
|
||||
- Evaluation order of create with failed precondition: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L503)
|
||||
- Evaluation order of create_interface with authorization failure: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L777)
|
||||
- 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#L811)
|
||||
- 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#L862)
|
||||
- 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#L837)
|
||||
- Evaluation order of create_interface with duplicate contract key: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L728)
|
||||
- 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#L752)
|
||||
- Evaluation order of create_interface with failed precondition: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L708)
|
||||
- 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#L1879)
|
||||
- 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#L1861)
|
||||
- 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#L1921)
|
||||
- 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#L1217)
|
||||
- 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#L935)
|
||||
- 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#L979)
|
||||
- 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#L1053)
|
||||
- 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#L920)
|
||||
- Evaluation order of exercise of an inactive global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1036)
|
||||
- Evaluation order of exercise of an inactive local contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1159)
|
||||
- Evaluation order of exercise of an unknown contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1260)
|
||||
- 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#L1178)
|
||||
- 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#L1093)
|
||||
- Evaluation order of exercise with argument exceeding max nesting: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1274)
|
||||
- Evaluation order of exercise with output exceeding max nesting: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1302)
|
||||
- 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#L1582)
|
||||
- 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#L1380)
|
||||
- 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#L1473)
|
||||
- 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#L1454)
|
||||
- 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#L1562)
|
||||
- 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#L1625)
|
||||
- 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#L1492)
|
||||
- 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#L1640)
|
||||
- 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#L1715)
|
||||
- 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#L1669)
|
||||
- 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#L2053)
|
||||
- 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#L1786)
|
||||
- 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#L1989)
|
||||
- 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#L2008)
|
||||
- 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#L1699)
|
||||
- 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#L2374)
|
||||
- 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#L2139)
|
||||
- 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#L2174)
|
||||
- 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#L2237)
|
||||
- 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#L2406)
|
||||
- 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#L2124)
|
||||
- Evaluation order of fetch of an inactive global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2221)
|
||||
- Evaluation order of fetch of an inactive local contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2322)
|
||||
- Evaluation order of fetch of an unknown contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2425)
|
||||
- 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#L2339)
|
||||
- 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#L2275)
|
||||
- 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#L2564)
|
||||
- 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#L2630)
|
||||
- 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#L2489)
|
||||
- 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#L2545)
|
||||
- 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#L2612)
|
||||
- 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#L2660)
|
||||
- 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#L2692)
|
||||
- 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#L2706)
|
||||
- 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#L2676)
|
||||
- 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#L2843)
|
||||
- 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#L2983)
|
||||
- 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#L2751)
|
||||
- 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#L2770)
|
||||
- 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#L2826)
|
||||
- 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#L2928)
|
||||
- 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#L2945)
|
||||
- Evaluation order of fetch_interface of an unknown contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L3013)
|
||||
- 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#L2881)
|
||||
- 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#L3130)
|
||||
- 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#L3195)
|
||||
- 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#L3057)
|
||||
- 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#L3112)
|
||||
- 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#L3178)
|
||||
- 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#L3225)
|
||||
- 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#L3257)
|
||||
- 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#L3271)
|
||||
- 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#L3241)
|
||||
- Evaluation order of successful create: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L480)
|
||||
- Evaluation order of successful create_interface: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L684)
|
||||
- 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#L1740)
|
||||
- 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#L1012)
|
||||
- Evaluation order of successful exercise of a local contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1136)
|
||||
- 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#L893)
|
||||
- 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#L1428)
|
||||
- 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#L1538)
|
||||
- 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#L1336)
|
||||
- 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#L1836)
|
||||
- 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#L1965)
|
||||
- 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#L2204)
|
||||
- Evaluation order of successful fetch of a local contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2307)
|
||||
- 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#L2101)
|
||||
- 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#L2528)
|
||||
- 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#L2596)
|
||||
- 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#L2444)
|
||||
- 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#L2809)
|
||||
- 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#L2913)
|
||||
- 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#L2727)
|
||||
- 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#L3095)
|
||||
- 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#L3162)
|
||||
- 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#L3033)
|
||||
- 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#L2085)
|
||||
- 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#L2021)
|
||||
- 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#L1891)
|
||||
- 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#L2949)
|
||||
- contract key behaviour (non-unique mode): [ContractKeySpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ContractKeySpec.scala#L407)
|
||||
- contract key behaviour (unique mode): [ContractKeySpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ContractKeySpec.scala#L417)
|
||||
- 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#L222)
|
||||
- contract keys should be evaluated after ensure clause: [ContractKeySpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ContractKeySpec.scala#L190)
|
||||
- contract keys should be evaluated only when executing create: [ContractKeySpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ContractKeySpec.scala#L149)
|
||||
- Rollback creates cannot be exercise: [EngineTest.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/EngineTest.scala#L2100)
|
||||
- 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#L2033)
|
||||
- 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#L1903)
|
||||
- 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#L2965)
|
||||
- contract key behaviour (non-unique mode): [ContractKeySpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ContractKeySpec.scala#L410)
|
||||
- contract key behaviour (unique mode): [ContractKeySpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ContractKeySpec.scala#L420)
|
||||
- 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#L225)
|
||||
- contract keys should be evaluated after ensure clause: [ContractKeySpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ContractKeySpec.scala#L193)
|
||||
- contract keys should be evaluated only when executing create: [ContractKeySpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ContractKeySpec.scala#L152)
|
||||
- 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/ApiCommandPreprocessorSpec.scala#L189)
|
||||
- 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#L1756)
|
||||
- ill-formed create API command is rejected: [ApiCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ApiCommandPreprocessorSpec.scala#L177)
|
||||
- ill-formed create replay command is rejected: [ReplayCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ReplayCommandPreprocessorSpec.scala#L122)
|
||||
- ill-formed create-and-exercise API command is rejected: [ApiCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ApiCommandPreprocessorSpec.scala#L202)
|
||||
- exercise-by-interface command is rejected for a: [ApiCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/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/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1768)
|
||||
- ill-formed create API command is rejected: [ApiCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ApiCommandPreprocessorSpec.scala#L176)
|
||||
- ill-formed create replay command is rejected: [ReplayCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ReplayCommandPreprocessorSpec.scala#L121)
|
||||
- ill-formed create-and-exercise API command is rejected: [ApiCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ApiCommandPreprocessorSpec.scala#L201)
|
||||
- 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/ApiCommandPreprocessorSpec.scala#L182)
|
||||
- ill-formed exercise replay command is rejected: [ReplayCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ReplayCommandPreprocessorSpec.scala#L127)
|
||||
- ill-formed exercise-by-key API command is rejected: [ApiCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ApiCommandPreprocessorSpec.scala#L193)
|
||||
- ill-formed exercise-by-key replay command is rejected: [ReplayCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ReplayCommandPreprocessorSpec.scala#L134)
|
||||
- ill-formed exercise API command is rejected: [ApiCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ApiCommandPreprocessorSpec.scala#L181)
|
||||
- ill-formed exercise replay command is rejected: [ReplayCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ReplayCommandPreprocessorSpec.scala#L126)
|
||||
- ill-formed exercise-by-key API command is rejected: [ApiCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ApiCommandPreprocessorSpec.scala#L192)
|
||||
- ill-formed exercise-by-key replay command is rejected: [ReplayCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ReplayCommandPreprocessorSpec.scala#L133)
|
||||
- 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/ReplayCommandPreprocessorSpec.scala#L181)
|
||||
- ill-formed fetch-by-key command is rejected: [ReplayCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ReplayCommandPreprocessorSpec.scala#L184)
|
||||
- ill-formed fetch command is rejected: [ReplayCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ReplayCommandPreprocessorSpec.scala#L180)
|
||||
- ill-formed fetch-by-key command is rejected: [ReplayCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ReplayCommandPreprocessorSpec.scala#L183)
|
||||
- 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/ReplayCommandPreprocessorSpec.scala#L189)
|
||||
- ill-formed lookup command is rejected: [ReplayCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ReplayCommandPreprocessorSpec.scala#L188)
|
||||
- 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/ApiCommandPreprocessorSpec.scala#L129)
|
||||
- well formed create replay command is accepted: [ReplayCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ReplayCommandPreprocessorSpec.scala#L93)
|
||||
- well formed create-and-exercise API command is accepted: [ApiCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ApiCommandPreprocessorSpec.scala#L157)
|
||||
- well formed exercise API command is accepted: [ApiCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ApiCommandPreprocessorSpec.scala#L134)
|
||||
- well formed exercise replay command is accepted: [ReplayCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ReplayCommandPreprocessorSpec.scala#L98)
|
||||
- well formed exercise-by-interface command is accepted: [ApiCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ApiCommandPreprocessorSpec.scala#L150)
|
||||
- well formed exercise-by-key API command is accepted: [ApiCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ApiCommandPreprocessorSpec.scala#L142)
|
||||
- well formed exercise-by-key command is accepted: [ReplayCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ReplayCommandPreprocessorSpec.scala#L106)
|
||||
- well formed fetch replay command is accepted: [ReplayCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ReplayCommandPreprocessorSpec.scala#L158)
|
||||
- well formed fetch-by-key replay command is accepted: [ReplayCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ReplayCommandPreprocessorSpec.scala#L163)
|
||||
- well formed lookup replay command is accepted: [ReplayCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ReplayCommandPreprocessorSpec.scala#L168)
|
||||
- well formed create API command is accepted: [ApiCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ApiCommandPreprocessorSpec.scala#L128)
|
||||
- well formed create replay command is accepted: [ReplayCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ReplayCommandPreprocessorSpec.scala#L92)
|
||||
- well formed create-and-exercise API command is accepted: [ApiCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ApiCommandPreprocessorSpec.scala#L156)
|
||||
- well formed exercise API command is accepted: [ApiCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ApiCommandPreprocessorSpec.scala#L133)
|
||||
- well formed exercise replay command is accepted: [ReplayCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ReplayCommandPreprocessorSpec.scala#L97)
|
||||
- well formed exercise-by-interface command is accepted: [ApiCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ApiCommandPreprocessorSpec.scala#L149)
|
||||
- well formed exercise-by-key API command is accepted: [ApiCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ApiCommandPreprocessorSpec.scala#L141)
|
||||
- well formed exercise-by-key command is accepted: [ReplayCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ReplayCommandPreprocessorSpec.scala#L105)
|
||||
- well formed fetch replay command is accepted: [ReplayCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ReplayCommandPreprocessorSpec.scala#L157)
|
||||
- well formed fetch-by-key replay command is accepted: [ReplayCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ReplayCommandPreprocessorSpec.scala#L162)
|
||||
- well formed lookup replay command is accepted: [ReplayCommandPreprocessorSpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ReplayCommandPreprocessorSpec.scala#L167)
|
||||
|
||||
|
||||
|
@ -55,7 +55,6 @@ final case class CantonConfig(
|
||||
tlsEnable: Boolean = false,
|
||||
debug: Boolean = false,
|
||||
bootstrapScript: Option[String] = None,
|
||||
enableUpgrade: Boolean = false,
|
||||
targetScope: Option[String] = None,
|
||||
disableUpgradeValidation: Boolean = false,
|
||||
) {
|
||||
|
@ -56,7 +56,6 @@ trait CantonFixtureWithResource[A]
|
||||
protected lazy val nParticipants: Int = 1
|
||||
protected lazy val timeProviderType: TimeProviderType = TimeProviderType.WallClock
|
||||
protected lazy val tlsEnable: Boolean = false
|
||||
protected lazy val enableContractUpgrading: Boolean = false
|
||||
protected lazy val bootstrapScript: Option[String] = Option.empty
|
||||
protected lazy val applicationId: Option[Ref.ApplicationId] =
|
||||
Some(Ref.ApplicationId.assertFromString(getClass.getName))
|
||||
@ -125,7 +124,6 @@ trait CantonFixtureWithResource[A]
|
||||
tlsEnable = tlsEnable,
|
||||
debug = cantonFixtureDebugModeIsDebug,
|
||||
bootstrapScript = bootstrapScript,
|
||||
enableUpgrade = enableContractUpgrading,
|
||||
targetScope = targetScope,
|
||||
disableUpgradeValidation = disableUpgradeValidation,
|
||||
)
|
||||
|
@ -99,7 +99,7 @@ object CantonRunner {
|
||||
| storage.type = memory
|
||||
| parameters = {
|
||||
| enable-engine-stack-traces = true
|
||||
| enable-contract-upgrading = ${config.enableUpgrade}
|
||||
| enable-contract-upgrading = true
|
||||
| dev-version-support = ${config.devMode}
|
||||
| disable-upgrade-validation = ${config.disableUpgradeValidation}
|
||||
| }
|
||||
|
Loading…
Reference in New Issue
Block a user