import { HttpResponse } from '@angular/common/http'; import { BehaviorSubject, of, throwError } from 'rxjs'; import { API_URL } from '../../../environments/environment'; import { CLNActions } from '../services/consts-enums-functions'; import { mockResponseData } from './test-data'; export class mockMatDialogRef { close = (dialogResult: any) => { }; } export class mockLoggerService { info() { }; warn() { }; error() { }; invokeConsoleMethod(type: string, args?: any): void { }; } export class mockHttpClient { post(url: string) { return of(new HttpResponse(mockResponseData.setSelectedNodeSuccess)); } } export class mockRouter { getCurrentNavigation() { return { extras: { state: { filter: 'DummyChannelID4325565432212367867' } } }; }; } export class mockDataService { private lnImplementation = 'LND'; private APIUrl = API_URL; public lnImplementationUpdated: BehaviorSubject = new BehaviorSubject(this.lnImplementation); setLnImplementation(lnImplementation: string) { this.lnImplementation = lnImplementation.toLowerCase(); this.lnImplementationUpdated.next(this.lnImplementation); } getFiatRates() { return of(mockResponseData.fiatRates); } decodePayment(payment: string, fromDialog: boolean) { if (payment === 'lntb4u1psvdzaypp555uks3f6774kl3vdy2dfr00j847pyxtrqelsdnczuxnmtqv99srsdpy23jhxarfdenjqmn8wfuzq3txvejkxarnyq6qcqp2sp5xjzu6pz2sf8x4v8nmr' + '58kjdm6k05etjfq9c96mwkhzl0g9j7sjkqrzjq28vwprzypa40c75myejm8s2aenkeykcnd7flvy9plp2yjq56nvrc8ss5cqqqzgqqqqqqqlgqqqqqqgq9q9qy9qsqpt6u4rwfrck3tmpn54kdxjx3xdch62t5wype2f44mmlar07y749xt9elhfhf6dnlfk2tjwg3qpy8njh6remphfcc0630aq38j0s3hrgpv4eel3' ) { return of(mockResponseData.decodePayment); } else if (payment === 'lntb1ps8neg8pp5u897fhxxzg068jzt59tgqe458jt7srjtd6k93x4t9ts3hqdkd2nsdpj23jhxarfdenjq3tdwp68jgzfdemx76trv5sxvmmjypxyu3pqxvxqyd9uqcqp2sp5' + 'feg8wftf3fasmp2fe86kehyqfat2xcrjvunare7rrn28yjdrw8yqrzjq2m42d94jc8fxjzq675cmhr7fpjg0vr6238xutxp9p78yeaucwjfjxgpcuqqqxsqqyqqqqlgqqqqqqgq9' + 'q9qy9qsqwf6a4w9uqthm3aslwt03ucqt03e8j2atxrmt022d5kaw65cmqc3pnghz5xmsh2tlz9syhaulrxtwmvh3gdx9j33gec6yrycwh2g05qgqdnftgk' ) { mockResponseData.decodeEmptyPayment.num_satoshis = '0'; return of(mockResponseData.decodeEmptyPayment); } else { return throwError(() => mockResponseData.error); } }; decodePayments(payments: string) { return of(mockResponseData.decodePayments); }; getAliasesFromPubkeys(pubkey: string, multiple: boolean) { return of(mockResponseData.getAliasesFromPubkeys); }; signMessage(msg: string) { return of(mockResponseData.signMessage); }; verifyMessage(msg: string, sign: string) { return of(mockResponseData.verifyMessage); }; bumpFee(txid: string, outputIndex: number, targetConf: number, satPerByte: number) { return of(mockResponseData.bumpFee); }; labelUTXO(txid: string, label: string, overwrite: boolean = true) { return of(mockResponseData.labelUTXO); }; leaseUTXO(txid: string, output_index: number) { return of(mockResponseData.leaseUTXO); // 10 mins }; listConfigs() { return of({ '# version': 'v0.10.2-55-g35c6f90', network: 'testnet', 'experimental-dual-fund': true, 'experimental-offers': true, rgb: '009001', alias: 'MyTestNode', 'watchtime-blocks': 6 }); } getForwardingHistory(start: string, end: string) { return of(mockResponseData.getForwardingHistory); }; listNetworkNodes(qp: string) { return of(mockResponseData.getListLiqNode); }; }; export class mockSessionService { private sessionObj = { token: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjoiTk9ERV9VU0VSIiwiY29uZmlnUGF0aCI6IkM6L1VzZXJzL3NoYWhhL0FwcERhdGEvTG9jYWwvTG5kL2xuZC5j' + 'b25mIiwibWFjYXJvb25QYXRoIjoiQzovVXNlcnMvc2hhaGEvQXBwRGF0YS9Mb2NhbC9MbmQvZGF0YS9jaGFpbi9iaXRjb2luL3Rlc3RuZXQiLCJpYXQiOjE2MjU4NzcwMzZ9.ybM926PINgy3RINjG1CPqQOOFOcofgKbBLLeyfgW4zg', defaultPassword: false, lndUnlocked: true }; watchSession() { return of(this.sessionObj); } getItem(key) { return this.sessionObj[key]; } getAllItems() { return this.sessionObj; } setItem(key: string, data: any) { return of(this.sessionObj); } removeItem(key) { return of(this.sessionObj); } clearAll() { return of(this.sessionObj); } } export class mockLoopService { public swapsChanged = new BehaviorSubject([]); getSwapsList() { }; listSwaps() { }; loopOut(amount: number, chanId: string, targetConf: number, swapRoutingFee: number, minerFee: number, prepayRoutingFee: number, prepayAmt: number, swapFee: number, swapPublicationDeadline: number, destAddress: string) { }; getLoopOutTerms() { }; getLoopOutQuote(amount: number, targetConf: number, swapPublicationDeadline: number) { }; getLoopOutTermsAndQuotes(targetConf: number) { }; loopIn(amount: number, swapFee: number, minerFee: number, lastHop: string, externalHtlc: boolean) { }; getLoopInTerms() { }; getLoopInQuote(amount: number, targetConf: string, swapPublicationDeadline: number) { }; getLoopInTermsAndQuotes(targetConf: number) { }; getSwap(id: string) { }; handleErrorWithoutAlert(actionName: string, err: { status: number, error: any }) { }; handleErrorWithAlert(errURL: string, err: any) { }; } export class mockBoltzService { public swapsChanged = new BehaviorSubject([]); getSwapsList() { }; listSwaps() { }; swapInfo(id: string) { }; serviceInfo() { }; swapOut(amount: number, address: string) { }; swapIn(amount: number) { }; handleErrorWithoutAlert(actionName: string, err: { status: number, error: any }) { }; handleErrorWithAlert(errURL: string, err: any) { }; } export class mockRTLEffects { closeAllDialogs = of(() => ({})); openSnackBar = of(() => ({})); openSpinner = of(() => ({})); closeSpinner = of(() => ({})); openAlert = of(() => ({})); closeAlert = of(() => ({})); openConfirm = of(() => ({})); closeConfirm = of(() => ({})); showNodePubkey = of(() => ({})); appConfigFetch = of(() => ({})); settingSave = of(() => ({})); updateServicesettings = of(() => ({})); ssoSave = of(() => ({})); twoFASettingSave = of(() => ({})); configFetch = of(() => ({})); showLnConfig = of(() => ({})); isAuthorized = of(() => ({})); isAuthorizedRes = of(() => ({})); authLogin = of(() => ({})); tokenVerify = of(() => ({})); logOut = of(() => ({})); resetPassword = of(() => ({})); setSelectedNode = of(() => ({})); fetchFile = of(() => ({})); showFile = of(() => ({})); initializeNode = of(() => ({})); SetToken = of(() => ({})); setLoggedInDetails = of(() => ({})); handleErrorWithoutAlert = of(() => ({})); handleErrorWithAlert = of(() => ({})); }; export class mockLNDEffects { infoFetch = of(() => ({})); fetchFees = of(() => ({})); fetchFeeRates = of(() => ({})); fetchBalance = of(() => ({})); fetchLocalRemoteBalance = of(() => ({})); getNewAddress = of(() => ({})); setNewAddress = of(() => ({})); peersFetch = of(() => ({})); saveNewPeer = of(() => ({})); detachPeer = of(() => ({})); channelsFetch = of(() => ({})); openNewChannel = of(() => ({})); updateChannel = of(() => ({})); closeChannel = of(() => ({})); paymentsFetch = of(() => ({})); decodePayment = of(() => ({})); setDecodedPayment = of(() => ({})); sendPayment = of(() => ({})); queryRoutesFetch = of(() => ({})); setQueryRoutes = of(() => ({ type: 'SET_QUERY_ROUTES', payload: { routes: [] } })); peerLookup = of(() => ({})); channelLookup = of(() => ({})); invoiceLookup = of(() => ({})); setLookup = of(() => ({})); fetchForwardingHistory = of(() => ({})); deleteExpiredInvoice = of(() => ({})); saveNewInvoice = of(() => ({})); invoicesFetch = of(() => ({})); SetChannelTransaction = of(() => ({})); utxosFetch = of(() => ({})); initWalletRes = of(() => ({})); initWallet = of(() => ({})); genSeedResponse = of(() => ({})); setRestoreChannelList = of({ files: [], all_restore_exists: true }); } export class mockCLEffects { infoFetchCL = of(() => ({})); fetchFeesCL = of(() => ({})); fetchFeeRatesCL = of(() => ({})); fetchBalancCL = of(() => ({})); fetchLocalRemoteBalancCL = of(() => ({})); getNewAddressCL = of(() => ({})); setNewAddressCL = of(() => ({})); peersFetchCL = of(() => ({})); saveNewPeerCL = of(() => ({})); detachPeerCL = of(() => ({})); channelsFetchCL = of(() => ({})); openNewChannelCL = of(() => ({})); updateChannelCL = of(() => ({})); closeChannelCL = of(() => ({})); paymentsFetchCL = of(() => ({})); decodePaymentCL = of(() => ({})); setDecodedPaymentCL = of(() => ({})); sendPaymentCL = of(() => ({})); queryRoutesFetchCL = of(() => ({})); peerLookupCL = of(() => ({})); channelLookupCL = of(() => ({})); invoiceLookupCL = of(() => ({})); setLookupCL = of(() => ({})); fetchForwardingHistoryCL = of(() => ({})); deleteExpiredInvoiceCL = of(() => ({})); saveNewInvoiceCL = of(() => ({})); invoicesFetchCL = of(() => ({})); SetChannelTransactionCL = of(() => ({})); utxosFetchCL = of(() => ({})); setQueryRoutesCL = of(() => ({ type: CLNActions.SET_QUERY_ROUTES_CLN, payload: { routes: [] } })); } export class mockECLEffects { infoFetch = of(() => ({})); fetchFees = of(() => ({})); fetchFeeRates = of(() => ({})); fetchBalance = of(() => ({})); fetchLocalRemoteBalance = of(() => ({})); getNewAddress = of(() => ({})); setNewAddress = of(() => ({})); peersFetch = of(() => ({})); saveNewPeer = of(() => ({})); detachPeer = of(() => ({})); channelsFetch = of(() => ({})); openNewChannel = of(() => ({})); updateChannel = of(() => ({})); closeChannel = of(() => ({})); paymentsFetch = of(() => ({})); decodePayment = of(() => ({})); setDecodedPayment = of(() => ({})); sendPayment = of(() => ({})); queryRoutesFetch = of(() => ({})); setQueryRoutes = of([]); peerLookup = of(() => ({})); channelLookup = of(() => ({})); invoiceLookup = of(() => ({})); setLookup = of(() => ({})); fetchForwardingHistory = of(() => ({})); deleteExpiredInvoice = of(() => ({})); saveNewInvoice = of(() => ({})); invoicesFetch = of(() => ({})); SetChannelTransaction = of(() => ({})); utxosFetch = of(() => ({})); }