所以我想通了。对于那些在未来为此苦苦挣扎的人。我对可能解决方案的建议奏效了。我创建了一个模板观察者,我在场景中输入了各方。然后我创建了另一个名为 Create_actor 的模板,允许创建一个 Actor 模板,并选择输入观察者模板作为数据类型并引用观察者:
template Observers
with
superuser : Party
observers : Set Party
where
signatory superuser
template Create_Actor
with
current_login : Party
username : Text
name : Text
email : Text
bankIban : Text
role : Text
observers_list_id : ContractId Observers
where
signatory current_login
choice Load_all_actor_observers : ContractId Actor
controller current_login
do
observers_list <- fetch observers_list_id
create Actor with created_by = current_login; username = username; name = name; email = email; observers_list_id = observers_list_id; observers = observers_list.observers, bankIban = bankIban; role = role
template Actor
with
created_by : Party
username : Text
name : Text
email : Text
bankIban : Text
role : Text
observers_list_id : ContractId Observers
observers : Set Party
where
signatory created_by
observer observers