Documentation ¶
Overview ¶
Package invoicesrpc is a reverse proxy.
It translates gRPC into RESTful JSON APIs.
Index ¶
- Constants
- Variables
- func AddInvoice(ctx context.Context, cfg *AddInvoiceConfig, invoice *AddInvoiceData) (*lntypes.Hash, *channeldb.Invoice, error)
- func CreateRPCFeatures(fv *lnwire.FeatureVector) map[uint32]*lnrpc.Feature
- func CreateRPCInvoice(invoice *channeldb.Invoice, activeNetParams *chaincfg.Params) (*lnrpc.Invoice, error)
- func CreateRPCRouteHints(routeHints [][]zpay32.HopHint) []*lnrpc.RouteHint
- func CreateZpay32HopHints(routeHints []*lnrpc.RouteHint) ([][]zpay32.HopHint, error)
- func DisableLog()
- func PopulateHopHints(cfg *SelectHopHintsCfg, amtMSat lnwire.MilliSatoshi, ...) ([][]zpay32.HopHint, error)
- func RegisterInvoicesHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error
- func RegisterInvoicesHandlerClient(ctx context.Context, mux *runtime.ServeMux, client InvoicesClient) error
- func RegisterInvoicesHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, ...) (err error)
- func RegisterInvoicesHandlerServer(ctx context.Context, mux *runtime.ServeMux, server InvoicesServer) error
- func RegisterInvoicesJSONCallbacks(...)
- func RegisterInvoicesServer(s grpc.ServiceRegistrar, srv InvoicesServer)
- func UseLogger(logger btclog.Logger)
- type AddHoldInvoiceRequest
- func (*AddHoldInvoiceRequest) Descriptor() ([]byte, []int)deprecated
- func (x *AddHoldInvoiceRequest) GetCltvExpiry() uint64
- func (x *AddHoldInvoiceRequest) GetDescriptionHash() []byte
- func (x *AddHoldInvoiceRequest) GetExpiry() int64
- func (x *AddHoldInvoiceRequest) GetFallbackAddr() string
- func (x *AddHoldInvoiceRequest) GetHash() []byte
- func (x *AddHoldInvoiceRequest) GetMemo() string
- func (x *AddHoldInvoiceRequest) GetPrivate() bool
- func (x *AddHoldInvoiceRequest) GetRouteHints() []*lnrpc.RouteHint
- func (x *AddHoldInvoiceRequest) GetValue() int64
- func (x *AddHoldInvoiceRequest) GetValueMsat() int64
- func (*AddHoldInvoiceRequest) ProtoMessage()
- func (x *AddHoldInvoiceRequest) ProtoReflect() protoreflect.Message
- func (x *AddHoldInvoiceRequest) Reset()
- func (x *AddHoldInvoiceRequest) String() string
- type AddHoldInvoiceResp
- func (*AddHoldInvoiceResp) Descriptor() ([]byte, []int)deprecated
- func (x *AddHoldInvoiceResp) GetAddIndex() uint64
- func (x *AddHoldInvoiceResp) GetPaymentAddr() []byte
- func (x *AddHoldInvoiceResp) GetPaymentRequest() string
- func (*AddHoldInvoiceResp) ProtoMessage()
- func (x *AddHoldInvoiceResp) ProtoReflect() protoreflect.Message
- func (x *AddHoldInvoiceResp) Reset()
- func (x *AddHoldInvoiceResp) String() string
- type AddInvoiceConfig
- type AddInvoiceData
- type CancelInvoiceMsg
- type CancelInvoiceResp
- type Config
- type HopHintInfo
- type InvoicesClient
- type InvoicesServer
- type Invoices_SubscribeSingleInvoiceClient
- type Invoices_SubscribeSingleInvoiceServer
- type LookupInvoiceMsg
- func (*LookupInvoiceMsg) Descriptor() ([]byte, []int)deprecated
- func (m *LookupInvoiceMsg) GetInvoiceRef() isLookupInvoiceMsg_InvoiceRef
- func (x *LookupInvoiceMsg) GetLookupModifier() LookupModifier
- func (x *LookupInvoiceMsg) GetPaymentAddr() []byte
- func (x *LookupInvoiceMsg) GetPaymentHash() []byte
- func (x *LookupInvoiceMsg) GetSetId() []byte
- func (*LookupInvoiceMsg) ProtoMessage()
- func (x *LookupInvoiceMsg) ProtoReflect() protoreflect.Message
- func (x *LookupInvoiceMsg) Reset()
- func (x *LookupInvoiceMsg) String() string
- type LookupInvoiceMsg_PaymentAddr
- type LookupInvoiceMsg_PaymentHash
- type LookupInvoiceMsg_SetId
- type LookupModifier
- func (LookupModifier) Descriptor() protoreflect.EnumDescriptor
- func (x LookupModifier) Enum() *LookupModifier
- func (LookupModifier) EnumDescriptor() ([]byte, []int)deprecated
- func (x LookupModifier) Number() protoreflect.EnumNumber
- func (x LookupModifier) String() string
- func (LookupModifier) Type() protoreflect.EnumType
- type SelectHopHintsCfg
- type SettleInvoiceMsg
- type SettleInvoiceResp
- type SubscribeSingleInvoiceRequest
- func (*SubscribeSingleInvoiceRequest) Descriptor() ([]byte, []int)deprecated
- func (x *SubscribeSingleInvoiceRequest) GetRHash() []byte
- func (*SubscribeSingleInvoiceRequest) ProtoMessage()
- func (x *SubscribeSingleInvoiceRequest) ProtoReflect() protoreflect.Message
- func (x *SubscribeSingleInvoiceRequest) Reset()
- func (x *SubscribeSingleInvoiceRequest) String() string
- type UnimplementedInvoicesServer
- func (UnimplementedInvoicesServer) AddHoldInvoice(context.Context, *AddHoldInvoiceRequest) (*AddHoldInvoiceResp, error)
- func (UnimplementedInvoicesServer) CancelInvoice(context.Context, *CancelInvoiceMsg) (*CancelInvoiceResp, error)
- func (UnimplementedInvoicesServer) LookupInvoiceV2(context.Context, *LookupInvoiceMsg) (*lnrpc.Invoice, error)
- func (UnimplementedInvoicesServer) SettleInvoice(context.Context, *SettleInvoiceMsg) (*SettleInvoiceResp, error)
- func (UnimplementedInvoicesServer) SubscribeSingleInvoice(*SubscribeSingleInvoiceRequest, Invoices_SubscribeSingleInvoiceServer) error
- type UnsafeInvoicesServer
Constants ¶
const ( // DefaultInvoiceExpiry is the default invoice expiry for new MPP // invoices. DefaultInvoiceExpiry = 24 * time.Hour // DefaultAMPInvoiceExpiry is the default invoice expiry for new AMP // invoices. DefaultAMPInvoiceExpiry = 30 * 24 * time.Hour )
Variables ¶
var ( LookupModifier_name = map[int32]string{ 0: "DEFAULT", 1: "HTLC_SET_ONLY", 2: "HTLC_SET_BLANK", } LookupModifier_value = map[string]int32{ "DEFAULT": 0, "HTLC_SET_ONLY": 1, "HTLC_SET_BLANK": 2, } )
Enum value maps for LookupModifier.
var File_invoicesrpc_invoices_proto protoreflect.FileDescriptor
var Invoices_ServiceDesc = grpc.ServiceDesc{ ServiceName: "invoicesrpc.Invoices", HandlerType: (*InvoicesServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "CancelInvoice", Handler: _Invoices_CancelInvoice_Handler, }, { MethodName: "AddHoldInvoice", Handler: _Invoices_AddHoldInvoice_Handler, }, { MethodName: "SettleInvoice", Handler: _Invoices_SettleInvoice_Handler, }, { MethodName: "LookupInvoiceV2", Handler: _Invoices_LookupInvoiceV2_Handler, }, }, Streams: []grpc.StreamDesc{ { StreamName: "SubscribeSingleInvoice", Handler: _Invoices_SubscribeSingleInvoice_Handler, ServerStreams: true, }, }, Metadata: "invoicesrpc/invoices.proto", }
Invoices_ServiceDesc is the grpc.ServiceDesc for Invoices service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)
Functions ¶
func AddInvoice ¶
func AddInvoice(ctx context.Context, cfg *AddInvoiceConfig, invoice *AddInvoiceData) (*lntypes.Hash, *channeldb.Invoice, error)
AddInvoice attempts to add a new invoice to the invoice database. Any duplicated invoices are rejected, therefore all invoices *must* have a unique payment preimage.
func CreateRPCFeatures ¶
func CreateRPCFeatures(fv *lnwire.FeatureVector) map[uint32]*lnrpc.Feature
CreateRPCFeatures maps a feature vector into a list of lnrpc.Features.
func CreateRPCInvoice ¶
func CreateRPCInvoice(invoice *channeldb.Invoice, activeNetParams *chaincfg.Params) (*lnrpc.Invoice, error)
CreateRPCInvoice creates an *lnrpc.Invoice from the *channeldb.Invoice.
func CreateRPCRouteHints ¶
CreateRPCRouteHints takes in the decoded form of an invoice's route hints and converts them into the lnrpc type.
func CreateZpay32HopHints ¶
CreateZpay32HopHints takes in the lnrpc form of route hints and converts them into an invoice decoded form.
func DisableLog ¶
func DisableLog()
DisableLog disables all library log output. Logging output is disabled by by default until UseLogger is called.
func PopulateHopHints ¶
func PopulateHopHints(cfg *SelectHopHintsCfg, amtMSat lnwire.MilliSatoshi, forcedHints [][]zpay32.HopHint) ([][]zpay32.HopHint, error)
PopulateHopHints will select up to cfg.MaxHophints from the current open channels. The set of hop hints will be returned as a slice of functional options that'll append the route hint to the set of all route hints.
TODO(roasbeef): do proper sub-set sum max hints usually << numChans.
func RegisterInvoicesHandler ¶
func RegisterInvoicesHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error
RegisterInvoicesHandler registers the http handlers for service Invoices to "mux". The handlers forward requests to the grpc endpoint over "conn".
func RegisterInvoicesHandlerClient ¶
func RegisterInvoicesHandlerClient(ctx context.Context, mux *runtime.ServeMux, client InvoicesClient) error
RegisterInvoicesHandlerClient registers the http handlers for service Invoices to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "InvoicesClient". Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "InvoicesClient" doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in "InvoicesClient" to call the correct interceptors.
func RegisterInvoicesHandlerFromEndpoint ¶
func RegisterInvoicesHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error)
RegisterInvoicesHandlerFromEndpoint is same as RegisterInvoicesHandler but automatically dials to "endpoint" and closes the connection when "ctx" gets done.
func RegisterInvoicesHandlerServer ¶
func RegisterInvoicesHandlerServer(ctx context.Context, mux *runtime.ServeMux, server InvoicesServer) error
RegisterInvoicesHandlerServer registers the http handlers for service Invoices to "mux". UnaryRPC :call InvoicesServer directly. StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterInvoicesHandlerFromEndpoint instead.
func RegisterInvoicesServer ¶
func RegisterInvoicesServer(s grpc.ServiceRegistrar, srv InvoicesServer)
Types ¶
type AddHoldInvoiceRequest ¶
type AddHoldInvoiceRequest struct { // //An optional memo to attach along with the invoice. Used for record keeping //purposes for the invoice's creator, and will also be set in the description //field of the encoded payment request if the description_hash field is not //being used. Memo string `protobuf:"bytes,1,opt,name=memo,proto3" json:"memo,omitempty"` // The hash of the preimage Hash []byte `protobuf:"bytes,2,opt,name=hash,proto3" json:"hash,omitempty"` // //The value of this invoice in satoshis // //The fields value and value_msat are mutually exclusive. Value int64 `protobuf:"varint,3,opt,name=value,proto3" json:"value,omitempty"` // //The value of this invoice in millisatoshis // //The fields value and value_msat are mutually exclusive. ValueMsat int64 `protobuf:"varint,10,opt,name=value_msat,json=valueMsat,proto3" json:"value_msat,omitempty"` // //Hash (SHA-256) of a description of the payment. Used if the description of //payment (memo) is too long to naturally fit within the description field //of an encoded payment request. DescriptionHash []byte `protobuf:"bytes,4,opt,name=description_hash,json=descriptionHash,proto3" json:"description_hash,omitempty"` // Payment request expiry time in seconds. Default is 3600 (1 hour). Expiry int64 `protobuf:"varint,5,opt,name=expiry,proto3" json:"expiry,omitempty"` // Fallback on-chain address. FallbackAddr string `protobuf:"bytes,6,opt,name=fallback_addr,json=fallbackAddr,proto3" json:"fallback_addr,omitempty"` // Delta to use for the time-lock of the CLTV extended to the final hop. CltvExpiry uint64 `protobuf:"varint,7,opt,name=cltv_expiry,json=cltvExpiry,proto3" json:"cltv_expiry,omitempty"` // //Route hints that can each be individually used to assist in reaching the //invoice's destination. RouteHints []*lnrpc.RouteHint `protobuf:"bytes,8,rep,name=route_hints,json=routeHints,proto3" json:"route_hints,omitempty"` // Whether this invoice should include routing hints for private channels. Private bool `protobuf:"varint,9,opt,name=private,proto3" json:"private,omitempty"` // contains filtered or unexported fields }
func (*AddHoldInvoiceRequest) Descriptor
deprecated
func (*AddHoldInvoiceRequest) Descriptor() ([]byte, []int)
Deprecated: Use AddHoldInvoiceRequest.ProtoReflect.Descriptor instead.
func (*AddHoldInvoiceRequest) GetCltvExpiry ¶
func (x *AddHoldInvoiceRequest) GetCltvExpiry() uint64
func (*AddHoldInvoiceRequest) GetDescriptionHash ¶
func (x *AddHoldInvoiceRequest) GetDescriptionHash() []byte
func (*AddHoldInvoiceRequest) GetExpiry ¶
func (x *AddHoldInvoiceRequest) GetExpiry() int64
func (*AddHoldInvoiceRequest) GetFallbackAddr ¶
func (x *AddHoldInvoiceRequest) GetFallbackAddr() string
func (*AddHoldInvoiceRequest) GetHash ¶
func (x *AddHoldInvoiceRequest) GetHash() []byte
func (*AddHoldInvoiceRequest) GetMemo ¶
func (x *AddHoldInvoiceRequest) GetMemo() string
func (*AddHoldInvoiceRequest) GetPrivate ¶
func (x *AddHoldInvoiceRequest) GetPrivate() bool
func (*AddHoldInvoiceRequest) GetRouteHints ¶
func (x *AddHoldInvoiceRequest) GetRouteHints() []*lnrpc.RouteHint
func (*AddHoldInvoiceRequest) GetValue ¶
func (x *AddHoldInvoiceRequest) GetValue() int64
func (*AddHoldInvoiceRequest) GetValueMsat ¶
func (x *AddHoldInvoiceRequest) GetValueMsat() int64
func (*AddHoldInvoiceRequest) ProtoMessage ¶
func (*AddHoldInvoiceRequest) ProtoMessage()
func (*AddHoldInvoiceRequest) ProtoReflect ¶
func (x *AddHoldInvoiceRequest) ProtoReflect() protoreflect.Message
func (*AddHoldInvoiceRequest) Reset ¶
func (x *AddHoldInvoiceRequest) Reset()
func (*AddHoldInvoiceRequest) String ¶
func (x *AddHoldInvoiceRequest) String() string
type AddHoldInvoiceResp ¶
type AddHoldInvoiceResp struct { // //A bare-bones invoice for a payment within the Lightning Network. With the //details of the invoice, the sender has all the data necessary to send a //payment to the recipient. PaymentRequest string `protobuf:"bytes,1,opt,name=payment_request,json=paymentRequest,proto3" json:"payment_request,omitempty"` // //The "add" index of this invoice. Each newly created invoice will increment //this index making it monotonically increasing. Callers to the //SubscribeInvoices call can use this to instantly get notified of all added //invoices with an add_index greater than this one. AddIndex uint64 `protobuf:"varint,2,opt,name=add_index,json=addIndex,proto3" json:"add_index,omitempty"` // //The payment address of the generated invoice. This value should be used //in all payments for this invoice as we require it for end to end //security. PaymentAddr []byte `protobuf:"bytes,3,opt,name=payment_addr,json=paymentAddr,proto3" json:"payment_addr,omitempty"` // contains filtered or unexported fields }
func (*AddHoldInvoiceResp) Descriptor
deprecated
func (*AddHoldInvoiceResp) Descriptor() ([]byte, []int)
Deprecated: Use AddHoldInvoiceResp.ProtoReflect.Descriptor instead.
func (*AddHoldInvoiceResp) GetAddIndex ¶
func (x *AddHoldInvoiceResp) GetAddIndex() uint64
func (*AddHoldInvoiceResp) GetPaymentAddr ¶
func (x *AddHoldInvoiceResp) GetPaymentAddr() []byte
func (*AddHoldInvoiceResp) GetPaymentRequest ¶
func (x *AddHoldInvoiceResp) GetPaymentRequest() string
func (*AddHoldInvoiceResp) ProtoMessage ¶
func (*AddHoldInvoiceResp) ProtoMessage()
func (*AddHoldInvoiceResp) ProtoReflect ¶
func (x *AddHoldInvoiceResp) ProtoReflect() protoreflect.Message
func (*AddHoldInvoiceResp) Reset ¶
func (x *AddHoldInvoiceResp) Reset()
func (*AddHoldInvoiceResp) String ¶
func (x *AddHoldInvoiceResp) String() string
type AddInvoiceConfig ¶
type AddInvoiceConfig struct { // AddInvoice is called to add the invoice to the registry. AddInvoice func(invoice *channeldb.Invoice, paymentHash lntypes.Hash) ( uint64, error) // IsChannelActive is used to generate valid hop hints. IsChannelActive func(chanID lnwire.ChannelID) bool // ChainParams are required to properly decode invoice payment requests // that are marshalled over rpc. ChainParams *chaincfg.Params // NodeSigner is an implementation of the MessageSigner implementation // that's backed by the identity private key of the running lnd node. NodeSigner *netann.NodeSigner // DefaultCLTVExpiry is the default invoice expiry if no values is // specified. DefaultCLTVExpiry uint32 // ChanDB is a global boltdb instance which is needed to access the // channel graph. ChanDB *channeldb.ChannelStateDB // Graph holds a reference to the ChannelGraph database. Graph *channeldb.ChannelGraph // GenInvoiceFeatures returns a feature containing feature bits that // should be advertised on freshly generated invoices. GenInvoiceFeatures func() *lnwire.FeatureVector // GenAmpInvoiceFeatures returns a feature containing feature bits that // should be advertised on freshly generated AMP invoices. GenAmpInvoiceFeatures func() *lnwire.FeatureVector // GetAlias allows the peer's alias SCID to be retrieved for private // option_scid_alias channels. GetAlias func(lnwire.ChannelID) (lnwire.ShortChannelID, error) }
AddInvoiceConfig contains dependencies for invoice creation.
type AddInvoiceData ¶
type AddInvoiceData struct { // An optional memo to attach along with the invoice. Used for record // keeping purposes for the invoice's creator, and will also be set in // the description field of the encoded payment request if the // description_hash field is not being used. Memo string // The preimage which will allow settling an incoming HTLC payable to // this preimage. If Preimage is set, Hash should be nil. If both // Preimage and Hash are nil, a random preimage is generated. Preimage *lntypes.Preimage // The hash of the preimage. If Hash is set, Preimage should be nil. // This condition indicates that we have a 'hold invoice' for which the // htlc will be accepted and held until the preimage becomes known. Hash *lntypes.Hash // The value of this invoice in millisatoshis. Value lnwire.MilliSatoshi // Hash (SHA-256) of a description of the payment. Used if the // description of payment (memo) is too long to naturally fit within the // description field of an encoded payment request. DescriptionHash []byte // Payment request expiry time in seconds. Default is 3600 (1 hour). Expiry int64 // Fallback on-chain address. FallbackAddr string // Delta to use for the time-lock of the CLTV extended to the final hop. CltvExpiry uint64 // Whether this invoice should include routing hints for private // channels. Private bool // HodlInvoice signals that this invoice shouldn't be settled // immediately upon receiving the payment. HodlInvoice bool // Amp signals whether or not to create an AMP invoice. // // NOTE: Preimage should always be set to nil when this value is true. Amp bool // RouteHints are optional route hints that can each be individually // used to assist in reaching the invoice's destination. RouteHints [][]zpay32.HopHint }
AddInvoiceData contains the required data to create a new invoice.
type CancelInvoiceMsg ¶
type CancelInvoiceMsg struct { // Hash corresponding to the (hold) invoice to cancel. When using // REST, this field must be encoded as base64. PaymentHash []byte `protobuf:"bytes,1,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` // contains filtered or unexported fields }
func (*CancelInvoiceMsg) Descriptor
deprecated
func (*CancelInvoiceMsg) Descriptor() ([]byte, []int)
Deprecated: Use CancelInvoiceMsg.ProtoReflect.Descriptor instead.
func (*CancelInvoiceMsg) GetPaymentHash ¶
func (x *CancelInvoiceMsg) GetPaymentHash() []byte
func (*CancelInvoiceMsg) ProtoMessage ¶
func (*CancelInvoiceMsg) ProtoMessage()
func (*CancelInvoiceMsg) ProtoReflect ¶
func (x *CancelInvoiceMsg) ProtoReflect() protoreflect.Message
func (*CancelInvoiceMsg) Reset ¶
func (x *CancelInvoiceMsg) Reset()
func (*CancelInvoiceMsg) String ¶
func (x *CancelInvoiceMsg) String() string
type CancelInvoiceResp ¶
type CancelInvoiceResp struct {
// contains filtered or unexported fields
}
func (*CancelInvoiceResp) Descriptor
deprecated
func (*CancelInvoiceResp) Descriptor() ([]byte, []int)
Deprecated: Use CancelInvoiceResp.ProtoReflect.Descriptor instead.
func (*CancelInvoiceResp) ProtoMessage ¶
func (*CancelInvoiceResp) ProtoMessage()
func (*CancelInvoiceResp) ProtoReflect ¶
func (x *CancelInvoiceResp) ProtoReflect() protoreflect.Message
func (*CancelInvoiceResp) Reset ¶
func (x *CancelInvoiceResp) Reset()
func (*CancelInvoiceResp) String ¶
func (x *CancelInvoiceResp) String() string
type HopHintInfo ¶
type HopHintInfo struct { // IsPublic indicates whether a channel is advertised to the network. IsPublic bool // IsActive indicates whether the channel is online and available for // use. IsActive bool // FundingOutpoint is the funding txid:index for the channel. FundingOutpoint wire.OutPoint // RemotePubkey is the public key of the remote party that this channel // is in. RemotePubkey *btcec.PublicKey // RemoteBalance is the remote party's balance (our current incoming // capacity). RemoteBalance lnwire.MilliSatoshi // ShortChannelID is the short channel ID of the channel. ShortChannelID uint64 // ConfirmedScidZC is the confirmed SCID of a zero-conf channel. This // may be used for looking up a channel in the graph. ConfirmedScidZC uint64 // ScidAliasFeature denotes whether the channel has negotiated the // option-scid-alias feature bit. ScidAliasFeature bool }
HopHintInfo contains the channel information required to create a hop hint.
type InvoicesClient ¶
type InvoicesClient interface { // //SubscribeSingleInvoice returns a uni-directional stream (server -> client) //to notify the client of state transitions of the specified invoice. //Initially the current invoice state is always sent out. SubscribeSingleInvoice(ctx context.Context, in *SubscribeSingleInvoiceRequest, opts ...grpc.CallOption) (Invoices_SubscribeSingleInvoiceClient, error) // //CancelInvoice cancels a currently open invoice. If the invoice is already //canceled, this call will succeed. If the invoice is already settled, it will //fail. CancelInvoice(ctx context.Context, in *CancelInvoiceMsg, opts ...grpc.CallOption) (*CancelInvoiceResp, error) // //AddHoldInvoice creates a hold invoice. It ties the invoice to the hash //supplied in the request. AddHoldInvoice(ctx context.Context, in *AddHoldInvoiceRequest, opts ...grpc.CallOption) (*AddHoldInvoiceResp, error) // //SettleInvoice settles an accepted invoice. If the invoice is already //settled, this call will succeed. SettleInvoice(ctx context.Context, in *SettleInvoiceMsg, opts ...grpc.CallOption) (*SettleInvoiceResp, error) // //LookupInvoiceV2 attempts to look up at invoice. An invoice can be refrenced //using either its payment hash, payment address, or set ID. LookupInvoiceV2(ctx context.Context, in *LookupInvoiceMsg, opts ...grpc.CallOption) (*lnrpc.Invoice, error) }
InvoicesClient is the client API for Invoices service.
For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
func NewInvoicesClient ¶
func NewInvoicesClient(cc grpc.ClientConnInterface) InvoicesClient
type InvoicesServer ¶
type InvoicesServer interface { // //SubscribeSingleInvoice returns a uni-directional stream (server -> client) //to notify the client of state transitions of the specified invoice. //Initially the current invoice state is always sent out. SubscribeSingleInvoice(*SubscribeSingleInvoiceRequest, Invoices_SubscribeSingleInvoiceServer) error // //CancelInvoice cancels a currently open invoice. If the invoice is already //canceled, this call will succeed. If the invoice is already settled, it will //fail. CancelInvoice(context.Context, *CancelInvoiceMsg) (*CancelInvoiceResp, error) // //AddHoldInvoice creates a hold invoice. It ties the invoice to the hash //supplied in the request. AddHoldInvoice(context.Context, *AddHoldInvoiceRequest) (*AddHoldInvoiceResp, error) // //SettleInvoice settles an accepted invoice. If the invoice is already //settled, this call will succeed. SettleInvoice(context.Context, *SettleInvoiceMsg) (*SettleInvoiceResp, error) // //LookupInvoiceV2 attempts to look up at invoice. An invoice can be refrenced //using either its payment hash, payment address, or set ID. LookupInvoiceV2(context.Context, *LookupInvoiceMsg) (*lnrpc.Invoice, error) // contains filtered or unexported methods }
InvoicesServer is the server API for Invoices service. All implementations must embed UnimplementedInvoicesServer for forward compatibility
type Invoices_SubscribeSingleInvoiceClient ¶
type Invoices_SubscribeSingleInvoiceClient interface { Recv() (*lnrpc.Invoice, error) grpc.ClientStream }
type Invoices_SubscribeSingleInvoiceServer ¶
type Invoices_SubscribeSingleInvoiceServer interface { Send(*lnrpc.Invoice) error grpc.ServerStream }
type LookupInvoiceMsg ¶
type LookupInvoiceMsg struct { // Types that are assignable to InvoiceRef: // *LookupInvoiceMsg_PaymentHash // *LookupInvoiceMsg_PaymentAddr // *LookupInvoiceMsg_SetId InvoiceRef isLookupInvoiceMsg_InvoiceRef `protobuf_oneof:"invoice_ref"` LookupModifier LookupModifier `` /* 136-byte string literal not displayed */ // contains filtered or unexported fields }
func (*LookupInvoiceMsg) Descriptor
deprecated
func (*LookupInvoiceMsg) Descriptor() ([]byte, []int)
Deprecated: Use LookupInvoiceMsg.ProtoReflect.Descriptor instead.
func (*LookupInvoiceMsg) GetInvoiceRef ¶
func (m *LookupInvoiceMsg) GetInvoiceRef() isLookupInvoiceMsg_InvoiceRef
func (*LookupInvoiceMsg) GetLookupModifier ¶
func (x *LookupInvoiceMsg) GetLookupModifier() LookupModifier
func (*LookupInvoiceMsg) GetPaymentAddr ¶
func (x *LookupInvoiceMsg) GetPaymentAddr() []byte
func (*LookupInvoiceMsg) GetPaymentHash ¶
func (x *LookupInvoiceMsg) GetPaymentHash() []byte
func (*LookupInvoiceMsg) GetSetId ¶
func (x *LookupInvoiceMsg) GetSetId() []byte
func (*LookupInvoiceMsg) ProtoMessage ¶
func (*LookupInvoiceMsg) ProtoMessage()
func (*LookupInvoiceMsg) ProtoReflect ¶
func (x *LookupInvoiceMsg) ProtoReflect() protoreflect.Message
func (*LookupInvoiceMsg) Reset ¶
func (x *LookupInvoiceMsg) Reset()
func (*LookupInvoiceMsg) String ¶
func (x *LookupInvoiceMsg) String() string
type LookupInvoiceMsg_PaymentAddr ¶
type LookupInvoiceMsg_PaymentAddr struct {
PaymentAddr []byte `protobuf:"bytes,2,opt,name=payment_addr,json=paymentAddr,proto3,oneof"`
}
type LookupInvoiceMsg_PaymentHash ¶
type LookupInvoiceMsg_PaymentHash struct { // When using REST, this field must be encoded as base64. PaymentHash []byte `protobuf:"bytes,1,opt,name=payment_hash,json=paymentHash,proto3,oneof"` }
type LookupInvoiceMsg_SetId ¶
type LookupInvoiceMsg_SetId struct {
SetId []byte `protobuf:"bytes,3,opt,name=set_id,json=setId,proto3,oneof"`
}
type LookupModifier ¶
type LookupModifier int32
const ( // The default look up modifier, no look up behavior is changed. LookupModifier_DEFAULT LookupModifier = 0 // //Indicates that when a look up is done based on a set_id, then only that set //of HTLCs related to that set ID should be returned. LookupModifier_HTLC_SET_ONLY LookupModifier = 1 // //Indicates that when a look up is done using a payment_addr, then no HTLCs //related to the payment_addr should be returned. This is useful when one //wants to be able to obtain the set of associated setIDs with a given //invoice, then look up the sub-invoices "projected" by that set ID. LookupModifier_HTLC_SET_BLANK LookupModifier = 2 )
func (LookupModifier) Descriptor ¶
func (LookupModifier) Descriptor() protoreflect.EnumDescriptor
func (LookupModifier) Enum ¶
func (x LookupModifier) Enum() *LookupModifier
func (LookupModifier) EnumDescriptor
deprecated
func (LookupModifier) EnumDescriptor() ([]byte, []int)
Deprecated: Use LookupModifier.Descriptor instead.
func (LookupModifier) Number ¶
func (x LookupModifier) Number() protoreflect.EnumNumber
func (LookupModifier) String ¶
func (x LookupModifier) String() string
func (LookupModifier) Type ¶
func (LookupModifier) Type() protoreflect.EnumType
type SelectHopHintsCfg ¶
type SelectHopHintsCfg struct { // IsPublicNode is returns a bool indicating whether the node with the // given public key is seen as a public node in the graph from the // graph's source node's point of view. IsPublicNode func(pubKey [33]byte) (bool, error) // FetchChannelEdgesByID attempts to lookup the two directed edges for // the channel identified by the channel ID. FetchChannelEdgesByID func(chanID uint64) (*channeldb.ChannelEdgeInfo, *channeldb.ChannelEdgePolicy, *channeldb.ChannelEdgePolicy, error) // GetAlias allows the peer's alias SCID to be retrieved for private // option_scid_alias channels. GetAlias func(lnwire.ChannelID) (lnwire.ShortChannelID, error) // FetchAllChannels retrieves all open channels currently stored // within the database. FetchAllChannels func() ([]*channeldb.OpenChannel, error) // IsChannelActive checks whether the channel identified by the provided // ChannelID is considered active. IsChannelActive func(chanID lnwire.ChannelID) bool // MaxHopHints is the maximum number of hop hints we are interested in. MaxHopHints int }
SelectHopHintsCfg contains the dependencies required to obtain hop hints for an invoice.
type SettleInvoiceMsg ¶
type SettleInvoiceMsg struct { // Externally discovered pre-image that should be used to settle the hold // invoice. Preimage []byte `protobuf:"bytes,1,opt,name=preimage,proto3" json:"preimage,omitempty"` // contains filtered or unexported fields }
func (*SettleInvoiceMsg) Descriptor
deprecated
func (*SettleInvoiceMsg) Descriptor() ([]byte, []int)
Deprecated: Use SettleInvoiceMsg.ProtoReflect.Descriptor instead.
func (*SettleInvoiceMsg) GetPreimage ¶
func (x *SettleInvoiceMsg) GetPreimage() []byte
func (*SettleInvoiceMsg) ProtoMessage ¶
func (*SettleInvoiceMsg) ProtoMessage()
func (*SettleInvoiceMsg) ProtoReflect ¶
func (x *SettleInvoiceMsg) ProtoReflect() protoreflect.Message
func (*SettleInvoiceMsg) Reset ¶
func (x *SettleInvoiceMsg) Reset()
func (*SettleInvoiceMsg) String ¶
func (x *SettleInvoiceMsg) String() string
type SettleInvoiceResp ¶
type SettleInvoiceResp struct {
// contains filtered or unexported fields
}
func (*SettleInvoiceResp) Descriptor
deprecated
func (*SettleInvoiceResp) Descriptor() ([]byte, []int)
Deprecated: Use SettleInvoiceResp.ProtoReflect.Descriptor instead.
func (*SettleInvoiceResp) ProtoMessage ¶
func (*SettleInvoiceResp) ProtoMessage()
func (*SettleInvoiceResp) ProtoReflect ¶
func (x *SettleInvoiceResp) ProtoReflect() protoreflect.Message
func (*SettleInvoiceResp) Reset ¶
func (x *SettleInvoiceResp) Reset()
func (*SettleInvoiceResp) String ¶
func (x *SettleInvoiceResp) String() string
type SubscribeSingleInvoiceRequest ¶
type SubscribeSingleInvoiceRequest struct { // Hash corresponding to the (hold) invoice to subscribe to. When using // REST, this field must be encoded as base64url. RHash []byte `protobuf:"bytes,2,opt,name=r_hash,json=rHash,proto3" json:"r_hash,omitempty"` // contains filtered or unexported fields }
func (*SubscribeSingleInvoiceRequest) Descriptor
deprecated
func (*SubscribeSingleInvoiceRequest) Descriptor() ([]byte, []int)
Deprecated: Use SubscribeSingleInvoiceRequest.ProtoReflect.Descriptor instead.
func (*SubscribeSingleInvoiceRequest) GetRHash ¶
func (x *SubscribeSingleInvoiceRequest) GetRHash() []byte
func (*SubscribeSingleInvoiceRequest) ProtoMessage ¶
func (*SubscribeSingleInvoiceRequest) ProtoMessage()
func (*SubscribeSingleInvoiceRequest) ProtoReflect ¶
func (x *SubscribeSingleInvoiceRequest) ProtoReflect() protoreflect.Message
func (*SubscribeSingleInvoiceRequest) Reset ¶
func (x *SubscribeSingleInvoiceRequest) Reset()
func (*SubscribeSingleInvoiceRequest) String ¶
func (x *SubscribeSingleInvoiceRequest) String() string
type UnimplementedInvoicesServer ¶
type UnimplementedInvoicesServer struct { }
UnimplementedInvoicesServer must be embedded to have forward compatible implementations.
func (UnimplementedInvoicesServer) AddHoldInvoice ¶
func (UnimplementedInvoicesServer) AddHoldInvoice(context.Context, *AddHoldInvoiceRequest) (*AddHoldInvoiceResp, error)
func (UnimplementedInvoicesServer) CancelInvoice ¶
func (UnimplementedInvoicesServer) CancelInvoice(context.Context, *CancelInvoiceMsg) (*CancelInvoiceResp, error)
func (UnimplementedInvoicesServer) LookupInvoiceV2 ¶
func (UnimplementedInvoicesServer) LookupInvoiceV2(context.Context, *LookupInvoiceMsg) (*lnrpc.Invoice, error)
func (UnimplementedInvoicesServer) SettleInvoice ¶
func (UnimplementedInvoicesServer) SettleInvoice(context.Context, *SettleInvoiceMsg) (*SettleInvoiceResp, error)
func (UnimplementedInvoicesServer) SubscribeSingleInvoice ¶
func (UnimplementedInvoicesServer) SubscribeSingleInvoice(*SubscribeSingleInvoiceRequest, Invoices_SubscribeSingleInvoiceServer) error
type UnsafeInvoicesServer ¶
type UnsafeInvoicesServer interface {
// contains filtered or unexported methods
}
UnsafeInvoicesServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to InvoicesServer will result in compilation errors.