External party Offboarding
Is there some endpoint in the ledger API, or wallet API that allows for an external party to be offboarded from a validator node?
In principle running a topology transaction request to update the PartyToParticipant mapping should be able to do that, but I don’t see a way to remove that mapping.
There’s no offboarding endpoint in the Ledger API or in the validator/wallet API (/v0/admin/users/offboard only archives the wallet install contracts and never touches topology). The mapping can be removed, but only through the participant Admin API.
grpcurl -plaintext -d '{
"proposal": {
"change": "TOPOLOGY_CHANGE_OP_REMOVE",
"serial": <current serial + 1>,
"v30": {
"party_to_participant": {
"party": "<partyId>",
"threshold": 1,
"participants": [{"participant_uid": "<participantId>", "permission": "PARTICIPANT_PERMISSION_CONFIRMATION"}]
}
}
},
"must_fully_authorize": true,
"store": {"synchronizer": {"id": "<synchronizerId>"}},
"force_changes": ["FORCE_FLAG_DISABLE_PARTY_WITH_ACTIVE_CONTRACTS"]
}' <participant-admin-host>:<port> com.digitalasset.canton.topology.admin.v30.TopologyManagerWriteService/Authorize
A couple things to note, if this is the only host for the party then they lose access to their ACS, which means loss of funds unless they are hosted elsewhere. You will need a signature from the namespace key of the party id, which for external parties is just the external signature.