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/eclair/store/ecl.actions.ts

295 lines
10 KiB
TypeScript

import { Action } from '@ngrx/store';
import { ErrorPayload } from '../../shared/models/errorPayload';
import { SelNodeChild } from '../../shared/models/RTLconfig';
import { GetInfo, Channel, ChannelStats, Fees, Peer, LightningBalance, OnChainBalance, ChannelsStatus, Payments, Route, PayRequest, Transaction, SendPaymentOnChain, Invoice } from '../../shared/models/eclModels';
export const RESET_ECL_STORE = 'RESET_ECL_STORE';
export const CLEAR_EFFECT_ERROR_ECL = 'CLEAR_EFFECT_ERROR_ECL';
export const EFFECT_ERROR_ECL = 'EFFECT_ERROR_ECL';
export const SET_CHILD_NODE_SETTINGS_ECL = 'SET_CHILD_NODE_SETTINGS_ECL';
export const FETCH_INFO_ECL = 'FETCH_INFO_ECL';
export const SET_INFO_ECL = 'SET_INFO_ECL';
export const FETCH_FEES_ECL = 'FETCH_FEES_ECL';
export const SET_FEES_ECL = 'SET_FEES_ECL';
export const FETCH_CHANNELS_ECL = 'FETCH_CHANNELS_ECL';
export const SET_ACTIVE_CHANNELS_ECL = 'SET_ACTIVE_CHANNELS_ECL';
export const SET_PENDING_CHANNELS_ECL = 'SET_PENDING_CHANNELS_ECL';
export const SET_INACTIVE_CHANNELS_ECL = 'SET_INACTIVE_CHANNELS_ECL';
export const FETCH_CHANNEL_STATS_ECL = 'FETCH_CHANNEL_STATS_ECL';
export const SET_CHANNEL_STATS_ECL = 'SET_CHANNEL_STATS_ECL';
export const FETCH_ONCHAIN_BALANCE_ECL = 'FETCH_ONCHAIN_BALANCE_ECL';
export const SET_ONCHAIN_BALANCE_ECL = 'SET_ONCHAIN_BALANCE_ECL';
export const FETCH_LIGHTNING_BALANCE_ECL = 'FETCH_LIGHTNING_BALANCE_ECL';
export const SET_LIGHTNING_BALANCE_ECL = 'SET_LIGHTNING_BALANCE_ECL';
export const SET_CHANNELS_STATUS_ECL = 'SET_CHANNELS_STATUS_ECL';
export const FETCH_PEERS_ECL = 'FETCH_PEERS_ECL';
export const SET_PEERS_ECL = 'SET_PEERS_ECL';
export const SAVE_NEW_PEER_ECL = 'SAVE_NEW_PEER_ECL';
export const NEWLY_ADDED_PEER_ECL = 'NEWLY_ADDED_PEER_ECL';
export const ADD_PEER_ECL = 'ADD_PEER_ECL';
export const DETACH_PEER_ECL = 'DETACH_PEER_ECL';
export const REMOVE_PEER_ECL = 'REMOVE_PEER_ECL';
export const GET_NEW_ADDRESS_ECL = 'GET_NEW_ADDRESS_ECL';
export const SET_NEW_ADDRESS_ECL = 'SET_NEW_ADDRESS_ECL';
export const SAVE_NEW_CHANNEL_ECL = 'SAVE_NEW_CHANNEL_ECL';
export const UPDATE_CHANNELS_ECL = 'UPDATE_CHANNELS_ECL';
export const CLOSE_CHANNEL_ECL = 'CLOSE_CHANNEL_ECL';
export const REMOVE_CHANNEL_ECL = 'REMOVE_CHANNEL_ECL';
export const FETCH_PAYMENTS_ECL = 'FETCH_PAYMENTS_ECL';
export const SET_PAYMENTS_ECL = 'SET_PAYMENTS_ECL';
export const GET_QUERY_ROUTES_ECL = 'GET_QUERY_ROUTES_ECL';
export const SET_QUERY_ROUTES_ECL = 'SET_QUERY_ROUTES_ECL';
export const SEND_PAYMENT_ECL = 'SEND_PAYMENT_ECL';
export const SEND_PAYMENT_STATUS_ECL = 'SEND_PAYMENT_STATUS_ECL';
export const FETCH_TRANSACTIONS_ECL = 'FETCH_TRANSACTIONS_ECL';
export const SET_TRANSACTIONS_ECL = 'SET_TRANSACTIONS_ECL';
export const SEND_ONCHAIN_FUNDS_ECL = 'SEND_ONCHAIN_FUNDS_ECL';
export const SEND_ONCHAIN_FUNDS_RES_ECL = 'SEND_ONCHAIN_FUNDS_RES_ECL';
export const FETCH_INVOICES_ECL = 'FETCH_INVOICES_ECL';
export const SET_INVOICES_ECL = 'SET_INVOICES_ECL';
export const SET_TOTAL_INVOICES_ECL = 'SET_TOTAL_INVOICES_ECL';
export const CREATE_INVOICE_ECL = 'CREATE_INVOICE_ECL';
export const ADD_INVOICE_ECL = 'ADD_INVOICE_ECL';
export const PEER_LOOKUP_ECL = 'PEER_LOOKUP_ECL';
export const SET_LOOKUP_ECL = 'SET_LOOKUP_ECL';
export class ClearEffectError implements Action {
readonly type = CLEAR_EFFECT_ERROR_ECL;
constructor(public payload: string) { } // payload = errorAction
}
export class EffectError implements Action {
readonly type = EFFECT_ERROR_ECL;
constructor(public payload: ErrorPayload) { }
}
export class ResetECLStore implements Action {
readonly type = RESET_ECL_STORE;
constructor(public payload: SelNodeChild) {}
}
export class SetChildNodeSettings implements Action {
readonly type = SET_CHILD_NODE_SETTINGS_ECL;
constructor(public payload: SelNodeChild) {}
}
export class FetchInfo implements Action {
readonly type = FETCH_INFO_ECL;
constructor(public payload: {loadPage: string}) {}
}
export class SetInfo implements Action {
readonly type = SET_INFO_ECL;
constructor(public payload: GetInfo) {}
}
export class FetchFees implements Action {
readonly type = FETCH_FEES_ECL;
}
export class SetFees implements Action {
readonly type = SET_FEES_ECL;
constructor(public payload: Fees) {}
}
export class FetchChannels implements Action {
readonly type = FETCH_CHANNELS_ECL;
constructor(public payload: {fetchPayments: boolean}) {}
}
export class SetActiveChannels implements Action {
readonly type = SET_ACTIVE_CHANNELS_ECL;
constructor(public payload: Channel[]) {}
}
export class SetPendingChannels implements Action {
readonly type = SET_PENDING_CHANNELS_ECL;
constructor(public payload: Channel[]) {}
}
export class SetInactiveChannels implements Action {
readonly type = SET_INACTIVE_CHANNELS_ECL;
constructor(public payload: Channel[]) {}
}
export class FetchChannelStats implements Action {
readonly type = FETCH_CHANNEL_STATS_ECL;
}
export class SetChannelStats implements Action {
readonly type = SET_CHANNEL_STATS_ECL;
constructor(public payload: ChannelStats[]) {}
}
export class FetchOnchainBalance implements Action {
readonly type = FETCH_ONCHAIN_BALANCE_ECL;
}
export class SetOnchainBalance implements Action {
readonly type = SET_ONCHAIN_BALANCE_ECL;
constructor(public payload: OnChainBalance) {}
}
export class SetLightningBalance implements Action {
readonly type = SET_LIGHTNING_BALANCE_ECL;
constructor(public payload: LightningBalance) {}
}
export class SetChannelsStatus implements Action {
readonly type = SET_CHANNELS_STATUS_ECL;
constructor(public payload: ChannelsStatus) {}
}
export class FetchPeers implements Action {
readonly type = FETCH_PEERS_ECL;
}
export class SetPeers implements Action {
readonly type = SET_PEERS_ECL;
constructor(public payload: Peer[]) {}
}
export class SaveNewPeer implements Action {
readonly type = SAVE_NEW_PEER_ECL;
constructor(public payload: {id: string}) {}
}
export class NewlyAddedPeer implements Action {
readonly type = NEWLY_ADDED_PEER_ECL;
constructor(public payload: { peer: Peer }) {}
}
export class AddPeer implements Action {
readonly type = ADD_PEER_ECL;
constructor(public payload: Peer) {}
}
export class DisconnectPeer implements Action {
readonly type = DETACH_PEER_ECL;
constructor(public payload: {nodeId: string}) {}
}
export class RemovePeer implements Action {
readonly type = REMOVE_PEER_ECL;
constructor(public payload: {nodeId: string}) {}
}
export class GetNewAddress implements Action {
readonly type = GET_NEW_ADDRESS_ECL;
}
export class SetNewAddress implements Action {
readonly type = SET_NEW_ADDRESS_ECL;
constructor(public payload: string) {} // payload = newAddress
}
export class SaveNewChannel implements Action {
readonly type = SAVE_NEW_CHANNEL_ECL;
constructor(public payload: {nodeId: string, amount: number, private: boolean, feeRate?: number}) {}
}
export class UpdateChannels implements Action {
readonly type = UPDATE_CHANNELS_ECL;
constructor(public payload: {baseFeeMsat: number, feeRate: number, channelId?: string, channelIds?: string}) {}
}
export class CloseChannel implements Action {
readonly type = CLOSE_CHANNEL_ECL;
constructor(public payload: {channelId: string, force: boolean}) {}
}
export class RemoveChannel implements Action {
readonly type = REMOVE_CHANNEL_ECL;
constructor(public payload: {channelId: string}) {}
}
export class FetchPayments implements Action {
readonly type = FETCH_PAYMENTS_ECL;
}
export class SetPayments implements Action {
readonly type = SET_PAYMENTS_ECL;
constructor(public payload: Payments) {}
}
export class GetQueryRoutes implements Action {
readonly type = GET_QUERY_ROUTES_ECL;
constructor(public payload: {nodeId: string, amount: number}) {}
}
export class SetQueryRoutes implements Action {
readonly type = SET_QUERY_ROUTES_ECL;
constructor(public payload: Route[]) {}
}
export class SendPayment implements Action {
readonly type = SEND_PAYMENT_ECL;
constructor(public payload: { fromDialog: boolean, invoice: string, amountMsat?: number }) {}
}
export class SendPaymentStatus implements Action {
readonly type = SEND_PAYMENT_STATUS_ECL;
constructor(public payload: any) {}
}
export class FetchTransactions implements Action {
readonly type = FETCH_TRANSACTIONS_ECL;
}
export class SetTransactions implements Action {
readonly type = SET_TRANSACTIONS_ECL;
constructor(public payload: Transaction[]) {}
}
export class SendOnchainFunds implements Action {
readonly type = SEND_ONCHAIN_FUNDS_ECL;
constructor(public payload: SendPaymentOnChain) {}
}
export class SendOnchainFundsRes implements Action {
readonly type = SEND_ONCHAIN_FUNDS_RES_ECL;
constructor(public payload: any) {}
}
export class FetchInvoices implements Action {
readonly type = FETCH_INVOICES_ECL;
}
export class SetInvoices implements Action {
readonly type = SET_INVOICES_ECL;
constructor(public payload: Invoice[]) {}
}
export class CreateInvoice implements Action {
readonly type = CREATE_INVOICE_ECL;
constructor(public payload: {description: string, expireIn: number, amountMsat?: number}) {}
}
export class AddInvoice implements Action {
readonly type = ADD_INVOICE_ECL;
constructor(public payload: Invoice) {}
}
export class PeerLookup implements Action {
readonly type = PEER_LOOKUP_ECL;
constructor(public payload: string) {} // payload = id
}
export class SetLookup implements Action {
readonly type = SET_LOOKUP_ECL;
constructor(public payload: any) {} // payload = lookup Response (Peer)
}
export type ECLActions = ResetECLStore | ClearEffectError | EffectError | SetChildNodeSettings |
FetchInfo | SetInfo | FetchFees | SetFees |
FetchChannels | SetActiveChannels | SetPendingChannels | SetInactiveChannels |
FetchPeers | SetPeers | AddPeer | DisconnectPeer | SaveNewPeer | RemovePeer | NewlyAddedPeer |
SetChannelsStatus | FetchChannelStats | SetChannelStats |
FetchOnchainBalance | SetOnchainBalance | GetNewAddress | SetNewAddress |
SendOnchainFunds | SendOnchainFundsRes | FetchTransactions | SetTransactions |
SetLightningBalance | FetchPeers | SetPeers | PeerLookup | SetLookup |
SaveNewChannel | UpdateChannels | CloseChannel | RemoveChannel |
FetchPayments | SetPayments | SendPayment | SendPaymentStatus |
FetchInvoices | SetInvoices | CreateInvoice | AddInvoice;