You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
RTL/src/app/shared/models/clnModels.ts

505 lines
9.9 KiB
TypeScript

import { CLNForwardingEventsStatusEnum, PaymentTypes } from '../services/consts-enums-functions';
export enum feeRateStyle {
KB = 'KB',
KW = 'KW'
}
export interface ChannelStatus {
channels?: number;
capacity?: number;
}
export interface ChannelsStatus {
active: ChannelStatus;
inactive: ChannelStatus;
pending: ChannelStatus;
}
export interface Address {
type?: string;
address?: string;
port?: number;
}
export interface GetInfoChain {
chain?: string;
network?: string;
}
export interface GetInfo {
id?: string;
api_version?: string;
alias?: string;
color?: string;
num_peers?: number;
num_pending_channels?: number;
num_active_channels?: number;
num_inactive_channels?: number;
address?: Address[];
binding?: Address[];
version?: string;
blockheight?: number;
network?: string;
chains?: GetInfoChain[];
msatoshi_fees_collected?: number;
fees_collected_msat?: string;
lnImplementation?: string;
}
export interface Fees {
feeCollected?: number;
totalTxCount?: number;
}
export interface Balance {
totalBalance?: number;
confBalance?: number;
unconfBalance?: number;
}
export interface LocalRemoteBalance {
localBalance: number;
remoteBalance: number;
pendingBalance?: number;
inactiveBalance?: number;
}
export interface Peer {
id?: string;
connected?: boolean;
netaddr?: string[];
alias?: string;
}
export interface Invoice {
label?: string;
bolt11?: string;
bolt12?: string;
payment_hash?: string;
msatoshi?: number;
amount_msat?: string;
status?: string;
pay_index?: number;
msatoshi_received?: number;
amount_received_msat?: string;
paid_at?: number;
payment_preimage?: string;
description?: string;
expires_at?: number;
warning_capacity?: string;
local_offer_id?: string;
}
export interface Offer {
offer_id?: string;
active?: boolean;
single_use?: boolean;
bolt12?: string;
bolt12_unsigned?: string;
used?: boolean;
}
export interface OfferBookmark {
lastUpdatedAt?: string;
bolt12?: string;
amountMSat?: number;
title?: string;
vendor?: string;
description?: string;
}
export interface ListInvoices {
invoices?: Invoice[];
last_index_offset?: string;
first_index_offset?: string;
}
export interface OnChain {
address?: string;
satoshis?: string;
feeRate?: string;
minconf?: number;
utxos?: string[];
}
export interface Hop {
hop_sequence?: number;
pubkey_alias?: string;
chan_id?: string;
chan_capacity?: string;
amt_to_forward?: string;
fee?: string;
expiry?: number;
amt_to_forward_msat?: string;
fee_msat?: string;
pub_key?: string;
}
export interface MPP {
amount_msat?: string;
amount_sent_msat?: string;
bolt11?: string;
created_at?: number;
destination?: string;
id?: number;
msatoshi?: number;
msatoshi_sent?: number;
payment_hash?: string;
payment_preimage?: string;
status?: string;
partid?: number;
}
export interface Payment {
amount_msat?: string;
amount_sent_msat?: string;
bolt11?: string;
bolt12?: string;
created_at?: number;
destination?: string;
id?: number;
msatoshi?: number;
msatoshi_sent?: number;
payment_hash?: string;
payment_preimage?: string;
status?: string;
memo?: string;
partid?: string;
is_group?: boolean;
is_expanded?: boolean;
total_parts?: number;
mpps?: MPP[];
}
export interface PayRequest {
type?: string;
currency?: string;
created_at?: number;
expiry?: number;
payee?: string;
msatoshi?: number;
amount_msat?: string;
description?: string;
min_final_cltv_expiry?: number;
payment_hash?: string;
signature?: string;
}
interface HopObj {
node_id: string;
enctlv: string;
}
interface Paths {
blinding: string;
path: HopObj[];
}
interface PayWindow {
seconds_before: number;
seconds_after: number;
proportional_amount?: boolean;
}
interface Recurrence {
time_unit: number;
period: number;
time_unit_name?: string;
basetime?: number;
start_any_period?: number;
limit?: number;
paywindow?: PayWindow;
}
export interface OfferRequest {
type?: string;
valid?: boolean;
offer_id?: string;
node_id?: string;
description?: string;
signature?: string;
chains?: string[];
issuer?: string;
currency?: string;
minor_unit?: number;
amount?: number | null;
amount_msat?: string;
send_invoice?: boolean;
refund_for?: string;
vendor?: string;
features?: string;
absolute_expiry?: string;
paths?: Paths[];
quantity_min?: number;
quantity_max?: number;
recurrence?: Recurrence;
}
interface Changes {
description_appended?: string;
description?: string;
vendor_removed?: string;
vendor?: string;
msat?: string;
}
interface NextPeriod {
counter: string;
starttime: string;
endtime: string;
paywindow_start: string;
paywindow_end: string;
}
export interface OfferInvoice {
invoice: string;
changes: Changes;
next_period?: NextPeriod;
}
export interface ForwardingEvent {
payment_hash?: string;
in_channel?: string;
out_channel?: string;
in_channel_alias?: string;
out_channel_alias?: string;
in_msatoshi?: number;
in_msat?: string;
out_msatoshi?: number;
out_msat?: string;
fee?: number;
fee_msat?: string;
status?: string;
received_time?: number;
resolved_time?: number;
}
export interface LocalFailedEvent {
in_channel?: string;
in_channel_alias?: string;
in_msatoshi?: number;
in_msat?: string;
out_channel?: string;
out_channel_alias?: string;
status?: string;
received_time?: number;
resolved_time?: number;
failcode?: number;
failreason?: string;
}
export interface ListForwards {
status?: CLNForwardingEventsStatusEnum;
totalForwards?: number;
listForwards?: ForwardingEvent[] | LocalFailedEvent[];
}
export interface Routes {
id?: string;
channel?: string;
direction?: number;
msatoshi?: number;
amount_msat?: string;
delay?: number;
alias?: string;
}
export interface QueryRoutes {
routes: Routes[];
}
export interface Channel {
id?: string;
alias?: string;
connected?: boolean;
state?: string;
short_channel_id?: string;
channel_id?: string;
funding_txid?: string;
private?: boolean;
msatoshi_to_us?: number;
msatoshi_to_them?: number;
msatoshi_total?: number;
their_channel_reserve_satoshis?: string;
our_channel_reserve_satoshis?: string;
spendable_msatoshi?: string;
direction?: number;
balancedness?: number; // Between 0-1-0
}
export interface ChannelEdge {
active?: boolean;
amount_msat?: string;
base_fee_millisatoshi?: number;
channel_flags?: number;
delay?: number;
destination?: string;
fee_per_millionth?: number;
htlc_maximum_msat?: string;
htlc_minimum_msat?: string;
last_update?: number;
message_flags?: number;
public?: boolean;
satoshis?: number;
short_channel_id?: string;
source?: string;
}
export interface LookupNode {
nodeid?: string;
alias?: string;
color?: string;
last_timestamp?: number;
address_types?: string[];
features?: string;
channel_count?: number;
node_capacity?: number;
channel_opening_fee?: number;
addresses?: Address[];
option_will_fund?: {
lease_fee_base_msat?: number;
lease_fee_basis?: number;
funding_weight?: number;
channel_fee_max_base_msat?: number;
channel_fee_max_proportional_thousandths?: number;
compact_lease?: string;
};
}
export interface FeeRatePerObj {
min_acceptable?: number;
max_acceptable?: number;
opening?: number;
mutual_close?: number;
unilateral_close?: number;
delayed_to_us?: number;
htlc_resolution?: number;
penalty?: number;
}
export interface OnChainFeeEstimates {
opening_channel_satoshis?: number;
mutual_close_satoshis?: number;
unilateral_close_satoshis?: number;
htlc_timeout_satoshis?: number;
htlc_success_satoshis?: number;
}
export interface FeeRates {
perkb?: FeeRatePerObj;
perkw?: FeeRatePerObj;
onchain_fee_estimates?: OnChainFeeEstimates;
}
export interface UTXO {
txid?: string;
output?: number;
value?: number;
status?: string;
blockheight?: string;
scriptpubkey?: string;
address?: string;
reserved?: boolean;
}
export interface RoutingPeer {
channel_id?: string;
alias?: string;
events?: number;
total_amount?: number;
total_fee?: number;
}
export interface SaveChannel {
peerId: string;
satoshis: string;
announce?: boolean;
feeRate?: string;
minconf?: number | null;
utxos?: string[];
requestAmount?: string;
compactLease?: string;
}
export interface GetNewAddress {
addressId?: string;
addressCode?: string;
addressTp?: string;
addressDetails?: string;
}
export interface DetachPeer {
id: string;
force: boolean;
}
export interface UpdateChannel {
channelId: string;
baseFeeMsat: number;
feeRate: number;
}
export interface CloseChannel {
id: string;
channelId: string;
force: boolean;
}
export interface DecodePayment {
routeParam: string;
fromDialog: boolean;
}
export interface SendPayment {
uiMessage: string;
fromDialog: boolean;
paymentType: PaymentTypes;
title?: string;
vendor?: string;
invoice?: string;
description?: string;
saveToDB?: boolean;
bolt12?: string;
amount?: number;
zeroAmtOffer?: boolean;
pubkey?: string;
}
export interface GetQueryRoutes {
destPubkey: string;
amount: number;
}
export interface ChannelLookup {
uiMessage: string;
shortChannelID: string;
showError: boolean;
}
export interface FetchInvoices {
num_max_invoices?: number;
index_offset?: number;
reversed?: boolean;
}
export interface FunderPolicy {
summary?: string;
policy?: string;
policy_mod?: number;
leases_only?: boolean;
min_their_funding_msat?: string;
max_their_funding_msat?: string;
per_channel_min_msat?: string;
per_channel_max_msat?: string;
reserve_tank_msat?: string;
fuzz_percent?: number;
fund_probability?: number;
lease_fee_base_msat?: number;
lease_fee_basis?: number;
funding_weight?: number;
channel_fee_max_base_msat?: number;
channel_fee_max_proportional_thousandths?: number;
}
export interface FetchListForwards {
status?: string;
}