Documentation ¶
Index ¶
- Constants
- func NewAPI(svc service.Service, gormDB *gorm.DB, config config.Config, keys keys.Keys, ...) *api
- type API
- type App
- type BackupReminderRequest
- type BalancesResponse
- type BasicBackupRequest
- type BasicRestoreWailsRequest
- type Boostagram
- type ChangeUnlockPasswordRequest
- type Channel
- type CloseChannelResponse
- type ConnectPeerRequest
- type CreateAppRequest
- type CreateAppResponse
- type GetLogOutputRequest
- type GetLogOutputResponse
- type InfoResponse
- type LSPOrderRequest
- type LSPOrderResponse
- type ListAppsResponse
- type ListTransactionsResponse
- type LookupInvoiceResponse
- type MakeInvoiceRequest
- type MakeInvoiceResponse
- type Metadata
- type MnemonicRequest
- type MnemonicResponse
- type NetworkGraphResponse
- type OnchainBalanceResponse
- type OpenChannelRequest
- type OpenChannelResponse
- type RedeemOnchainFundsRequest
- type RedeemOnchainFundsResponse
- type ResetRouterRequest
- type SendPaymentProbesRequest
- type SendPaymentProbesResponse
- type SendPaymentResponse
- type SendSpontaneousPaymentProbesRequest
- type SendSpontaneousPaymentProbesResponse
- type SetupRequest
- type SignMessageRequest
- type SignMessageResponse
- type StartRequest
- type Transaction
- type UnlockRequest
- type UpdateAppRequest
- type UpdateChannelRequest
- type User
- type WalletCapabilitiesResponse
Constants ¶
View Source
const ( LogTypeNode = "node" LogTypeApp = "app" )
Variables ¶
This section is empty.
Functions ¶
Types ¶
type API ¶
type API interface { CreateApp(createAppRequest *CreateAppRequest) (*CreateAppResponse, error) UpdateApp(userApp *db.App, updateAppRequest *UpdateAppRequest) error DeleteApp(userApp *db.App) error GetApp(userApp *db.App) *App ListApps() ([]App, error) ListChannels(ctx context.Context) ([]Channel, error) GetChannelPeerSuggestions(ctx context.Context) ([]alby.ChannelPeerSuggestion, error) ResetRouter(key string) error ChangeUnlockPassword(changeUnlockPasswordRequest *ChangeUnlockPasswordRequest) error Stop() error GetNodeConnectionInfo(ctx context.Context) (*lnclient.NodeConnectionInfo, error) GetNodeStatus(ctx context.Context) (*lnclient.NodeStatus, error) ListPeers(ctx context.Context) ([]lnclient.PeerDetails, error) ConnectPeer(ctx context.Context, connectPeerRequest *ConnectPeerRequest) error DisconnectPeer(ctx context.Context, peerId string) error OpenChannel(ctx context.Context, openChannelRequest *OpenChannelRequest) (*OpenChannelResponse, error) CloseChannel(ctx context.Context, peerId, channelId string, force bool) (*CloseChannelResponse, error) UpdateChannel(ctx context.Context, updateChannelRequest *UpdateChannelRequest) error GetNewOnchainAddress(ctx context.Context) (string, error) GetUnusedOnchainAddress(ctx context.Context) (string, error) SignMessage(ctx context.Context, message string) (*SignMessageResponse, error) RedeemOnchainFunds(ctx context.Context, toAddress string, amount uint64, sendAll bool) (*RedeemOnchainFundsResponse, error) GetBalances(ctx context.Context) (*BalancesResponse, error) ListTransactions(ctx context.Context, limit uint64, offset uint64) (*ListTransactionsResponse, error) SendPayment(ctx context.Context, invoice string) (*SendPaymentResponse, error) CreateInvoice(ctx context.Context, amount int64, description string) (*MakeInvoiceResponse, error) LookupInvoice(ctx context.Context, paymentHash string) (*LookupInvoiceResponse, error) RequestMempoolApi(endpoint string) (interface{}, error) GetInfo(ctx context.Context) (*InfoResponse, error) GetMnemonic(unlockPassword string) (*MnemonicResponse, error) SetNextBackupReminder(backupReminderRequest *BackupReminderRequest) error Start(startRequest *StartRequest) Setup(ctx context.Context, setupRequest *SetupRequest) error SendPaymentProbes(ctx context.Context, sendPaymentProbesRequest *SendPaymentProbesRequest) (*SendPaymentProbesResponse, error) SendSpontaneousPaymentProbes(ctx context.Context, sendSpontaneousPaymentProbesRequest *SendSpontaneousPaymentProbesRequest) (*SendSpontaneousPaymentProbesResponse, error) GetNetworkGraph(ctx context.Context, nodeIds []string) (NetworkGraphResponse, error) SyncWallet() error GetLogOutput(ctx context.Context, logType string, getLogRequest *GetLogOutputRequest) (*GetLogOutputResponse, error) RequestLSPOrder(ctx context.Context, request *LSPOrderRequest) (*LSPOrderResponse, error) CreateBackup(unlockPassword string, w io.Writer) error RestoreBackup(unlockPassword string, r io.Reader) error GetWalletCapabilities(ctx context.Context) (*WalletCapabilitiesResponse, error) }
type App ¶
type App struct { ID uint `json:"id"` Name string `json:"name"` Description string `json:"description"` NostrPubkey string `json:"nostrPubkey"` CreatedAt time.Time `json:"createdAt"` UpdatedAt time.Time `json:"updatedAt"` LastEventAt *time.Time `json:"lastEventAt"` ExpiresAt *time.Time `json:"expiresAt"` Scopes []string `json:"scopes"` MaxAmountSat uint64 `json:"maxAmount"` BudgetUsage uint64 `json:"budgetUsage"` BudgetRenewal string `json:"budgetRenewal"` Isolated bool `json:"isolated"` Balance uint64 `json:"balance"` Metadata Metadata `json:"metadata,omitempty"` }
type BackupReminderRequest ¶
type BackupReminderRequest struct {
NextBackupReminder string `json:"nextBackupReminder"`
}
type BalancesResponse ¶
type BalancesResponse = lnclient.BalancesResponse
type BasicBackupRequest ¶
type BasicBackupRequest struct {
UnlockPassword string `json:"unlockPassword"`
}
type BasicRestoreWailsRequest ¶
type BasicRestoreWailsRequest struct {
UnlockPassword string `json:"unlockPassword"`
}
type Boostagram ¶ added in v1.5.0
type Boostagram struct { AppName string `json:"appName"` Name string `json:"name"` Podcast string `json:"podcast"` URL string `json:"url"` Episode string `json:"episode,omitempty"` FeedId string `json:"feedId,omitempty"` ItemId string `json:"itemId,omitempty"` Timestamp int64 `json:"ts,omitempty"` Message string `json:"message,omitempty"` SenderId string `json:"senderId"` SenderName string `json:"senderName"` Time string `json:"time"` Action string `json:"action"` ValueMsatTotal int64 `json:"valueMsatTotal"` }
type Channel ¶ added in v1.4.0
type Channel struct { LocalBalance int64 `json:"localBalance"` LocalSpendableBalance int64 `json:"localSpendableBalance"` RemoteBalance int64 `json:"remoteBalance"` Id string `json:"id"` RemotePubkey string `json:"remotePubkey"` FundingTxId string `json:"fundingTxId"` Active bool `json:"active"` Public bool `json:"public"` InternalChannel interface{} `json:"internalChannel"` Confirmations *uint32 `json:"confirmations"` ConfirmationsRequired *uint32 `json:"confirmationsRequired"` ForwardingFeeBaseMsat uint32 `json:"forwardingFeeBaseMsat"` UnspendablePunishmentReserve uint64 `json:"unspendablePunishmentReserve"` CounterpartyUnspendablePunishmentReserve uint64 `json:"counterpartyUnspendablePunishmentReserve"` Error *string `json:"error"` Status string `json:"status"` IsOutbound bool `json:"isOutbound"` }
type CloseChannelResponse ¶
type CloseChannelResponse = lnclient.CloseChannelResponse
type ConnectPeerRequest ¶
type ConnectPeerRequest = lnclient.ConnectPeerRequest
type CreateAppRequest ¶
type CreateAppRequest struct { Name string `json:"name"` Pubkey string `json:"pubkey"` MaxAmountSat uint64 `json:"maxAmount"` BudgetRenewal string `json:"budgetRenewal"` ExpiresAt string `json:"expiresAt"` Scopes []string `json:"scopes"` ReturnTo string `json:"returnTo"` Isolated bool `json:"isolated"` Metadata Metadata `json:"metadata,omitempty"` }
type CreateAppResponse ¶
type GetLogOutputRequest ¶
type GetLogOutputRequest struct {
MaxLen int `query:"maxLen"`
}
type GetLogOutputResponse ¶
type GetLogOutputResponse struct {
Log string `json:"logs"`
}
type InfoResponse ¶
type InfoResponse struct { BackendType string `json:"backendType"` SetupCompleted bool `json:"setupCompleted"` OAuthRedirect bool `json:"oauthRedirect"` Running bool `json:"running"` Unlocked bool `json:"unlocked"` AlbyAuthUrl string `json:"albyAuthUrl"` NextBackupReminder string `json:"nextBackupReminder"` AlbyUserIdentifier string `json:"albyUserIdentifier"` AlbyAccountConnected bool `json:"albyAccountConnected"` Version string `json:"version"` Network string `json:"network"` EnableAdvancedSetup bool `json:"enableAdvancedSetup"` StartupError string `json:"startupError"` StartupErrorTime time.Time `json:"startupErrorTime"` }
type LSPOrderRequest ¶ added in v1.3.0
type LSPOrderResponse ¶ added in v1.3.0
type ListAppsResponse ¶
type ListAppsResponse struct {
Apps []App `json:"apps"`
}
type ListTransactionsResponse ¶
type ListTransactionsResponse = []Transaction
type LookupInvoiceResponse ¶
type LookupInvoiceResponse = Transaction
type MakeInvoiceRequest ¶
type MakeInvoiceResponse ¶
type MakeInvoiceResponse = Transaction
type MnemonicRequest ¶ added in v1.5.0
type MnemonicRequest struct {
UnlockPassword string `json:"unlockPassword"`
}
type MnemonicResponse ¶ added in v1.5.0
type MnemonicResponse struct {
Mnemonic string `json:"mnemonic"`
}
type NetworkGraphResponse ¶
type NetworkGraphResponse = lnclient.NetworkGraphResponse
type OnchainBalanceResponse ¶
type OnchainBalanceResponse = lnclient.OnchainBalanceResponse
type OpenChannelRequest ¶
type OpenChannelRequest = lnclient.OpenChannelRequest
type OpenChannelResponse ¶
type OpenChannelResponse = lnclient.OpenChannelResponse
type RedeemOnchainFundsResponse ¶
type RedeemOnchainFundsResponse struct {
TxId string `json:"txId"`
}
type ResetRouterRequest ¶
type ResetRouterRequest struct {
Key string `json:"key"`
}
type SendPaymentProbesRequest ¶
type SendPaymentProbesRequest struct {
Invoice string `json:"invoice"`
}
debug api
type SendPaymentProbesResponse ¶
type SendPaymentProbesResponse struct {
Error string `json:"error"`
}
type SendPaymentResponse ¶
type SendPaymentResponse = Transaction
type SendSpontaneousPaymentProbesResponse ¶
type SendSpontaneousPaymentProbesResponse struct {
Error string `json:"error"`
}
type SetupRequest ¶
type SetupRequest struct { LNBackendType string `json:"backendType"` UnlockPassword string `json:"unlockPassword"` // Breez / Greenlight Mnemonic string `json:"mnemonic"` GreenlightInviteCode string `json:"greenlightInviteCode"` NextBackupReminder string `json:"nextBackupReminder"` // Breez fields BreezAPIKey string `json:"breezApiKey"` // LND fields LNDAddress string `json:"lndAddress"` LNDCertFile string `json:"lndCertFile"` LNDMacaroonFile string `json:"lndMacaroonFile"` LNDCertHex string `json:"lndCertHex"` LNDMacaroonHex string `json:"lndMacaroonHex"` // Phoenixd fields PhoenixdAddress string `json:"phoenixdAddress"` PhoenixdAuthorization string `json:"phoenixdAuthorization"` // Cashu fields CashuMintUrl string `json:"cashuMintUrl"` }
type SignMessageRequest ¶
type SignMessageRequest struct {
Message string `json:"message"`
}
type SignMessageResponse ¶
type StartRequest ¶
type StartRequest struct {
UnlockPassword string `json:"unlockPassword"`
}
type Transaction ¶ added in v1.2.0
type Transaction struct { Type string `json:"type"` Invoice string `json:"invoice"` Description string `json:"description"` DescriptionHash string `json:"descriptionHash"` Preimage *string `json:"preimage"` PaymentHash string `json:"paymentHash"` Amount uint64 `json:"amount"` FeesPaid uint64 `json:"feesPaid"` CreatedAt string `json:"createdAt"` SettledAt *string `json:"settledAt"` AppId *uint `json:"appId"` Metadata Metadata `json:"metadata,omitempty"` Boostagram *Boostagram `json:"boostagram,omitempty"` }
TODO: camelCase
type UnlockRequest ¶
type UpdateAppRequest ¶
type UpdateChannelRequest ¶
type UpdateChannelRequest = lnclient.UpdateChannelRequest
Click to show internal directories.
Click to hide internal directories.