mirror of
https://github.com/Ride-The-Lightning/RTL.git
synced 2025-02-23 14:40:42 +01:00
Channel Rebalance Incomplete
Channel Rebalance Incomplete
This commit is contained in:
parent
fd9728f8c4
commit
9ed9958116
15 changed files with 119 additions and 6 deletions
File diff suppressed because one or more lines are too long
1
angular/6.a625afc78143a0383ed8.js
Normal file
1
angular/6.a625afc78143a0383ed8.js
Normal file
File diff suppressed because one or more lines are too long
1
angular/7.13e88429307789fea948.js
Normal file
1
angular/7.13e88429307789fea948.js
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -12,5 +12,5 @@
|
|||
<link rel="stylesheet" href="styles.d9adf916f6c98d03fbc8.css"></head>
|
||||
<body>
|
||||
<rtl-app></rtl-app>
|
||||
<script src="runtime.829d82b26d0492e8b1c6.js" defer></script><script src="polyfills-es5.37b2eeccc22c1df73ce7.js" nomodule defer></script><script src="polyfills.f1c3d2a0bcdfc4e93ca8.js" defer></script><script src="main.5eccf633f2cb53a6b3b5.js" defer></script></body>
|
||||
<script src="runtime.a1d0a2ba9056865ebeaa.js" defer></script><script src="polyfills-es5.37b2eeccc22c1df73ce7.js" nomodule defer></script><script src="polyfills.f1c3d2a0bcdfc4e93ca8.js" defer></script><script src="main.eaf4617575aab22337cc.js" defer></script></body>
|
||||
</html>
|
||||
|
|
File diff suppressed because one or more lines are too long
1
angular/main.eaf4617575aab22337cc.js
Normal file
1
angular/main.eaf4617575aab22337cc.js
Normal file
File diff suppressed because one or more lines are too long
|
@ -1 +0,0 @@
|
|||
!function(e){function r(r){for(var n,i,a=r[0],c=r[1],l=r[2],p=0,s=[];p<a.length;p++)i=a[p],Object.prototype.hasOwnProperty.call(o,i)&&o[i]&&s.push(o[i][0]),o[i]=0;for(n in c)Object.prototype.hasOwnProperty.call(c,n)&&(e[n]=c[n]);for(f&&f(r);s.length;)s.shift()();return u.push.apply(u,l||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,a=1;a<t.length;a++)0!==o[t[a]]&&(n=!1);n&&(u.splice(r--,1),e=i(i.s=t[0]))}return e}var n={},o={0:0},u=[];function i(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,i),t.l=!0,t.exports}i.e=function(e){var r=[],t=o[e];if(0!==t)if(t)r.push(t[2]);else{var n=new Promise((function(r,n){t=o[e]=[r,n]}));r.push(t[2]=n);var u,a=document.createElement("script");a.charset="utf-8",a.timeout=120,i.nc&&a.setAttribute("nonce",i.nc),a.src=function(e){return i.p+""+({}[e]||e)+"."+{1:"b78c4146e439be098e08",6:"3745fb0b662c2ed95634",7:"74280ad542cd630518fb"}[e]+".js"}(e);var c=new Error;u=function(r){a.onerror=a.onload=null,clearTimeout(l);var t=o[e];if(0!==t){if(t){var n=r&&("load"===r.type?"missing":r.type),u=r&&r.target&&r.target.src;c.message="Loading chunk "+e+" failed.\n("+n+": "+u+")",c.name="ChunkLoadError",c.type=n,c.request=u,t[1](c)}o[e]=void 0}};var l=setTimeout((function(){u({type:"timeout",target:a})}),12e4);a.onerror=a.onload=u,document.head.appendChild(a)}return Promise.all(r)},i.m=e,i.c=n,i.d=function(e,r,t){i.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,r){if(1&r&&(e=i(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(i.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)i.d(t,n,(function(r){return e[r]}).bind(null,n));return t},i.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(r,"a",r),r},i.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},i.p="",i.oe=function(e){throw console.error(e),e};var a=window.webpackJsonp=window.webpackJsonp||[],c=a.push.bind(a);a.push=r,a=a.slice();for(var l=0;l<a.length;l++)r(a[l]);var f=c;t()}([]);
|
1
angular/runtime.a1d0a2ba9056865ebeaa.js
Normal file
1
angular/runtime.a1d0a2ba9056865ebeaa.js
Normal file
|
@ -0,0 +1 @@
|
|||
!function(e){function r(r){for(var n,a,i=r[0],c=r[1],l=r[2],p=0,s=[];p<i.length;p++)a=i[p],Object.prototype.hasOwnProperty.call(o,a)&&o[a]&&s.push(o[a][0]),o[a]=0;for(n in c)Object.prototype.hasOwnProperty.call(c,n)&&(e[n]=c[n]);for(f&&f(r);s.length;)s.shift()();return u.push.apply(u,l||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,i=1;i<t.length;i++)0!==o[t[i]]&&(n=!1);n&&(u.splice(r--,1),e=a(a.s=t[0]))}return e}var n={},o={0:0},u=[];function a(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,a),t.l=!0,t.exports}a.e=function(e){var r=[],t=o[e];if(0!==t)if(t)r.push(t[2]);else{var n=new Promise((function(r,n){t=o[e]=[r,n]}));r.push(t[2]=n);var u,i=document.createElement("script");i.charset="utf-8",i.timeout=120,a.nc&&i.setAttribute("nonce",a.nc),i.src=function(e){return a.p+""+({}[e]||e)+"."+{1:"b78c4146e439be098e08",6:"a625afc78143a0383ed8",7:"13e88429307789fea948"}[e]+".js"}(e);var c=new Error;u=function(r){i.onerror=i.onload=null,clearTimeout(l);var t=o[e];if(0!==t){if(t){var n=r&&("load"===r.type?"missing":r.type),u=r&&r.target&&r.target.src;c.message="Loading chunk "+e+" failed.\n("+n+": "+u+")",c.name="ChunkLoadError",c.type=n,c.request=u,t[1](c)}o[e]=void 0}};var l=setTimeout((function(){u({type:"timeout",target:i})}),12e4);i.onerror=i.onload=u,document.head.appendChild(i)}return Promise.all(r)},a.m=e,a.c=n,a.d=function(e,r,t){a.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,r){if(1&r&&(e=a(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(a.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)a.d(t,n,(function(r){return e[r]}).bind(null,n));return t},a.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(r,"a",r),r},a.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},a.p="",a.oe=function(e){throw console.error(e),e};var i=window.webpackJsonp=window.webpackJsonp||[],c=i.push.bind(i);i.push=r,i=i.slice();for(var l=0;l<i.length;l++)r(i[l]);var f=c;t()}([]);
|
|
@ -0,0 +1,34 @@
|
|||
<div fxLayout="column" fxFlex="100" fxLayoutAlign="space-between stretch" class="padding-gap">
|
||||
<form fxLayout="column" fxLayoutAlign="space-between stretch" fxLayout.gt-sm="row wrap" #form="ngForm">
|
||||
<mat-form-field fxFlex="100">
|
||||
<input matInput placeholder="Rebalance Amount" name="rebalanceAmount" [(ngModel)]="rebalanceAmount" tabindex="1" required #rebalanceAmt="ngModel">
|
||||
<mat-error *ngIf="!rebalanceAmount">Rebalance Amount is required.</mat-error>
|
||||
</mat-form-field>
|
||||
<div fxFlex="100" fxFlex.gt-sm="75" fxLayout="column" fxLayoutAlign="space-between stretch" fxLayout.gt-sm="row wrap">
|
||||
<mat-form-field fxFlex="30" fxLayoutAlign="start end">
|
||||
<mat-select tabindex="5" [(value)]="selFeeLimitType" Placeholder="Fee Limits">
|
||||
<mat-option *ngFor="let feeLimitType of feeLimitTypes" [value]="feeLimitType">
|
||||
{{feeLimitType.name}}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
<mat-form-field fxFlex="26">
|
||||
<input matInput [(ngModel)]="feeLimit" [placeholder]="selFeeLimitType.placeholder" type="number" name="feeLimit"
|
||||
step="1" min="0" required tabindex="6" #feeLmt="ngModel" [disabled]="selFeeLimitType === feeLimitTypes[0]">
|
||||
<mat-error *ngIf="selFeeLimitType !== feeLimitTypes[0] && !feeLimit">{{selFeeLimitType.placeholder}} is
|
||||
required.</mat-error>
|
||||
</mat-form-field>
|
||||
<mat-form-field fxFlex="40" fxLayoutAlign="start end">
|
||||
<mat-select tabindex="7" [(value)]="selRebalanceChannel" placeholder="Rebalancing Channel">
|
||||
<mat-option *ngFor="let activeChannel of activeChannels" [value]="activeChannel">
|
||||
{{activeChannel.remote_alias || activeChannel.chan_id}}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
</div>
|
||||
<div fxLayout="row" fxFlex="100" fxFlex.gt-sm="30" fxLayoutAlign="space-between stretch" class="mt-2">
|
||||
<button fxFlex="48" fxLayoutAlign="center center" mat-stroked-button color="primary" tabindex="8" type="reset" (click)="resetData()">Clear Field</button>
|
||||
<button fxFlex="48" fxLayoutAlign="center center" mat-flat-button color="primary" (click)="onRebalance()" tabindex="9">Rebalance</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
|
@ -0,0 +1,25 @@
|
|||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
|
||||
import { ChannelRebalanceComponent } from './channel-rebalance.component';
|
||||
|
||||
describe('ChannelRebalanceComponent', () => {
|
||||
let component: ChannelRebalanceComponent;
|
||||
let fixture: ComponentFixture<ChannelRebalanceComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
declarations: [ ChannelRebalanceComponent ]
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(ChannelRebalanceComponent);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
it('should create', () => {
|
||||
expect(component).toBeTruthy();
|
||||
});
|
||||
});
|
|
@ -0,0 +1,45 @@
|
|||
import { Component, OnInit, Inject, OnDestroy } from '@angular/core';
|
||||
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';
|
||||
|
||||
import { Channel } from '../../../models/lndModels';
|
||||
import { FEE_LIMIT_TYPES } from '../../../services/consts-enums-functions';
|
||||
import { ChannelRebalanceInformation } from '../../../models/alertData';
|
||||
|
||||
@Component({
|
||||
selector: 'rtl-channel-rebalance',
|
||||
templateUrl: './channel-rebalance.component.html',
|
||||
styleUrls: ['./channel-rebalance.component.scss']
|
||||
})
|
||||
export class ChannelRebalanceComponent implements OnInit, OnDestroy {
|
||||
public rebalanceAmount = 0;
|
||||
public selRebalanceChannel: Channel = {};
|
||||
public activeChannels = {};
|
||||
public feeLimit = null;
|
||||
public selFeeLimitType = FEE_LIMIT_TYPES[0];
|
||||
public feeLimitTypes = FEE_LIMIT_TYPES;
|
||||
|
||||
constructor(public dialogRef: MatDialogRef<ChannelRebalanceComponent>, @Inject(MAT_DIALOG_DATA) public data: ChannelRebalanceInformation) { }
|
||||
|
||||
ngOnInit() {
|
||||
console.warn(this.data);
|
||||
}
|
||||
|
||||
onRebalance() {
|
||||
console.warn('HERE');
|
||||
// Invoices => Local-Rebalance-10000-Sats
|
||||
// this.store.dispatch(new RTLActions.SaveNewInvoice({
|
||||
// memo: this.memo, invoiceValue: this.invoiceValue, private: this.private, expiry: expiryInSecs, pageSize: this.pageSize
|
||||
// }));
|
||||
// this.activeChannels = rtlStore.allChannels.filter(channel => channel.active);
|
||||
// this.store.dispatch(new RTLActions.OpenSpinner('Sending Payment...'));
|
||||
// this.store.dispatch(new RTLActions.SendPayment({paymentReq: this.paymentRequest, paymentDecoded: this.paymentDecoded, zeroAmtInvoice: true, outgoingChannel: this.selActiveChannel, feeLimitType: this.selFeeLimitType, feeLimit: this.feeLimit}));
|
||||
}
|
||||
|
||||
resetData() {
|
||||
this.rebalanceAmount = 0;
|
||||
this.feeLimit = null;
|
||||
this.selFeeLimitType = FEE_LIMIT_TYPES[0];
|
||||
}
|
||||
|
||||
ngOnDestroy() {}
|
||||
}
|
|
@ -55,6 +55,11 @@ export interface CLInvoiceInformation {
|
|||
component?: any;
|
||||
}
|
||||
|
||||
export interface ChannelRebalanceInformation {
|
||||
channel: Invoice;
|
||||
component?: any;
|
||||
}
|
||||
|
||||
export interface OnChainAddressInformation {
|
||||
alertTitle?: string;
|
||||
address: string;
|
||||
|
@ -101,5 +106,5 @@ export interface ErrorData {
|
|||
|
||||
export interface DialogConfig {
|
||||
width?: string;
|
||||
data: AlertData | ConfirmationData | ErrorData | OpenChannelAlert | CLOpenChannelAlert | InvoiceInformation | CLInvoiceInformation | OnChainAddressInformation | ShowPubkeyData;
|
||||
data: AlertData | ConfirmationData | ErrorData | OpenChannelAlert | CLOpenChannelAlert | InvoiceInformation | CLInvoiceInformation | ChannelRebalanceInformation | OnChainAddressInformation | ShowPubkeyData;
|
||||
}
|
||||
|
|
|
@ -41,6 +41,7 @@ import { SettingsComponent } from './components/settings/settings.component';
|
|||
import { ServerConfigComponent } from './components/settings/server-config/server-config.component';
|
||||
import { ErrorComponent } from './components/error/error.component';
|
||||
import { CurrencyUnitConverterComponent } from './components/currency-unit-converter/currency-unit-converter.component';
|
||||
import { ChannelRebalanceComponent } from './components/data-modal/channel-rebalance/channel-rebalance.component';
|
||||
import { CLOpenChannelComponent } from './components/data-modal/open-channel-cl/open-channel.component';
|
||||
import { OpenChannelComponent } from './components/data-modal/open-channel-lnd/open-channel.component';
|
||||
import { ShowPubkeyComponent } from './components/data-modal/show-pubkey/show-pubkey.component';
|
||||
|
@ -135,6 +136,7 @@ import { AuthSettingsComponent } from './components/settings/auth-settings/auth-
|
|||
SettingsComponent,
|
||||
CLInvoiceInformationComponent,
|
||||
InvoiceInformationComponent,
|
||||
ChannelRebalanceComponent,
|
||||
CLOpenChannelComponent,
|
||||
OpenChannelComponent,
|
||||
OnChainGeneratedAddressComponent,
|
||||
|
@ -161,6 +163,7 @@ import { AuthSettingsComponent } from './components/settings/auth-settings/auth-
|
|||
SettingsComponent,
|
||||
CLInvoiceInformationComponent,
|
||||
InvoiceInformationComponent,
|
||||
ChannelRebalanceComponent,
|
||||
OnChainGeneratedAddressComponent,
|
||||
AlertMessageComponent,
|
||||
ConfirmationMessageComponent,
|
||||
|
@ -186,6 +189,7 @@ import { AuthSettingsComponent } from './components/settings/auth-settings/auth-
|
|||
entryComponents: [
|
||||
CLInvoiceInformationComponent,
|
||||
InvoiceInformationComponent,
|
||||
ChannelRebalanceComponent,
|
||||
OnChainGeneratedAddressComponent,
|
||||
CLOpenChannelComponent,
|
||||
OpenChannelComponent,
|
||||
|
|
Loading…
Add table
Reference in a new issue