What impact does "disabling" a party have?

In Canton Console, you can do something like this…

participant.parties.disable(alice)

…if alice::abcd1234efg567... is not a stakeholder on any unarchived contract 1.

After the party is disabled, if someone on another node tries to create a new contract with alice::abcd1234efg567... as a stakeholder, that contract creation will fail, correct?

I assume the answer is “yes, the contract creation will fail.” But I’d like to double-check and document.

I just tested and confirmed:

  • Disabled bob (on participant 1)
  • Disabled charlie (on participant 2)
  • Failed to create a contract as alice (on participant 1) with bob or charlie as observers.
{
  "code": "UNKNOWN_INFORMEES",
  "cause": "The participant is not connected to any synchronizer
            where the given informees are known.",
          :
  "context": {
    "participant": "app-user",
    "unknownInformees": "Set(charlie::12207...1f1f2)",
          :
}

This was on version 3.3.

1 Like

By the way, the docs currently say:

Disabling a party is not currently supported
and is considered a dangerous operation.

Also, if the parties are “external parties,” then participant.parties.disable(...) will not work.