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 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)
       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)
       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.