How to execute "controller" with multiple party by Navigator?

If i defined multiple party as my template controller , how to execute it on Navigator ?
1.“issuer” login and create “SimpleIou”
2.Either “owner” or “regulator” login and “Transfer” this contract was failed
So ,what should i do as this on Navigator?

template SimpleIou
  with
    issuer : Party
    owner : Party
    cash : Cash
    regulator : Party
  where
    signatory issuer
    controller owner , regulator can
      Transfer
        : ContractId SimpleIou
        with
          newOwner : Party
        do
          assertMsg "newOwner cannot be equal to owner." (owner /= newOwner)
          create this with owner = newOwner
2 Likes

Good Morning @huixin_liu. This is a very common question.

The short answer is that there is no way of creating a template with multiple signatories directly; you have to write a workflow to ‘collect’ the signatures. Here is an example of how to do this when there are just two parties involved: Learn the fundamentals of DAML online: The propose/accept pattern

The concept can be extended to multiple signatories.

Once you’ve done this, you will exercise multiple choices through the navigator to collect these signatures; each choice will require a different participant, so you will need to re-login between steps.

Hope that helps!

3 Likes

Thanks

1 Like