Package com.daml.ledger.api.v2.admin
Interface PartyManagementServiceGrpc.AsyncService
- All Known Implementing Classes:
PartyManagementServiceGrpc.PartyManagementServiceImplBase
- Enclosing class:
PartyManagementServiceGrpc
public static interface PartyManagementServiceGrpc.AsyncService
This service allows inspecting the party management state of the ledger known to the participant
and managing the participant-local party metadata.
The authorization rules for its RPCs are specified on the ``<RpcName>Request``
messages as boolean expressions over these facts:
1. ``HasRight(r)`` denoting whether the authenticated user has right ``r`` and
2. ``IsAuthenticatedIdentityProviderAdmin(idp)`` denoting whether ``idp`` is equal to the ``identity_provider_id``
of the authenticated user and the user has an IdentityProviderAdmin right.
If `identity_provider_id` is set to an empty string, then it's effectively set to the value of access token's 'iss' field if that is provided.
If `identity_provider_id` remains an empty string, the default identity provider will be assumed.
The fields of request messages (and sub-messages) are marked either as ``Optional`` or ``Required``:
1. ``Optional`` denoting the client may leave the field unset when sending a request.
2. ``Required`` denoting the client must set the field to a non-default value when sending a request.
A party details resource is described by the ``PartyDetails`` message,
A party details resource, once it has been created, can be modified using the ``UpdatePartyDetails`` RPC.
The only fields that can be modified are those marked as ``Modifiable``.
-
Method Summary
Modifier and TypeMethodDescriptiondefault voidallocateExternalParty(PartyManagementServiceOuterClass.AllocateExternalPartyRequest request, io.grpc.stub.StreamObserver<PartyManagementServiceOuterClass.AllocateExternalPartyResponse> responseObserver) Alpha 3.3: Endpoint to allocate a new external party on a synchronizer Expected to be stable in 3.5 The external party must be hosted (at least) on this node with either confirmation or observation permissions It can optionally be hosted on other nodes (then called a multi-hosted party).default voidallocateParty(PartyManagementServiceOuterClass.AllocatePartyRequest request, io.grpc.stub.StreamObserver<PartyManagementServiceOuterClass.AllocatePartyResponse> responseObserver) Allocates a new party on a ledger and adds it to the set managed by the participant.default voidgenerateExternalPartyTopology(PartyManagementServiceOuterClass.GenerateExternalPartyTopologyRequest request, io.grpc.stub.StreamObserver<PartyManagementServiceOuterClass.GenerateExternalPartyTopologyResponse> responseObserver) Alpha 3.3: Convenience endpoint to generate topology transactions for external signing Expected to be stable in 3.5 You may use this endpoint to generate the common external topology transactions which can be signed externally and uploaded as part of the allocate party process Note that this request will create a normal namespace using the same key for the identity as for signing.default voidgetParticipantId(PartyManagementServiceOuterClass.GetParticipantIdRequest request, io.grpc.stub.StreamObserver<PartyManagementServiceOuterClass.GetParticipantIdResponse> responseObserver) Return the identifier of the participant.default voidgetParties(PartyManagementServiceOuterClass.GetPartiesRequest request, io.grpc.stub.StreamObserver<PartyManagementServiceOuterClass.GetPartiesResponse> responseObserver) Get the party details of the given parties.default voidlistKnownParties(PartyManagementServiceOuterClass.ListKnownPartiesRequest request, io.grpc.stub.StreamObserver<PartyManagementServiceOuterClass.ListKnownPartiesResponse> responseObserver) List the parties known by the participant.default voidupdatePartyDetails(PartyManagementServiceOuterClass.UpdatePartyDetailsRequest request, io.grpc.stub.StreamObserver<PartyManagementServiceOuterClass.UpdatePartyDetailsResponse> responseObserver) Update selected modifiable participant-local attributes of a party details resource.default voidupdatePartyIdentityProviderId(PartyManagementServiceOuterClass.UpdatePartyIdentityProviderIdRequest request, io.grpc.stub.StreamObserver<PartyManagementServiceOuterClass.UpdatePartyIdentityProviderIdResponse> responseObserver) Update the assignment of a party from one IDP to another.
-
Method Details
-
getParticipantId
default void getParticipantId(PartyManagementServiceOuterClass.GetParticipantIdRequest request, io.grpc.stub.StreamObserver<PartyManagementServiceOuterClass.GetParticipantIdResponse> responseObserver) Return the identifier of the participant. All horizontally scaled replicas should return the same id. daml-on-kv-ledger: returns an identifier supplied on command line at launch time canton: returns globally unique identifier of the participant
-
getParties
default void getParties(PartyManagementServiceOuterClass.GetPartiesRequest request, io.grpc.stub.StreamObserver<PartyManagementServiceOuterClass.GetPartiesResponse> responseObserver) Get the party details of the given parties. Only known parties will be returned in the list.
-
listKnownParties
default void listKnownParties(PartyManagementServiceOuterClass.ListKnownPartiesRequest request, io.grpc.stub.StreamObserver<PartyManagementServiceOuterClass.ListKnownPartiesResponse> responseObserver) List the parties known by the participant. The list returned contains parties whose ledger access is facilitated by the participant and the ones maintained elsewhere.
-
allocateParty
default void allocateParty(PartyManagementServiceOuterClass.AllocatePartyRequest request, io.grpc.stub.StreamObserver<PartyManagementServiceOuterClass.AllocatePartyResponse> responseObserver) Allocates a new party on a ledger and adds it to the set managed by the participant. Caller specifies a party identifier suggestion, the actual identifier allocated might be different and is implementation specific. Caller can specify party metadata that is stored locally on the participant. This call may: - Succeed, in which case the actual allocated identifier is visible in the response. - Respond with a gRPC error daml-on-kv-ledger: suggestion's uniqueness is checked by the validators in the consensus layer and call rejected if the identifier is already present. canton: completely different globally unique identifier is allocated. Behind the scenes calls to an internal protocol are made. As that protocol is richer than the surface protocol, the arguments take implicit values The party identifier suggestion must be a valid party name. Party names are required to be non-empty US-ASCII strings built from letters, digits, space, colon, minus and underscore limited to 255 chars
-
allocateExternalParty
default void allocateExternalParty(PartyManagementServiceOuterClass.AllocateExternalPartyRequest request, io.grpc.stub.StreamObserver<PartyManagementServiceOuterClass.AllocateExternalPartyResponse> responseObserver) Alpha 3.3: Endpoint to allocate a new external party on a synchronizer Expected to be stable in 3.5 The external party must be hosted (at least) on this node with either confirmation or observation permissions It can optionally be hosted on other nodes (then called a multi-hosted party). If hosted on additional nodes, explicit authorization of the hosting relationship must be performed on those nodes before the party can be used. Decentralized namespaces are supported but must be provided fully authorized by their owners. The individual owner namespace transactions can be submitted in the same call (fully authorized as well). In the simple case of a non-multi hosted, non-decentralized party, the RPC will return once the party is effectively allocated and ready to use, similarly to the AllocateParty behavior. For more complex scenarios applications may need to query the party status explicitly (only through the admin API as of now).
-
updatePartyDetails
default void updatePartyDetails(PartyManagementServiceOuterClass.UpdatePartyDetailsRequest request, io.grpc.stub.StreamObserver<PartyManagementServiceOuterClass.UpdatePartyDetailsResponse> responseObserver) Update selected modifiable participant-local attributes of a party details resource. Can update the participant's local information for local parties.
-
updatePartyIdentityProviderId
default void updatePartyIdentityProviderId(PartyManagementServiceOuterClass.UpdatePartyIdentityProviderIdRequest request, io.grpc.stub.StreamObserver<PartyManagementServiceOuterClass.UpdatePartyIdentityProviderIdResponse> responseObserver) Update the assignment of a party from one IDP to another.
-
generateExternalPartyTopology
default void generateExternalPartyTopology(PartyManagementServiceOuterClass.GenerateExternalPartyTopologyRequest request, io.grpc.stub.StreamObserver<PartyManagementServiceOuterClass.GenerateExternalPartyTopologyResponse> responseObserver) Alpha 3.3: Convenience endpoint to generate topology transactions for external signing Expected to be stable in 3.5 You may use this endpoint to generate the common external topology transactions which can be signed externally and uploaded as part of the allocate party process Note that this request will create a normal namespace using the same key for the identity as for signing. More elaborate schemes such as multi-signature or decentralized parties require you to construct the topology transactions yourself.
-