Documentation
¶
Index ¶
- Constants
- Variables
- func NewHoldInvoiceCanceledError() error
- type BalancesResponse
- type Channel
- type CloseChannelRequest
- type ConnectPeerRequest
- type CustomNodeCommandArg
- type CustomNodeCommandArgDef
- type CustomNodeCommandDef
- type CustomNodeCommandRequest
- type CustomNodeCommandResponse
- type LNClient
- type LightningBalanceResponse
- type Metadata
- type NetworkGraphResponse
- type NodeConnectionInfo
- type NodeInfo
- type NodeStatus
- type OnchainBalanceResponse
- type OnchainTransaction
- type OpenChannelRequest
- type OpenChannelResponse
- type PayInvoiceResponse
- type PayKeysendResponse
- type PayOfferResponse
- type PaymentFailedEventProperties
- type PaymentForwardedEventProperties
- type PeerDetails
- type PendingBalanceDetails
- type TLVRecord
- type Transaction
- type UpdateChannelRequest
Constants ¶
View Source
const DEFAULT_INVOICE_EXPIRY = 86400
default invoice expiry in seconds (1 day)
Variables ¶
View Source
var ErrUnknownCustomNodeCommand = errors.New("unknown custom node command")
Functions ¶
func NewHoldInvoiceCanceledError ¶ added in v1.18.0
func NewHoldInvoiceCanceledError() error
Types ¶
type BalancesResponse ¶
type BalancesResponse struct {
Onchain OnchainBalanceResponse
Lightning LightningBalanceResponse
}
type Channel ¶
type Channel struct {
LocalBalanceMsat int64
LocalSpendableBalanceMsat int64
RemoteBalanceMsat int64
Id string
RemotePubkey string
FundingTxId string
FundingTxVout uint32
Active bool
Public bool
InternalChannel interface{}
Confirmations *uint32
ConfirmationsRequired *uint32
ForwardingFeeBaseMsat uint32
ForwardingFeeProportionalMillionths uint32
UnspendablePunishmentReserveSat uint64
CounterpartyUnspendablePunishmentReserveSat uint64
Error *string
IsOutbound bool
}
type CloseChannelRequest ¶
type ConnectPeerRequest ¶
type CustomNodeCommandArg ¶ added in v1.14.0
type CustomNodeCommandArgDef ¶ added in v1.14.0
type CustomNodeCommandDef ¶ added in v1.14.0
type CustomNodeCommandDef struct {
Name string
Description string
Args []CustomNodeCommandArgDef
}
type CustomNodeCommandRequest ¶ added in v1.14.0
type CustomNodeCommandRequest struct {
Name string
Args []CustomNodeCommandArg
}
type CustomNodeCommandResponse ¶ added in v1.14.0
type CustomNodeCommandResponse struct {
Response interface{}
}
func NewCustomNodeCommandResponseEmpty ¶ added in v1.14.0
func NewCustomNodeCommandResponseEmpty() *CustomNodeCommandResponse
type LNClient ¶
type LNClient interface {
SendPaymentSync(payReq string, amountMsat *uint64) (*PayInvoiceResponse, error)
SendKeysend(amountMsat uint64, destination string, customRecords []TLVRecord, preimage string) (*PayKeysendResponse, error)
GetPubkey() string
GetInfo(ctx context.Context) (info *NodeInfo, err error)
MakeInvoice(ctx context.Context, amountMsat int64, description string, descriptionHash string, expiry int64, throughNodePubkey *string) (transaction *Transaction, err error)
MakeHoldInvoice(ctx context.Context, amountMsat int64, description string, descriptionHash string, expiry int64, paymentHash string, minCltvExpiryDelta *uint64) (transaction *Transaction, err error)
SettleHoldInvoice(ctx context.Context, preimage string) (err error)
CancelHoldInvoice(ctx context.Context, paymentHash string) (err error)
LookupInvoice(ctx context.Context, paymentHash string) (transaction *Transaction, err error)
ListOnchainTransactions(ctx context.Context) ([]OnchainTransaction, error)
Shutdown() error
ListChannels(ctx context.Context) (channels []Channel, err error)
GetNodeConnectionInfo(ctx context.Context) (nodeConnectionInfo *NodeConnectionInfo, err error)
GetNodeStatus(ctx context.Context) (nodeStatus *NodeStatus, err error)
ConnectPeer(ctx context.Context, connectPeerRequest *ConnectPeerRequest) error
OpenChannel(ctx context.Context, openChannelRequest *OpenChannelRequest) (*OpenChannelResponse, error)
CloseChannel(ctx context.Context, closeChannelRequest *CloseChannelRequest) error
UpdateChannel(ctx context.Context, updateChannelRequest *UpdateChannelRequest) error
DisconnectPeer(ctx context.Context, peerId string) error
MakeOffer(ctx context.Context, description string) (string, error)
GetNewOnchainAddress(ctx context.Context) (string, error)
ResetRouter(key string) error
GetOnchainBalance(ctx context.Context) (*OnchainBalanceResponse, error)
GetBalances(ctx context.Context, includeInactiveChannels bool) (*BalancesResponse, error)
RedeemOnchainFunds(ctx context.Context, toAddress string, amountSat uint64, feeRate *uint64, sendAll bool) (txId string, err error)
ListPeers(ctx context.Context) ([]PeerDetails, error)
GetLogOutput(ctx context.Context, maxLen int) ([]byte, error)
SignMessage(ctx context.Context, message string) (string, error)
GetStorageDir() (string, error)
GetNetworkGraph(ctx context.Context, nodeIds []string) (NetworkGraphResponse, error)
UpdateLastWalletSyncRequest()
GetSupportedNIP47Methods() []string
GetSupportedNIP47NotificationTypes() []string
GetCustomNodeCommandDefinitions() []CustomNodeCommandDef
ExecuteCustomNodeCommand(ctx context.Context, command *CustomNodeCommandRequest) (*CustomNodeCommandResponse, error)
}
type NetworkGraphResponse ¶
type NetworkGraphResponse = interface{}
type NodeConnectionInfo ¶
type NodeStatus ¶
type NodeStatus struct {
IsReady bool
InternalNodeStatus interface{}
}
type OnchainBalanceResponse ¶
type OnchainBalanceResponse struct {
SpendableSat int64
TotalSat int64
ReservedSat int64
PendingBalancesFromChannelClosuresSat uint64
PendingBalancesDetails []PendingBalanceDetails
PendingSweepBalancesDetails []PendingBalanceDetails
InternalBalances interface{}
}
type OnchainTransaction ¶ added in v1.17.0
type OpenChannelRequest ¶
type OpenChannelResponse ¶
type OpenChannelResponse struct {
FundingTxId string
}
type PayInvoiceResponse ¶
type PayKeysendResponse ¶ added in v1.4.1
type PayKeysendResponse struct {
FeeMsat uint64
}
type PayOfferResponse ¶ added in v1.18.0
type PaymentFailedEventProperties ¶ added in v1.6.0
type PaymentFailedEventProperties struct {
Transaction *Transaction
Reason string
}
type PaymentForwardedEventProperties ¶ added in v1.19.0
type PeerDetails ¶
type PendingBalanceDetails ¶ added in v1.13.0
type TLVRecord ¶
type TLVRecord struct {
Type uint64 `json:"type"`
// hex-encoded value
Value string `json:"value"`
}
TLVRecord JSON tags are kept because values flow through the freeform transaction Metadata blob and are surfaced to NIP-47 clients via lookup_invoice / list_transactions.
type Transaction ¶
type Transaction struct {
Type string
Invoice string
Description string
DescriptionHash string
Preimage string
PaymentHash string
AmountMsat int64
FeesPaidMsat int64
CreatedAt int64
ExpiresAt *int64
SettledAt *int64
Metadata Metadata
SettleDeadline *uint32 // block number for accepted hold invoices
}
TODO: use uint for fields that cannot be negative
Click to show internal directories.
Click to hide internal directories.