Question from a partner integrating with the Canton Network:
I have a question about how to determine the creation and consumption of Amulet contracts in TransferPreapproval_Send.
I noticed that in the following event:
- ExercisedEvent
- choice = “Archive”
- consuming = true
- acsDelta = false
this behaves differently from what I observed in Step 2 (transfer + accept flow), where:
- ExercisedEvent
- choice = “Archive”
- was typically validated with consuming = true && acsDelta = true
So my questions are:
- What is the correct standard for determining when an Amulet is consumed (archived)?
- Why does this Archive event have acsDelta = false, while previous transfer/accept flows required acsDelta = true?
- Should acsDelta be considered a reliable condition for identifying consumption in all cases, or only in specific workflows?
It seems that the same Archive choice behaves differently depending on the transfer flow (e.g., TransferPreapproval_Send vs. 2-step transfer + accept). I would like to understand the correct parsing logic.