Peerswap List Peers

cln-peer-swap
ShahanaFarooqui 10 months ago
parent 1f086e5211
commit cec34c41dc

@ -13,6 +13,6 @@
<style>html{width:100%;height:99%;line-height:1.5;overflow-x:hidden;font-family:Roboto,sans-serif!important;font-size:95%}@media only screen and (max-width: 56.25em){html{font-size:90%}}@media only screen and (max-width: 37.5em){html{font-size:80%}}body{box-sizing:border-box;height:100%;margin:0;overflow:hidden}*{margin:0;padding:0}@font-face{font-family:Roboto;src:url(Roboto-Thin.f7a95c9c5999532c.woff2) format("woff2"),url(Roboto-Thin.c13c157cb81e8ebb.woff) format("woff");font-weight:100;font-style:normal}@font-face{font-family:Roboto;src:url(Roboto-ThinItalic.b0e084abf689f393.woff2) format("woff2"),url(Roboto-ThinItalic.1111028df6cea564.woff) format("woff");font-weight:100;font-style:italic}@font-face{font-family:Roboto;src:url(Roboto-Light.0e01b6cd13b3857f.woff2) format("woff2"),url(Roboto-Light.603ca9a537b88428.woff) format("woff");font-weight:300;font-style:normal}@font-face{font-family:Roboto;src:url(Roboto-LightItalic.232ef4b20215f720.woff2) format("woff2"),url(Roboto-LightItalic.1b5e142f787151c8.woff) format("woff");font-weight:300;font-style:italic}@font-face{font-family:Roboto;src:url(Roboto-Regular.475ba9e4e2d63456.woff2) format("woff2"),url(Roboto-Regular.bcefbfee882bc1cb.woff) format("woff");font-weight:400;font-style:normal}@font-face{font-family:Roboto;src:url(Roboto-RegularItalic.e3a9ebdaac06bbc4.woff2) format("woff2"),url(Roboto-RegularItalic.0668fae6af0cf8c2.woff) format("woff");font-weight:400;font-style:italic}@font-face{font-family:Roboto;src:url(Roboto-Medium.457532032ceb0168.woff2) format("woff2"),url(Roboto-Medium.6e1ae5f0b324a0aa.woff) format("woff");font-weight:500;font-style:normal}@font-face{font-family:Roboto;src:url(Roboto-MediumItalic.872f7060602d55d2.woff2) format("woff2"),url(Roboto-MediumItalic.e06fb533801cbb08.woff) format("woff");font-weight:500;font-style:italic}@font-face{font-family:Roboto;src:url(Roboto-Bold.447291a88c067396.woff2) format("woff2"),url(Roboto-Bold.fc482e6133cf5e26.woff) format("woff");font-weight:700;font-style:normal}@font-face{font-family:Roboto;src:url(Roboto-BoldItalic.1b15168ef6fa4e16.woff2) format("woff2"),url(Roboto-BoldItalic.e26ba339b06f09f7.woff) format("woff");font-weight:700;font-style:italic}@font-face{font-family:Roboto;src:url(Roboto-Black.2eaa390d458c877d.woff2) format("woff2"),url(Roboto-Black.b25f67ad8583da68.woff) format("woff");font-weight:900;font-style:normal}@font-face{font-family:Roboto;src:url(Roboto-BlackItalic.7dc03ee444552bc5.woff2) format("woff2"),url(Roboto-BlackItalic.c8dc642467cb3099.woff) format("woff");font-weight:900;font-style:italic}</style><link rel="stylesheet" href="styles.40cd0dae59c4a141.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles.40cd0dae59c4a141.css"></noscript></head>
<body>
<rtl-app></rtl-app>
<script src="runtime.a9603b100d6d0345.js" type="module"></script><script src="polyfills.aa01d8f6b94657cb.js" type="module"></script><script src="main.db296cb0ff6d9f44.js" type="module"></script>
<script src="runtime.0cda23fc08980625.js" type="module"></script><script src="polyfills.aa01d8f6b94657cb.js" type="module"></script><script src="main.296bd7dbd23a5330.js" type="module"></script>
</body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -1 +1 @@
(()=>{"use strict";var e,v={},m={};function r(e){var f=m[e];if(void 0!==f)return f.exports;var t=m[e]={id:e,loaded:!1,exports:{}};return v[e].call(t.exports,t,t.exports,r),t.loaded=!0,t.exports}r.m=v,e=[],r.O=(f,t,i,o)=>{if(!t){var a=1/0;for(n=0;n<e.length;n++){for(var[t,i,o]=e[n],c=!0,l=0;l<t.length;l++)(!1&o||a>=o)&&Object.keys(r.O).every(b=>r.O[b](t[l]))?t.splice(l--,1):(c=!1,o<a&&(a=o));if(c){e.splice(n--,1);var d=i();void 0!==d&&(f=d)}}return f}o=o||0;for(var n=e.length;n>0&&e[n-1][2]>o;n--)e[n]=e[n-1];e[n]=[t,i,o]},r.d=(e,f)=>{for(var t in f)r.o(f,t)&&!r.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:f[t]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((f,t)=>(r.f[t](e,f),f),[])),r.u=e=>e+"."+{167:"b8e9be471e438940",267:"3050ada6a6d9afd8",315:"75fdf809ce9cafd8",636:"31bce185d86aca35"}[e]+".js",r.miniCssF=e=>{},r.o=(e,f)=>Object.prototype.hasOwnProperty.call(e,f),(()=>{var e={},f="RTLApp:";r.l=(t,i,o,n)=>{if(e[t])e[t].push(i);else{var a,c;if(void 0!==o)for(var l=document.getElementsByTagName("script"),d=0;d<l.length;d++){var u=l[d];if(u.getAttribute("src")==t||u.getAttribute("data-webpack")==f+o){a=u;break}}a||(c=!0,(a=document.createElement("script")).type="module",a.charset="utf-8",a.timeout=120,r.nc&&a.setAttribute("nonce",r.nc),a.setAttribute("data-webpack",f+o),a.src=r.tu(t)),e[t]=[i];var s=(g,b)=>{a.onerror=a.onload=null,clearTimeout(p);var h=e[t];if(delete e[t],a.parentNode&&a.parentNode.removeChild(a),h&&h.forEach(y=>y(b)),g)return g(b)},p=setTimeout(s.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=s.bind(null,a.onerror),a.onload=s.bind(null,a.onload),c&&document.head.appendChild(a)}}})(),r.r=e=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e;r.tt=()=>(void 0===e&&(e={createScriptURL:f=>f},typeof trustedTypes<"u"&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("angular#bundler",e))),e)})(),r.tu=e=>r.tt().createScriptURL(e),r.p="",(()=>{var e={666:0};r.f.j=(i,o)=>{var n=r.o(e,i)?e[i]:void 0;if(0!==n)if(n)o.push(n[2]);else if(666!=i){var a=new Promise((u,s)=>n=e[i]=[u,s]);o.push(n[2]=a);var c=r.p+r.u(i),l=new Error;r.l(c,u=>{if(r.o(e,i)&&(0!==(n=e[i])&&(e[i]=void 0),n)){var s=u&&("load"===u.type?"missing":u.type),p=u&&u.target&&u.target.src;l.message="Loading chunk "+i+" failed.\n("+s+": "+p+")",l.name="ChunkLoadError",l.type=s,l.request=p,n[1](l)}},"chunk-"+i,i)}else e[i]=0},r.O.j=i=>0===e[i];var f=(i,o)=>{var l,d,[n,a,c]=o,u=0;if(n.some(p=>0!==e[p])){for(l in a)r.o(a,l)&&(r.m[l]=a[l]);if(c)var s=c(r)}for(i&&i(o);u<n.length;u++)r.o(e,d=n[u])&&e[d]&&e[d][0](),e[d]=0;return r.O(s)},t=self.webpackChunkRTLApp=self.webpackChunkRTLApp||[];t.forEach(f.bind(null,0)),t.push=f.bind(null,t.push.bind(t))})()})();
(()=>{"use strict";var e,v={},m={};function r(e){var f=m[e];if(void 0!==f)return f.exports;var t=m[e]={id:e,loaded:!1,exports:{}};return v[e].call(t.exports,t,t.exports,r),t.loaded=!0,t.exports}r.m=v,e=[],r.O=(f,t,i,o)=>{if(!t){var a=1/0;for(n=0;n<e.length;n++){for(var[t,i,o]=e[n],c=!0,d=0;d<t.length;d++)(!1&o||a>=o)&&Object.keys(r.O).every(b=>r.O[b](t[d]))?t.splice(d--,1):(c=!1,o<a&&(a=o));if(c){e.splice(n--,1);var u=i();void 0!==u&&(f=u)}}return f}o=o||0;for(var n=e.length;n>0&&e[n-1][2]>o;n--)e[n]=e[n-1];e[n]=[t,i,o]},r.d=(e,f)=>{for(var t in f)r.o(f,t)&&!r.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:f[t]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((f,t)=>(r.f[t](e,f),f),[])),r.u=e=>e+"."+{167:"b8e9be471e438940",267:"3050ada6a6d9afd8",315:"75fdf809ce9cafd8",636:"31bce185d86aca35"}[e]+".js",r.miniCssF=e=>{},r.o=(e,f)=>Object.prototype.hasOwnProperty.call(e,f),(()=>{var e={},f="RTLApp:";r.l=(t,i,o,n)=>{if(e[t])e[t].push(i);else{var a,c;if(void 0!==o)for(var d=document.getElementsByTagName("script"),u=0;u<d.length;u++){var l=d[u];if(l.getAttribute("src")==t||l.getAttribute("data-webpack")==f+o){a=l;break}}a||(c=!0,(a=document.createElement("script")).type="module",a.charset="utf-8",a.timeout=120,r.nc&&a.setAttribute("nonce",r.nc),a.setAttribute("data-webpack",f+o),a.src=r.tu(t)),e[t]=[i];var s=(g,b)=>{a.onerror=a.onload=null,clearTimeout(p);var h=e[t];if(delete e[t],a.parentNode&&a.parentNode.removeChild(a),h&&h.forEach(y=>y(b)),g)return g(b)},p=setTimeout(s.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=s.bind(null,a.onerror),a.onload=s.bind(null,a.onload),c&&document.head.appendChild(a)}}})(),r.r=e=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e;r.tt=()=>(void 0===e&&(e={createScriptURL:f=>f},typeof trustedTypes<"u"&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("angular#bundler",e))),e)})(),r.tu=e=>r.tt().createScriptURL(e),r.p="",(()=>{var e={666:0};r.f.j=(i,o)=>{var n=r.o(e,i)?e[i]:void 0;if(0!==n)if(n)o.push(n[2]);else if(666!=i){var a=new Promise((l,s)=>n=e[i]=[l,s]);o.push(n[2]=a);var c=r.p+r.u(i),d=new Error;r.l(c,l=>{if(r.o(e,i)&&(0!==(n=e[i])&&(e[i]=void 0),n)){var s=l&&("load"===l.type?"missing":l.type),p=l&&l.target&&l.target.src;d.message="Loading chunk "+i+" failed.\n("+s+": "+p+")",d.name="ChunkLoadError",d.type=s,d.request=p,n[1](d)}},"chunk-"+i,i)}else e[i]=0},r.O.j=i=>0===e[i];var f=(i,o)=>{var d,u,[n,a,c]=o,l=0;if(n.some(p=>0!==e[p])){for(d in a)r.o(a,d)&&(r.m[d]=a[d]);if(c)var s=c(r)}for(i&&i(o);l<n.length;l++)r.o(e,u=n[l])&&e[u]&&e[u][0](),e[u]=0;return r.O(s)},t=self.webpackChunkRTLApp=self.webpackChunkRTLApp||[];t.forEach(f.bind(null,0)),t.push=f.bind(null,t.push.bind(t))})()})();

