nwc

package
v0.4.15 Latest Latest
Warning

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

Go to latest
Published: Aug 5, 2025 License: Unlicense Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	GetInfo           = Capability("get_info")
	GetBalance        = Capability("get_balance")
	GetBudget         = Capability("get_budget")
	MakeInvoice       = Capability("make_invoice")
	PayInvoice        = Capability("pay_invoice")
	PayKeysend        = Capability("pay_keysend")
	LookupInvoice     = Capability("lookup_invoice")
	ListTransactions  = Capability("list_transactions")
	SignMessage       = Capability("sign_message")
	CreateConnection  = Capability("create_connection")
	MakeHoldInvoice   = Capability("make_hold_invoice")
	SettleHoldInvoice = Capability("settle_hold_invoice")
	CancelHoldInvoice = Capability("cancel_hold_invoice")
	MultiPayInvoice   = Capability("multi_pay_invoice")
	MultiPayKeysend   = Capability("multi_pay_keysend")
)
View Source
var (
	Nip04   = EncryptionType("nip04")
	Nip44V2 = EncryptionType("nip44_v2")
)
View Source
var (
	PaymentReceived = NotificationType("payment_received")
	PaymentSent     = NotificationType("payment_sent")
)

Functions

This section is empty.

Types

type Capability

type Capability []byte

Capability represents a NIP-47 method

type Client

type Client struct {
	// contains filtered or unexported fields
}

func NewClient added in v0.4.15

func NewClient(c context.T, connectionURI string) (cl *Client, err error)

func (*Client) GetBalance

func (cl *Client) GetBalance(c context.T) (gb *GetBalanceResult, err error)

func (*Client) GetInfo

func (cl *Client) GetInfo(c context.T) (gi *GetInfoResult, err error)

func (*Client) GetWalletServiceInfo added in v0.4.15

func (cl *Client) GetWalletServiceInfo(c context.T) (
	wsi *WalletServiceInfo, err error,
)

func (*Client) ListTransactions

func (cl *Client) ListTransactions(
	c context.T, params *ListTransactionsParams,
) (lt *ListTransactionsResult, err error)

func (*Client) LookupInvoice

func (cl *Client) LookupInvoice(
	c context.T, params *LookupInvoiceParams,
) (li *LookupInvoiceResult, err error)

func (*Client) MakeInvoice

func (cl *Client) MakeInvoice(
	c context.T, params *MakeInvoiceParams,
) (mi *MakeInvoiceResult, err error)

func (*Client) PayInvoice

func (cl *Client) PayInvoice(
	c context.T, params *PayInvoiceParams,
) (pi *PayInvoiceResult, err error)

func (*Client) RPC added in v0.4.15

func (cl *Client) RPC(
	c context.T, method Capability, params, result any, opts *rpcOptions,
) (err error)

type ConnectionParams added in v0.4.15

type ConnectionParams struct {
	// contains filtered or unexported fields
}

func ParseConnectionURI added in v0.4.15

func ParseConnectionURI(nwcUri string) (parts *ConnectionParams, err error)

type EncryptionType

type EncryptionType []byte

EncryptionType represents the encryption type used for NIP-47 messages

type GetBalanceResult added in v0.4.15

type GetBalanceResult struct {
	Balance uint64 `json:"balance"`
}

type GetInfoResult added in v0.4.15

type GetInfoResult struct {
	Alias         string   `json:"alias"`
	Color         string   `json:"color"`
	Pubkey        string   `json:"pubkey"`
	Network       string   `json:"network"`
	BlockHeight   uint     `json:"block_height"`
	BlockHash     string   `json:"block_hash"`
	Methods       []string `json:"methods"`
	Notifications []string `json:"notifications"`
}

type ListTransactionsParams added in v0.4.15

type ListTransactionsParams struct {
	From           uint64 `json:"from"`
	To             uint64 `json:"to"`
	Limit          uint16 `json:"limit"`
	Offset         uint32 `json:"offset"`
	Unpaid         bool   `json:"unpaid"`
	UnpaidOutgoing bool   `json:"unpaid_outgoing"`
	UnpaidIncoming bool   `json:"unpaid_incoming"`
	Type           string `json:"type"`
}

type ListTransactionsResult added in v0.4.15

type ListTransactionsResult struct {
	Transactions []Transaction `json:"transactions"`
	TotalCount   uint32        `json:"total_count"`
}

type LookupInvoiceParams added in v0.4.15

type LookupInvoiceParams struct {
	PaymentHash string `json:"payment_hash"`
	Invoice     string `json:"invoice"`
}

type LookupInvoiceResult added in v0.4.15

type LookupInvoiceResult = Transaction

type MakeInvoiceParams added in v0.4.15

type MakeInvoiceParams struct {
	Amount          uint64  `json:"amount"`
	Expiry          *uint32 `json:"expiry"`
	Description     string  `json:"description"`
	DescriptionHash string  `json:"description_hash"`
	Metadata        any     `json:"metadata"`
}

type MakeInvoiceResult added in v0.4.15

type MakeInvoiceResult = Transaction

type NotificationType

type NotificationType []byte

type PayInvoiceParams added in v0.4.15

type PayInvoiceParams struct {
	Invoice  string  `json:"invoice"`
	Amount   *uint64 `json:"amount"`
	Metadata any     `json:"metadata"`
}

type PayInvoiceResult added in v0.4.15

type PayInvoiceResult struct {
	Preimage string `json:"preimage"`
	FeesPaid uint64 `json:"fees_paid"`
}

type Request added in v0.4.15

type Request struct {
	Method string `json:"method"`
	Params any    `json:"params"`
}

type Response added in v0.4.15

type Response struct {
	ResultType string         `json:"result_type"`
	Error      *ResponseError `json:"error"`
	Result     any            `json:"result"`
}

type ResponseError added in v0.4.15

type ResponseError struct {
	Code    string `json:"code"`
	Message string `json:"message"`
}

func (*ResponseError) Error added in v0.4.15

func (err *ResponseError) Error() string

type Transaction

type Transaction struct {
	Type            string  `json:"type"`
	State           string  `json:"state"`
	Invoice         string  `json:"invoice"`
	Description     string  `json:"description"`
	DescriptionHash string  `json:"description_hash"`
	Preimage        string  `json:"preimage"`
	PaymentHash     string  `json:"payment_hash"`
	Amount          uint64  `json:"amount"`
	FeesPaid        uint64  `json:"fees_paid"`
	CreatedAt       uint64  `json:"created_at"`
	ExpiresAt       uint64  `json:"expires_at"`
	SettledAt       *uint64 `json:"settled_at"`
	Metadata        any     `json:"metadata"`
}

type WalletServiceInfo added in v0.4.15

type WalletServiceInfo struct {
	EncryptionTypes   []EncryptionType
	Capabilities      []Capability
	NotificationTypes []NotificationType
}

Jump to

Keyboard shortcuts

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