Merge branch 'master' into simon/mempool-tx-fee-bug
This commit is contained in:
		
						commit
						97e0a5092b
					
				
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @ -2,141 +2,23 @@ import { BrowserModule, BrowserTransferStateModule } from '@angular/platform-bro | |||||||
| import { NgModule } from '@angular/core'; | import { NgModule } from '@angular/core'; | ||||||
| import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http'; | import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http'; | ||||||
| import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; | import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; | ||||||
| import { InfiniteScrollModule } from 'ngx-infinite-scroll'; |  | ||||||
| import { NgxEchartsModule } from 'ngx-echarts'; |  | ||||||
| 
 |  | ||||||
| import { AppRoutingModule } from './app-routing.module'; | import { AppRoutingModule } from './app-routing.module'; | ||||||
| import { AppComponent } from './components/app/app.component'; | import { AppComponent } from './components/app/app.component'; | ||||||
| 
 |  | ||||||
| import { StartComponent } from './components/start/start.component'; |  | ||||||
| import { ElectrsApiService } from './services/electrs-api.service'; | import { ElectrsApiService } from './services/electrs-api.service'; | ||||||
| import { TransactionComponent } from './components/transaction/transaction.component'; |  | ||||||
| import { TransactionsListComponent } from './components/transactions-list/transactions-list.component'; |  | ||||||
| import { StateService } from './services/state.service'; | import { StateService } from './services/state.service'; | ||||||
| import { BlockComponent } from './components/block/block.component'; |  | ||||||
| import { AddressComponent } from './components/address/address.component'; |  | ||||||
| import { SearchFormComponent } from './components/search-form/search-form.component'; |  | ||||||
| import { LatestBlocksComponent } from './components/latest-blocks/latest-blocks.component'; |  | ||||||
| import { WebsocketService } from './services/websocket.service'; | import { WebsocketService } from './services/websocket.service'; | ||||||
| import { AddressLabelsComponent } from './components/address-labels/address-labels.component'; |  | ||||||
| import { MasterPageComponent } from './components/master-page/master-page.component'; |  | ||||||
| import { BisqMasterPageComponent } from './components/bisq-master-page/bisq-master-page.component'; |  | ||||||
| import { LiquidMasterPageComponent } from './components/liquid-master-page/liquid-master-page.component'; |  | ||||||
| import { AboutComponent } from './components/about/about.component'; |  | ||||||
| import { TelevisionComponent } from './components/television/television.component'; |  | ||||||
| import { StatisticsComponent } from './components/statistics/statistics.component'; |  | ||||||
| import { FooterComponent } from './components/footer/footer.component'; |  | ||||||
| import { AudioService } from './services/audio.service'; | import { AudioService } from './services/audio.service'; | ||||||
| import { MempoolBlockComponent } from './components/mempool-block/mempool-block.component'; |  | ||||||
| import { FeeDistributionGraphComponent } from './components/fee-distribution-graph/fee-distribution-graph.component'; |  | ||||||
| import { IncomingTransactionsGraphComponent } from './components/incoming-transactions-graph/incoming-transactions-graph.component'; |  | ||||||
| import { TimeSpanComponent } from './components/time-span/time-span.component'; |  | ||||||
| import { SeoService } from './services/seo.service'; | import { SeoService } from './services/seo.service'; | ||||||
| import { MempoolGraphComponent } from './components/mempool-graph/mempool-graph.component'; |  | ||||||
| import { PoolRankingComponent } from './components/pool-ranking/pool-ranking.component'; |  | ||||||
| import { PoolComponent } from './components/pool/pool.component'; |  | ||||||
| import { LbtcPegsGraphComponent } from './components/lbtc-pegs-graph/lbtc-pegs-graph.component'; |  | ||||||
| import { AssetComponent } from './components/asset/asset.component'; |  | ||||||
| import { AssetsComponent } from './components/assets/assets.component'; |  | ||||||
| import { AssetsNavComponent } from './components/assets/assets-nav/assets-nav.component'; |  | ||||||
| import { StatusViewComponent } from './components/status-view/status-view.component'; |  | ||||||
| import { SharedModule } from './shared/shared.module'; | import { SharedModule } from './shared/shared.module'; | ||||||
| import { NgbTypeaheadModule } from '@ng-bootstrap/ng-bootstrap'; |  | ||||||
| import { FeesBoxComponent } from './components/fees-box/fees-box.component'; |  | ||||||
| import { DashboardComponent } from './dashboard/dashboard.component'; |  | ||||||
| import { DifficultyComponent } from './components/difficulty/difficulty.component'; |  | ||||||
| import { FontAwesomeModule, FaIconLibrary } from '@fortawesome/angular-fontawesome'; |  | ||||||
| import { faFilter, faAngleDown, faAngleUp, faAngleRight, faAngleLeft, faBolt, faChartArea, faCogs, faCubes, faHammer, faDatabase, faExchangeAlt, faInfoCircle, |  | ||||||
|   faLink, faList, faSearch, faCaretUp, faCaretDown, faTachometerAlt, faThList, faTint, faTv, faAngleDoubleDown, faSortUp, faAngleDoubleUp, faChevronDown, |  | ||||||
|   faFileAlt, faRedoAlt, faArrowAltCircleRight, faExternalLinkAlt, faBook, faListUl, faDownload } from '@fortawesome/free-solid-svg-icons'; |  | ||||||
| import { TermsOfServiceComponent } from './components/terms-of-service/terms-of-service.component'; |  | ||||||
| import { PrivacyPolicyComponent } from './components/privacy-policy/privacy-policy.component'; |  | ||||||
| import { TrademarkPolicyComponent } from './components/trademark-policy/trademark-policy.component'; |  | ||||||
| import { StorageService } from './services/storage.service'; | import { StorageService } from './services/storage.service'; | ||||||
| import { HttpCacheInterceptor } from './services/http-cache.interceptor'; | import { HttpCacheInterceptor } from './services/http-cache.interceptor'; | ||||||
| import { LanguageService } from './services/language.service'; | import { LanguageService } from './services/language.service'; | ||||||
| import { SponsorComponent } from './components/sponsor/sponsor.component'; |  | ||||||
| import { PushTransactionComponent } from './components/push-transaction/push-transaction.component'; |  | ||||||
| import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; |  | ||||||
| import { AssetsFeaturedComponent } from './components/assets/assets-featured/assets-featured.component'; |  | ||||||
| import { AssetGroupComponent } from './components/assets/asset-group/asset-group.component'; |  | ||||||
| import { AssetCirculationComponent } from './components/asset-circulation/asset-circulation.component'; |  | ||||||
| import { MiningDashboardComponent } from './components/mining-dashboard/mining-dashboard.component'; |  | ||||||
| import { HashrateChartComponent } from './components/hashrate-chart/hashrate-chart.component'; |  | ||||||
| import { HashrateChartPoolsComponent } from './components/hashrates-chart-pools/hashrate-chart-pools.component'; |  | ||||||
| import { MiningStartComponent } from './components/mining-start/mining-start.component'; |  | ||||||
| import { AmountShortenerPipe } from './shared/pipes/amount-shortener.pipe'; |  | ||||||
| import { ShortenStringPipe } from './shared/pipes/shorten-string-pipe/shorten-string.pipe'; | import { ShortenStringPipe } from './shared/pipes/shorten-string-pipe/shorten-string.pipe'; | ||||||
| import { CapAddressPipe } from './shared/pipes/cap-address-pipe/cap-address-pipe'; | import { CapAddressPipe } from './shared/pipes/cap-address-pipe/cap-address-pipe'; | ||||||
| import { GraphsComponent } from './components/graphs/graphs.component'; |  | ||||||
| import { DifficultyAdjustmentsTable } from './components/difficulty-adjustments-table/difficulty-adjustments-table.components'; |  | ||||||
| import { BlocksList } from './components/blocks-list/blocks-list.component'; |  | ||||||
| import { RewardStatsComponent } from './components/reward-stats/reward-stats.component'; |  | ||||||
| import { DataCyDirective } from './data-cy.directive'; |  | ||||||
| import { BlockFeesGraphComponent } from './components/block-fees-graph/block-fees-graph.component'; |  | ||||||
| import { BlockRewardsGraphComponent } from './components/block-rewards-graph/block-rewards-graph.component'; |  | ||||||
| import { BlockFeeRatesGraphComponent } from './components/block-fee-rates-graph/block-fee-rates-graph.component'; |  | ||||||
| import { LoadingIndicatorComponent } from './components/loading-indicator/loading-indicator.component'; |  | ||||||
| import { IndexingProgressComponent } from './components/indexing-progress/indexing-progress.component'; |  | ||||||
| import { BlockSizesWeightsGraphComponent } from './components/block-sizes-weights-graph/block-sizes-weights-graph.component'; |  | ||||||
| 
 | 
 | ||||||
