mirror of
https://github.com/digital-asset/daml.git
synced 2024-09-19 16:57:40 +03:00
follow up of #14175 this is part of #14171 CHANGELOG_BEGIN CHANEGELOG_END
This commit is contained in:
parent
e78303332a
commit
2ddd744a91
@ -1459,10 +1459,9 @@ private[lf] object SBuiltin {
|
||||
case Right((keyMapping, next)) =>
|
||||
onLedger.ptx = onLedger.ptx.copy(contractState = next)
|
||||
keyMapping match {
|
||||
case ContractStateMachine.KeyActive(coid)
|
||||
if onLedger.ptx.contractState.locallyCreated.contains(coid) =>
|
||||
case ContractStateMachine.KeyActive(coid) =>
|
||||
machine.checkKeyVisibility(onLedger, gkey, coid, operation.handleKeyFound)
|
||||
case _ =>
|
||||
case ContractStateMachine.KeyInactive =>
|
||||
operation.handleKnownInputKey(machine, gkey, keyMapping)
|
||||
}
|
||||
case Left(handle) =>
|
||||
@ -1478,7 +1477,7 @@ private[lf] object SBuiltin {
|
||||
// We do not call directly machine.checkKeyVisibility as it may throw an SError,
|
||||
// and such error cannot be throw inside a SpeedyHungry continuation.
|
||||
machine.pushKont(
|
||||
KCheckKeyVisibitiy(machine, gkey, coid, operation.handleKeyFound)
|
||||
KCheckKeyVisibility(machine, gkey, coid, operation.handleKeyFound)
|
||||
)
|
||||
if (onLedger.cachedContracts.contains(coid)) {
|
||||
machine.returnValue = SUnit
|
||||
|
@ -1381,7 +1381,7 @@ private[lf] object Speedy {
|
||||
|
||||
}
|
||||
|
||||
private[speedy] final case class KCheckKeyVisibitiy(
|
||||
private[speedy] final case class KCheckKeyVisibility(
|
||||
machine: Machine,
|
||||
gKey: GlobalKey,
|
||||
cid: V.ContractId,
|
||||
|
@ -103,6 +103,9 @@ class EvaluationOrderTest extends AnyFreeSpec with Matchers with Inside {
|
||||
choice Archive (self) (arg: Unit): Unit,
|
||||
controllers Cons @Party [M:T {signatory} this] (Nil @Party)
|
||||
to upure @Unit (TRACE @Unit "archive" ());
|
||||
choice @nonConsuming Divulge (self) (divulgee: Party): Unit,
|
||||
controllers Cons @Party [divulgee] (Nil @Party)
|
||||
to upure @Unit ();
|
||||
key @M:TKey
|
||||
(TRACE @M:TKey "key" (M:T {key} this))
|
||||
(\(key : M:TKey) -> TRACE @(List Party) "maintainers" (M:TKey {maintainers} key));
|
||||
@ -187,8 +190,8 @@ class EvaluationOrderTest extends AnyFreeSpec with Matchers with Inside {
|
||||
argParams = argParams
|
||||
}
|
||||
in ubind
|
||||
bridgeId: ContractId Test:Bridge <- Test:createBridge exercisingParty;
|
||||
x: M:Nested <-exercise @Test:Bridge Exe bridgeId arg
|
||||
helperId: ContractId Test:Helper <- Test:createHelper exercisingParty;
|
||||
x: M:Nested <-exercise @Test:Helper Exe helperId arg
|
||||
in upure @Unit ();
|
||||
|
||||
val exercise_interface: Party -> ContractId M:Person -> Update Unit =
|
||||
@ -202,32 +205,32 @@ class EvaluationOrderTest extends AnyFreeSpec with Matchers with Inside {
|
||||
argParams = argParams
|
||||
}
|
||||
in ubind
|
||||
bridgeId: ContractId Test:Bridge <- Test:createBridge exercisingParty;
|
||||
x: M:Nested <-exercise @Test:Bridge Exe bridgeId arg
|
||||
helperId: ContractId Test:Helper <- Test:createHelper exercisingParty;
|
||||
x: M:Nested <-exercise @Test:Helper Exe helperId arg
|
||||
in upure @Unit ();
|
||||
|
||||
val fetch_by_id: Party -> ContractId M:T -> Update Unit =
|
||||
\(fetchingParty: Party) (cId: ContractId M:T) ->
|
||||
ubind bridgeId: ContractId Test:Bridge <- Test:createBridge fetchingParty
|
||||
in exercise @Test:Bridge FetchById bridgeId cId;
|
||||
ubind helperId: ContractId Test:Helper <- Test:createHelper fetchingParty
|
||||
in exercise @Test:Helper FetchById helperId cId;
|
||||
|
||||
val fetch_interface: Party -> ContractId M:Person -> Update Unit =
|
||||
\(fetchingParty: Party) (cId: ContractId M:Person) ->
|
||||
ubind bridgeId: ContractId Test:Bridge <- Test:createBridge fetchingParty
|
||||
in exercise @Test:Bridge FetchByInterface bridgeId cId;
|
||||
ubind helperId: ContractId Test:Helper <- Test:createHelper fetchingParty
|
||||
in exercise @Test:Helper FetchByInterface helperId cId;
|
||||
|
||||
val fetch_by_key: Party -> Option Party -> Option (ContractId Unit) -> Int64 -> Update Unit =
|
||||
\(fetchingParty: Party) (maintainers: Option Party) (optCid: Option (ContractId Unit)) (nesting: Int64) ->
|
||||
ubind bridgeId: ContractId Test:Bridge <- Test:createBridge fetchingParty
|
||||
in exercise @Test:Bridge FetchByKey bridgeId (Test:TKeyParams {maintainers = Test:optToList @Party maintainers, optCid = optCid, nesting = nesting});
|
||||
ubind helperId: ContractId Test:Helper <- Test:createHelper fetchingParty
|
||||
in exercise @Test:Helper FetchByKey helperId (Test:TKeyParams {maintainers = Test:optToList @Party maintainers, optCid = optCid, nesting = nesting});
|
||||
|
||||
val lookup_by_key: Party -> Option Party -> Option (ContractId Unit) -> Int64 -> Update Unit =
|
||||
\(lookingParty: Party) (maintainers: Option Party) (optCid: Option (ContractId Unit)) (nesting: Int64) ->
|
||||
ubind bridgeId: ContractId Test:Bridge <- Test:createBridge lookingParty
|
||||
in exercise @Test:Bridge LookupByKey bridgeId (Test:TKeyParams {maintainers = Test:optToList @Party maintainers, optCid = optCid, nesting = nesting});
|
||||
ubind helperId: ContractId Test:Helper <- Test:createHelper lookingParty
|
||||
in exercise @Test:Helper LookupByKey helperId (Test:TKeyParams {maintainers = Test:optToList @Party maintainers, optCid = optCid, nesting = nesting});
|
||||
|
||||
val createBridge: Party -> Update (ContractId Test:Bridge) =
|
||||
\(party: Party) -> create @Test:Bridge Test:Bridge { sig = party, obs = party };
|
||||
val createHelper: Party -> Update (ContractId Test:Helper) =
|
||||
\(party: Party) -> create @Test:Helper Test:Helper { sig = party, obs = party };
|
||||
|
||||
val optToList: forall(t:*). Option t -> List t =
|
||||
/\(t:*). \(opt: Option t) ->
|
||||
@ -248,19 +251,19 @@ class EvaluationOrderTest extends AnyFreeSpec with Matchers with Inside {
|
||||
argParams: M:Either Int64 Int64
|
||||
};
|
||||
|
||||
record @serializable Bridge = { sig: Party, obs: Party };
|
||||
template (this: Bridge) = {
|
||||
record @serializable Helper = { sig: Party, obs: Party };
|
||||
template (this: Helper) = {
|
||||
precondition True;
|
||||
signatories Cons @Party [Test:Bridge {sig} this] (Nil @Party);
|
||||
signatories Cons @Party [Test:Helper {sig} this] (Nil @Party);
|
||||
observers Nil @Party;
|
||||
agreement "";
|
||||
choice CreateNonvisibleKey (self) (arg: Unit): ContractId M:T,
|
||||
controllers Cons @Party [Test:Bridge {obs} this] (Nil @Party),
|
||||
controllers Cons @Party [Test:Helper {obs} this] (Nil @Party),
|
||||
observers Nil @Party
|
||||
to let sig: Party = Test:Bridge {sig} this
|
||||
to let sig: Party = Test:Helper {sig} this
|
||||
in create @M:T M:T { signatory = sig, observer = sig, precondition = True, key = M:toKey sig, nested = M:buildNested 0 };
|
||||
choice Exe (self) (arg: Test:ExeArg): M:Nested,
|
||||
controllers Cons @Party [Test:Bridge {sig} this] (Nil @Party),
|
||||
controllers Cons @Party [Test:Helper {sig} this] (Nil @Party),
|
||||
observers Nil @Party
|
||||
to
|
||||
let choiceArg: M:Either M:Nested Int64 = case (Test:ExeArg {argParams} arg) of
|
||||
@ -275,20 +278,20 @@ class EvaluationOrderTest extends AnyFreeSpec with Matchers with Inside {
|
||||
y:Unit <- upure @Unit (TRACE @Unit "ends test" ())
|
||||
in upure @M:Nested res;
|
||||
choice FetchById (self) (cId: ContractId M:T): Unit,
|
||||
controllers Cons @Party [Test:Bridge {sig} this] (Nil @Party),
|
||||
controllers Cons @Party [Test:Helper {sig} this] (Nil @Party),
|
||||
observers Nil @Party
|
||||
to Test:run @M:T (fetch_template @M:T cId);
|
||||
choice FetchByInterface (self) (cId: ContractId M:Person): Unit,
|
||||
controllers Cons @Party [Test:Bridge {sig} this] (Nil @Party),
|
||||
controllers Cons @Party [Test:Helper {sig} this] (Nil @Party),
|
||||
observers Nil @Party
|
||||
to Test:run @M:Person (fetch_interface @M:Person cId);
|
||||
choice FetchByKey (self) (params: Test:TKeyParams): Unit,
|
||||
controllers Cons @Party [Test:Bridge {sig} this] (Nil @Party),
|
||||
controllers Cons @Party [Test:Helper {sig} this] (Nil @Party),
|
||||
observers Nil @Party
|
||||
to let key: M:TKey = Test:buildTKey params
|
||||
in Test:run @<contract: M:T, contractId: ContractId M:T> (fetch_by_key @M:T key);
|
||||
choice LookupByKey (self) (params: Test:TKeyParams): Unit,
|
||||
controllers Cons @Party [Test:Bridge {sig} this] (Nil @Party),
|
||||
controllers Cons @Party [Test:Helper {sig} this] (Nil @Party),
|
||||
observers Nil @Party
|
||||
to let key: M:TKey = Test:buildTKey params
|
||||
in Test:run @(Option (ContractId M:T)) (lookup_by_key @M:T key);
|
||||
@ -325,12 +328,16 @@ class EvaluationOrderTest extends AnyFreeSpec with Matchers with Inside {
|
||||
case _ => sys.error("unexpect error")
|
||||
}
|
||||
|
||||
private[this] val Bridge = t"Test:Bridge" match {
|
||||
private[this] val Helper = t"Test:Helper" match {
|
||||
case TTyCon(tycon) => tycon
|
||||
case _ => sys.error("unexpect error")
|
||||
}
|
||||
|
||||
private[this] val cId: Value.ContractId = Value.ContractId.V1(crypto.Hash.hashPrivateKey("test"))
|
||||
private[this] val cId: Value.ContractId =
|
||||
Value.ContractId.V1(crypto.Hash.hashPrivateKey("test"))
|
||||
|
||||
private[this] val helperCId: Value.ContractId =
|
||||
Value.ContractId.V1(crypto.Hash.hashPrivateKey("Helper"))
|
||||
|
||||
private[this] val emptyNestedValue = Value.ValueRecord(None, ImmArray(None -> Value.ValueNone))
|
||||
|
||||
@ -343,7 +350,7 @@ class EvaluationOrderTest extends AnyFreeSpec with Matchers with Inside {
|
||||
),
|
||||
)
|
||||
|
||||
private[this] val contract = Versioned(
|
||||
private[this] def buildContract(observer: Party) = Versioned(
|
||||
TransactionVersion.StableVersions.max,
|
||||
Value.ContractInstance(
|
||||
T,
|
||||
@ -351,7 +358,7 @@ class EvaluationOrderTest extends AnyFreeSpec with Matchers with Inside {
|
||||
None,
|
||||
ImmArray(
|
||||
None -> Value.ValueParty(alice),
|
||||
None -> Value.ValueParty(bob),
|
||||
None -> Value.ValueParty(observer),
|
||||
None -> Value.ValueTrue,
|
||||
None -> keyValue,
|
||||
None -> emptyNestedValue,
|
||||
@ -361,6 +368,21 @@ class EvaluationOrderTest extends AnyFreeSpec with Matchers with Inside {
|
||||
),
|
||||
)
|
||||
|
||||
private[this] val visibleContract = buildContract(bob)
|
||||
private[this] val nonVisibleContract = buildContract(alice)
|
||||
|
||||
private[this] val helper = Versioned(
|
||||
TransactionVersion.StableVersions.max,
|
||||
Value.ContractInstance(
|
||||
Helper,
|
||||
ValueRecord(
|
||||
None,
|
||||
ImmArray(None -> ValueParty(alice), None -> ValueParty(charlie)),
|
||||
),
|
||||
"",
|
||||
),
|
||||
)
|
||||
|
||||
private[this] val iface_contract = Versioned(
|
||||
TransactionVersion.StableVersions.max,
|
||||
Value.ContractInstance(
|
||||
@ -380,8 +402,10 @@ class EvaluationOrderTest extends AnyFreeSpec with Matchers with Inside {
|
||||
),
|
||||
)
|
||||
|
||||
private[this] val getContract = Map(cId -> contract)
|
||||
private[this] val getContract = Map(cId -> visibleContract)
|
||||
private[this] val getNonVisibleContract = Map(cId -> nonVisibleContract)
|
||||
private[this] val getIfaceContract = Map(cId -> iface_contract)
|
||||
private[this] val getHelper = Map(helperCId -> helper)
|
||||
|
||||
private[this] val getKey = Map(
|
||||
GlobalKeyWithMaintainers(GlobalKey.assertBuild(T, keyValue), Set(alice)) -> cId
|
||||
@ -1293,6 +1317,33 @@ class EvaluationOrderTest extends AnyFreeSpec with Matchers with Inside {
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
// TEST_EVIDENCE: Semantics: Evaluation order of exercise-by-key of a non-cached global contract with visibility failure
|
||||
"visibility failure" in {
|
||||
val (res, msgs) = evalUpdateApp(
|
||||
pkgs,
|
||||
e"""\(exercisingParty : Party) (sig: Party) -> Test:exercise_by_key exercisingParty (Test:someParty sig) Test:noCid 0 (M:Either:Left @Int64 @Int64 0)""",
|
||||
Array(SParty(charlie), SParty(alice)),
|
||||
Set(charlie),
|
||||
getContract = getNonVisibleContract,
|
||||
getKey = getKey,
|
||||
)
|
||||
inside(res) {
|
||||
case Success(
|
||||
Left(SErrorDamlException(IE.ContractKeyNotVisible(cid, key, _, _, _)))
|
||||
) =>
|
||||
cid shouldBe cId
|
||||
key.templateId shouldBe T
|
||||
msgs shouldBe Seq(
|
||||
"starts test",
|
||||
"maintainers",
|
||||
"queries key",
|
||||
"queries contract",
|
||||
"contract signatories",
|
||||
"contract observers",
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
"a cached global contract" - {
|
||||
@ -1383,6 +1434,27 @@ class EvaluationOrderTest extends AnyFreeSpec with Matchers with Inside {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// TEST_EVIDENCE: Semantics: Evaluation order of exercise-by-key of a cached global contract with visibility failure
|
||||
"visibility failure" in {
|
||||
val (res, msgs) = evalUpdateApp(
|
||||
pkgs,
|
||||
e"""\(exercisingParty: Party) (sig : Party) (cId: ContractId M:T) ->
|
||||
ubind x: M:T <- exercise @M:T Divulge cId exercisingParty
|
||||
in Test:exercise_by_key exercisingParty (Test:someParty sig) Test:noCid 0 (M:Either:Left @Int64 @Int64 0)""",
|
||||
Array(SParty(charlie), SParty(alice), SContractId(cId)),
|
||||
Set(charlie),
|
||||
getContract = getNonVisibleContract,
|
||||
)
|
||||
inside(res) {
|
||||
case Success(
|
||||
Left(SErrorDamlException(IE.ContractKeyNotVisible(cid, key, _, _, _)))
|
||||
) =>
|
||||
cid shouldBe cId
|
||||
key.templateId shouldBe T
|
||||
msgs shouldBe Seq("starts test", "maintainers")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
"a local contract" - {
|
||||
@ -1453,28 +1525,16 @@ class EvaluationOrderTest extends AnyFreeSpec with Matchers with Inside {
|
||||
}
|
||||
}
|
||||
|
||||
// TEST_EVIDENCE: Semantics: Evaluation order of lookup of a local contract with visibility failure
|
||||
// TEST_EVIDENCE: Semantics: Evaluation order of exercise_by_key of a local contract with visibility failure
|
||||
"visibility failure" in {
|
||||
val (res, msgs) = evalUpdateApp(
|
||||
pkgs,
|
||||
e"""\(cId: Test:Bridge) (sig : Party) (exercisingParty: Party) ->
|
||||
ubind x: ContractId M:T <- exercise @Test:Bridge CreateNonvisibleKey cId ()
|
||||
e"""\(helperCId: ContractId Test:Helper) (sig : Party) (exercisingParty: Party) ->
|
||||
ubind x: ContractId M:T <- exercise @Test:Helper CreateNonvisibleKey helperCId ()
|
||||
in Test:exercise_by_key exercisingParty (Test:someParty sig) Test:noCid 0 (M:Either:Left @Int64 @Int64 0)""",
|
||||
Array(SContractId(cId), SParty(alice), SParty(charlie)),
|
||||
Array(SContractId(helperCId), SParty(alice), SParty(charlie)),
|
||||
Set(charlie),
|
||||
getContract = Map(
|
||||
cId -> Versioned(
|
||||
TransactionVersion.StableVersions.max,
|
||||
Value.ContractInstance(
|
||||
Bridge,
|
||||
ValueRecord(
|
||||
None,
|
||||
ImmArray(None -> ValueParty(alice), None -> ValueParty(charlie)),
|
||||
),
|
||||
"",
|
||||
),
|
||||
)
|
||||
),
|
||||
getContract = getHelper,
|
||||
)
|
||||
inside(res) {
|
||||
case Success(
|
||||
@ -1878,7 +1938,7 @@ class EvaluationOrderTest extends AnyFreeSpec with Matchers with Inside {
|
||||
}
|
||||
}
|
||||
|
||||
"fetch_exercise" - {
|
||||
"fetch" - {
|
||||
|
||||
"a non-cached global contract" - {
|
||||
|
||||
@ -2200,6 +2260,33 @@ class EvaluationOrderTest extends AnyFreeSpec with Matchers with Inside {
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
// TEST_EVIDENCE: Semantics: Evaluation order of fetch-by-key of a non-cached global contract with visibility failure
|
||||
"visibility failure" in {
|
||||
val (res, msgs) = evalUpdateApp(
|
||||
pkgs,
|
||||
e"""\(fetchingParty:Party) (sig: Party) -> Test:fetch_by_key fetchingParty (Test:someParty sig) Test:noCid 0""",
|
||||
Array(SParty(charlie), SParty(alice)),
|
||||
Set(charlie),
|
||||
getContract = getNonVisibleContract,
|
||||
getKey = getKey,
|
||||
)
|
||||
inside(res) {
|
||||
case Success(
|
||||
Left(SErrorDamlException(IE.ContractKeyNotVisible(cid, key, _, _, _)))
|
||||
) =>
|
||||
cid shouldBe cId
|
||||
key.templateId shouldBe T
|
||||
msgs shouldBe Seq(
|
||||
"starts test",
|
||||
"maintainers",
|
||||
"queries key",
|
||||
"queries contract",
|
||||
"contract signatories",
|
||||
"contract observers",
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
"a cached global contract" - {
|
||||
@ -2256,6 +2343,28 @@ class EvaluationOrderTest extends AnyFreeSpec with Matchers with Inside {
|
||||
msgs shouldBe Seq("starts test", "maintainers")
|
||||
}
|
||||
}
|
||||
|
||||
// TEST_EVIDENCE: Semantics: Evaluation order of fetch-by-key of a cached global contract with visibility failure
|
||||
"visibility failure" in {
|
||||
val (res, msgs) = evalUpdateApp(
|
||||
pkgs,
|
||||
e"""\(fetchingParty:Party) (sig : Party) (cId: ContractId M:T) ->
|
||||
ubind x: M:T <- exercise @M:T Divulge cId fetchingParty
|
||||
in Test:fetch_by_key fetchingParty (Test:someParty sig) Test:noCid 0""",
|
||||
Array(SParty(charlie), SParty(alice), SContractId(cId)),
|
||||
Set(charlie),
|
||||
getContract = getNonVisibleContract,
|
||||
getKey = getKey,
|
||||
)
|
||||
inside(res) {
|
||||
case Success(
|
||||
Left(SErrorDamlException(IE.ContractKeyNotVisible(cid, key, _, _, _)))
|
||||
) =>
|
||||
cid shouldBe cId
|
||||
key.templateId shouldBe T
|
||||
msgs shouldBe Seq("starts test", "maintainers")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
"a local contract" - {
|
||||
@ -2298,24 +2407,12 @@ class EvaluationOrderTest extends AnyFreeSpec with Matchers with Inside {
|
||||
"visibility failure" in {
|
||||
val (res, msgs) = evalUpdateApp(
|
||||
pkgs,
|
||||
e"""\(cId: Test:Bridge) (sig : Party) (fetchingParty: Party) ->
|
||||
ubind x: ContractId M:T <- exercise @Test:Bridge CreateNonvisibleKey cId ()
|
||||
e"""\(helperCId: ContractId Test:Helper) (sig : Party) (fetchingParty: Party) ->
|
||||
ubind x: ContractId M:T <- exercise @Test:Helper CreateNonvisibleKey helperCId ()
|
||||
in Test:fetch_by_key fetchingParty (Test:someParty sig) Test:noCid 0""",
|
||||
Array(SContractId(cId), SParty(alice), SParty(charlie)),
|
||||
Array(SContractId(helperCId), SParty(alice), SParty(charlie)),
|
||||
Set(charlie),
|
||||
getContract = Map(
|
||||
cId -> Versioned(
|
||||
TransactionVersion.StableVersions.max,
|
||||
Value.ContractInstance(
|
||||
Bridge,
|
||||
ValueRecord(
|
||||
None,
|
||||
ImmArray(None -> ValueParty(alice), None -> ValueParty(charlie)),
|
||||
),
|
||||
"",
|
||||
),
|
||||
)
|
||||
),
|
||||
getContract = getHelper,
|
||||
)
|
||||
inside(res) {
|
||||
case Success(
|
||||
@ -2693,6 +2790,33 @@ class EvaluationOrderTest extends AnyFreeSpec with Matchers with Inside {
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
// TEST_EVIDENCE: Semantics: Evaluation order of lookup of a non-cached global contract with visibility failure
|
||||
"visibility failure" in {
|
||||
val (res, msgs) = evalUpdateApp(
|
||||
pkgs,
|
||||
e"""\(lookingParty:Party) (sig: Party) -> Test:lookup_by_key lookingParty (Test:someParty sig) Test:noCid 0""",
|
||||
Array(SParty(charlie), SParty(alice)),
|
||||
Set(charlie),
|
||||
getContract = getNonVisibleContract,
|
||||
getKey = getKey,
|
||||
)
|
||||
inside(res) {
|
||||
case Success(
|
||||
Left(SErrorDamlException(IE.ContractKeyNotVisible(cid, key, _, _, _)))
|
||||
) =>
|
||||
cid shouldBe cId
|
||||
key.templateId shouldBe T
|
||||
msgs shouldBe Seq(
|
||||
"starts test",
|
||||
"maintainers",
|
||||
"queries key",
|
||||
"queries contract",
|
||||
"contract signatories",
|
||||
"contract observers",
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
"a cached global contract" - {
|
||||
@ -2748,6 +2872,28 @@ class EvaluationOrderTest extends AnyFreeSpec with Matchers with Inside {
|
||||
msgs shouldBe Seq("starts test", "maintainers")
|
||||
}
|
||||
}
|
||||
|
||||
// TEST_EVIDENCE: Semantics: Evaluation order of lookup of a cached global contract with visibility failure
|
||||
"visibility failure" in {
|
||||
val (res, msgs) = evalUpdateApp(
|
||||
pkgs,
|
||||
e"""\(lookingParty:Party) (sig: Party) (cId: ContractId M:T) ->
|
||||
ubind x: M:T <- exercise @M:T Divulge cId lookingParty
|
||||
in Test:lookup_by_key lookingParty (Test:someParty sig) Test:noCid 0""",
|
||||
Array(SParty(charlie), SParty(alice), SContractId(cId)),
|
||||
Set(charlie),
|
||||
getContract = getNonVisibleContract,
|
||||
getKey = getKey,
|
||||
)
|
||||
inside(res) {
|
||||
case Success(
|
||||
Left(SErrorDamlException(IE.ContractKeyNotVisible(cid, key, _, _, _)))
|
||||
) =>
|
||||
cid shouldBe cId
|
||||
key.templateId shouldBe T
|
||||
msgs shouldBe Seq("starts test", "maintainers")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
"a local contract" - {
|
||||
@ -2805,24 +2951,12 @@ class EvaluationOrderTest extends AnyFreeSpec with Matchers with Inside {
|
||||
"visibility failure" in {
|
||||
val (res, msgs) = evalUpdateApp(
|
||||
pkgs,
|
||||
e"""\(cId: Test:Bridge) (sig : Party) (lookingParty: Party) ->
|
||||
ubind x: ContractId M:T <- exercise @Test:Bridge CreateNonvisibleKey cId ()
|
||||
e"""\(helperCId: ContractId Test:Helper) (sig : Party) (lookingParty: Party) ->
|
||||
ubind x: ContractId M:T <- exercise @Test:Helper CreateNonvisibleKey helperCId ()
|
||||
in Test:lookup_by_key lookingParty (Test:someParty sig) Test:noCid 0""",
|
||||
Array(SContractId(cId), SParty(alice), SParty(charlie)),
|
||||
Array(SContractId(helperCId), SParty(alice), SParty(charlie)),
|
||||
Set(charlie),
|
||||
getContract = Map(
|
||||
cId -> Versioned(
|
||||
TransactionVersion.StableVersions.max,
|
||||
Value.ContractInstance(
|
||||
Bridge,
|
||||
ValueRecord(
|
||||
None,
|
||||
ImmArray(None -> ValueParty(alice), None -> ValueParty(charlie)),
|
||||
),
|
||||
"",
|
||||
),
|
||||
)
|
||||
),
|
||||
getContract = getHelper,
|
||||
)
|
||||
inside(res) {
|
||||
case Success(
|
||||
|
@ -505,4 +505,67 @@ final class ContractKeysIT extends LedgerTestSuite {
|
||||
} yield ()
|
||||
})
|
||||
|
||||
test(
|
||||
"CKGlocalKeyVisibility",
|
||||
"Contract keys should be visible",
|
||||
allocate(TwoParties),
|
||||
)(implicit ec => { case Participants(Participant(ledger, alice, bob)) =>
|
||||
for {
|
||||
|
||||
// create contracts to work with
|
||||
cid <- ledger.create(alice, Test.WithKey(alice))
|
||||
|
||||
// double check its key can be found if visible
|
||||
_ <- ledger.submit(
|
||||
ledger.submitRequest(
|
||||
alice,
|
||||
Test.WithKey.key(alice).exerciseWithKey_NoOp(alice, alice).command,
|
||||
)
|
||||
)
|
||||
|
||||
// divulge the contract
|
||||
helper <- ledger.create(bob, Test.WithKeyDivulgenceHelper(bob, alice))
|
||||
_ <- ledger.exercise(alice, helper.exerciseWithKeyDivulgenceHelper_Fetch(_, cid))
|
||||
|
||||
// double check it is properly divulged
|
||||
_ <- ledger.exercise(bob, cid.exerciseWithKey_NoOp(_, bob))
|
||||
|
||||
request = ledger.submitRequest(
|
||||
bob,
|
||||
// exercise by key the contract
|
||||
Test.WithKey.key(alice).exerciseWithKey_NoOp(bob, bob).command,
|
||||
)
|
||||
failure1 <- ledger.submit(request).mustFail("exercise of a non visible key")
|
||||
|
||||
request = ledger.submitRequest(
|
||||
bob,
|
||||
// bring the contract in the engine cache
|
||||
cid.exerciseWithKey_NoOp(bob, bob).command,
|
||||
// exercise by key the contract
|
||||
Test.WithKey.key(alice).exerciseWithKey_NoOp(bob, bob).command,
|
||||
)
|
||||
failure2 <- ledger.submit(request).mustFail("exercise of a non visible key")
|
||||
|
||||
} yield {
|
||||
List(failure1, failure2).foreach { failure =>
|
||||
val results = LazyList(
|
||||
LedgerApiErrors.CommandExecution.Interpreter.GenericInterpretationError ->
|
||||
"key of contract not visible",
|
||||
LedgerApiErrors.CommandExecution.Interpreter.LookupErrors.ContractKeyNotFound ->
|
||||
"couldn't find key",
|
||||
).map { case (errorCode, message) =>
|
||||
scala.util.Try(
|
||||
assertGrpcError(
|
||||
failure,
|
||||
errorCode,
|
||||
Some(message),
|
||||
checkDefiniteAnswerMetadata = true,
|
||||
)
|
||||
)
|
||||
}
|
||||
results.collectFirst { case scala.util.Success(value) => value }.getOrElse(results.head.get)
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
}
|
||||
|
@ -36,7 +36,6 @@ template Dummy
|
||||
do clone <- exercise self Clone
|
||||
exercise self FailingChoice
|
||||
|
||||
|
||||
choice ConsumeIfTimeIsBetween : ()
|
||||
with
|
||||
begin : Time
|
||||
@ -679,6 +678,11 @@ template WithKey
|
||||
key p : Party
|
||||
maintainer key
|
||||
|
||||
nonconsuming choice WithKey_NoOp: ()
|
||||
with divulgee: Party
|
||||
controller divulgee
|
||||
do pure ()
|
||||
|
||||
template WithKeyCreator
|
||||
with
|
||||
p1 : Party
|
||||
|
@ -61,126 +61,132 @@
|
||||
- /v1/query POST succeeds after reconnect to DB: [FailureTests.scala](ledger-service/http-json/src/failurelib/scala/http/FailureTests.scala#L260)
|
||||
- /v1/stream/query can reconnect: [FailureTests.scala](ledger-service/http-json/src/failurelib/scala/http/FailureTests.scala#L333)
|
||||
- Command submission succeeds after reconnect: [FailureTests.scala](ledger-service/http-json/src/failurelib/scala/http/FailureTests.scala#L50)
|
||||
- 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#L593)
|
||||
- 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#L643)
|
||||
- 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#L620)
|
||||
- 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#L546)
|
||||
- Evaluation order of create with failed precondition: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L471)
|
||||
- Evaluation order of create_interface with authorization failure: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L795)
|
||||
- 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#L818)
|
||||
- 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#L868)
|
||||
- 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#L845)
|
||||
- Evaluation order of create_interface with duplicate contract key: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L744)
|
||||
- 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#L769)
|
||||
- Evaluation order of create_interface with failed precondition: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L694)
|
||||
- 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#L1701)
|
||||
- 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#L1683)
|
||||
- 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#L1739)
|
||||
- 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#L1140)
|
||||
- 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#L937)
|
||||
- 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#L1004)
|
||||
- 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#L922)
|
||||
- Evaluation order of exercise of an inactive global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L987)
|
||||
- Evaluation order of exercise of an inactive local contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1082)
|
||||
- Evaluation order of exercise of an unknown contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1164)
|
||||
- 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#L1101)
|
||||
- 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#L1040)
|
||||
- Evaluation order of exercise with argument exceeding max nesting: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1178)
|
||||
- Evaluation order of exercise with output exceeding max nesting: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1201)
|
||||
- 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#L1433)
|
||||
- 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#L1272)
|
||||
- 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#L1344)
|
||||
- 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#L1325)
|
||||
- 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#L1413)
|
||||
- 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#L1489)
|
||||
- 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#L1363)
|
||||
- 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#L1504)
|
||||
- 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#L1567)
|
||||
- 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#L1528)
|
||||
- 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#L1847)
|
||||
- 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#L1631)
|
||||
- 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#L1787)
|
||||
- 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#L1806)
|
||||
- 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#L1553)
|
||||
- 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#L2101)
|
||||
- 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#L1922)
|
||||
- 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#L1980)
|
||||
- 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#L1907)
|
||||
- Evaluation order of fetch of an inactive global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1964)
|
||||
- Evaluation order of fetch of an inactive local contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2049)
|
||||
- Evaluation order of fetch of an unknown contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2119)
|
||||
- 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#L2066)
|
||||
- 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#L2014)
|
||||
- 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#L2243)
|
||||
- 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#L2297)
|
||||
- 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#L2182)
|
||||
- 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#L2224)
|
||||
- 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#L2279)
|
||||
- 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#L2330)
|
||||
- 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#L2360)
|
||||
- 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#L2374)
|
||||
- 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#L2346)
|
||||
- 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#L2490)
|
||||
- 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#L2614)
|
||||
- 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#L2414)
|
||||
- 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#L2431)
|
||||
- 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#L2473)
|
||||
- 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#L2561)
|
||||
- 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#L2578)
|
||||
- Evaluation order of fetch_interface of an unknown contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2632)
|
||||
- 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#L2526)
|
||||
- Evaluation order of lookup of a local contract with visibility failure: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1456)
|
||||
- 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#L2735)
|
||||
- Evaluation order of lookup_by_key of a local contract with authorization failure: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2804)
|
||||
- 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#L2788)
|
||||
- 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#L2675)
|
||||
- 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#L2717)
|
||||
- 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#L2771)
|
||||
- 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#L2838)
|
||||
- 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#L2868)
|
||||
- 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#L2882)
|
||||
- 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#L2854)
|
||||
- Evaluation order of successful create: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L447)
|
||||
- Evaluation order of successful create_interface: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L670)
|
||||
- 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#L1587)
|
||||
- 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#L964)
|
||||
- Evaluation order of successful exercise of a local contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1060)
|
||||
- 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#L897)
|
||||
- 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#L1300)
|
||||
- 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#L1390)
|
||||
- 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#L1230)
|
||||
- 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#L1659)
|
||||
- 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#L1764)
|
||||
- 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#L1947)
|
||||
- Evaluation order of successful fetch of a local contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2034)
|
||||
- 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#L1885)
|
||||
- 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#L2207)
|
||||
- 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#L2263)
|
||||
- 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#L2138)
|
||||
- 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#L2456)
|
||||
- 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#L2546)
|
||||
- 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#L2392)
|
||||
- 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#L2700)
|
||||
- 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#L2755)
|
||||
- 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#L2652)
|
||||
- Evaluation order: Interface preconditions are evaluated in the order given by the implementation list.: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L505)
|
||||
- Evaluation order: Interface preconditions are evaluated in the order given by the implementation list.: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L728)
|
||||
- Evaluation order: Template precondition before interface preconditions.: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L489)
|
||||
- Evaluation order: Template precondition before interface preconditions.: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L712)
|
||||
- Evaluation order of create with authorization failure: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L594)
|
||||
- Evaluation order of create with contract ID in contract key: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L617)
|
||||
- Evaluation order of create with contract key exceeding max nesting: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L667)
|
||||
- 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#L644)
|
||||
- Evaluation order of create with duplicate contract key: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L545)
|
||||
- Evaluation order of create with empty contract key maintainers: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L570)
|
||||
- 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#L819)
|
||||
- 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#L842)
|
||||
- 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#L892)
|
||||
- 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#L869)
|
||||
- Evaluation order of create_interface with duplicate contract key: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L768)
|
||||
- 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#L793)
|
||||
- Evaluation order of create_interface with failed precondition: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L718)
|
||||
- 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#L1761)
|
||||
- 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#L1743)
|
||||
- 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#L1799)
|
||||
- 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#L1164)
|
||||
- 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#L961)
|
||||
- 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#L1028)
|
||||
- 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#L946)
|
||||
- Evaluation order of exercise of an inactive global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1011)
|
||||
- Evaluation order of exercise of an inactive local contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1106)
|
||||
- Evaluation order of exercise of an unknown contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1188)
|
||||
- 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#L1125)
|
||||
- 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#L1064)
|
||||
- Evaluation order of exercise with argument exceeding max nesting: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1202)
|
||||
- Evaluation order of exercise with output exceeding max nesting: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1225)
|
||||
- Evaluation order of exercise-by-key of a cached global contract with visibility failure: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1438)
|
||||
- Evaluation order of exercise-by-key of a non-cached global contract with visibility failure: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1321)
|
||||
- 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#L1505)
|
||||
- Evaluation order of exercise_by_key of a local contract with visibility failure: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1528)
|
||||
- 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#L1296)
|
||||
- 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#L1395)
|
||||
- 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#L1376)
|
||||
- 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#L1485)
|
||||
- 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#L1549)
|
||||
- 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#L1414)
|
||||
- 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#L1564)
|
||||
- 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#L1627)
|
||||
- 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#L1588)
|
||||
- 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#L1907)
|
||||
- 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#L1691)
|
||||
- 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#L1847)
|
||||
- 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#L1866)
|
||||
- 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#L1613)
|
||||
- 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#L2161)
|
||||
- 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#L1982)
|
||||
- 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#L2040)
|
||||
- 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#L1967)
|
||||
- Evaluation order of fetch of an inactive global contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2024)
|
||||
- Evaluation order of fetch of an inactive local contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2109)
|
||||
- Evaluation order of fetch of an unknown contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2179)
|
||||
- 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#L2126)
|
||||
- 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#L2074)
|
||||
- Evaluation order of fetch-by-key of a cached global contract with visibility failure: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2347)
|
||||
- Evaluation order of fetch-by-key of a non-cached global contract with visibility failure: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2264)
|
||||
- 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#L2330)
|
||||
- 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#L2406)
|
||||
- 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#L2242)
|
||||
- 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#L2311)
|
||||
- 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#L2388)
|
||||
- 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#L2427)
|
||||
- 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#L2457)
|
||||
- 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#L2471)
|
||||
- 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#L2443)
|
||||
- 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#L2587)
|
||||
- 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#L2711)
|
||||
- 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#L2511)
|
||||
- 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#L2528)
|
||||
- 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#L2570)
|
||||
- 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#L2658)
|
||||
- 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#L2675)
|
||||
- Evaluation order of fetch_interface of an unknown contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2729)
|
||||
- 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#L2623)
|
||||
- Evaluation order of lookup of a cached global contract with visibility failure: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2876)
|
||||
- Evaluation order of lookup of a non-cached global contract with visibility failure: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2794)
|
||||
- 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#L2859)
|
||||
- Evaluation order of lookup_by_key of a local contract with authorization failure: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2950)
|
||||
- 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#L2934)
|
||||
- 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#L2772)
|
||||
- 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#L2841)
|
||||
- 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#L2917)
|
||||
- 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#L2972)
|
||||
- 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#L3002)
|
||||
- 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#L3016)
|
||||
- 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#L2988)
|
||||
- Evaluation order of successful create: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L471)
|
||||
- Evaluation order of successful create_interface: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L694)
|
||||
- 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#L1647)
|
||||
- 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#L988)
|
||||
- Evaluation order of successful exercise of a local contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L1084)
|
||||
- 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#L921)
|
||||
- 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#L1351)
|
||||
- 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#L1462)
|
||||
- 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#L1254)
|
||||
- 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#L1719)
|
||||
- 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#L1824)
|
||||
- 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#L2007)
|
||||
- Evaluation order of successful fetch of a local contract: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L2094)
|
||||
- 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#L1945)
|
||||
- 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#L2294)
|
||||
- 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#L2372)
|
||||
- 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#L2198)
|
||||
- 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#L2553)
|
||||
- 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#L2643)
|
||||
- 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#L2489)
|
||||
- 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#L2824)
|
||||
- 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#L2901)
|
||||
- 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#L2749)
|
||||
- Evaluation order: Interface preconditions are evaluated in the order given by the implementation list.: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L529)
|
||||
- Evaluation order: Interface preconditions are evaluated in the order given by the implementation list.: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L752)
|
||||
- Evaluation order: Template precondition before interface preconditions.: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L513)
|
||||
- Evaluation order: Template precondition before interface preconditions.: [EvaluationOrderTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/EvaluationOrderTest.scala#L736)
|
||||
- Exceptions, throw/catch.: [ExceptionTest.scala](daml-lf/interpreter/src/test/scala/com/digitalasset/daml/lf/speedy/ExceptionTest.scala#L25)
|
||||
- Rollback creates cannot be exercise: [EngineTest.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/EngineTest.scala#L2001)
|
||||
- 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#L1827)
|
||||
- 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#L1721)
|
||||
- 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#L2596)
|
||||
- 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#L1887)
|
||||
- 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#L1781)
|
||||
- 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#L2693)
|
||||
- command submission timeout is applied: [FailureTests.scala](ledger-service/http-json/src/failurelib/scala/http/FailureTests.scala#L99)
|
||||
- contract key behaviour (non-unique mode): [ContractKeySpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ContractKeySpec.scala#L414)
|
||||
- contract key behaviour (unique mode): [ContractKeySpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ContractKeySpec.scala#L424)
|
||||
- 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#L221)
|
||||
- contract keys should be evaluated after ensure clause: [ContractKeySpec.scala](daml-lf/engine/src/test/scala/com/digitalasset/daml/lf/engine/ContractKeySpec.scala#L188)
|
||||
- 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)
|
||||
- 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#L1613)
|
||||
- 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#L1673)
|
||||
- fromStartupMode should not succeed for any input when the db connection is broken: [FailureTests.scala](ledger-service/http-json/src/failurelib/scala/http/FailureTests.scala#L436)
|
||||
- redirect to the configured callback URI after login: [TriggerServiceTest.scala](triggers/service/src/test/scala/com/digitalasset/daml/lf/engine/trigger/TriggerServiceTest.scala#L641)
|
||||
- restart trigger on initialization failure due to failed connection: [TriggerServiceTest.scala](triggers/service/src/test/scala/com/digitalasset/daml/lf/engine/trigger/TriggerServiceTest.scala#L457)
|
||||
|
Loading…
Reference in New Issue
Block a user