signrpc

package
v0.0.0-...-46f88e6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 24, 2023 License: ISC, MIT Imports: 13 Imported by: 0

Documentation

Overview

Package signrpc is a reverse proxy.

It translates gRPC into RESTful JSON APIs.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RegisterSignerHandler

func RegisterSignerHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error

RegisterSignerHandler registers the http handlers for service Signer to "mux". The handlers forward requests to the grpc endpoint over "conn".

func RegisterSignerHandlerClient

func RegisterSignerHandlerClient(ctx context.Context, mux *runtime.ServeMux, client SignerClient) error

RegisterSignerHandlerClient registers the http handlers for service Signer to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "SignerClient". Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "SignerClient" doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in "SignerClient" to call the correct interceptors.

func RegisterSignerHandlerFromEndpoint

func RegisterSignerHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error)

RegisterSignerHandlerFromEndpoint is same as RegisterSignerHandler but automatically dials to "endpoint" and closes the connection when "ctx" gets done.

func RegisterSignerHandlerServer

func RegisterSignerHandlerServer(ctx context.Context, mux *runtime.ServeMux, server SignerServer) error

RegisterSignerHandlerServer registers the http handlers for service Signer to "mux". UnaryRPC :call SignerServer directly. StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906.

func RegisterSignerServer

func RegisterSignerServer(s *grpc.Server, srv SignerServer)

Types

type Config

type Config struct{}

Config is empty for non-signrpc builds.

type InputScript

