Interface InteractiveSubmissionServiceGrpc.AsyncService
- All Known Implementing Classes:
InteractiveSubmissionServiceGrpc.InteractiveSubmissionServiceImplBase
- Enclosing class:
- InteractiveSubmissionServiceGrpc
public static interface InteractiveSubmissionServiceGrpc.AsyncService
Service allowing interactive construction of command submissions The prepare and execute endpoints allow to submit commands in 2-steps: 1. prepare transaction from commands, 2. submit the prepared transaction This gives callers the ability to sign the daml transaction with their own signing keys
-
Method Summary
Modifier and TypeMethodDescriptiondefault voidexecuteSubmission(InteractiveSubmissionServiceOuterClass.ExecuteSubmissionRequest request, io.grpc.stub.StreamObserver<InteractiveSubmissionServiceOuterClass.ExecuteSubmissionResponse> responseObserver) Execute a prepared submission _asynchronously_ on the ledger.default voidexecuteSubmissionAndWait(InteractiveSubmissionServiceOuterClass.ExecuteSubmissionAndWaitRequest request, io.grpc.stub.StreamObserver<InteractiveSubmissionServiceOuterClass.ExecuteSubmissionAndWaitResponse> responseObserver) Similar to ExecuteSubmission but _synchronously_ wait for the completion of the transaction IMPORTANT: Relying on the response from this endpoint requires trusting the Participant Node to be honest.default voidexecuteSubmissionAndWaitForTransaction(InteractiveSubmissionServiceOuterClass.ExecuteSubmissionAndWaitForTransactionRequest request, io.grpc.stub.StreamObserver<InteractiveSubmissionServiceOuterClass.ExecuteSubmissionAndWaitForTransactionResponse> responseObserver) Similar to ExecuteSubmissionAndWait but additionally returns the transaction IMPORTANT: Relying on the response from this endpoint requires trusting the Participant Node to be honest.default voidgetPreferredPackages(InteractiveSubmissionServiceOuterClass.GetPreferredPackagesRequest request, io.grpc.stub.StreamObserver<InteractiveSubmissionServiceOuterClass.GetPreferredPackagesResponse> responseObserver) Compute the preferred packages for the vetting requirements in the request.default voidgetPreferredPackageVersion(InteractiveSubmissionServiceOuterClass.GetPreferredPackageVersionRequest request, io.grpc.stub.StreamObserver<InteractiveSubmissionServiceOuterClass.GetPreferredPackageVersionResponse> responseObserver) A preferred package is the highest-versioned package for a provided package-name that is vetted by all the participants hosting the provided parties.default voidprepareSubmission(InteractiveSubmissionServiceOuterClass.PrepareSubmissionRequest request, io.grpc.stub.StreamObserver<InteractiveSubmissionServiceOuterClass.PrepareSubmissionResponse> responseObserver) Requires `readAs` scope for the submitting party when LAPI User authorization is enabled
-
Method Details
-
prepareSubmission
default void prepareSubmission(InteractiveSubmissionServiceOuterClass.PrepareSubmissionRequest request, io.grpc.stub.StreamObserver<InteractiveSubmissionServiceOuterClass.PrepareSubmissionResponse> responseObserver) Requires `readAs` scope for the submitting party when LAPI User authorization is enabled
-
executeSubmission
default void executeSubmission(InteractiveSubmissionServiceOuterClass.ExecuteSubmissionRequest request, io.grpc.stub.StreamObserver<InteractiveSubmissionServiceOuterClass.ExecuteSubmissionResponse> responseObserver) Execute a prepared submission _asynchronously_ on the ledger. Requires a signature of the transaction from the submitting external party.
-
executeSubmissionAndWait
default void executeSubmissionAndWait(InteractiveSubmissionServiceOuterClass.ExecuteSubmissionAndWaitRequest request, io.grpc.stub.StreamObserver<InteractiveSubmissionServiceOuterClass.ExecuteSubmissionAndWaitResponse> responseObserver) Similar to ExecuteSubmission but _synchronously_ wait for the completion of the transaction IMPORTANT: Relying on the response from this endpoint requires trusting the Participant Node to be honest. A malicious node could make a successfully committed request appeared failed and vice versa
-
executeSubmissionAndWaitForTransaction
default void executeSubmissionAndWaitForTransaction(InteractiveSubmissionServiceOuterClass.ExecuteSubmissionAndWaitForTransactionRequest request, io.grpc.stub.StreamObserver<InteractiveSubmissionServiceOuterClass.ExecuteSubmissionAndWaitForTransactionResponse> responseObserver) Similar to ExecuteSubmissionAndWait but additionally returns the transaction IMPORTANT: Relying on the response from this endpoint requires trusting the Participant Node to be honest. A malicious node could make a successfully committed request appear as failed and vice versa
-
getPreferredPackageVersion
default void getPreferredPackageVersion(InteractiveSubmissionServiceOuterClass.GetPreferredPackageVersionRequest request, io.grpc.stub.StreamObserver<InteractiveSubmissionServiceOuterClass.GetPreferredPackageVersionResponse> responseObserver) A preferred package is the highest-versioned package for a provided package-name that is vetted by all the participants hosting the provided parties. Ledger API clients should use this endpoint for constructing command submissions that are compatible with the provided preferred package, by making informed decisions on: - which are the compatible packages that can be used to create contracts - which contract or exercise choice argument version can be used in the command - which choices can be executed on a template or interface of a contract Can be accessed by any Ledger API client with a valid token when Ledger API authorization is enabled. Provided for backwards compatibility, it will be removed in the Canton version 3.4.0
-
getPreferredPackages
default void getPreferredPackages(InteractiveSubmissionServiceOuterClass.GetPreferredPackagesRequest request, io.grpc.stub.StreamObserver<InteractiveSubmissionServiceOuterClass.GetPreferredPackagesResponse> responseObserver) Compute the preferred packages for the vetting requirements in the request. A preferred package is the highest-versioned package for a provided package-name that is vetted by all the participants hosting the provided parties. Ledger API clients should use this endpoint for constructing command submissions that are compatible with the provided preferred packages, by making informed decisions on: - which are the compatible packages that can be used to create contracts - which contract or exercise choice argument version can be used in the command - which choices can be executed on a template or interface of a contract If the package preferences could not be computed due to no selection satisfying the requirements, a `FAILED_PRECONDITION` error will be returned. Can be accessed by any Ledger API client with a valid token when Ledger API authorization is enabled. Experimental API: this endpoint is not guaranteed to provide backwards compatibility in future releases
-