daml/daml-script/converter/BUILD.bazel

29 lines
851 B
Python
Raw Normal View History

interpret allowed updates and other actions in a free Trigger monad, like Script (#7456) * conservatively move daml-script, trigger SValue interpreters to common library * introduce expect and JavaList pattern for converters * clean up trigger Converter Command interpretation * add Church Free monad * add an action language for trigger updates * add expectE to remove some of the joins * convert more of the converters to expect * tool for unrolling Free/Roll * split handleStepResult up and clean up its pattern * handleStepFreeResult to interpret TriggerF * replace Free Church with Pure/Roll free from Script * newtype for ActionTrigger * replace update in low-level Trigger with Free TriggerF * submit one Commands at a time * boolean blindness strikes again * log missed TriggerF steps * comment actual Submit contents * match #7501 fromPureSExpr sig change in 00b80b8ea3 * avoid using forwardPort in runTrigger * push State back into DAML, so it can be excluded from the action list * push Message back into DAML, unifying the action language for initialState and update * bringing TriggerF into initial state * really add TriggerF into initial state, with all ports, tested * add ActionTrigger class, express initialState in its terms * add all TriggerF actions to existing TriggerA * Trigger.rule will no longer have Time argument * rename getS, setS to get, put, matching C.M.T.State from transformers * make high-level Rule evaluate to the underlying TriggerF sequence * Assert's testRule doesn't have a transform yet * move DamlTuple2 to common converter library - suggested by @cocreature; thanks * combine the two Frees, provide from Script * remove time argument from integration tests CHANGELOG_BEGIN - [Triggers] The ``Time`` argument was removed from the trigger rule function; instead, it can be fetched within the ``TriggerA`` ``do`` block by ``getTime``, as with ``Update`` and ``Scenario``. The ``LowLevel`` trigger interface has been redesigned; such triggers need to be rewritten or ported to high-level triggers. See `issue #7456 <https://github.com/digital-asset/daml/pull/7456>`_. CHANGELOG_END * add trigger rule simulator to support Assert module * missed new Free module - left in script per @cocreature * remove retract as we ended up using foldFree for that purpose instead - suggested by @cocreature; thanks * throw ConverterException instead of RuntimeException - suggested by @cocreature; thanks * remove Time argument from coin-upgrade-trigger * port trigger service tests * port trigger scenario test * put TriggerSetup and TriggerRule into LowLevel.Trigger instead of unboxed Free - suggested by @cocreature; thanks * remove Time argument from trigger compatibility test * submit commands as soon as each `emitCommands` is sequenced - we still collect a list, but only for tracking commandsInFlight * filter out compatibility tests for triggers before now * remove commented imports, libraries from new shared converter * make the TriggerF interpreter tail-recursive * remove unused compatibility trait * add back new state logging * remove refactoring comment * rewrite some LowLevel initialStates in do * hide Daml.Script.Free from docs Co-authored-by: Moritz Kiefer <moritz.kiefer@purelyfunctional.org> * remove forwardPortInitialState - suggested by @cocreature; thanks * manually port low-level updates - suggested by @cocreature; thanks * remove forwardPort - suggested by @cocreature; thanks * fail faster on unrecognized TriggerF - suggested by @cocreature; thanks Co-authored-by: Moritz Kiefer <moritz.kiefer@purelyfunctional.org>
2020-10-02 21:18:13 +03:00
# Copyright (c) 2020 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
load(
"//bazel_tools:scala.bzl",
"da_scala_library",
)
script_scalacopts = ["-P:wartremover:traverser:org.wartremover.warts.%s" % wart for wart in [
"NonUnitStatements",
]]
da_scala_library(
name = "converter",
srcs = glob(["src/main/scala/**/*.scala"]),
scalacopts = script_scalacopts,
tags = ["maven_coordinates=com.daml:script-converter:__VERSION__"],
visibility = ["//visibility:public"],
deps = [
"//daml-lf/data",
"//daml-lf/interpreter",
"//daml-lf/language",
"//daml-lf/transaction",
"//language-support/scala/bindings",
"//language-support/scala/bindings-akka",
"@maven//:org_scalaz_scalaz_core_2_12",
],
)