Hi team,
Is there a way to delete a party which has contracts still existing on the ledger?
The participant.parties.disable(party) command returns an error mentioning the existence of contracts involving the party to be delete when contracts involving that party still exists on the ledger.
Motivation behind this is to ensure a party is permanently inaccessible when a user has exited the platform.
Thank you!
You cannot off board a party that has existing rights and obligations as they are known to the participants where the party is on-boarded. Note that this is also required to avoid having multi-signatory contracts that might end up in a “zombie” state due to them being owned by an off-boarded party. If you want to off-board a party, ensuring that all of its existing rights and obligations are removed must be a part of the off-boarding process, alongside with disabling the party itself. This is best done at the application level, where the semantics of the contract ownership are well-known, meaning that models that deal with off-boarding need to be created so that all contracts owned by a party can effectively be archived (for single signatory contract) or possibly re-created to fit the off-boarding (for multi-signatory contracts) while respecting the intended usage of the template.
2 Likes
Apologies for the late response Stefano, thank you for clarifying!
I will ensure that an off-boarding workflow be created to account for the above scenario.