-
-
diff --git a/src/app/pages/network/explorer/balances/transfer/balances-transfer-detail/balances-transfer-detail.component.scss b/src/app/pages/network/explorer/balances/transfer/balances-transfer-detail/balances-transfer-detail.component.scss
deleted file mode 100644
index c1efe81..0000000
--- a/src/app/pages/network/explorer/balances/transfer/balances-transfer-detail/balances-transfer-detail.component.scss
+++ /dev/null
@@ -1,18 +0,0 @@
-/*!
- * Polkascan Explorer UI
- * Copyright (C) 2018-2022 Polkascan Foundation (NL)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
diff --git a/src/app/pages/network/explorer/balances/transfer/balances-transfer-detail/balances-transfer-detail.component.spec.ts b/src/app/pages/network/explorer/balances/transfer/balances-transfer-detail/balances-transfer-detail.component.spec.ts
deleted file mode 100644
index 8638502..0000000
--- a/src/app/pages/network/explorer/balances/transfer/balances-transfer-detail/balances-transfer-detail.component.spec.ts
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Polkascan Explorer UI
- * Copyright (C) 2018-2022 Polkascan Foundation (NL)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-import { ComponentFixture, TestBed } from '@angular/core/testing';
-
-import { BalancesTransferDetailComponent } from './balances-transfer-detail.component';
-
-describe('BalancesTransferDetailComponent', () => {
- let component: BalancesTransferDetailComponent;
- let fixture: ComponentFixture;
-
- beforeEach(async () => {
- await TestBed.configureTestingModule({
- declarations: [ BalancesTransferDetailComponent ]
- })
- .compileComponents();
- });
-
- beforeEach(() => {
- fixture = TestBed.createComponent(BalancesTransferDetailComponent);
- component = fixture.componentInstance;
- fixture.detectChanges();
- });
-
- it('should create', () => {
- expect(component).toBeTruthy();
- });
-});
diff --git a/src/app/pages/network/explorer/balances/transfer/balances-transfer-detail/balances-transfer-detail.component.ts b/src/app/pages/network/explorer/balances/transfer/balances-transfer-detail/balances-transfer-detail.component.ts
deleted file mode 100644
index 9251fab..0000000
--- a/src/app/pages/network/explorer/balances/transfer/balances-transfer-detail/balances-transfer-detail.component.ts
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Polkascan Explorer UI
- * Copyright (C) 2018-2022 Polkascan Foundation (NL)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';
-import { types as pst } from '@polkadapt/polkascan-explorer';
-import { BehaviorSubject, Observable, of, Subject, tap } from 'rxjs';
-import { ActivatedRoute } from '@angular/router';
-import { PolkadaptService } from '../../../../../../services/polkadapt.service';
-import { NetworkService } from '../../../../../../services/network.service';
-import { catchError, filter, first, map, switchMap, takeUntil } from 'rxjs/operators';
-
-@Component({
- selector: 'app-balances-transfer-detail',
- templateUrl: './balances-transfer-detail.component.html',
- styleUrls: ['./balances-transfer-detail.component.scss'],
- changeDetection: ChangeDetectionStrategy.OnPush
-})
-export class BalancesTransferDetailComponent implements OnInit, OnDestroy {
- transfer: Observable;
- networkProperties = this.ns.currentNetworkProperties;
- fetchTransferStatus: BehaviorSubject = new BehaviorSubject(null);
-
- private destroyer: Subject = new Subject();
-
-
- constructor(private route: ActivatedRoute,
- private cd: ChangeDetectorRef,
- private pa: PolkadaptService,
- private ns: NetworkService) {
- }
-
- ngOnInit(): void {
- const paramsObservable = this.ns.currentNetwork.pipe(
- takeUntil(this.destroyer),
- // Network must be set.
- filter(network => !!network),
- // Only need to load once.
- first(),
- // Switch over to the route param from which we extract the extrinsic keys.
- switchMap(() => this.route.params.pipe(
- takeUntil(this.destroyer),
- map(params => params['id'].split('-').map((v: string) => parseInt(v, 10)))
- ))
- )
-
- this.transfer = paramsObservable.pipe(
- tap(() => this.fetchTransferStatus.next('loading')),
- switchMap(([blockNr, eventIdx]) => {
- const subject = new Subject();
- this.pa.run().polkascan.chain.getTransfer(blockNr, eventIdx).then(
- (transfer) => {
- if (transfer) {
- subject.next(transfer);
- this.fetchTransferStatus.next(null);
- } else {
- subject.error('Event not found.');
- }
- },
- (e) => {
- subject.error(e);
- }
- );
- return subject.pipe(takeUntil(this.destroyer))
- }),
- catchError((e) => {
- this.fetchTransferStatus.next('error');
- return of(null);
- })
- );
- }
-
- ngOnDestroy(): void {
- this.destroyer.next(undefined);
- this.destroyer.complete();
- }
-}
diff --git a/src/app/pages/network/explorer/balances/transfer/balances-transfer-list/balances-transfer-list.component.html b/src/app/pages/network/explorer/balances/transfer/balances-transfer-list/balances-transfer-list.component.html
deleted file mode 100644
index aecce70..0000000
--- a/src/app/pages/network/explorer/balances/transfer/balances-transfer-list/balances-transfer-list.component.html
+++ /dev/null
@@ -1,73 +0,0 @@
-
-
-
-
diff --git a/src/app/pages/network/explorer/balances/transfer/balances-transfer-list/balances-transfer-list.component.scss b/src/app/pages/network/explorer/balances/transfer/balances-transfer-list/balances-transfer-list.component.scss
deleted file mode 100644
index 0fc8cdc..0000000
--- a/src/app/pages/network/explorer/balances/transfer/balances-transfer-list/balances-transfer-list.component.scss
+++ /dev/null
@@ -1,29 +0,0 @@
-/*!
- * Polkascan Explorer UI
- * Copyright (C) 2018-2022 Polkascan Foundation (NL)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-table {
- width: 100%;
-}
-
-mat-progress-bar {
- margin: 10px;
-}
-
-[mat-stroked-button] {
- margin: 10px;
-}
diff --git a/src/app/pages/network/explorer/balances/transfer/balances-transfer-list/balances-transfer-list.component.spec.ts b/src/app/pages/network/explorer/balances/transfer/balances-transfer-list/balances-transfer-list.component.spec.ts
deleted file mode 100644
index 08e2b59..0000000
--- a/src/app/pages/network/explorer/balances/transfer/balances-transfer-list/balances-transfer-list.component.spec.ts
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Polkascan Explorer UI
- * Copyright (C) 2018-2022 Polkascan Foundation (NL)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-import { ComponentFixture, TestBed } from '@angular/core/testing';
-
-import { BalancesTransferListComponent } from './balances-transfer-list.component';
-
-describe('BalancesTransferListComponent', () => {
- let component: BalancesTransferListComponent;
- let fixture: ComponentFixture;
-
- beforeEach(async () => {
- await TestBed.configureTestingModule({
- declarations: [ BalancesTransferListComponent ]
- })
- .compileComponents();
- });
-
- beforeEach(() => {
- fixture = TestBed.createComponent(BalancesTransferListComponent);
- component = fixture.componentInstance;
- fixture.detectChanges();
- });
-
- it('should create', () => {
- expect(component).toBeTruthy();
- });
-});
diff --git a/src/app/pages/network/explorer/balances/transfer/balances-transfer-list/balances-transfer-list.component.ts b/src/app/pages/network/explorer/balances/transfer/balances-transfer-list/balances-transfer-list.component.ts
deleted file mode 100644
index bc43d8d..0000000
--- a/src/app/pages/network/explorer/balances/transfer/balances-transfer-list/balances-transfer-list.component.ts
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Polkascan Explorer UI
- * Copyright (C) 2018-2022 Polkascan Foundation (NL)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';
-import { NetworkService } from '../../../../../../services/network.service';
-import { PolkadaptService } from '../../../../../../services/polkadapt.service';
-import { types as pst } from '@polkadapt/polkascan-explorer';
-import {
- PaginatedListComponentBase
-} from '../../../../../../../common/list-base/paginated-list-component-base.directive';
-import { ActivatedRoute, Router } from '@angular/router';
-import { debounceTime, distinctUntilChanged, map, takeUntil } from 'rxjs/operators';
-import { FormControl, FormGroup } from '@angular/forms';
-import { u8aToHex } from '@polkadot/util';
-import { decodeAddress } from '@polkadot/util-crypto';
-
-
-@Component({
- selector: 'app-balances-transfer-list',
- templateUrl: './balances-transfer-list.component.html',
- styleUrls: ['./balances-transfer-list.component.scss'],
- changeDetection: ChangeDetectionStrategy.OnPush
-})
-export class BalancesTransferListComponent extends PaginatedListComponentBase implements OnInit {
- listSize = 100;
- visibleColumns = ['icon', 'block', 'from', 'to', 'value', 'details'];
-
- toAddressControl: FormControl = new FormControl('');
- fromAddressControl: FormControl = new FormControl('');
- filtersFormGroup: FormGroup = new FormGroup({
- toMultiAddressAccountId: this.toAddressControl,
- fromMultiAddressAccountId: this.fromAddressControl
- })
-
- constructor(private ns: NetworkService,
- private pa: PolkadaptService,
- private router: Router,
- private route: ActivatedRoute) {
- super(ns);
- }
-
-
- ngOnInit(): void {
- // Set address if already in route query params;
- this.route.queryParamMap.pipe(
- takeUntil(this.destroyer),
- map((params) => params.get('toAddress') || ''),
- distinctUntilChanged()
- ).subscribe((address) => {
- if (address) {
- address = u8aToHex(decodeAddress(address));
- }
- this.toAddressControl.setValue(address);
- });
-
- this.route.queryParamMap.pipe(
- takeUntil(this.destroyer),
- map((params) => params.get('fromAddress') || ''),
- distinctUntilChanged()
- ).subscribe((address) => {
- if (address) {
- address = u8aToHex(decodeAddress(address));
- }
- this.fromAddressControl.setValue(address);
- });
-
- // Initialize and get items
- super.ngOnInit();
-
- this.filtersFormGroup.valueChanges
- .pipe(
- debounceTime(100),
- takeUntil(this.destroyer)
- )
- .subscribe(() => {
- this.items = [];
- this.subscribeNewItem();
- this.getItems();
- });
- }
-
- createGetItemsRequest(pageKey?: string): Promise> {
- return this.pa.run(this.network).polkascan.chain.getTransfers(
- this.filters,
- this.listSize,
- pageKey
- );
- }
-
-
- createNewItemSubscription(handleItemFn: (item: pst.Transfer) => void): Promise<() => void> {
- return this.pa.run(this.network).polkascan.chain.subscribeNewTransfer(
- this.filters,
- handleItemFn
- );
- }
-
-
- sortCompareFn(a: pst.Transfer, b: pst.Transfer): number {
- return b.blockNumber - a.blockNumber || b.eventIdx - a.eventIdx;
- }
-
-
- equalityCompareFn(a: pst.Transfer, b: pst.Transfer): boolean {
- return a.blockNumber === b.blockNumber && a.eventIdx === b.eventIdx;
- }
-
-
- track(i: any, transfer: pst.Transfer): string {
- return `${transfer.blockNumber}-${transfer.eventIdx}`;
- }
-
-
- get filters(): any {
- const filters: any = {};
- if (this.toAddressControl.value) {
- // If true, singed only is being set. There is no need for a not signed check.
- filters.toMultiAddressAccountId = this.toAddressControl.value;
- }
- if (this.fromAddressControl.value) {
- filters.fromMultiAddressAccountId = this.fromAddressControl.value;
- }
-
- return filters;
- }
-}
diff --git a/src/app/pages/network/explorer/block/block-detail/block-detail.component.html b/src/app/pages/network/explorer/block/block-detail/block-detail.component.html
index dbd6cb7..d774023 100644
--- a/src/app/pages/network/explorer/block/block-detail/block-detail.component.html
+++ b/src/app/pages/network/explorer/block/block-detail/block-detail.component.html
@@ -77,6 +77,10 @@
-
-
diff --git a/src/app/pages/network/explorer/inherent/inherent-detail/inherent-detail.component.scss b/src/app/pages/network/explorer/inherent/inherent-detail/inherent-detail.component.scss
deleted file mode 100644
index c1efe81..0000000
--- a/src/app/pages/network/explorer/inherent/inherent-detail/inherent-detail.component.scss
+++ /dev/null
@@ -1,18 +0,0 @@
-/*!
- * Polkascan Explorer UI
- * Copyright (C) 2018-2022 Polkascan Foundation (NL)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
diff --git a/src/app/pages/network/explorer/inherent/inherent-detail/inherent-detail.component.spec.ts b/src/app/pages/network/explorer/inherent/inherent-detail/inherent-detail.component.spec.ts
deleted file mode 100644
index 87ce03d..0000000
--- a/src/app/pages/network/explorer/inherent/inherent-detail/inherent-detail.component.spec.ts
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Polkascan Explorer UI
- * Copyright (C) 2018-2022 Polkascan Foundation (NL)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-import { ComponentFixture, TestBed } from '@angular/core/testing';
-
-import { InherentDetailComponent } from './inherent-detail.component';
-
-describe('InherentDetailComponent', () => {
- let component: InherentDetailComponent;
- let fixture: ComponentFixture;
-
- beforeEach(async () => {
- await TestBed.configureTestingModule({
- declarations: [ InherentDetailComponent ]
- })
- .compileComponents();
- });
-
- beforeEach(() => {
- fixture = TestBed.createComponent(InherentDetailComponent);
- component = fixture.componentInstance;
- fixture.detectChanges();
- });
-
- it('should create', () => {
- expect(component).toBeTruthy();
- });
-});
diff --git a/src/app/pages/network/explorer/inherent/inherent-detail/inherent-detail.component.ts b/src/app/pages/network/explorer/inherent/inherent-detail/inherent-detail.component.ts
deleted file mode 100644
index 5eb6a3a..0000000
--- a/src/app/pages/network/explorer/inherent/inherent-detail/inherent-detail.component.ts
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Polkascan Explorer UI
- * Copyright (C) 2018-2022 Polkascan Foundation (NL)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';
-import { types as pst } from '@polkadapt/polkascan-explorer';
-import { BehaviorSubject, Observable, of, Subject, tap } from 'rxjs';
-import { ActivatedRoute } from '@angular/router';
-import { PolkadaptService } from '../../../../../services/polkadapt.service';
-import { NetworkService } from '../../../../../services/network.service';
-import { catchError, filter, first, map, shareReplay, switchMap, takeUntil } from 'rxjs/operators';
-
-@Component({
- selector: 'app-inherent-detail',
- templateUrl: './inherent-detail.component.html',
- styleUrls: ['./inherent-detail.component.scss'],
- changeDetection: ChangeDetectionStrategy.OnPush
-})
-export class InherentDetailComponent implements OnInit, OnDestroy {
- inherent: Observable;
- callArguments: Observable;
- events: Observable;
- networkProperties = this.ns.currentNetworkProperties;
- fetchInherentStatus: BehaviorSubject = new BehaviorSubject(null);
- fetchEventsStatus: BehaviorSubject = new BehaviorSubject(null);
- visibleColumns = ['eventId', 'pallet', 'event', 'details']
-
- private destroyer: Subject = new Subject();
- private onDestroyCalled = false;
-
- constructor(private route: ActivatedRoute,
- private cd: ChangeDetectorRef,
- private pa: PolkadaptService,
- private ns: NetworkService
- ) {
- }
-
- ngOnInit(): void {
- const paramsObservable = this.ns.currentNetwork.pipe(
- takeUntil(this.destroyer),
- // Network must be set.
- filter(network => !!network),
- // Only need to load once.
- first(),
- // Switch over to the route param from which we extract the inherent keys.
- switchMap(() => this.route.params.pipe(
- takeUntil(this.destroyer),
- map(params => params['id'].split('-').map((v: string) => parseInt(v, 10)))
- ))
- )
-
- this.inherent = paramsObservable.pipe(
- tap(() => this.fetchInherentStatus.next('loading')),
- switchMap(([blockNr, extrinsicIdx]) => {
- const subject = new Subject();
- this.pa.run().polkascan.chain.getExtrinsic(blockNr, extrinsicIdx).then(
- (inherent) => {
- if (inherent) {
- subject.next(inherent);
- this.fetchInherentStatus.next(null);
- } else {
- subject.error('Inherent not found.');
- }
- },
- (e) => {
- subject.error(e);
- }
- );
- return subject.pipe(takeUntil(this.destroyer))
- }),
- catchError((e) => {
- this.fetchInherentStatus.next('error');
- return of(null);
- })
- );
-
- this.events = paramsObservable.pipe(
- tap(() => this.fetchEventsStatus.next('loading')),
- switchMap(([blockNr, extrinsicIdx]) => {
- const subject = new Subject();
- this.pa.run().polkascan.chain.getEvents({blockNumber: blockNr, extrinsicIdx: extrinsicIdx}).then(
- (response) => {
- if (Array.isArray(response.objects)) {
- subject.next(response.objects);
- this.fetchEventsStatus.next(null)
- } else {
- subject.error('Invalid response.')
- }
- },
- (e) => {
- subject.error(e)
- }
- );
- return subject.pipe(shareReplay(1), takeUntil(this.destroyer));
- }),
- catchError((e) => {
- this.fetchEventsStatus.next('error');
- return of([]);
- })
- );
-
- this.callArguments = this.inherent.pipe(
- map((inherent) => {
- if (inherent) {
- return inherent.callArguments as string;
- } else {
- return '';
- }
- }),
- catchError((e) => {
- return of('');
- })
- )
- }
-
- ngOnDestroy(): void {
- this.onDestroyCalled = true;
- this.destroyer.next(undefined);
- this.destroyer.complete();
- }
-
- trackEvent(i: any, event: pst.Event): string {
- return `${event.blockNumber}-${event.eventIdx}`;
- }
-}
diff --git a/src/app/pages/network/explorer/inherent/inherent-list/inherent-list.component.html b/src/app/pages/network/explorer/inherent/inherent-list/inherent-list.component.html
deleted file mode 100644
index d320c2c..0000000
--- a/src/app/pages/network/explorer/inherent/inherent-list/inherent-list.component.html
+++ /dev/null
@@ -1,92 +0,0 @@
-
-
-
-
diff --git a/src/app/pages/network/explorer/inherent/inherent-list/inherent-list.component.scss b/src/app/pages/network/explorer/inherent/inherent-list/inherent-list.component.scss
deleted file mode 100644
index 0fc8cdc..0000000
--- a/src/app/pages/network/explorer/inherent/inherent-list/inherent-list.component.scss
+++ /dev/null
@@ -1,29 +0,0 @@
-/*!
- * Polkascan Explorer UI
- * Copyright (C) 2018-2022 Polkascan Foundation (NL)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-table {
- width: 100%;
-}
-
-mat-progress-bar {
- margin: 10px;
-}
-
-[mat-stroked-button] {
- margin: 10px;
-}
diff --git a/src/app/pages/network/explorer/inherent/inherent-list/inherent-list.component.ts b/src/app/pages/network/explorer/inherent/inherent-list/inherent-list.component.ts
deleted file mode 100644
index 1af52d3..0000000
--- a/src/app/pages/network/explorer/inherent/inherent-list/inherent-list.component.ts
+++ /dev/null
@@ -1,191 +0,0 @@
-/*
- * Polkascan Explorer UI
- * Copyright (C) 2018-2022 Polkascan Foundation (NL)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@angular/core';
-import { FormControl, FormGroup } from '@angular/forms';
-import { NetworkService } from '../../../../../services/network.service';
-import { PolkadaptService } from '../../../../../services/polkadapt.service';
-import { RuntimeService } from '../../../../../services/runtime/runtime.service';
-import { debounceTime, distinctUntilChanged, filter, first, map, takeUntil } from 'rxjs/operators';
-import { types as pst } from '@polkadapt/polkascan-explorer';
-import { PaginatedListComponentBase } from '../../../../../../common/list-base/paginated-list-component-base.directive';
-import { ActivatedRoute, Router } from '@angular/router';
-
-
-@Component({
- selector: 'app-inherent-list',
- templateUrl: './inherent-list.component.html',
- styleUrls: ['./inherent-list.component.scss'],
- changeDetection: ChangeDetectionStrategy.OnPush
-})
-export class InherentListComponent extends PaginatedListComponentBase implements OnInit {
- listSize = 100;
- inherentFilters = new Map();
-
- palletControl: FormControl = new FormControl('');
- callNameControl: FormControl = new FormControl('');
- filtersFormGroup: FormGroup = new FormGroup({
- eventModule: this.palletControl,
- callName: this.callNameControl
- });
-
- visibleColumns = ['icon', 'inherentID', 'age', 'block', 'pallet', 'call', 'details'];
-
- constructor(private ns: NetworkService,
- private pa: PolkadaptService,
- private rs: RuntimeService,
- private cd: ChangeDetectorRef,
- private router: Router,
- private route: ActivatedRoute) {
- super(ns);
- }
-
- ngOnInit(): void {
- this.route.queryParamMap.pipe(
- takeUntil(this.destroyer),
- map((params) => {
- return [
- (params.get('pallet') || ''),
- (params.get('callName') || '')
- ];
- }),
- distinctUntilChanged()
- ).subscribe(([pallet, callName]) => {
- if (pallet !== this.palletControl.value) {
- this.palletControl.setValue(pallet);
- }
- if (callName !== this.callNameControl.value) {
- this.callNameControl.setValue(callName);
- }
- });
-
- super.ngOnInit();
-
- this.filtersFormGroup.valueChanges
- .pipe(
- debounceTime(100), // To make sure eventControl reset has taken place
- takeUntil(this.destroyer)
- )
- .subscribe((values) => {
- this.items = [];
- this.subscribeNewItem();
- this.getItems();
-
- this.router.navigate(['.'], {
- relativeTo: this.route,
- queryParams: {pallet: values.eventModule, callName: values.callName}
- });
- });
-
- this.palletControl.valueChanges
- .pipe(
- takeUntil(this.destroyer)
- )
- .subscribe(() => {
- this.callNameControl.reset('', {emitEvent: false});
- });
- }
-
-
- onNetworkChange(network: string, previous: string): void {
- if (previous) {
- this.filtersFormGroup.reset({
- eventModule: '',
- callName: ''
- }, {emitEvent: false});
-
- this.router.navigate(['.'], {
- relativeTo: this.route,
- queryParams: {pallet: '', callName: ''},
- queryParamsHandling: 'merge'
- });
- }
-
- this.inherentFilters.clear();
-
- super.onNetworkChange(network);
-
- if (network) {
- this.rs.getRuntime(network)
- .pipe(
- takeUntil(this.destroyer),
- filter((r) => r !== null),
- first()
- )
- .subscribe(async (runtime): Promise => {
- const pallets = await this.rs.getRuntimePallets(network, (runtime as pst.Runtime).specVersion);
- const calls = await this.rs.getRuntimeCalls(network, (runtime as pst.Runtime).specVersion);
-
- if (pallets) {
- pallets.forEach((pallet) => {
- this.inherentFilters.set(pallet, calls ? calls.filter((call) => pallet.pallet === call.pallet).sort() : []);
- });
- this.cd.markForCheck();
- }
- });
- }
- }
-
-
- createGetItemsRequest(pageKey?: string): Promise> {
- return this.pa.run(this.network).polkascan.chain.getExtrinsics(
- this.filters,
- this.listSize,
- pageKey
- );
- }
-
-
- createNewItemSubscription(handleItemFn: (item: pst.Extrinsic) => void): Promise<() => void> {
- return this.pa.run(this.network).polkascan.chain.subscribeNewExtrinsic(
- this.filters,
- handleItemFn
- )
- }
-
-
- sortCompareFn(a: pst.Extrinsic, b: pst.Extrinsic): number {
- return b.blockNumber - a.blockNumber || b.extrinsicIdx - a.extrinsicIdx;
- }
-
-
- equalityCompareFn(a: pst.Extrinsic, b: pst.Extrinsic): boolean {
- return a.blockNumber === b.blockNumber && a.extrinsicIdx === b.extrinsicIdx;
- }
-
-
- get filters(): any {
- const filters: any = {
- signed: 0
- };
-
- if (this.palletControl.value) {
- filters.callModule = this.palletControl.value;
- }
- if (this.callNameControl.value) {
- filters.callName = this.callNameControl.value;
- }
-
- return filters;
- }
-
-
- track(i: any, inherent: pst.Extrinsic): string {
- return `${inherent.blockNumber}-${inherent.extrinsicIdx}`;
- }
-}
diff --git a/src/app/pages/network/explorer/inherent/inherent.module.ts b/src/app/pages/network/explorer/inherent/inherent.module.ts
deleted file mode 100644
index 5ffabcb..0000000
--- a/src/app/pages/network/explorer/inherent/inherent.module.ts
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Polkascan Explorer UI
- * Copyright (C) 2018-2022 Polkascan Foundation (NL)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-import { NgModule } from '@angular/core';
-import { CommonModule } from '@angular/common';
-
-import { InherentRoutingModule } from './inherent-routing.module';
-import { InherentListComponent } from './inherent-list/inherent-list.component';
-import { InherentDetailComponent } from './inherent-detail/inherent-detail.component';
-import { ReactiveFormsModule } from '@angular/forms';
-import { PolkascanCommonModule } from '../../../../../common/polkascan-common.module';
-import { MatTableModule } from '@angular/material/table';
-import { MatSelectModule } from '@angular/material/select';
-import { MatButtonModule } from '@angular/material/button';
-import { MatProgressBarModule } from '@angular/material/progress-bar';
-import { MatTabsModule } from '@angular/material/tabs';
-import { MatDividerModule } from '@angular/material/divider';
-
-
-@NgModule({
- declarations: [InherentListComponent, InherentDetailComponent],
- imports: [
- CommonModule,
- ReactiveFormsModule,
- InherentRoutingModule,
- PolkascanCommonModule,
- MatTableModule,
- MatSelectModule,
- MatButtonModule,
- MatProgressBarModule,
- MatTabsModule,
- MatDividerModule
- ]
-})
-export class InherentModule {
-}
diff --git a/src/app/pages/network/explorer/log/log-list/log-list.component.html b/src/app/pages/network/explorer/log/log-list/log-list.component.html
index d144ff7..a9978ea 100644
--- a/src/app/pages/network/explorer/log/log-list/log-list.component.html
+++ b/src/app/pages/network/explorer/log/log-list/log-list.component.html
@@ -1,12 +1,20 @@
-
-
diff --git a/src/app/pages/network/explorer/transaction/transaction-detail/transaction-detail.component.scss b/src/app/pages/network/explorer/transaction/transaction-detail/transaction-detail.component.scss
deleted file mode 100644
index c1efe81..0000000
--- a/src/app/pages/network/explorer/transaction/transaction-detail/transaction-detail.component.scss
+++ /dev/null
@@ -1,18 +0,0 @@
-/*!
- * Polkascan Explorer UI
- * Copyright (C) 2018-2022 Polkascan Foundation (NL)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
diff --git a/src/app/pages/network/explorer/transaction/transaction-detail/transaction-detail.component.spec.ts b/src/app/pages/network/explorer/transaction/transaction-detail/transaction-detail.component.spec.ts
deleted file mode 100644
index ef9198f..0000000
--- a/src/app/pages/network/explorer/transaction/transaction-detail/transaction-detail.component.spec.ts
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Polkascan Explorer UI
- * Copyright (C) 2018-2022 Polkascan Foundation (NL)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-import { ComponentFixture, TestBed } from '@angular/core/testing';
-
-import { TransactionDetailComponent } from './transaction-detail.component';
-
-describe('TransactionDetailComponent', () => {
- let component: TransactionDetailComponent;
- let fixture: ComponentFixture;
-
- beforeEach(async () => {
- await TestBed.configureTestingModule({
- declarations: [ TransactionDetailComponent ]
- })
- .compileComponents();
- });
-
- beforeEach(() => {
- fixture = TestBed.createComponent(TransactionDetailComponent);
- component = fixture.componentInstance;
- fixture.detectChanges();
- });
-
- it('should create', () => {
- expect(component).toBeTruthy();
- });
-});
diff --git a/src/app/pages/network/explorer/transaction/transaction-detail/transaction-detail.component.ts b/src/app/pages/network/explorer/transaction/transaction-detail/transaction-detail.component.ts
deleted file mode 100644
index b538e89..0000000
--- a/src/app/pages/network/explorer/transaction/transaction-detail/transaction-detail.component.ts
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * Polkascan Explorer UI
- * Copyright (C) 2018-2022 Polkascan Foundation (NL)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';
-import { types as pst } from '@polkadapt/polkascan-explorer';
-import { BehaviorSubject, Observable, of, Subject, tap } from 'rxjs';
-import { ActivatedRoute, Router } from '@angular/router';
-import { PolkadaptService } from '../../../../../services/polkadapt.service';
-import { NetworkService } from '../../../../../services/network.service';
-import { catchError, filter, first, map, switchMap, takeUntil } from 'rxjs/operators';
-
-@Component({
- selector: 'app-transaction-detail',
- templateUrl: './transaction-detail.component.html',
- styleUrls: ['./transaction-detail.component.scss'],
- changeDetection: ChangeDetectionStrategy.OnPush
-})
-export class TransactionDetailComponent implements OnInit, OnDestroy {
- transaction: Observable;
- events: Observable<(pst.Event)[] | null>;
- callArguments: Observable;
- networkProperties = this.ns.currentNetworkProperties;
- fetchTransactionStatus: BehaviorSubject = new BehaviorSubject(null);
- fetchEventsStatus: BehaviorSubject = new BehaviorSubject(null);
-
- visibleColumns = ['eventId', 'pallet', 'event', 'details'];
-
- private destroyer: Subject = new Subject();
- private onDestroyCalled = false;
-
- constructor(private route: ActivatedRoute,
- private router: Router,
- private cd: ChangeDetectorRef,
- private pa: PolkadaptService,
- private ns: NetworkService
- ) {
- }
-
- ngOnInit(): void {
- const observable = this.ns.currentNetwork.pipe(
- takeUntil(this.destroyer),
- // Network must be set.
- filter(network => !!network),
- // Only need to load once.
- first(),
- // Switch over to the route param from which we extract the extrinsic keys.
- switchMap(() => this.route.params.pipe(
- takeUntil(this.destroyer),
- map(params => params['id'].split('-').map((v: string) => parseInt(v, 10)))
- )));
-
- this.transaction = observable.pipe(
- tap(() => this.fetchTransactionStatus.next('loading')),
- switchMap(([blockNr, extrinsicIdx]) => {
- const subject = new Subject();
- this.pa.run().polkascan.chain.getExtrinsic(blockNr, extrinsicIdx).then(
- (transaction) => {
- subject.next(transaction)
- this.fetchTransactionStatus.next(null);
- },
- (e) => {
- subject.error(e);
- })
- return subject.pipe(takeUntil(this.destroyer));
- }),
- catchError((e) => {
- this.fetchTransactionStatus.next('error');
- return of(null);
- })
- )
-
- this.callArguments = this.transaction.pipe(
- map((transaction) => {
- return transaction && transaction.callArguments || null;
- })
- )
-
- this.events = observable.pipe(
- tap(() => this.fetchEventsStatus.next('loading')),
- switchMap(([blockNr, extrinsicIdx]) => {
- const subject = new Subject();
- this.pa.run().polkascan.chain.getEvents({blockNumber: blockNr, extrinsicIdx: extrinsicIdx}).then(
- (events) => {
- if (events.objects) {
- subject.next(events.objects);
- this.fetchEventsStatus.next(null)
- } else {
- subject.error('Error parsing events array.');
- }
- },
- (e) => {
- subject.error(e);
- }
- )
- return subject.pipe(takeUntil(this.destroyer));
- }),
- catchError((e) => {
- this.fetchEventsStatus.next('error');
- return of(null);
- })
- );
- }
-
- ngOnDestroy(): void {
- this.onDestroyCalled = true;
- this.destroyer.next(undefined);
- this.destroyer.complete();
- }
-
- trackEvent(i: any, event: pst.Event): string {
- return `${event.blockNumber}-${event.eventIdx}`;
- }
-}
-
-
-
-
-
diff --git a/src/app/pages/network/explorer/transaction/transaction-list/transaction-list.component.html b/src/app/pages/network/explorer/transaction/transaction-list/transaction-list.component.html
deleted file mode 100644
index 0a86972..0000000
--- a/src/app/pages/network/explorer/transaction/transaction-list/transaction-list.component.html
+++ /dev/null
@@ -1,108 +0,0 @@
-
-
-
-
-
-
diff --git a/src/app/pages/network/explorer/transaction/transaction-list/transaction-list.component.spec.ts b/src/app/pages/network/explorer/transaction/transaction-list/transaction-list.component.spec.ts
deleted file mode 100644
index ca25b7a..0000000
--- a/src/app/pages/network/explorer/transaction/transaction-list/transaction-list.component.spec.ts
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Polkascan Explorer UI
- * Copyright (C) 2018-2022 Polkascan Foundation (NL)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-import { ComponentFixture, TestBed } from '@angular/core/testing';
-
-import { TransactionListComponent } from './transaction-list.component';
-
-describe('TransactionListComponent', () => {
- let component: TransactionListComponent;
- let fixture: ComponentFixture;
-
- beforeEach(async () => {
- await TestBed.configureTestingModule({
- declarations: [ TransactionListComponent ]
- })
- .compileComponents();
- });
-
- beforeEach(() => {
- fixture = TestBed.createComponent(TransactionListComponent);
- component = fixture.componentInstance;
- fixture.detectChanges();
- });
-
- it('should create', () => {
- expect(component).toBeTruthy();
- });
-});
diff --git a/src/app/pages/network/explorer/transaction/transaction-list/transaction-list.component.ts b/src/app/pages/network/explorer/transaction/transaction-list/transaction-list.component.ts
deleted file mode 100644
index 65c5016..0000000
--- a/src/app/pages/network/explorer/transaction/transaction-list/transaction-list.component.ts
+++ /dev/null
@@ -1,209 +0,0 @@
-/*
- * Polkascan Explorer UI
- * Copyright (C) 2018-2022 Polkascan Foundation (NL)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@angular/core';
-import { FormControl, FormGroup } from '@angular/forms';
-import { NetworkService } from '../../../../../services/network.service';
-import { PolkadaptService } from '../../../../../services/polkadapt.service';
-import { RuntimeService } from '../../../../../services/runtime/runtime.service';
-import { debounceTime, distinctUntilChanged, filter, first, map, takeUntil } from 'rxjs/operators';
-import { types as pst } from '@polkadapt/polkascan-explorer';
-import {
- PaginatedListComponentBase
-} from '../../../../../../common/list-base/paginated-list-component-base.directive';
-import { ActivatedRoute, Router } from '@angular/router';
-import { u8aToHex } from '@polkadot/util';
-import { decodeAddress } from '@polkadot/util-crypto';
-
-
-@Component({
- selector: 'app-transaction-list',
- templateUrl: './transaction-list.component.html',
- styleUrls: ['./transaction-list.component.scss'],
- changeDetection: ChangeDetectionStrategy.OnPush
-})
-export class TransactionListComponent extends PaginatedListComponentBase implements OnInit {
- listSize = 100;
- transactionFilters = new Map();
-
- palletControl: FormControl = new FormControl('');
- callNameControl: FormControl = new FormControl('');
- addressControl: FormControl = new FormControl('');
-
- filtersFormGroup: FormGroup = new FormGroup({
- eventModule: this.palletControl,
- callName: this.callNameControl,
- addressControl: this.addressControl
- });
-
- visibleColumns = ['icon', 'transactionID', 'age', 'from', 'block', 'pallet', 'call', 'details'];
-
- constructor(private ns: NetworkService,
- private pa: PolkadaptService,
- private rs: RuntimeService,
- private cd: ChangeDetectorRef,
- private router: Router,
- private route: ActivatedRoute) {
- super(ns);
- }
-
- ngOnInit(): void {
- this.route.queryParamMap.pipe(
- takeUntil(this.destroyer),
- map((params) => {
- return [
- (params.get('address') || ''),
- (params.get('pallet') || ''),
- (params.get('callName') || '')
- ];
- }),
- distinctUntilChanged()
- ).subscribe(([address, pallet, callName]) => {
- if (address !== this.addressControl.value) {
- this.addressControl.setValue(address);
- }
- if (pallet !== this.palletControl.value) {
- this.palletControl.setValue(pallet);
- }
- if (callName !== this.callNameControl.value) {
- this.callNameControl.setValue(callName);
- }
- });
-
- // Initialize and get items
- super.ngOnInit();
-
- this.filtersFormGroup.valueChanges
- .pipe(
- debounceTime(100), // To make sure eventControl reset has taken place
- takeUntil(this.destroyer)
- )
- .subscribe((values) => {
- this.items = [];
- this.subscribeNewItem();
- this.getItems();
-
- this.router.navigate(['.'], {
- relativeTo: this.route,
- queryParams: {pallet: values.eventModule, callName: values.callName},
- queryParamsHandling: 'merge'
- });
- });
-
- this.palletControl.valueChanges
- .pipe(
- takeUntil(this.destroyer)
- )
- .subscribe(() => {
- this.callNameControl.reset('', {emitEvent: false});
- });
- }
-
-
- onNetworkChange(network: string, previous: string): void {
- if (previous) {
- this.filtersFormGroup.reset({
- eventModule: '',
- callName: ''
- }, {emitEvent: false});
-
- this.router.navigate(['.'], {
- relativeTo: this.route,
- queryParams: {pallet: '', callName: ''},
- queryParamsHandling: 'merge'
- });
- }
-
-
- this.transactionFilters.clear();
-
- super.onNetworkChange(network);
-
- if (network && !this.onDestroyCalled) {
- this.rs.getRuntime(network)
- .pipe(
- takeUntil(this.destroyer),
- filter((r) => r !== null),
- first()
- )
- .subscribe(async (runtime): Promise => {
- const pallets = await this.rs.getRuntimePallets(network, (runtime as pst.Runtime).specVersion);
- const calls = await this.rs.getRuntimeCalls(network, (runtime as pst.Runtime).specVersion);
-
- if (pallets) {
- pallets.forEach((pallet) => {
- this.transactionFilters.set(pallet, calls ? calls.filter((call) => pallet.pallet === call.pallet).sort() : []);
- });
- this.cd.markForCheck();
- }
- });
- }
- }
-
-
- createGetItemsRequest(pageKey?: string): Promise> {
- return this.pa.run(this.network).polkascan.chain.getExtrinsics(
- this.filters,
- this.listSize,
- pageKey
- );
- }
-
-
- createNewItemSubscription(handleItemFn: (item: pst.Extrinsic) => void): Promise<() => void> {
- return this.pa.run(this.network).polkascan.chain.subscribeNewExtrinsic(
- this.filters,
- handleItemFn
- );
- }
-
-
- sortCompareFn(a: pst.Extrinsic, b: pst.Extrinsic): number {
- return b.blockNumber - a.blockNumber || b.extrinsicIdx - a.extrinsicIdx;
- }
-
-
- equalityCompareFn(a: pst.Extrinsic, b: pst.Extrinsic): boolean {
- return a.blockNumber === b.blockNumber && a.extrinsicIdx === b.extrinsicIdx;
- }
-
-
- get filters(): any {
- const filters: any = {
- signed: 1
- };
-
- if (this.palletControl.value) {
- filters.callModule = this.palletControl.value;
- }
- if (this.callNameControl.value) {
- filters.callName = this.callNameControl.value;
- }
- if (this.addressControl.value) {
- const accountIdHex = u8aToHex(decodeAddress(this.addressControl.value))
- filters.multiAddressAccountId = accountIdHex;
- }
-
- return filters;
- }
-
-
- track(i: any, transaction: pst.Extrinsic): string {
- return `${transaction.blockNumber}-${transaction.extrinsicIdx}`;
- }
-}
diff --git a/src/app/pages/network/explorer/transaction/transaction-routing.module.ts b/src/app/pages/network/explorer/transaction/transaction-routing.module.ts
deleted file mode 100644
index 6d16d07..0000000
--- a/src/app/pages/network/explorer/transaction/transaction-routing.module.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Polkascan Explorer UI
- * Copyright (C) 2018-2022 Polkascan Foundation (NL)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-import { NgModule } from '@angular/core';
-import { RouterModule, Routes } from '@angular/router';
-import { TransactionListComponent } from './transaction-list/transaction-list.component';
-import { TransactionDetailComponent } from './transaction-detail/transaction-detail.component';
-
-const routes: Routes = [
- {
- path: '',
- component: TransactionListComponent
- },
- {
- path: ':id',
- component: TransactionDetailComponent
- }
-];
-
-@NgModule({
- imports: [RouterModule.forChild(routes)],
- exports: [RouterModule]
-})
-export class TransactionRoutingModule {
-}
diff --git a/src/app/pages/network/explorer/transfer/transfer-list/transfer-list.component.html b/src/app/pages/network/explorer/transfer/transfer-list/transfer-list.component.html
new file mode 100644
index 0000000..8ea4e56
--- /dev/null
+++ b/src/app/pages/network/explorer/transfer/transfer-list/transfer-list.component.html
@@ -0,0 +1,151 @@
+
Transfers
+
+
+
+ Date range
+
+
+
+
+ MM/DD/YYYY – MM/DD/YYYY
+
+
+
+ Invalid start date
+ Invalid end date
+
+
+