type InputScript struct {
	// The serializes witness stack for the specified input.
	Witness [][]byte `protobuf:"bytes,1,rep,name=witness,proto3" json:"witness,omitempty"`
	//
	//The optional sig script for the specified witness that will only be set if
	//the input specified is a nested p2sh witness program.
	SigScript            []byte   `protobuf:"bytes,2,opt,name=sig_script,json=sigScript,proto3" json:"sig_script,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*InputScript) Descriptor

func (*InputScript) Descriptor() ([]byte, []int)

func (*InputScript) GetSigScript

func (m *InputScript) GetSigScript() []byte

func (*InputScript) GetWitness

func (m *InputScript) GetWitness() [][]byte

func (*InputScript) ProtoMessage

func (*InputScript) ProtoMessage()

func (*InputScript) Reset

func (m *InputScript) Reset()

func (*InputScript) String

func (m *InputScript) String() string

func (*InputScript) XXX_DiscardUnknown

func (m *InputScript) XXX_DiscardUnknown()

func (*InputScript) XXX_Marshal

func (m *InputScript) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*InputScript) XXX_Merge

func (m *InputScript) XXX_Merge(src proto.Message)

func (*InputScript) XXX_Size

func (m *InputScript) XXX_Size() int

func (*InputScript) XXX_Unmarshal

func (m *InputScript) XXX_Unmarshal(b []byte) error

type InputScriptResp

type InputScriptResp struct {
	// The set of fully valid input scripts requested.
	InputScripts         []*InputScript `protobuf:"bytes,1,rep,name=input_scripts,json=inputScripts,proto3" json:"input_scripts,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

func (*InputScriptResp) Descriptor

func (*InputScriptResp) Descriptor() ([]byte, []int)

func (*InputScriptResp) GetInputScripts

func (m *InputScriptResp) GetInputScripts() []*InputScript

func (*InputScriptResp) ProtoMessage

func (*InputScriptResp) ProtoMessage()

func (*InputScriptResp) Reset

func (m *InputScriptResp) Reset()

func (*InputScriptResp) String

func (m *InputScriptResp) String() string

func (*InputScriptResp) XXX_DiscardUnknown

func (m *InputScriptResp) XXX_DiscardUnknown()

func (*InputScriptResp) XXX_Marshal

func (m *InputScriptResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*InputScriptResp) XXX_Merge

func (m *InputScriptResp) XXX_Merge(src proto.Message)

func (*InputScriptResp) XXX_Size

func (m *InputScriptResp) XXX_Size() int

func (*InputScriptResp) XXX_Unmarshal

func (m *InputScriptResp) XXX_Unmarshal(b []byte) error

type KeyDescriptor

type KeyDescriptor struct {
	//
	//The raw bytes of the key being identified. Either this or the KeyLocator
	//must be specified.
	RawKeyBytes []byte `protobuf:"bytes,1,opt,name=raw_key_bytes,json=rawKeyBytes,proto3" json:"raw_key_bytes,omitempty"`
	//
	//The key locator that identifies which key to use for signing. Either this
	//or the raw bytes of the target key must be specified.
	KeyLoc               *KeyLocator `protobuf:"bytes,2,opt,name=key_loc,json=keyLoc,proto3" json:"key_loc,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

func (*KeyDescriptor) Descriptor

func (*KeyDescriptor) Descriptor() ([]byte, []int)

func (*KeyDescriptor) GetKeyLoc

func (m *KeyDescriptor) GetKeyLoc() *KeyLocator

func (*KeyDescriptor) GetRawKeyBytes

func (m *KeyDescriptor) GetRawKeyBytes() []byte

func (*KeyDescriptor) ProtoMessage

func (*KeyDescriptor) ProtoMessage()

func (*KeyDescriptor) Reset

func (m *KeyDescriptor) Reset()

func (*KeyDescriptor) String

func (m *KeyDescriptor) String() string

func (*KeyDescriptor) XXX_DiscardUnknown

func (m *KeyDescriptor) XXX_DiscardUnknown()

func (*KeyDescriptor) XXX_Marshal

func (m *KeyDescriptor) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*KeyDescriptor) XXX_Merge

func (m *KeyDescriptor) XXX_Merge(src proto.Message)

func (*KeyDescriptor) XXX_Size

func (m *KeyDescriptor) XXX_Size() int

func (*KeyDescriptor) XXX_Unmarshal

func (m *KeyDescriptor) XXX_Unmarshal(b []byte) error

type KeyLocator

type KeyLocator struct {
	// The family of key being identified.
	KeyFamily int32 `protobuf:"varint,1,opt,name=key_family,json=keyFamily,proto3" json:"key_family,omitempty"`
	// The precise index of the key being identified.
	KeyIndex             int32    `protobuf:"varint,2,opt,name=key_index,json=keyIndex,proto3" json:"key_index,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*KeyLocator) Descriptor

func (*KeyLocator) Descriptor() ([]byte, []int)

func (*KeyLocator) GetKeyFamily

func (m *KeyLocator) GetKeyFamily() int32

func (*KeyLocator) GetKeyIndex

func (m *KeyLocator) GetKeyIndex() int32

func (*KeyLocator) ProtoMessage

func (*KeyLocator) ProtoMessage()

func (*KeyLocator) Reset

func (m *KeyLocator) Reset()

func (*KeyLocator) String

func (m *KeyLocator) String() string

func (*KeyLocator) XXX_DiscardUnknown

func (m *KeyLocator) XXX_DiscardUnknown()

func (*KeyLocator) XXX_Marshal

func (m *KeyLocator) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*KeyLocator) XXX_Merge

func (m *KeyLocator) XXX_Merge(src proto.Message)

func (*KeyLocator) XXX_Size

func (m *KeyLocator) XXX_Size() int

func (*KeyLocator) XXX_Unmarshal

func (m *KeyLocator) XXX_Unmarshal(b []byte) error

type SharedKeyRequest

type SharedKeyRequest struct {
	// The ephemeral public key to use for the DH key derivation.
	EphemeralPubkey []byte `protobuf:"bytes,1,opt,name=ephemeral_pubkey,json=ephemeralPubkey,proto3" json:"ephemeral_pubkey,omitempty"`
	//
	//Deprecated. The optional key locator of the local key that should be used.
	//If this parameter is not set then the node's identity private key will be
	//used.
	KeyLoc *KeyLocator `protobuf:"bytes,2,opt,name=key_loc,json=keyLoc,proto3" json:"key_loc,omitempty"` // Deprecated: Do not use.
	//
	//A key descriptor describes the key used for performing ECDH. Either a key
	//locator or a raw public key is expected, if neither is supplied, defaults to
	//the node's identity private key.
	KeyDesc              *KeyDescriptor `protobuf:"bytes,3,opt,name=key_desc,json=keyDesc,proto3" json:"key_desc,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

func (*SharedKeyRequest) Descriptor

func (*SharedKeyRequest) Descriptor() ([]byte, []int)

func (*SharedKeyRequest) GetEphemeralPubkey

func (m *SharedKeyRequest) GetEphemeralPubkey() []byte

func (*SharedKeyRequest) GetKeyDesc

func (m *SharedKeyRequest) GetKeyDesc() *KeyDescriptor

func (*SharedKeyRequest) GetKeyLoc deprecated

func (m *SharedKeyRequest) GetKeyLoc() *KeyLocator

Deprecated: Do not use.

func (*SharedKeyRequest) ProtoMessage

func (*SharedKeyRequest) ProtoMessage()

func (*SharedKeyRequest) Reset

func (m *SharedKeyRequest) Reset()

func (*SharedKeyRequest) String

func (m *SharedKeyRequest) String() string

func (*SharedKeyRequest) XXX_DiscardUnknown

func (m *SharedKeyRequest) XXX_DiscardUnknown()

func (*SharedKeyRequest) XXX_Marshal

func (m *SharedKeyRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*SharedKeyRequest) XXX_Merge

func (m *SharedKeyRequest) XXX_Merge(src proto.Message)

func (*SharedKeyRequest) XXX_Size

func (m *SharedKeyRequest) XXX_Size() int

func (*SharedKeyRequest) XXX_Unmarshal

func (m *SharedKeyRequest) XXX_Unmarshal(b []byte) error

type SharedKeyResponse

type SharedKeyResponse struct {
	// The shared public key, hashed with sha256.
	SharedKey            []byte   `protobuf:"bytes,1,opt,name=shared_key,json=sharedKey,proto3" json:"shared_key,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*SharedKeyResponse) Descriptor

func (*SharedKeyResponse) Descriptor() ([]byte, []int)

func (*SharedKeyResponse) GetSharedKey

func (m *SharedKeyResponse) GetSharedKey() []byte

func (*SharedKeyResponse) ProtoMessage

func (*SharedKeyResponse) ProtoMessage()

func (*SharedKeyResponse) Reset

func (m *SharedKeyResponse) Reset()

func (*SharedKeyResponse) String

func (m *SharedKeyResponse) String() string

func (*SharedKeyResponse) XXX_DiscardUnknown

func (m *SharedKeyResponse) XXX_DiscardUnknown()

func (*SharedKeyResponse) XXX_Marshal

func (m *SharedKeyResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*SharedKeyResponse) XXX_Merge

func (m *SharedKeyResponse) XXX_Merge(src proto.Message)

func (*SharedKeyResponse) XXX_Size

func (m *SharedKeyResponse) XXX_Size() int

func (*SharedKeyResponse) XXX_Unmarshal

func (m *SharedKeyResponse) XXX_Unmarshal(b []byte) error

type SignDescriptor

type SignDescriptor struct {
	//
	//A descriptor that precisely describes *which* key to use for signing. This
	//may provide the raw public key directly, or require the Signer to re-derive
	//the key according to the populated derivation path.
	//
	//Note that if the key descriptor was obtained through walletrpc.DeriveKey,
	//then the key locator MUST always be provided, since the derived keys are not
	//persisted unlike with DeriveNextKey.
	KeyDesc *KeyDescriptor `protobuf:"bytes,1,opt,name=key_desc,json=keyDesc,proto3" json:"key_desc,omitempty"`
	//
	//A scalar value that will be added to the private key corresponding to the
	//above public key to obtain the private key to be used to sign this input.
	//This value is typically derived via the following computation:
	//
	// derivedKey = privkey + sha256(perCommitmentPoint || pubKey) mod N
	SingleTweak []byte `protobuf:"bytes,2,opt,name=single_tweak,json=singleTweak,proto3" json:"single_tweak,omitempty"`
	//
	//A private key that will be used in combination with its corresponding
	//private key to derive the private key that is to be used to sign the target
	//input. Within the Lightning protocol, this value is typically the
	//commitment secret from a previously revoked commitment transaction. This
	//value is in combination with two hash values, and the original private key
	//to derive the private key to be used when signing.
	//
	// k = (privKey*sha256(pubKey || tweakPub) +
	//tweakPriv*sha256(tweakPub || pubKey)) mod N
	DoubleTweak []byte `protobuf:"bytes,3,opt,name=double_tweak,json=doubleTweak,proto3" json:"double_tweak,omitempty"`
	//
	//The full script required to properly redeem the output.  This field will
	//only be populated if a p2wsh or a p2sh output is being signed.
	WitnessScript []byte `protobuf:"bytes,4,opt,name=witness_script,json=witnessScript,proto3" json:"witness_script,omitempty"`
	//
	//A description of the output being spent. The value and script MUST be
	//provided.
	Output *TxOut `protobuf:"bytes,5,opt,name=output,proto3" json:"output,omitempty"`
	//
	//The target sighash type that should be used when generating the final
	//sighash, and signature.
	Sighash uint32 `protobuf:"varint,7,opt,name=sighash,proto3" json:"sighash,omitempty"`
	//
	//The target input within the transaction that should be signed.
	InputIndex           int32    `protobuf:"varint,8,opt,name=input_index,json=inputIndex,proto3" json:"input_index,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*SignDescriptor) Descriptor

func (*SignDescriptor) Descriptor() ([]byte, []int)

func (*SignDescriptor) GetDoubleTweak

func (m *SignDescriptor) GetDoubleTweak() []byte

func (*SignDescriptor) GetInputIndex

func (m *SignDescriptor) GetInputIndex() int32

func (*SignDescriptor) GetKeyDesc

func (m *SignDescriptor) GetKeyDesc() *KeyDescriptor

func (*SignDescriptor) GetOutput

func (m *SignDescriptor) GetOutput() *TxOut

func (*SignDescriptor) GetSighash

func (m *SignDescriptor) GetSighash() uint32

func (*SignDescriptor) GetSingleTweak

func (m *SignDescriptor) GetSingleTweak() []byte

func (*SignDescriptor) GetWitnessScript

func (m *SignDescriptor) GetWitnessScript() []byte

func (*SignDescriptor) ProtoMessage

func (*SignDescriptor) ProtoMessage()

func (*SignDescriptor) Reset

func (m *SignDescriptor) Reset()

func (*SignDescriptor) String

func (m *SignDescriptor) String() string

func (*SignDescriptor) XXX_DiscardUnknown

func (m *SignDescriptor) XXX_DiscardUnknown()

func (*SignDescriptor) XXX_Marshal

func (m *SignDescriptor) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*SignDescriptor) XXX_Merge

func (m *SignDescriptor) XXX_Merge(src proto.Message)

func (*SignDescriptor) XXX_Size

func (m *SignDescriptor) XXX_Size() int

func (*SignDescriptor) XXX_Unmarshal

func (m *SignDescriptor) XXX_Unmarshal(b []byte) error

type SignMessageReq

type SignMessageReq struct {
	// The message to be signed.
	Msg []byte `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"`
	// The key locator that identifies which key to use for signing.
	KeyLoc               *KeyLocator `protobuf:"bytes,2,opt,name=key_loc,json=keyLoc,proto3" json:"key_loc,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

func (*SignMessageReq) Descriptor

func (*SignMessageReq) Descriptor() ([]byte, []int)

func (*SignMessageReq) GetKeyLoc

func (m *SignMessageReq) GetKeyLoc() *KeyLocator

func (*SignMessageReq) GetMsg

func (m *SignMessageReq) GetMsg() []byte

func (*SignMessageReq) ProtoMessage

func (*SignMessageReq) ProtoMessage()

func (*SignMessageReq) Reset

func (m *SignMessageReq) Reset()

func (*SignMessageReq) String

func (m *SignMessageReq) String() string

func (*SignMessageReq) XXX_DiscardUnknown

func (m *SignMessageReq) XXX_DiscardUnknown()

func (*SignMessageReq) XXX_Marshal

func (m *SignMessageReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*SignMessageReq) XXX_Merge

func (m *SignMessageReq) XXX_Merge(src proto.Message)

func (*SignMessageReq) XXX_Size

func (m *SignMessageReq) XXX_Size() int

func (*SignMessageReq) XXX_Unmarshal

func (m *SignMessageReq) XXX_Unmarshal(b []byte) error

type SignMessageResp

type SignMessageResp struct {
	//
	//The signature for the given message in the fixed-size LN wire format.
	Signature            []byte   `protobuf:"bytes,1,opt,name=signature,proto3" json:"signature,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*SignMessageResp) Descriptor

func (*SignMessageResp) Descriptor() ([]byte, []int)

func (*SignMessageResp) GetSignature

func (m *SignMessageResp) GetSignature() []byte

func (*SignMessageResp) ProtoMessage

func (*SignMessageResp) ProtoMessage()

func (*SignMessageResp) Reset

func (m *SignMessageResp) Reset()

func (*SignMessageResp) String

func (m *SignMessageResp) String() string

func (*SignMessageResp) XXX_DiscardUnknown

func (m *SignMessageResp) XXX_DiscardUnknown()

func (*SignMessageResp) XXX_Marshal

func (m *SignMessageResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*SignMessageResp) XXX_Merge

func (m *SignMessageResp) XXX_Merge(src proto.Message)

func (*SignMessageResp) XXX_Size

func (m *SignMessageResp) XXX_Size() int

func (*SignMessageResp) XXX_Unmarshal

func (m *SignMessageResp) XXX_Unmarshal(b []byte) error

type SignReq

type SignReq struct {
	// The raw bytes of the transaction to be signed.
	RawTxBytes []byte `protobuf:"bytes,1,opt,name=raw_tx_bytes,json=rawTxBytes,proto3" json:"raw_tx_bytes,omitempty"`
	// A set of sign descriptors, for each input to be signed.
	SignDescs            []*SignDescriptor `protobuf:"bytes,2,rep,name=sign_descs,json=signDescs,proto3" json:"sign_descs,omitempty"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

func (*SignReq) Descriptor

func (*SignReq) Descriptor() ([]byte, []int)

func (*SignReq) GetRawTxBytes

func (m *SignReq) GetRawTxBytes() []byte

func (*SignReq) GetSignDescs

func (m *SignReq) GetSignDescs() []*SignDescriptor

func (*SignReq) ProtoMessage

func (*SignReq) ProtoMessage()

func (*SignReq) Reset

func (m *SignReq) Reset()

func (*SignReq) String

func (m *SignReq) String() string

func (*SignReq) XXX_DiscardUnknown

func (m *SignReq) XXX_DiscardUnknown()

func (*SignReq) XXX_Marshal

func (m *SignReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*SignReq) XXX_Merge

func (m *SignReq) XXX_Merge(src proto.Message)

func (*SignReq) XXX_Size

func (m *SignReq) XXX_Size() int

func (*SignReq) XXX_Unmarshal

func (m *SignReq) XXX_Unmarshal(b []byte) error

type SignResp

type SignResp struct {
	//
	//A set of signatures realized in a fixed 64-byte format ordered in ascending
	//input order.
	RawSigs              [][]byte `protobuf:"bytes,1,rep,name=raw_sigs,json=rawSigs,proto3" json:"raw_sigs,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*SignResp) Descriptor

func (*SignResp) Descriptor() ([]byte, []int)

func (*SignResp) GetRawSigs

func (m *SignResp) GetRawSigs() [][]byte

func (*SignResp) ProtoMessage

func (*SignResp) ProtoMessage()

func (*SignResp) Reset

func (m *SignResp) Reset()

func (*SignResp) String

func (m *SignResp) String() string

func (*SignResp) XXX_DiscardUnknown

func (m *SignResp) XXX_DiscardUnknown()

func (*SignResp) XXX_Marshal

func (m *SignResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*SignResp) XXX_Merge

func (m *SignResp) XXX_Merge(src proto.Message)

func (*SignResp) XXX_Size

func (m *SignResp) XXX_Size() int

func (*SignResp) XXX_Unmarshal

func (m *SignResp) XXX_Unmarshal(b []byte) error

type SignerClient

type SignerClient interface {
	//
	//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.
	SignOutputRaw(ctx context.Context, in *SignReq, opts ...grpc.CallOption) (*SignResp, error)
	//
	//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 output 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.
	ComputeInputScript(ctx context.Context, in *SignReq, opts ...grpc.CallOption) (*InputScriptResp, error)
	//
	//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.
	SignMessage(ctx context.Context, in *SignMessageReq, opts ...grpc.CallOption) (*SignMessageResp, error)
	//
	//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.
	VerifyMessage(ctx context.Context, in *VerifyMessageReq, opts ...grpc.CallOption) (*VerifyMessageResp, error)
	//
	//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.
	DeriveSharedKey(ctx context.Context, in *SharedKeyRequest, opts ...grpc.CallOption) (*SharedKeyResponse, error)
}

SignerClient is the client API for Signer service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

func NewSignerClient

func NewSignerClient(cc *grpc.ClientConn) SignerClient

type SignerServer

type SignerServer interface {
	//
	//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.
	SignOutputRaw(context.Context, *SignReq) (*SignResp, error)
	//
	//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 output 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.
	ComputeInputScript(context.Context, *SignReq) (*InputScriptResp, error)
	//
	//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.
	SignMessage(context.Context, *SignMessageReq) (*SignMessageResp, error)
	//
	//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.
	VerifyMessage(context.Context, *VerifyMessageReq) (*VerifyMessageResp, error)
	//
	//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.
	DeriveSharedKey(context.Context, *SharedKeyRequest) (*SharedKeyResponse, error)
}

SignerServer is the server API for Signer service.

type TxOut

type TxOut struct {
	// The value of the output being spent.
	Value int64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"`
	// The script of the output being spent.
	PkScript             []byte   `protobuf:"bytes,2,opt,name=pk_script,json=pkScript,proto3" json:"pk_script,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*TxOut) Descriptor

func (*TxOut) Descriptor() ([]byte, []int)

func (*TxOut) GetPkScript

func (m *TxOut) GetPkScript() []byte

func (*TxOut) GetValue

func (m *TxOut) GetValue() int64

func (*TxOut) ProtoMessage

func (*TxOut) ProtoMessage()

func (*TxOut) Reset

func (m *TxOut) Reset()

func (*TxOut) String

func (m *TxOut) String() string

func (*TxOut) XXX_DiscardUnknown

func (m *TxOut) XXX_DiscardUnknown()

func (*TxOut) XXX_Marshal

func (m *TxOut) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TxOut) XXX_Merge

func (m *TxOut) XXX_Merge(src proto.Message)

func (*TxOut) XXX_Size

func (m *TxOut) XXX_Size() int

func (*TxOut) XXX_Unmarshal

func (m *TxOut) XXX_Unmarshal(b []byte) error

type UnimplementedSignerServer

type UnimplementedSignerServer struct {
}

UnimplementedSignerServer can be embedded to have forward compatible implementations.

func (*UnimplementedSignerServer) ComputeInputScript

func (*UnimplementedSignerServer) ComputeInputScript(ctx context.Context, req *SignReq) (*InputScriptResp, error)

func (*UnimplementedSignerServer) DeriveSharedKey

func (*UnimplementedSignerServer) SignMessage

func (*UnimplementedSignerServer) SignOutputRaw

func (*UnimplementedSignerServer) SignOutputRaw(ctx context.Context, req *SignReq) (*SignResp, error)

func (*UnimplementedSignerServer) VerifyMessage

type VerifyMessageReq

type VerifyMessageReq struct {
	// The message over which the signature is to be verified.
	Msg []byte `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"`
	//
	//The fixed-size LN wire encoded signature to be verified over the given
	//message.
	Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
	// The public key the signature has to be valid for.
	Pubkey               []byte   `protobuf:"bytes,3,opt,name=pubkey,proto3" json:"pubkey,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*VerifyMessageReq) Descriptor

func (*VerifyMessageReq) Descriptor() ([]byte, []int)

func (*VerifyMessageReq) GetMsg

func (m *VerifyMessageReq) GetMsg() []byte

func (*VerifyMessageReq) GetPubkey

func (m *VerifyMessageReq) GetPubkey() []byte

func (*VerifyMessageReq) GetSignature

func (m *VerifyMessageReq) GetSignature() []byte

func (*VerifyMessageReq) ProtoMessage

func (*VerifyMessageReq) ProtoMessage()

func (*VerifyMessageReq) Reset

func (m *VerifyMessageReq) Reset()

func (*VerifyMessageReq) String

func (m *VerifyMessageReq) String() string

func (*VerifyMessageReq) XXX_DiscardUnknown

func (m *VerifyMessageReq) XXX_DiscardUnknown()

func (*VerifyMessageReq) XXX_Marshal

func (m *VerifyMessageReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*VerifyMessageReq) XXX_Merge

func (m *VerifyMessageReq) XXX_Merge(src proto.Message)

func (*VerifyMessageReq) XXX_Size

func (m *VerifyMessageReq) XXX_Size() int

func (*VerifyMessageReq) XXX_Unmarshal

func (m *VerifyMessageReq) XXX_Unmarshal(b []byte) error

type VerifyMessageResp

type VerifyMessageResp struct {
	// Whether the signature was valid over the given message.
	Valid                bool     `protobuf:"varint,1,opt,name=valid,proto3" json:"valid,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*VerifyMessageResp) Descriptor

func (*VerifyMessageResp) Descriptor() ([]byte, []int)

func (*VerifyMessageResp) GetValid

func (m *VerifyMessageResp) GetValid() bool

func (*VerifyMessageResp) ProtoMessage

func (*VerifyMessageResp) ProtoMessage()

func (*VerifyMessageResp) Reset

func (m *VerifyMessageResp) Reset()

func (*VerifyMessageResp) String

func (m *VerifyMessageResp) String() string

func (*VerifyMessageResp) XXX_DiscardUnknown

func (m *VerifyMessageResp) XXX_DiscardUnknown()

func (*VerifyMessageResp) XXX_Marshal

func (m *VerifyMessageResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*VerifyMessageResp) XXX_Merge

func (m *VerifyMessageResp) XXX_Merge(src proto.Message)

func (*VerifyMessageResp) XXX_Size

func (m *VerifyMessageResp) XXX_Size() int

func (*VerifyMessageResp) XXX_Unmarshal

func (m *VerifyMessageResp) XXX_Unmarshal(b []byte) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL