I’m having trouble understanding the actors of fetch actions. The term “actor” is used throughout our documentation, but I couldn’t find a good explanation of what it is.
From the ledger model:
The required authorizers of an Exercise or a Fetch action are its actors.
From the introduction to Daml:
The required authorizers of a fetch action are somewhat dynamic and covered later.
From the language reference for fetch()
:
The submitting party must be an observer or signatory on the contract, otherwise
fetch
fails
I assume that the actions described in the ledger model correspond to the nodes of a transaction (as implemented in com.daml.lf.transaction
).
What are the actors of Exercise and Fetch nodes? Are the actors of Exercise nodes the controllers of the corresponding choice? Do the actors of Fetch nodes depend on the Daml function that produced them (since the different lookup/fetch functions have different authorization rules)?