| @NgModule({ | @NgModule({ | ||||||
|   declarations: [ |   declarations: [ | ||||||
|     AppComponent, |     AppComponent, | ||||||
|     AboutComponent, |  | ||||||
|     MasterPageComponent, |  | ||||||
|     BisqMasterPageComponent, |  | ||||||
|     LiquidMasterPageComponent, |  | ||||||
|     TelevisionComponent, |  | ||||||
|     StartComponent, |  | ||||||
|     StatisticsComponent, |  | ||||||
|     TransactionComponent, |  | ||||||
|     BlockComponent, |  | ||||||
|     TransactionsListComponent, |  | ||||||
|     AddressComponent, |  | ||||||
|     LatestBlocksComponent, |  | ||||||
|     SearchFormComponent, |  | ||||||
|     TimeSpanComponent, |  | ||||||
|     AddressLabelsComponent, |  | ||||||
|     FooterComponent, |  | ||||||
|     MempoolBlockComponent, |  | ||||||
|     FeeDistributionGraphComponent, |  | ||||||
|     IncomingTransactionsGraphComponent, |  | ||||||
|     MempoolGraphComponent, |  | ||||||
|     PoolRankingComponent, |  | ||||||
|     PoolComponent, |  | ||||||
|     LbtcPegsGraphComponent, |  | ||||||
|     AssetComponent, |  | ||||||
|     AssetsComponent, |  | ||||||
|     StatusViewComponent, |  | ||||||
|     FeesBoxComponent, |  | ||||||
|     DashboardComponent, |  | ||||||
|     DifficultyComponent, |  | ||||||
|     TermsOfServiceComponent, |  | ||||||
|     PrivacyPolicyComponent, |  | ||||||
|     TrademarkPolicyComponent, |  | ||||||
|     SponsorComponent, |  | ||||||
|     PushTransactionComponent, |  | ||||||
|     AssetsNavComponent, |  | ||||||
|     AssetsFeaturedComponent, |  | ||||||
|     AssetGroupComponent, |  | ||||||
|     AssetCirculationComponent, |  | ||||||
|     MiningDashboardComponent, |  | ||||||
|     HashrateChartComponent, |  | ||||||
|     HashrateChartPoolsComponent, |  | ||||||
|     MiningStartComponent, |  | ||||||
|     AmountShortenerPipe, |  | ||||||
|     GraphsComponent, |  | ||||||
|     DifficultyAdjustmentsTable, |  | ||||||
|     BlocksList, |  | ||||||
|     DataCyDirective, |  | ||||||
|     RewardStatsComponent, |  | ||||||
|     BlockFeesGraphComponent, |  | ||||||
|     BlockRewardsGraphComponent, |  | ||||||
|     BlockFeeRatesGraphComponent, |  | ||||||
|     LoadingIndicatorComponent, |  | ||||||
|     IndexingProgressComponent, |  | ||||||
|     BlockSizesWeightsGraphComponent |  | ||||||
|   ], |   ], | ||||||
|   imports: [ |   imports: [ | ||||||
|     BrowserModule.withServerTransition({ appId: 'serverApp' }), |     BrowserModule.withServerTransition({ appId: 'serverApp' }), | ||||||
| @ -144,14 +26,7 @@ import { BlockSizesWeightsGraphComponent } from './components/block-sizes-weight | |||||||
|     AppRoutingModule, |     AppRoutingModule, | ||||||
|     HttpClientModule, |     HttpClientModule, | ||||||
|     BrowserAnimationsModule, |     BrowserAnimationsModule, | ||||||
|     InfiniteScrollModule, |  | ||||||
|     NgbTypeaheadModule, |  | ||||||
|     NgbModule, |  | ||||||
|     FontAwesomeModule, |  | ||||||
|     SharedModule, |     SharedModule, | ||||||
|     NgxEchartsModule.forRoot({ |  | ||||||
|       echarts: () => import('echarts') |  | ||||||
|     }) |  | ||||||
|   ], |   ], | ||||||
|   providers: [ |   providers: [ | ||||||
|     ElectrsApiService, |     ElectrsApiService, | ||||||
| @ -167,41 +42,4 @@ import { BlockSizesWeightsGraphComponent } from './components/block-sizes-weight | |||||||
|   ], |   ], | ||||||
|   bootstrap: [AppComponent] |   bootstrap: [AppComponent] | ||||||
| }) | }) | ||||||
| export class AppModule { | export class AppModule { } | ||||||
|   constructor(library: FaIconLibrary) { |  | ||||||
|     library.addIcons(faInfoCircle); |  | ||||||
|     library.addIcons(faChartArea); |  | ||||||
|     library.addIcons(faTv); |  | ||||||
|     library.addIcons(faTachometerAlt); |  | ||||||
|     library.addIcons(faCubes); |  | ||||||
|     library.addIcons(faHammer); |  | ||||||
|     library.addIcons(faCogs); |  | ||||||
|     library.addIcons(faThList); |  | ||||||
|     library.addIcons(faList); |  | ||||||
|     library.addIcons(faTachometerAlt); |  | ||||||
|     library.addIcons(faDatabase); |  | ||||||
|     library.addIcons(faSearch); |  | ||||||
|     library.addIcons(faLink); |  | ||||||
|     library.addIcons(faBolt); |  | ||||||
|     library.addIcons(faTint); |  | ||||||
|     library.addIcons(faFilter); |  | ||||||
|     library.addIcons(faAngleDown); |  | ||||||
|     library.addIcons(faAngleUp); |  | ||||||
|     library.addIcons(faExchangeAlt); |  | ||||||
|     library.addIcons(faAngleDoubleUp); |  | ||||||
|     library.addIcons(faAngleDoubleDown); |  | ||||||
|     library.addIcons(faChevronDown); |  | ||||||
|     library.addIcons(faFileAlt); |  | ||||||
|     library.addIcons(faRedoAlt); |  | ||||||
|     library.addIcons(faArrowAltCircleRight); |  | ||||||
|     library.addIcons(faExternalLinkAlt); |  | ||||||
|     library.addIcons(faSortUp); |  | ||||||
|     library.addIcons(faCaretUp); |  | ||||||
|     library.addIcons(faCaretDown); |  | ||||||
|     library.addIcons(faAngleRight); |  | ||||||
|     library.addIcons(faAngleLeft); |  | ||||||
|     library.addIcons(faBook); |  | ||||||
|     library.addIcons(faListUl); |  | ||||||
|     library.addIcons(faDownload); |  | ||||||
|   } |  | ||||||
| } |  | ||||||
|  | |||||||
| @ -24,6 +24,7 @@ import { BisqAddressComponent } from './bisq-address/bisq-address.component'; | |||||||
| import { BisqStatsComponent } from './bisq-stats/bisq-stats.component'; | import { BisqStatsComponent } from './bisq-stats/bisq-stats.component'; | ||||||
| import { BsqAmountComponent } from './bsq-amount/bsq-amount.component'; | import { BsqAmountComponent } from './bsq-amount/bsq-amount.component'; | ||||||
| import { BisqTradesComponent } from './bisq-trades/bisq-trades.component'; | import { BisqTradesComponent } from './bisq-trades/bisq-trades.component'; | ||||||
|  | import { CommonModule } from '@angular/common'; | ||||||
| 
 | 
 | ||||||
| @NgModule({ | @NgModule({ | ||||||
|   declarations: [ |   declarations: [ | ||||||
| @ -46,6 +47,7 @@ import { BisqTradesComponent } from './bisq-trades/bisq-trades.component'; | |||||||
|     BisqMainDashboardComponent, |     BisqMainDashboardComponent, | ||||||
|   ], |   ], | ||||||
|   imports: [ |   imports: [ | ||||||
|  |     CommonModule, | ||||||
|     BisqRoutingModule, |     BisqRoutingModule, | ||||||
|     SharedModule, |     SharedModule, | ||||||
|     NgbPaginationModule, |     NgbPaginationModule, | ||||||
|  | |||||||
| @ -1 +0,0 @@ | |||||||
| <router-outlet></router-outlet> |  | ||||||
| @ -1,14 +0,0 @@ | |||||||
| import { Component, OnInit } from '@angular/core'; |  | ||||||
| 
 |  | ||||||
| @Component({ |  | ||||||
|   selector: 'app-mining-start', |  | ||||||
|   templateUrl: './mining-start.component.html', |  | ||||||
| }) |  | ||||||
| export class MiningStartComponent implements OnInit { |  | ||||||
| 
 |  | ||||||
|   constructor() { } |  | ||||||
| 
 |  | ||||||
|   ngOnInit(): void { |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
| } |  | ||||||
							
								
								
									
										58
									
								
								frontend/src/app/graphs/graphs.module.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								frontend/src/app/graphs/graphs.module.ts
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,58 @@ | |||||||
|  | import { NgModule } from '@angular/core'; | ||||||
|  | import { NgxEchartsModule } from 'ngx-echarts'; | ||||||
|  | import { GraphsRoutingModule } from './graphs.routing.module'; | ||||||
|  | import { SharedModule } from '../shared/shared.module'; | ||||||
|  | 
 | ||||||
|  | import { BlockFeesGraphComponent } from '../components/block-fees-graph/block-fees-graph.component'; | ||||||
|  | import { BlockRewardsGraphComponent } from '../components/block-rewards-graph/block-rewards-graph.component'; | ||||||
|  | import { BlockFeeRatesGraphComponent } from '../components/block-fee-rates-graph/block-fee-rates-graph.component'; | ||||||
|  | import { BlockSizesWeightsGraphComponent } from '../components/block-sizes-weights-graph/block-sizes-weights-graph.component'; | ||||||
|  | import { FeeDistributionGraphComponent } from '../components/fee-distribution-graph/fee-distribution-graph.component'; | ||||||
|  | import { IncomingTransactionsGraphComponent } from '../components/incoming-transactions-graph/incoming-transactions-graph.component'; | ||||||
|  | import { MempoolGraphComponent } from '../components/mempool-graph/mempool-graph.component'; | ||||||
|  | import { LbtcPegsGraphComponent } from '../components/lbtc-pegs-graph/lbtc-pegs-graph.component'; | ||||||
|  | import { GraphsComponent } from '../components/graphs/graphs.component'; | ||||||
|  | import { StatisticsComponent } from '../components/statistics/statistics.component'; | ||||||
|  | import { MempoolBlockComponent } from '../components/mempool-block/mempool-block.component'; | ||||||
|  | import { PoolRankingComponent } from '../components/pool-ranking/pool-ranking.component'; | ||||||
|  | import { PoolComponent } from '../components/pool/pool.component'; | ||||||
|  | import { TelevisionComponent } from '../components/television/television.component'; | ||||||
|  | import { DashboardComponent } from '../dashboard/dashboard.component'; | ||||||
|  | import { MiningDashboardComponent } from '../components/mining-dashboard/mining-dashboard.component'; | ||||||
|  | import { HashrateChartComponent } from '../components/hashrate-chart/hashrate-chart.component'; | ||||||
|  | import { HashrateChartPoolsComponent } from '../components/hashrates-chart-pools/hashrate-chart-pools.component'; | ||||||
|  | import { CommonModule } from '@angular/common'; | ||||||
|  | 
 | ||||||
|  | @NgModule({ | ||||||
|  |   declarations: [ | ||||||
|  |     DashboardComponent, | ||||||
|  |     MempoolBlockComponent, | ||||||
|  | 
 | ||||||
|  |     MiningDashboardComponent, | ||||||
|  |     PoolComponent, | ||||||
|  |     PoolRankingComponent, | ||||||
|  |     TelevisionComponent, | ||||||
|  | 
 | ||||||
|  |     StatisticsComponent, | ||||||
|  |     GraphsComponent, | ||||||
|  |     BlockFeesGraphComponent, | ||||||
|  |     BlockRewardsGraphComponent, | ||||||
|  |     BlockFeeRatesGraphComponent, | ||||||
|  |     BlockSizesWeightsGraphComponent, | ||||||
|  |     FeeDistributionGraphComponent, | ||||||
|  |     IncomingTransactionsGraphComponent, | ||||||
|  |     MempoolGraphComponent, | ||||||
|  |     LbtcPegsGraphComponent, | ||||||
|  |     HashrateChartComponent, | ||||||
|  |     HashrateChartPoolsComponent, | ||||||
|  |   ], | ||||||
|  |   imports: [ | ||||||
|  |     CommonModule, | ||||||
|  |     SharedModule, | ||||||
|  |     GraphsRoutingModule, | ||||||
|  |     NgxEchartsModule.forRoot({ | ||||||
|  |       echarts: () => import('echarts') | ||||||
|  |     }) | ||||||
|  |   ] | ||||||
|  | }) | ||||||
|  | export class GraphsModule { } | ||||||
							
								
								
									
										106
									
								
								frontend/src/app/graphs/graphs.routing.module.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										106
									
								
								frontend/src/app/graphs/graphs.routing.module.ts
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,106 @@ | |||||||
|  | import { NgModule } from '@angular/core'; | ||||||
|  | import { RouterModule, Routes } from '@angular/router'; | ||||||
|  | import { BlockFeeRatesGraphComponent } from '../components/block-fee-rates-graph/block-fee-rates-graph.component'; | ||||||
|  | import { BlockFeesGraphComponent } from '../components/block-fees-graph/block-fees-graph.component'; | ||||||
|  | import { BlockRewardsGraphComponent } from '../components/block-rewards-graph/block-rewards-graph.component'; | ||||||
|  | import { BlockSizesWeightsGraphComponent } from '../components/block-sizes-weights-graph/block-sizes-weights-graph.component'; | ||||||
|  | import { GraphsComponent } from '../components/graphs/graphs.component'; | ||||||
|  | import { HashrateChartComponent } from '../components/hashrate-chart/hashrate-chart.component'; | ||||||
|  | import { HashrateChartPoolsComponent } from '../components/hashrates-chart-pools/hashrate-chart-pools.component'; | ||||||
|  | import { MasterPageComponent } from '../components/master-page/master-page.component'; | ||||||
|  | import { MempoolBlockComponent } from '../components/mempool-block/mempool-block.component'; | ||||||
|  | import { MiningDashboardComponent } from '../components/mining-dashboard/mining-dashboard.component'; | ||||||
|  | import { PoolRankingComponent } from '../components/pool-ranking/pool-ranking.component'; | ||||||
|  | import { PoolComponent } from '../components/pool/pool.component'; | ||||||
|  | import { StartComponent } from '../components/start/start.component'; | ||||||
|  | import { StatisticsComponent } from '../components/statistics/statistics.component'; | ||||||
|  | import { TelevisionComponent } from '../components/television/television.component'; | ||||||
|  | import { DashboardComponent } from '../dashboard/dashboard.component'; | ||||||
|  | 
 | ||||||
|  | const routes: Routes = [ | ||||||
|  |   { | ||||||
|  |     path: '', | ||||||
|  |     component: MasterPageComponent, | ||||||
|  |     children: [ | ||||||
|  |       { | ||||||
|  |         path: 'mining/pool/:slug', | ||||||
|  |         component: PoolComponent, | ||||||
|  |       }, | ||||||
|  |       { | ||||||
|  |         path: 'mining', | ||||||
|  |         component: StartComponent, | ||||||
|  |         children: [ | ||||||
|  |           { | ||||||
|  |             path: '', | ||||||
|  |             component: MiningDashboardComponent, | ||||||
|  |           }, | ||||||
|  |         ] | ||||||
|  |       }, | ||||||
|  |       { | ||||||
|  |         path: 'mempool-block/:id', | ||||||
|  |         component: StartComponent, | ||||||
|  |         children: [ | ||||||
|  |           { | ||||||
|  |             path: '', | ||||||
|  |             component: MempoolBlockComponent, | ||||||
|  |           }, | ||||||
|  |         ] | ||||||
|  |       }, | ||||||
|  |       { | ||||||
|  |         path: 'graphs', | ||||||
|  |         component: GraphsComponent, | ||||||
|  |         children: [ | ||||||
|  |           { | ||||||
|  |             path: 'mempool', | ||||||
|  |             component: StatisticsComponent, | ||||||
|  |           }, | ||||||
|  |           { | ||||||
|  |             path: 'mining/hashrate-difficulty', | ||||||
|  |             component: HashrateChartComponent, | ||||||
|  |           }, | ||||||
|  |           { | ||||||
|  |             path: 'mining/pools-dominance', | ||||||
|  |             component: HashrateChartPoolsComponent, | ||||||
|  |           }, | ||||||
|  |           { | ||||||
|  |             path: 'mining/pools', | ||||||
|  |             component: PoolRankingComponent, | ||||||
|  |           }, | ||||||
|  |           { | ||||||
|  |             path: 'mining/block-fees', | ||||||
|  |             component: BlockFeesGraphComponent, | ||||||
|  |           }, | ||||||
|  |           { | ||||||
|  |             path: 'mining/block-rewards', | ||||||
|  |             component: BlockRewardsGraphComponent, | ||||||
|  |           }, | ||||||
|  |           { | ||||||
|  |             path: 'mining/block-fee-rates', | ||||||
|  |             component: BlockFeeRatesGraphComponent, | ||||||
|  |           }, | ||||||
|  |           { | ||||||
|  |             path: 'mining/block-sizes-weights', | ||||||
|  |             component: BlockSizesWeightsGraphComponent, | ||||||
|  |           }, | ||||||
|  |         ] | ||||||
|  |       }, | ||||||
|  |       { | ||||||
|  |         path: '', | ||||||
|  |         component: StartComponent, | ||||||
|  |         children: [{ | ||||||
|  |           path: '', | ||||||
|  |           component: DashboardComponent, | ||||||
|  |         }] | ||||||
|  |       }, | ||||||
|  |     ] | ||||||
|  |   }, | ||||||
|  |   { | ||||||
|  |     path: 'tv', | ||||||
|  |     component: TelevisionComponent | ||||||
|  |   }, | ||||||
|  | ]; | ||||||
|  | 
 | ||||||
|  | @NgModule({ | ||||||
|  |   imports: [RouterModule.forChild(routes)], | ||||||
|  | }) | ||||||
|  | export class GraphsRoutingModule { } | ||||||
| @ -1,5 +1,16 @@ | |||||||
| import { NgModule } from '@angular/core'; | import { NgModule } from '@angular/core'; | ||||||
| import { CommonModule } from '@angular/common'; | import { CommonModule } from '@angular/common'; | ||||||
|  | import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; | ||||||
|  | import { NgbTypeaheadModule } from '@ng-bootstrap/ng-bootstrap'; | ||||||
|  | import { FontAwesomeModule, FaIconLibrary } from '@fortawesome/angular-fontawesome'; | ||||||
|  | import { faFilter, faAngleDown, faAngleUp, faAngleRight, faAngleLeft, faBolt, faChartArea, faCogs, faCubes, faHammer, faDatabase, faExchangeAlt, faInfoCircle, | ||||||
|  |   faLink, faList, faSearch, faCaretUp, faCaretDown, faTachometerAlt, faThList, faTint, faTv, faAngleDoubleDown, faSortUp, faAngleDoubleUp, faChevronDown, | ||||||
|  |   faFileAlt, faRedoAlt, faArrowAltCircleRight, faExternalLinkAlt, faBook, faListUl, faDownload } from '@fortawesome/free-solid-svg-icons'; | ||||||
|  | import { InfiniteScrollModule } from 'ngx-infinite-scroll'; | ||||||
|  | import { MasterPageComponent } from '../components/master-page/master-page.component'; | ||||||
|  | import { BisqMasterPageComponent } from '../components/bisq-master-page/bisq-master-page.component'; | ||||||
|  | import { LiquidMasterPageComponent } from '../components/liquid-master-page/liquid-master-page.component'; | ||||||
|  | import { AboutComponent } from '../components/about/about.component'; | ||||||
| import { VbytesPipe } from './pipes/bytes-pipe/vbytes.pipe'; | import { VbytesPipe } from './pipes/bytes-pipe/vbytes.pipe'; | ||||||
| import { ShortenStringPipe } from './pipes/shorten-string-pipe/shorten-string.pipe'; | import { ShortenStringPipe } from './pipes/shorten-string-pipe/shorten-string.pipe'; | ||||||
| import { CeilPipe } from './pipes/math-ceil/math-ceil.pipe'; | import { CeilPipe } from './pipes/math-ceil/math-ceil.pipe'; | ||||||
| @ -31,6 +42,38 @@ import { AmountComponent } from '../components/amount/amount.component'; | |||||||
| import { RouterModule } from '@angular/router'; | import { RouterModule } from '@angular/router'; | ||||||
| import { CapAddressPipe } from './pipes/cap-address-pipe/cap-address-pipe'; | import { CapAddressPipe } from './pipes/cap-address-pipe/cap-address-pipe'; | ||||||
| 
 | 
 | ||||||
|  | import { StartComponent } from '../components/start/start.component'; | ||||||
|  | import { TransactionComponent } from '../components/transaction/transaction.component'; | ||||||
|  | import { TransactionsListComponent } from '../components/transactions-list/transactions-list.component'; | ||||||
|  | import { BlockComponent } from '../components/block/block.component'; | ||||||
|  | import { AddressComponent } from '../components/address/address.component'; | ||||||
|  | import { SearchFormComponent } from '../components/search-form/search-form.component'; | ||||||
|  | import { LatestBlocksComponent } from '../components/latest-blocks/latest-blocks.component'; | ||||||
|  | import { AddressLabelsComponent } from '../components/address-labels/address-labels.component'; | ||||||
|  | import { FooterComponent } from '../components/footer/footer.component'; | ||||||
|  | import { TimeSpanComponent } from '../components/time-span/time-span.component'; | ||||||
|  | import { AssetComponent } from '../components/asset/asset.component'; | ||||||
|  | import { AssetsComponent } from '../components/assets/assets.component'; | ||||||
|  | import { AssetsNavComponent } from '../components/assets/assets-nav/assets-nav.component'; | ||||||
|  | import { StatusViewComponent } from '../components/status-view/status-view.component'; | ||||||
|  | import { FeesBoxComponent } from '../components/fees-box/fees-box.component'; | ||||||
|  | import { DifficultyComponent } from '../components/difficulty/difficulty.component'; | ||||||
|  | import { TermsOfServiceComponent } from '../components/terms-of-service/terms-of-service.component'; | ||||||
|  | import { PrivacyPolicyComponent } from '../components/privacy-policy/privacy-policy.component'; | ||||||
|  | import { TrademarkPolicyComponent } from '../components/trademark-policy/trademark-policy.component'; | ||||||
|  | import { SponsorComponent } from '../components/sponsor/sponsor.component'; | ||||||
|  | import { PushTransactionComponent } from '../components/push-transaction/push-transaction.component'; | ||||||
|  | import { AssetsFeaturedComponent } from '../components/assets/assets-featured/assets-featured.component'; | ||||||
|  | import { AssetGroupComponent } from '../components/assets/asset-group/asset-group.component'; | ||||||
|  | import { AssetCirculationComponent } from '../components/asset-circulation/asset-circulation.component'; | ||||||
|  | import { AmountShortenerPipe } from '../shared/pipes/amount-shortener.pipe'; | ||||||
|  | import { DifficultyAdjustmentsTable } from '../components/difficulty-adjustments-table/difficulty-adjustments-table.components'; | ||||||
|  | import { BlocksList } from '../components/blocks-list/blocks-list.component'; | ||||||
|  | import { RewardStatsComponent } from '../components/reward-stats/reward-stats.component'; | ||||||
|  | import { DataCyDirective } from '../data-cy.directive'; | ||||||
|  | import { LoadingIndicatorComponent } from '../components/loading-indicator/loading-indicator.component'; | ||||||
|  | import { IndexingProgressComponent } from '../components/indexing-progress/indexing-progress.component'; | ||||||
|  | 
 | ||||||
| @NgModule({ | @NgModule({ | ||||||
|   declarations: [ |   declarations: [ | ||||||
|     ClipboardComponent, |     ClipboardComponent, | ||||||
| @ -60,6 +103,42 @@ import { CapAddressPipe } from './pipes/cap-address-pipe/cap-address-pipe'; | |||||||
|     MempoolBlocksComponent, |     MempoolBlocksComponent, | ||||||
|     BlockchainBlocksComponent, |     BlockchainBlocksComponent, | ||||||
|     AmountComponent, |     AmountComponent, | ||||||
|  | 
 | ||||||
|  |     AboutComponent, | ||||||
|  |     MasterPageComponent, | ||||||
|  |     BisqMasterPageComponent, | ||||||
|  |     LiquidMasterPageComponent, | ||||||
|  |     StartComponent, | ||||||
|  |     TransactionComponent, | ||||||
|  |     BlockComponent, | ||||||
|  |     TransactionsListComponent, | ||||||
|  |     AddressComponent, | ||||||
|  |     LatestBlocksComponent, | ||||||
|  |     SearchFormComponent, | ||||||
|  |     TimeSpanComponent, | ||||||
|  |     AddressLabelsComponent, | ||||||
|  |     FooterComponent, | ||||||
|  |     AssetComponent, | ||||||
|  |     AssetsComponent, | ||||||
|  |     StatusViewComponent, | ||||||
|  |     FeesBoxComponent, | ||||||
|  |     DifficultyComponent, | ||||||
|  |     TermsOfServiceComponent, | ||||||
|  |     PrivacyPolicyComponent, | ||||||
|  |     TrademarkPolicyComponent, | ||||||
|  |     SponsorComponent, | ||||||
|  |     PushTransactionComponent, | ||||||
|  |     AssetsNavComponent, | ||||||
|  |     AssetsFeaturedComponent, | ||||||
|  |     AssetGroupComponent, | ||||||
|  |     AssetCirculationComponent, | ||||||
|  |     AmountShortenerPipe, | ||||||
|  |     DifficultyAdjustmentsTable, | ||||||
|  |     BlocksList, | ||||||
|  |     DataCyDirective, | ||||||
|  |     RewardStatsComponent, | ||||||
|  |     LoadingIndicatorComponent, | ||||||
|  |     IndexingProgressComponent, | ||||||
|   ], |   ], | ||||||
|   imports: [ |   imports: [ | ||||||
|     CommonModule, |     CommonModule, | ||||||
| @ -71,17 +150,26 @@ import { CapAddressPipe } from './pipes/cap-address-pipe/cap-address-pipe'; | |||||||
|     NgbPaginationModule, |     NgbPaginationModule, | ||||||
|     NgbDropdownModule, |     NgbDropdownModule, | ||||||
|     NgbAccordionModule, |     NgbAccordionModule, | ||||||
|  |     InfiniteScrollModule, | ||||||
|  |     NgbTypeaheadModule, | ||||||
|  |     NgbModule, | ||||||
|  |     FontAwesomeModule, | ||||||
|   ], |   ], | ||||||
|   providers: [ |   providers: [ | ||||||
|     VbytesPipe, |     VbytesPipe, | ||||||
|     RelativeUrlPipe, |     RelativeUrlPipe, | ||||||
|     NoSanitizePipe, |     NoSanitizePipe, | ||||||
|  |     ShortenStringPipe, | ||||||
|  |     CapAddressPipe, | ||||||
|   ], |   ], | ||||||
|   exports: [ |   exports: [ | ||||||
|     RouterModule, |     RouterModule, | ||||||
|  |     InfiniteScrollModule, | ||||||
|  |     NgbTypeaheadModule, | ||||||
|  |     NgbModule, | ||||||
|  |     FontAwesomeModule, | ||||||
|     NgbAccordionModule, |     NgbAccordionModule, | ||||||
|     NgbNavModule, |     NgbNavModule, | ||||||
|     CommonModule, |  | ||||||
|     ReactiveFormsModule, |     ReactiveFormsModule, | ||||||
|     NgbTooltipModule, |     NgbTooltipModule, | ||||||
|     NgbButtonsModule, |     NgbButtonsModule, | ||||||
| @ -114,6 +202,75 @@ import { CapAddressPipe } from './pipes/cap-address-pipe/cap-address-pipe'; | |||||||
|     MempoolBlocksComponent, |     MempoolBlocksComponent, | ||||||
|     BlockchainBlocksComponent, |     BlockchainBlocksComponent, | ||||||
|     AmountComponent, |     AmountComponent, | ||||||
|  | 
 | ||||||
|  |     StartComponent, | ||||||
|  |     TransactionComponent, | ||||||
|  |     BlockComponent, | ||||||
|  |     TransactionsListComponent, | ||||||
|  |     AddressComponent, | ||||||
|  |     LatestBlocksComponent, | ||||||
|  |     SearchFormComponent, | ||||||
|  |     TimeSpanComponent, | ||||||
|  |     AddressLabelsComponent, | ||||||
|  |     FooterComponent, | ||||||
|  |     AssetComponent, | ||||||
|  |     AssetsComponent, | ||||||
|  |     StatusViewComponent, | ||||||
|  |     FeesBoxComponent, | ||||||
|  |     DifficultyComponent, | ||||||
|  |     TermsOfServiceComponent, | ||||||
|  |     PrivacyPolicyComponent, | ||||||
|  |     TrademarkPolicyComponent, | ||||||
|  |     SponsorComponent, | ||||||
|  |     PushTransactionComponent, | ||||||
|  |     AssetsNavComponent, | ||||||
|  |     AssetsFeaturedComponent, | ||||||
|  |     AssetGroupComponent, | ||||||
|  |     AssetCirculationComponent, | ||||||
|  |     AmountShortenerPipe, | ||||||
|  |     DifficultyAdjustmentsTable, | ||||||
|  |     BlocksList, | ||||||
|  |     DataCyDirective, | ||||||
|  |     RewardStatsComponent, | ||||||
|  |     LoadingIndicatorComponent, | ||||||
|  |     IndexingProgressComponent, | ||||||
|   ] |   ] | ||||||
| }) | }) | ||||||
| export class SharedModule {} | export class SharedModule { | ||||||
|  |   constructor(library: FaIconLibrary) { | ||||||
|  |     library.addIcons(faInfoCircle); | ||||||
|  |     library.addIcons(faChartArea); | ||||||
|  |     library.addIcons(faTv); | ||||||
|  |     library.addIcons(faTachometerAlt); | ||||||
|  |     library.addIcons(faCubes); | ||||||
|  |     library.addIcons(faHammer); | ||||||
|  |     library.addIcons(faCogs); | ||||||
|  |     library.addIcons(faThList); | ||||||
|  |     library.addIcons(faList); | ||||||
|  |     library.addIcons(faTachometerAlt); | ||||||
|  |     library.addIcons(faDatabase); | ||||||
|  |     library.addIcons(faSearch); | ||||||
|  |     library.addIcons(faLink); | ||||||
|  |     library.addIcons(faBolt); | ||||||
|  |     library.addIcons(faTint); | ||||||
|  |     library.addIcons(faFilter); | ||||||
|  |     library.addIcons(faAngleDown); | ||||||
|  |     library.addIcons(faAngleUp); | ||||||
|  |     library.addIcons(faExchangeAlt); | ||||||
|  |     library.addIcons(faAngleDoubleUp); | ||||||
|  |     library.addIcons(faAngleDoubleDown); | ||||||
|  |     library.addIcons(faChevronDown); | ||||||
|  |     library.addIcons(faFileAlt); | ||||||
|  |     library.addIcons(faRedoAlt); | ||||||
|  |     library.addIcons(faArrowAltCircleRight); | ||||||
|  |     library.addIcons(faExternalLinkAlt); | ||||||
|  |     library.addIcons(faSortUp); | ||||||
|  |     library.addIcons(faCaretUp); | ||||||
|  |     library.addIcons(faCaretDown); | ||||||
|  |     library.addIcons(faAngleRight); | ||||||
|  |     library.addIcons(faAngleLeft); | ||||||
|  |     library.addIcons(faBook); | ||||||
|  |     library.addIcons(faListUl); | ||||||
|  |     library.addIcons(faDownload); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user