@ -5,18 +5,13 @@
<div fxLayout="column" class="padding-gap-x">
<mat-card>
<mat-card-content fxLayout="column">
<!-- <nav mat-tab-nav-bar mat-stretch-tabs="false" mat-align-tabs="start" [tabPanel]="tabPanel">
<div *ngFor="let link of links" mat-tab-link class="mat-tab-label" [active]="activeTab.link === link.link" [routerLink]="['../', link.link]">{{link.name}}</div>
</nav>
<mat-tab-nav-panel #tabPanel></mat-tab-nav-panel>
-->
<nav mat-tab-nav-bar mat-stretch-tabs="false" mat-align-tabs="start" [tabPanel]="tabPanel">
<div *ngFor="let link of links" role="tab" mat-tab-link class="mat-tab-label" [routerLink]="['../', link.link]" [active]="activeTab.link === link.link" (click)="activeTab = link">{{link.name}}</div>
</nav>
<div fxLayout="column" fxFlex="100" fxLayoutAlign="space-between stretch" class="mat-tab-body-wrapper mb-2">
<mat-tab-nav-panel #tabPanel>
<rtl-peer-swaps-list></rtl-peer-swaps-list>
<!-- <router-outlet></router-outlet> -->
<rtl-peerswap-peers *ngIf="activeTab === this.links[0]"></rtl-peerswap-peers>
<rtl-peer-swaps-list *ngIf="activeTab !== this.links[0]"></rtl-peer-swaps-list>
</mat-tab-nav-panel>
</div>
</mat-card-content>

