# Generated by the protocol buffer compiler. DO NOT EDIT! # Source: signrpc/signer.proto for package 'signrpc' require 'grpc' require 'signrpc/signer_pb' module Signrpc module Signer # Signer is a service that gives access to the signing functionality of the # daemon's wallet. class Service include ::GRPC::GenericService self.marshal_class_method = :encode self.unmarshal_class_method = :decode self.service_name = 'signrpc.Signer' # # SignOutputRaw is a method that can be used to generated a signature for a # set of inputs/outputs to a transaction. Each request specifies details # concerning how the outputs should be signed, which keys they should be # signed with, and also any optional tweaks. The return value is a fixed # 64-byte signature (the same format as we use on the wire in Lightning). # # If we are unable to sign using the specified keys, then an error will be # returned. rpc :SignOutputRaw, ::Signrpc::SignReq, ::Signrpc::SignResp # # ComputeInputScript generates a complete InputIndex for the passed # transaction with the signature as defined within the passed SignDescriptor. # This method should be capable of generating the proper input script for both # regular p2wkh/p2tr outputs and p2wkh outputs nested within a regular p2sh # output. # # Note that when using this method to sign inputs belonging to the wallet, # the only items of the SignDescriptor that need to be populated are pkScript # in the TxOut field, the value in that same field, and finally the input # index. rpc :ComputeInputScript, ::Signrpc::SignReq, ::Signrpc::InputScriptResp # # SignMessage signs a message with the key specified in the key locator. The # returned signature is fixed-size LN wire format encoded. # # The main difference to SignMessage in the main RPC is that a specific key is # used to sign the message instead of the node identity private key. rpc :SignMessage, ::Signrpc::SignMessageReq, ::Signrpc::SignMessageResp # # VerifyMessage verifies a signature over a message using the public key # provided. The signature must be fixed-size LN wire format encoded. # # The main difference to VerifyMessage in the main RPC is that the public key # used to sign the message does not have to be a node known to the network. rpc :VerifyMessage, ::Signrpc::VerifyMessageReq, ::Signrpc::VerifyMessageResp # # DeriveSharedKey returns a shared secret key by performing Diffie-Hellman key # derivation between the ephemeral public key in the request and the node's # key specified in the key_desc parameter. Either a key locator or a raw # public key is expected in the key_desc, if neither is supplied, defaults to # the node's identity private key: # P_shared = privKeyNode * ephemeralPubkey # The resulting shared public key is serialized in the compressed format and # hashed with sha256, resulting in the final key length of 256bit. rpc :DeriveSharedKey, ::Signrpc::SharedKeyRequest, ::Signrpc::SharedKeyResponse # # MuSig2CombineKeys (experimental!) is a stateless helper RPC that can be used # to calculate the combined MuSig2 public key from a list of all participating # signers' public keys. This RPC is completely stateless and deterministic and # does not create any signing session. It can be used to determine the Taproot # public key that should be put in an on-chain output once all public keys are # known. A signing session is only needed later when that output should be # _spent_ again. # # NOTE: The MuSig2 BIP is not final yet and therefore this API must be # considered to be HIGHLY EXPERIMENTAL and subject to change in upcoming # releases. Backward compatibility is not guaranteed! rpc :MuSig2CombineKeys, ::Signrpc::MuSig2CombineKeysRequest, ::Signrpc::MuSig2CombineKeysResponse # # MuSig2CreateSession (experimental!) creates a new MuSig2 signing session # using the local key identified by the key locator. The complete list of all # public keys of all signing parties must be provided, including the public # key of the local signing key. If nonces of other parties are already known, # they can be submitted as well to reduce the number of RPC calls necessary # later on. # # NOTE: The MuSig2 BIP is not final yet and therefore this API must be # considered to be HIGHLY EXPERIMENTAL and subject to change in upcoming # releases. Backward compatibility is not guaranteed! rpc :MuSig2CreateSession, ::Signrpc::MuSig2SessionRequest, ::Signrpc::MuSig2SessionResponse # # MuSig2RegisterNonces (experimental!) registers one or more public nonces of # other signing participants for a session identified by its ID. This RPC can # be called multiple times until all nonces are registered. # # NOTE: The MuSig2 BIP is not final yet and therefore this API must be # considered to be HIGHLY EXPERIMENTAL and subject to change in upcoming # releases. Backward compatibility is not guaranteed! rpc :MuSig2RegisterNonces, ::Signrpc::MuSig2RegisterNoncesRequest, ::Signrpc::MuSig2RegisterNoncesResponse # # MuSig2Sign (experimental!) creates a partial signature using the local # signing key that was specified when the session was created. This can only # be called when all public nonces of all participants are known and have been # registered with the session. If this node isn't responsible for combining # all the partial signatures, then the cleanup flag should be set, indicating # that the session can be removed from memory once the signature was produced. # # NOTE: The MuSig2 BIP is not final yet and therefore this API must be # considered to be HIGHLY EXPERIMENTAL and subject to change in upcoming # releases. Backward compatibility is not guaranteed! rpc :MuSig2Sign, ::Signrpc::MuSig2SignRequest, ::Signrpc::MuSig2SignResponse # # MuSig2CombineSig (experimental!) combines the given partial signature(s) # with the local one, if it already exists. Once a partial signature of all # participants is registered, the final signature will be combined and # returned. # # NOTE: The MuSig2 BIP is not final yet and therefore this API must be # considered to be HIGHLY EXPERIMENTAL and subject to change in upcoming # releases. Backward compatibility is not guaranteed! rpc :MuSig2CombineSig, ::Signrpc::MuSig2CombineSigRequest, ::Signrpc::MuSig2CombineSigResponse # # MuSig2Cleanup (experimental!) allows a caller to clean up a session early in # cases where it's obvious that the signing session won't succeed and the # resources can be released. # # NOTE: The MuSig2 BIP is not final yet and therefore this API must be # considered to be HIGHLY EXPERIMENTAL and subject to change in upcoming # releases. Backward compatibility is not guaranteed! rpc :MuSig2Cleanup, ::Signrpc::MuSig2CleanupRequest, ::Signrpc::MuSig2CleanupResponse end Stub = Service.rpc_stub_class end end