【发布时间】:2020-10-29 10:05:00
【问题描述】:
我想在我的合同模板中使用 (Party, CustomObj) 的地图作为属性/参数。我还想在合同模板中指定键列表作为观察者。 我怎样才能做到这一点?
谢谢。
【问题讨论】:
标签: daml
我想在我的合同模板中使用 (Party, CustomObj) 的地图作为属性/参数。我还想在合同模板中指定键列表作为观察者。 我怎样才能做到这一点?
谢谢。
【问题讨论】:
标签: daml
observer 接受范围内带有模板参数的任意表达式。因此,您可以编写一个从地图中提取键的表达式。为此,首先转换为(key, value) 对的列表,然后使用map fst 丢弃这些值。这是一个完整的例子:
module Main where
import DA.Next.Map (Map)
import qualified DA.Next.Map as Map
data CustomObj = CustomObj
deriving (Eq, Show)
template T
with
sig : Party
m : Map Party CustomObj
where
signatory sig
observer map fst (Map.toList m)
【讨论】: