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/eclModels.ts

268 lines
5.1 KiB
TypeScript

export interface GetInfo {
version?: string;
nodeId?: string;
alias?: string;
color?: string;
features?: string;
chainHash?: string;
network?: string;
blockHeight?: number;
publicAddresses?: string[];
lnImplementation?: string;
}
export interface Fees {
daily_fee?: number;
daily_txs?: number;
weekly_fee?: number;
weekly_txs?: number;
monthly_fee?: number;
monthly_txs?: number;
}
export interface PaymentSentPart {
id?: string;
amount?: number;
feesPaid?: number;
toChannelId?: string;
toChannelAlias?: string;
timestamp?: number;
}
export interface PaymentSent {
type?: string;
id?: string;
description?: string;
paymentHash?: string;
paymentPreimage?: string;
recipientAmount?: number;
recipientNodeId?: string;
recipientNodeAlias?: string;
firstPartTimestamp?: number;
parts: PaymentSentPart[];
}
export interface PaymentReceivedPart {
amount?: number;
fromChannelId?: string;
timestamp?: number;
}
export interface PaymentReceived {
type?: string;
paymentHash?: string;
firstPartTimestamp?: number;
parts: PaymentReceivedPart[];
}
export interface PaymentRelayed {
type?: string;
amountIn: number;
amountOut: number;
paymentHash?: string;
fromChannelId?: string;
fromShortChannelId?: string;
fromChannelAlias?: string;
toChannelId?: string;
toShortChannelId?: string;
toChannelAlias?: string;
timestamp?: number;
incoming?: Array<{ amount: number, channelId?: string, channelAlias?: string, shortChannelId?: string }>;
outgoing?: Array<{ amount: number, channelId?: string, channelAlias?: string, shortChannelId?: string }>;
}
export interface Payments {
sent?: PaymentSent[];
received?: PaymentReceived[];
relayed?: PaymentRelayed[];
}
export interface Audit {
fees: Fees;
payments: Payments;
}
export interface PayRequest {
prefix?: string;
timestamp?: number;
nodeId?: string;
serialized?: string;
description?: string;
paymentHash?: string;
expiry?: number;
minFinalCltvExpiry?: number;
amount?: number;
}
export interface ChannelsRearranged {
activeChannels?: Channel[];
pendingChannels?: Channel[];
inactiveChannels?: Channel[];
lightningBalances?: LightningBalance;
channelStatus?: ChannelsStatus;
}
export interface Channel {
alias?: string;
nodeId?: string;
channelId?: string;
state?: string;
toLocal?: number;
toRemote?: number;
shortChannelId?: string;
announceChannel?: boolean;
isFunder?: boolean;
buried?: boolean;
feeBaseMsat?: number;
feeRatePerKw?: number;
feeProportionalMillionths?: number;
balancedness?: number;
}
export interface OnChainBalance {
total?: number;
confirmed?: number;
unconfirmed?: number;
}
export interface LightningBalance {
localBalance: number;
remoteBalance: number;
pendingBalance?: number;
}
export interface ChannelStatus {
channels?: number;
capacity?: number;
}
export interface ChannelsStatus {
active?: ChannelStatus;
inactive?: ChannelStatus;
pending?: ChannelStatus;
closing?: ChannelStatus;
}
export interface Peer {
nodeId?: string;
alias?: string;
state?: string;
address?: string;
channels?: number;
}
export interface SendPaymentOnChain {
address?: string;
amount?: number;
blocks?: number;
}
export interface RouteNode {
nodeId?: string;
alias?: string;
}
export interface Route {
amount?: number;
nodeIds?: RouteNode[];
}
export interface QueryRoutes {
routes: Route[];
}
export interface Transaction {
address?: string;
amount?: number;
fees?: number;
blockHash?: string;
confirmations?: number;
txid?: string;
timestamp?: number;
}
export interface Feature {
name?: string;
support?: string;
}
export interface Invoice {
prefix?: string;
timestamp?: number;
expiresAt?: number;
receivedAt?: number;
status?: string;
nodeId?: string;
serialized?: string;
description?: string;
paymentHash?: string;
expiry?: number;
amount?: number;
amountSettled?: number;
features?: { activated: Feature[], unknown: Feature[] };
}
export interface LookupNode {
signature?: string;
features?: { activated?: Feature[], unknown?: any[] };
timestamp?: number;
nodeId?: string;
rgbColor?: string;
alias?: string;
addresses?: string[];
unknownFields?: string;
}
export interface RoutingPeers {
channelId?: string;
alias?: string;
events?: number;
totalAmount?: number;
totalFee?: number;
}
export interface ChannelStateUpdate {
channelId?: string;
currentState?: string;
previousState?: string;
remoteNodeId?: string;
type?: string;
}
export interface SaveChannel {
nodeId: string;
amount: number;
private: boolean;
feeRate?: number;
}
export interface UpdateChannel {
baseFeeMsat: number;
feeRate: number;
channelId?: string;
channelIds?: string;
nodeId?: string;
nodeIds?: string;
}
export interface CloseChannel {
channelId?: string;
force?: boolean;
}
export interface GetQueryRoutes {
nodeId: string;
amount: number;
}
export interface SendPayment {
fromDialog: boolean;
invoice: string;
amountMsat?: number;
}
export interface CreateInvoice {
description: string;
expireIn: number;
amountMsat?: number;
}