Skip to content

Commit f1c7112

Browse files
quick fix for disclosures, needs porting
1 parent 2d9103f commit f1c7112

File tree

2 files changed

+24
-6
lines changed
  • sdk
    • daml-lf/model-test-lib/src/main/scala/com/digitalasset/daml/lf/model/test
    • daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/v2/ledgerinteraction

2 files changed

+24
-6
lines changed

sdk/daml-lf/model-test-lib/src/main/scala/com/digitalasset/daml/lf/model/test/Demo.scala

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ import org.apache.pekko.actor.ActorSystem
1212
import org.apache.pekko.stream.Materializer
1313
import org.scalacheck.{Gen, Prop}
1414

15+
import scala.annotation.nowarn
16+
1517
//import scala.annotation.nowarn
1618
import scala.concurrent.duration.Duration
1719
import scala.concurrent.{Await, ExecutionContext}
@@ -87,7 +89,7 @@ object Demo {
8789

8890
// val workers = ExecutionContext.fromExecutorService(Executors.newFixedThreadPool(1))
8991

90-
// @nowarn("cat=unused")
92+
@nowarn("cat=unused")
9193
val bad = Parser.parseScenario("""
9294
|Scenario
9395
| Topology
@@ -101,8 +103,8 @@ object Demo {
101103

102104
implicit val pretty: Ledgers.Scenario => org.scalacheck.util.Pretty =
103105
(s: Ledgers.Scenario) => org.scalacheck.util.Pretty(_ => Pretty.prettyScenario(s))
104-
// validSymScenarios
105-
List(bad)
106+
validSymScenarios
107+
// List(bad)
106108
.foreach(scenario => {
107109
// workers.execute(() =>
108110
if (scenario.ledger.nonEmpty) {

sdk/daml-script/runner/src/main/scala/com/digitalasset/daml/lf/engine/script/v2/ledgerinteraction/IdeLedgerClient.scala

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import com.digitalasset.daml.lf.speedy.Speedy.Machine
2929
import com.digitalasset.daml.lf.speedy.{Pretty, SError, SValue, TraceLog, WarningLog}
3030
import com.digitalasset.daml.lf.transaction.{
3131
FatContractInstance,
32+
FatContractInstanceImpl,
3233
GlobalKey,
3334
IncompleteTransaction,
3435
Node,
@@ -39,7 +40,6 @@ import com.digitalasset.daml.lf.transaction.{
3940
import com.digitalasset.daml.lf.value.Value
4041
import com.digitalasset.daml.lf.value.Value.ContractId
4142
import com.daml.nonempty.NonEmpty
42-
4343
import com.digitalasset.canton.logging.{LoggingContextWithTrace, NamedLoggerFactory}
4444
import com.digitalasset.canton.ledger.localstore.InMemoryUserManagementStore
4545
import scalaz.OneAnd
@@ -119,8 +119,24 @@ class IdeLedgerClient(
119119
private val userManagementStore =
120120
new InMemoryUserManagementStore(createAdmin = false, namedLoggerFactory)
121121

122-
private[this] def blob(contract: FatContractInstance): Bytes =
123-
Bytes.fromByteString(TransactionCoder.encodeFatContractInstance(contract).toOption.get)
122+
private[this] def blob(contract: FatContractInstance): Bytes = {
123+
val valueTranslator =
124+
new ValueTranslator(compiledPackages.pkgInterface, requireV1ContractIdSuffix = false)
125+
valueTranslator.translateValue(TTyCon(contract.templateId), contract.createArg) match {
126+
case Left(_) =>
127+
sys.error("blob: translateValue failed")
128+
case Right(sArg) =>
129+
val normalizedArg = sArg.toNormalizedValue(contract.version)
130+
val normalizedContract =
131+
contract.asInstanceOf[FatContractInstanceImpl].copy(createArg = normalizedArg)
132+
Bytes.fromByteString(
133+
TransactionCoder
134+
.encodeFatContractInstance(normalizedContract)
135+
.toOption
136+
.get
137+
)
138+
}
139+
}
124140

125141
private[this] def blob(create: Node.Create, createAt: Time.Timestamp): Bytes =
126142
blob(FatContractInstance.fromCreateNode(create, createAt, Bytes.Empty))

0 commit comments

Comments
 (0)