@ -3,6 +3,7 @@ import { Router, ResolveEnd, Event } from '@angular/router';
import { Subject } from 'rxjs';
import { takeUntil, filter } from 'rxjs/operators';
import { faHandshake } from '@fortawesome/free-solid-svg-icons';
import { SwapTypeEnum } from 'src/app/shared/services/consts-enums-functions';
@Component({
selector: 'rtl-peerswap',
@ -30,16 +31,6 @@ export class PeerswapComponent implements OnInit, OnDestroy {
});
}
// onSelectedIndexChange(activeTab: any) {
// if (activeTab.link === 'psin') {
// this.selectedSwapType = SwapTypeEnum.SWAP_IN;
// this.swapsData = this.swaps.swaps || [];
// } else {
// this.selectedSwapType = SwapTypeEnum.SWAP_OUT;
// this.swapsData = this.swaps.reverseSwaps || [];
// }
// }
ngOnDestroy() {
this.unSubs.forEach((completeSub) => {
completeSub.next(<any>null);

@ -61,7 +61,7 @@ export class PSSwapInModalComponent implements OnInit, OnDestroy {
goToSwapCanceled() {
this.store.dispatch(fetchSwaps());
this.router.navigate(['./cln/services/peerswap/pscanceled']);
this.router.navigate(['./services/peerswap/pscanceled']);
this.dialogRef.close();
}

@ -61,7 +61,7 @@ export class PSSwapOutModalComponent implements OnInit, OnDestroy {
goToSwapCanceled() {
this.store.dispatch(fetchSwaps());
this.router.navigate(['./cln/services/peerswap/pscanceled']);
this.router.navigate(['./services/peerswap/pscanceled']);
this.dialogRef.close();
}

@ -37,8 +37,8 @@
</td>
</ng-container>
<ng-container matColumnDef="actions">
<th *matHeaderCellDef mat-header-cell class="px-3">
<div class="bordered-box table-actions-select">
<th *matHeaderCellDef mat-header-cell fxLayoutAlign="end center" [ngClass]="{'px-3': screenSize !== screenSizeEnum.XS}">
<div class="bordered-box table-actions-select" fxLayoutAlign="center center">
<mat-select placeholder="Actions" tabindex="1" class="mr-0">
<mat-select-trigger></mat-select-trigger>
<mat-option (click)="onDownloadCSV()">Download CSV</mat-option>
@ -53,7 +53,7 @@
<mat-option (click)="onSwapOut(sPeer)">Swap Out</mat-option>
<mat-option (click)="onSwapIn(sPeer)">Swap In</mat-option>
</mat-select>
</div>
</div>
</td>
</ng-container>
<ng-container matColumnDef="no_swap_peer">

@ -1,3 +1,3 @@
.mat-column-actions {
min-height: 4.8rem;
}
// .mat-column-actions {
// min-height: 4.8rem;
// }

@ -67,10 +67,13 @@ export class SwapPeersComponent implements OnInit, OnDestroy {
ngOnInit() {
this.store.dispatch(fetchSwapPeers());
this.store.select(swapPeers).pipe(takeUntil(this.unSubs[0])).
this.store.select(swapPeers).pipe(takeUntil(this.unSubs[1])).
subscribe((spSeletor: { totalSwapPeers: number, swapPeers: SwapPeerChannelsFlattened[], apiCallStatus: ApiCallStatusPayload }) => {
this.errorMessage = '';
this.apiCallStatus = spSeletor.apiCallStatus;
if (this.apiCallStatus?.status === APICallStatusEnum.UN_INITIATED) {
this.store.dispatch(fetchSwapPeers());
}
if (this.apiCallStatus.status === APICallStatusEnum.ERROR) {
this.errorMessage = !this.apiCallStatus.message ? '' : (typeof (this.apiCallStatus.message) === 'object') ? JSON.stringify(this.apiCallStatus.message) : this.apiCallStatus.message;
}

@ -7,6 +7,6 @@
}
}
.mat-column-actions {
min-height: 4.8rem;
}
// .mat-column-actions {
// min-height: 4.8rem;
// }

@ -1,6 +1,6 @@
import { Component, OnInit, OnDestroy, ViewChild, AfterViewInit } from '@angular/core';
import { DatePipe, TitleCasePipe } from '@angular/common';
import { Router, ResolveEnd, Event } from '@angular/router';
import { Router, ResolveEnd } from '@angular/router';
import { Subject } from 'rxjs';
import { takeUntil, filter } from 'rxjs/operators';
import { Store } from '@ngrx/store';
@ -69,7 +69,7 @@ export class PeerswapsListComponent implements OnInit, AfterViewInit, OnDestroy
this.loadTableWithSelection();
}
});
this.store.select(swaps).pipe(takeUntil(this.unSubs[0])).
this.store.select(swaps).pipe(takeUntil(this.unSubs[1])).
subscribe((swapsSeletor: { swapOuts: Swap[], swapIns: Swap[], swapsCanceled: Swap[], apiCallStatus: ApiCallStatusPayload }) => {
this.errorMessage = '';
this.apiCallStatus = swapsSeletor.apiCallStatus;

@ -55,7 +55,7 @@ export class SideNavigationComponent implements OnInit, OnDestroy {
navMenusLogout = new MatTreeNestedDataSource<MenuChildNode>();
navMenusShowData = new MatTreeNestedDataSource<MenuChildNode>();
constructor(private logger: LoggerService, private commonService: CommonService, private sessionService: SessionService, private store: Store<RTLState>, private actions: Actions, private rtlEffects: RTLEffects) {
constructor(private logger: LoggerService, private sessionService: SessionService, private store: Store<RTLState>, private actions: Actions, private rtlEffects: RTLEffects) {
this.version = VERSION;
if (MENU_DATA.LNDChildren && MENU_DATA.LNDChildren[MENU_DATA.LNDChildren.length - 1].id === 200) {
MENU_DATA.LNDChildren.pop();
@ -162,9 +162,9 @@ export class SideNavigationComponent implements OnInit, OnDestroy {
clonedMenu = JSON.parse(JSON.stringify(MENU_DATA.LNDChildren));
this.navMenus.data = clonedMenu?.filter((navMenuData: any) => {
if (navMenuData.children && navMenuData.children.length) {
navMenuData.children = navMenuData.children?.filter((navMenuChild) => ((navMenuChild.userPersona === UserPersonaEnum.ALL || navMenuChild.userPersona === this.settings?.userPersona) && navMenuChild.link !== '/lnd/services/loop' && navMenuChild.link !== '/lnd/services/boltz') ||
(navMenuChild.link === '/lnd/services/loop' && this.settings?.swapServerUrl && this.settings.swapServerUrl.trim() !== '') ||
(navMenuChild.link === '/lnd/services/boltz' && this.settings?.boltzServerUrl && this.settings.boltzServerUrl.trim() !== ''));
navMenuData.children = navMenuData.children?.filter((navMenuChild) => ((navMenuChild.userPersona === UserPersonaEnum.ALL || navMenuChild.userPersona === this.settings?.userPersona) && navMenuChild.link !== '/services/loop' && navMenuChild.link !== '/services/boltz') ||
(navMenuChild.link === '/services/loop' && this.settings?.swapServerUrl && this.settings.swapServerUrl.trim() !== '') ||
(navMenuChild.link === '/services/boltz' && this.settings?.boltzServerUrl && this.settings.boltzServerUrl.trim() !== ''));
return navMenuData.children.length > 0;
}
return navMenuData.userPersona === UserPersonaEnum.ALL || navMenuData.userPersona === this.settings?.userPersona;
@ -176,8 +176,8 @@ export class SideNavigationComponent implements OnInit, OnDestroy {
clonedMenu = JSON.parse(JSON.stringify(MENU_DATA.CLNChildren));
this.navMenus.data = clonedMenu?.filter((navMenuData: any) => {
if (navMenuData.children && navMenuData.children.length) {
navMenuData.children = navMenuData.children?.filter((navMenuChild) => ((navMenuChild.userPersona === UserPersonaEnum.ALL || navMenuChild.userPersona === this.settings?.userPersona) && navMenuChild.link !== '/cln/services/peerswap') ||
(navMenuChild.link === '/cln/services/peerswap' && this.settings?.enablePeerswap));
navMenuData.children = navMenuData.children?.filter((navMenuChild) => ((navMenuChild.userPersona === UserPersonaEnum.ALL || navMenuChild.userPersona === this.settings?.userPersona) && navMenuChild.link !== '/services/peerswap') ||
(navMenuChild.link === '/services/peerswap' && this.settings?.enablePeerswap));
return navMenuData.children.length > 0;
}
return navMenuData.userPersona === UserPersonaEnum.ALL || navMenuData.userPersona === this.settings?.userPersona;

@ -15,16 +15,24 @@
</div>
<div *ngIf="enablePeerswap && reloadPolicyError === ''" class="padding-gap-large bordered-box">
<div fxLayout="row">
<div fxFlex="100">
<div fxFlex="50">
<h4 fxLayoutAlign="start" class="font-bold-500">Allow New Swaps</h4>
<span class="foreground-secondary-text">{{reloadPolicy?.allow_new_swaps ? 'Yes' : 'No'}}</span>
</div>
<div fxFlex="50">
<h4 fxLayoutAlign="start" class="font-bold-500">Accept All Peers</h4>
<span class="foreground-secondary-text">{{reloadPolicy?.AcceptAllPeers ? 'Yes' : 'No'}}</span>
<span class="foreground-secondary-text">{{reloadPolicy?.accept_all_peers ? 'Yes' : 'No'}}</span>
</div>
</div>
<mat-divider class="my-1" [inset]="true"></mat-divider>
<div fxLayout="row">
<div fxFlex="100">
<div fxFlex="50">
<h4 fxLayoutAlign="start" class="font-bold-500">Onchain Reserve (Sats)</h4>
<span class="foreground-secondary-text">{{reloadPolicy?.ReserveOnchainMsat / 1000 | number}}</span>
<span class="foreground-secondary-text">{{reloadPolicy?.reserve_onchain_msat / 1000 | number}}</span>
</div>
<div fxFlex="50">
<h4 fxLayoutAlign="start" class="font-bold-500">Min Swap Amount (Sats)</h4>
<span class="foreground-secondary-text">{{reloadPolicy?.min_swap_amount_msat / 1000 | number}}</span>
</div>
</div>
<mat-divider class="my-1" [inset]="true"></mat-divider>
@ -73,7 +81,7 @@
<mat-icon>add_circle_outline</mat-icon>
</button>
</div>
<mat-form-field fxLayoutAlign="start stretch" fxFlex="50" class="mt-5px">
<mat-form-field fxLayoutAlign="start stretch" fxFlex="80" class="mt-5px">
<input matInput placeholder="Node Id" name="nodeId" tabindex="4" [(ngModel)]="listPeers.ngModelVar">
</mat-form-field>
</mat-card>

@ -32,8 +32,8 @@ export class PeerswapServiceSettingsComponent implements OnInit, OnDestroy {
public reloadPolicy: PeerswapReloadPolicy | null = null;
public reloadPolicyError = '';
public peerswapPeersLists = PeerswapPeersLists;
public dataForAllowedList = { icon: 'check', class: 'green', title: 'whitelisted peers', dataSource: 'PeerAllowlist', list: PeerswapPeersLists.ALLOWED, ngModelVar: '', addRemoveError: '' };
public dataForSuspiciousList = { icon: 'close', class: 'red', title: 'suspicious peers', dataSource: 'SuspiciousPeerList', list: PeerswapPeersLists.SUSPICIOUS, ngModelVar: '', addRemoveError: '' };
public dataForAllowedList = { icon: 'check', class: 'green', title: 'whitelisted peers', dataSource: 'allowlisted_peers', list: PeerswapPeersLists.ALLOWED, ngModelVar: '', addRemoveError: '' };
public dataForSuspiciousList = { icon: 'close', class: 'red', title: 'suspicious peers', dataSource: 'suspicious_peers', list: PeerswapPeersLists.SUSPICIOUS, ngModelVar: '', addRemoveError: '' };
public unSubs: Array<Subject<void>> = [new Subject(), new Subject(), new Subject(), new Subject(), new Subject(), new Subject()];
constructor(private logger: LoggerService, private store: Store<RTLState>, private dataService: DataService) { }

@ -40,9 +40,9 @@ export const MENU_DATA: MenuRootNode = {
]
},
{
id: 4, parentId: 0, name: 'Services', iconType: 'FA', icon: faLayerGroup, link: '/lnd/services/loop', userPersona: UserPersonaEnum.ALL, children: [
{ id: 41, parentId: 4, name: 'Loop', iconType: 'FA', icon: faInfinity, link: '/lnd/services/loop', userPersona: UserPersonaEnum.ALL },
{ id: 42, parentId: 4, name: 'Boltz', iconType: 'SVG', icon: 'boltzIconBlock', link: '/lnd/services/boltz', userPersona: UserPersonaEnum.ALL }
id: 4, parentId: 0, name: 'Services', iconType: 'FA', icon: faLayerGroup, link: '/services/loop', userPersona: UserPersonaEnum.ALL, children: [
{ id: 41, parentId: 4, name: 'Loop', iconType: 'FA', icon: faInfinity, link: '/services/loop', userPersona: UserPersonaEnum.ALL },
{ id: 42, parentId: 4, name: 'Boltz', iconType: 'SVG', icon: 'boltzIconBlock', link: '/services/boltz', userPersona: UserPersonaEnum.ALL }
]
},
{ id: 5, parentId: 0, name: 'Node Config', iconType: 'FA', icon: faTools, link: '/config', userPersona: UserPersonaEnum.ALL },

@ -1,8 +1,10 @@
export interface PeerswapReloadPolicy {
ReserveOnchainMsat?: number;
PeerAllowlist?: string[];
SuspiciousPeerList?: string[];
AcceptAllPeers?: boolean;
accept_all_peers?: boolean;
allow_new_swaps?: boolean;
allowlisted_peers?: string[];
min_swap_amount_msat?: number;
reserve_onchain_msat?: number;
suspicious_peers?: string[];
}
export interface SwapOutRequest {

@ -29,6 +29,7 @@ export class DataService implements OnDestroy {
new Subject(), new Subject(), new Subject(),
new Subject(), new Subject(), new Subject(),
new Subject(), new Subject(), new Subject(),
new Subject(), new Subject(), new Subject(), new Subject(),
new Subject(), new Subject(), new Subject(), new Subject()
];

Loading…
Cancel
Save