From 738381702fea116aef8ebff4d445deda6929859b Mon Sep 17 00:00:00 2001 From: softsimon Date: Sat, 12 Feb 2022 00:15:13 +0400 Subject: [PATCH 01/13] Display top featured assets on Liquid dashboard --- .../app/dashboard/dashboard.component.html | 56 +++++++++++++++---- .../app/dashboard/dashboard.component.scss | 23 ++++++++ .../src/app/dashboard/dashboard.component.ts | 16 +++++- 3 files changed, 83 insertions(+), 12 deletions(-) diff --git a/frontend/src/app/dashboard/dashboard.component.html b/frontend/src/app/dashboard/dashboard.component.html index b3cbd5fa1..01a32ac7c 100644 --- a/frontend/src/app/dashboard/dashboard.component.html +++ b/frontend/src/app/dashboard/dashboard.component.html @@ -47,17 +47,36 @@
- -
- -
-
+ + +
+ +
+
+
+ + + + + + + + +
+ + + + + {{ group.name }} + {{ group.ticker }} +
+
@@ -158,6 +177,21 @@ + + + + + + + + +
+
+
+
+
+
+
diff --git a/frontend/src/app/dashboard/dashboard.component.scss b/frontend/src/app/dashboard/dashboard.component.scss index 39ca2101a..23c9b226e 100644 --- a/frontend/src/app/dashboard/dashboard.component.scss +++ b/frontend/src/app/dashboard/dashboard.component.scss @@ -283,3 +283,26 @@ margin-right: -2px; font-size: 10px; } + +.assetIcon { + width: 28px; + height: 28px; +} + +.asset-title { + text-align: left; +} + +.asset-ticker { + color: grey; +} + +.asset-icon { + width: 54px; + height: 52px; +} + +.asset-table { + width: calc(100% - 20px); + margin-left: 1.25rem; +} diff --git a/frontend/src/app/dashboard/dashboard.component.ts b/frontend/src/app/dashboard/dashboard.component.ts index 7a7e1fbf2..36ad73003 100644 --- a/frontend/src/app/dashboard/dashboard.component.ts +++ b/frontend/src/app/dashboard/dashboard.component.ts @@ -1,6 +1,6 @@ import { ChangeDetectionStrategy, Component, Inject, LOCALE_ID, OnInit } from '@angular/core'; import { combineLatest, merge, Observable, of, timer } from 'rxjs'; -import { filter, map, scan, share, switchMap, tap } from 'rxjs/operators'; +import { filter, map, scan, share, switchMap, take, tap } from 'rxjs/operators'; import { BlockExtended, OptimizedMempoolStats } from '../interfaces/node-api.interface'; import { MempoolInfo, TransactionStripped } from '../interfaces/websocket.interface'; import { ApiService } from '../services/api.service'; @@ -34,6 +34,7 @@ interface MempoolStatsData { }) export class DashboardComponent implements OnInit { collapseLevel: string; + featuredAssets$: Observable; network$: Observable; mempoolBlocksData$: Observable; mempoolInfoData$: Observable; @@ -124,6 +125,19 @@ export class DashboardComponent implements OnInit { }) ); + this.featuredAssets$ = this.apiService.listFeaturedAssets$() + .pipe( + take(5), + map((featured) => { + for (const feature of featured) { + if (feature.assets) { + feature.asset = feature.assets[0]; + } + } + return featured; + }) + ); + this.blocks$ = this.stateService.blocks$ .pipe( tap(([block]) => { From 294d7915e1d537691885099d68f0ddbff929b0de Mon Sep 17 00:00:00 2001 From: softsimon Date: Sun, 13 Feb 2022 00:46:42 +0400 Subject: [PATCH 02/13] Liquid dashboard assets updates --- frontend/src/app/app.module.ts | 2 + frontend/src/app/bitcoin.utils.ts | 2 +- .../asset-circulation.component.html | 3 ++ .../asset-circulation.component.scss | 0 .../asset-circulation.component.ts | 53 +++++++++++++++++++ .../app/dashboard/dashboard.component.html | 13 +++-- .../app/dashboard/dashboard.component.scss | 13 +++-- .../src/app/dashboard/dashboard.component.ts | 4 +- 8 files changed, 80 insertions(+), 10 deletions(-) create mode 100644 frontend/src/app/components/asset-circulation/asset-circulation.component.html create mode 100644 frontend/src/app/components/asset-circulation/asset-circulation.component.scss create mode 100644 frontend/src/app/components/asset-circulation/asset-circulation.component.ts diff --git a/frontend/src/app/app.module.ts b/frontend/src/app/app.module.ts index 97fc16204..28a3f60b7 100644 --- a/frontend/src/app/app.module.ts +++ b/frontend/src/app/app.module.ts @@ -67,6 +67,7 @@ import { PushTransactionComponent } from './components/push-transaction/push-tra 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'; @NgModule({ declarations: [ @@ -116,6 +117,7 @@ import { AssetGroupComponent } from './components/assets/asset-group/asset-group AssetsNavComponent, AssetsFeaturedComponent, AssetGroupComponent, + AssetCirculationComponent, ], imports: [ BrowserModule.withServerTransition({ appId: 'serverApp' }), diff --git a/frontend/src/app/bitcoin.utils.ts b/frontend/src/app/bitcoin.utils.ts index 577249940..ff2d7a885 100644 --- a/frontend/src/app/bitcoin.utils.ts +++ b/frontend/src/app/bitcoin.utils.ts @@ -69,7 +69,7 @@ export function calcSegwitFeeGains(tx: Transaction) { export function moveDec(num: number, n: number) { let frac, int, neg, ref; if (n === 0) { - return num; + return num.toString(); } ref = ('' + num).split('.'), int = ref[0], frac = ref[1]; int || (int = '0'); diff --git a/frontend/src/app/components/asset-circulation/asset-circulation.component.html b/frontend/src/app/components/asset-circulation/asset-circulation.component.html new file mode 100644 index 000000000..2f4dca8eb --- /dev/null +++ b/frontend/src/app/components/asset-circulation/asset-circulation.component.html @@ -0,0 +1,3 @@ + + {{ circulatingAmount }} + \ No newline at end of file diff --git a/frontend/src/app/components/asset-circulation/asset-circulation.component.scss b/frontend/src/app/components/asset-circulation/asset-circulation.component.scss new file mode 100644 index 000000000..e69de29bb diff --git a/frontend/src/app/components/asset-circulation/asset-circulation.component.ts b/frontend/src/app/components/asset-circulation/asset-circulation.component.ts new file mode 100644 index 000000000..6d1511c6e --- /dev/null +++ b/frontend/src/app/components/asset-circulation/asset-circulation.component.ts @@ -0,0 +1,53 @@ +import { ChangeDetectionStrategy, Component, Inject, Input, LOCALE_ID, OnInit } from '@angular/core'; +import { combineLatest, Observable } from 'rxjs'; +import { map } from 'rxjs/operators'; +import { moveDec } from 'src/app/bitcoin.utils'; +import { AssetsService } from 'src/app/services/assets.service'; +import { ElectrsApiService } from 'src/app/services/electrs-api.service'; +import { formatNumber } from '@angular/common'; +import { environment } from 'src/environments/environment'; + +@Component({ + selector: 'app-asset-circulation', + templateUrl: './asset-circulation.component.html', + styleUrls: ['./asset-circulation.component.scss'], + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class AssetCirculationComponent implements OnInit { + @Input() assetId: string; + + circulatingAmount$: Observable; + + constructor( + private electrsApiService: ElectrsApiService, + private assetsService: AssetsService, + @Inject(LOCALE_ID) private locale: string, + ) { } + + ngOnInit(): void { + this.circulatingAmount$ = combineLatest([ + this.electrsApiService.getAsset$(this.assetId), + this.assetsService.getAssetsMinimalJson$] + ) + .pipe( + map(([asset, assetsMinimal]) => { + const assetData = assetsMinimal[asset.asset_id]; + if (!asset.chain_stats.has_blinded_issuances) { + if (asset.asset_id === environment.nativeAssetId) { + return formatNumber(this.formatAmount(asset.chain_stats.peg_in_amount - asset.chain_stats.burned_amount + - asset.chain_stats.peg_out_amount, assetData[3]), this.locale, '1.2-2'); + } else { + return formatNumber(this.formatAmount(asset.chain_stats.issued_amount + - asset.chain_stats.burned_amount, assetData[3]), this.locale, '1.2-2'); + } + } else { + return $localize`:@@shared.confidential:Confidential`; + } + }), + ); + } + + formatAmount(value: number, precision = 0): number { + return parseFloat(moveDec(value, -precision)); + } +} diff --git a/frontend/src/app/dashboard/dashboard.component.html b/frontend/src/app/dashboard/dashboard.component.html index 01a32ac7c..06f9cb0eb 100644 --- a/frontend/src/app/dashboard/dashboard.component.html +++ b/frontend/src/app/dashboard/dashboard.component.html @@ -47,7 +47,7 @@
- +
{{ group.name }} - {{ group.ticker }} + {{ group.ticker }} + @@ -180,13 +181,19 @@ - + + +
+
+
+
+
diff --git a/frontend/src/app/dashboard/dashboard.component.scss b/frontend/src/app/dashboard/dashboard.component.scss index 23c9b226e..e518beaa7 100644 --- a/frontend/src/app/dashboard/dashboard.component.scss +++ b/frontend/src/app/dashboard/dashboard.component.scss @@ -285,8 +285,8 @@ } .assetIcon { - width: 28px; - height: 28px; + width: 40px; + height: 40px; } .asset-title { @@ -298,11 +298,16 @@ } .asset-icon { - width: 54px; - height: 52px; + width: 65px; + height: 65px; } .asset-table { width: calc(100% - 20px); margin-left: 1.25rem; } + +.circulating-amount { + text-align: right; + width: 100%; +} diff --git a/frontend/src/app/dashboard/dashboard.component.ts b/frontend/src/app/dashboard/dashboard.component.ts index 36ad73003..b8a32210c 100644 --- a/frontend/src/app/dashboard/dashboard.component.ts +++ b/frontend/src/app/dashboard/dashboard.component.ts @@ -127,15 +127,15 @@ export class DashboardComponent implements OnInit { this.featuredAssets$ = this.apiService.listFeaturedAssets$() .pipe( - take(5), map((featured) => { + featured = featured.slice(0, 4); for (const feature of featured) { if (feature.assets) { feature.asset = feature.assets[0]; } } return featured; - }) + }), ); this.blocks$ = this.stateService.blocks$ From b6f89b1a3e480330bf1081e43c3302dd5b744a11 Mon Sep 17 00:00:00 2001 From: softsimon Date: Wed, 16 Feb 2022 17:32:12 +0400 Subject: [PATCH 03/13] Moving ticker to circulating amount --- .../asset-circulation.component.html | 4 ++-- .../asset-circulation.component.scss | 3 +++ .../asset-circulation.component.ts | 21 +++++++++++++------ .../app/dashboard/dashboard.component.html | 1 - .../app/dashboard/dashboard.component.scss | 4 ---- .../src/app/dashboard/dashboard.component.ts | 12 +++++------ 6 files changed, 26 insertions(+), 19 deletions(-) diff --git a/frontend/src/app/components/asset-circulation/asset-circulation.component.html b/frontend/src/app/components/asset-circulation/asset-circulation.component.html index 2f4dca8eb..1c6337721 100644 --- a/frontend/src/app/components/asset-circulation/asset-circulation.component.html +++ b/frontend/src/app/components/asset-circulation/asset-circulation.component.html @@ -1,3 +1,3 @@ - - {{ circulatingAmount }} + + {{ circulating.amount }} {{ circulating.ticker }} \ No newline at end of file diff --git a/frontend/src/app/components/asset-circulation/asset-circulation.component.scss b/frontend/src/app/components/asset-circulation/asset-circulation.component.scss index e69de29bb..5e43c829c 100644 --- a/frontend/src/app/components/asset-circulation/asset-circulation.component.scss +++ b/frontend/src/app/components/asset-circulation/asset-circulation.component.scss @@ -0,0 +1,3 @@ +.ticker { + color: grey; +} diff --git a/frontend/src/app/components/asset-circulation/asset-circulation.component.ts b/frontend/src/app/components/asset-circulation/asset-circulation.component.ts index 6d1511c6e..d1a56abb0 100644 --- a/frontend/src/app/components/asset-circulation/asset-circulation.component.ts +++ b/frontend/src/app/components/asset-circulation/asset-circulation.component.ts @@ -16,7 +16,7 @@ import { environment } from 'src/environments/environment'; export class AssetCirculationComponent implements OnInit { @Input() assetId: string; - circulatingAmount$: Observable; + circulatingAmount$: Observable<{ amount: string, ticker: string}>; constructor( private electrsApiService: ElectrsApiService, @@ -34,14 +34,23 @@ export class AssetCirculationComponent implements OnInit { const assetData = assetsMinimal[asset.asset_id]; if (!asset.chain_stats.has_blinded_issuances) { if (asset.asset_id === environment.nativeAssetId) { - return formatNumber(this.formatAmount(asset.chain_stats.peg_in_amount - asset.chain_stats.burned_amount - - asset.chain_stats.peg_out_amount, assetData[3]), this.locale, '1.2-2'); + return { + amount: formatNumber(this.formatAmount(asset.chain_stats.peg_in_amount - asset.chain_stats.burned_amount + - asset.chain_stats.peg_out_amount, assetData[3]), this.locale, '1.2-2'), + ticker: assetData[1] + }; } else { - return formatNumber(this.formatAmount(asset.chain_stats.issued_amount - - asset.chain_stats.burned_amount, assetData[3]), this.locale, '1.2-2'); + return { + amount: formatNumber(this.formatAmount(asset.chain_stats.issued_amount + - asset.chain_stats.burned_amount, assetData[3]), this.locale, '1.2-2'), + ticker: assetData[1] + }; } } else { - return $localize`:@@shared.confidential:Confidential`; + return { + amount: $localize`:@@shared.confidential:Confidential`, + ticker: '', + }; } }), ); diff --git a/frontend/src/app/dashboard/dashboard.component.html b/frontend/src/app/dashboard/dashboard.component.html index 06f9cb0eb..7fb17ef83 100644 --- a/frontend/src/app/dashboard/dashboard.component.html +++ b/frontend/src/app/dashboard/dashboard.component.html @@ -72,7 +72,6 @@ {{ group.name }} - {{ group.ticker }} diff --git a/frontend/src/app/dashboard/dashboard.component.scss b/frontend/src/app/dashboard/dashboard.component.scss index e518beaa7..4ceac7a6b 100644 --- a/frontend/src/app/dashboard/dashboard.component.scss +++ b/frontend/src/app/dashboard/dashboard.component.scss @@ -293,10 +293,6 @@ text-align: left; } -.asset-ticker { - color: grey; -} - .asset-icon { width: 65px; height: 65px; diff --git a/frontend/src/app/dashboard/dashboard.component.ts b/frontend/src/app/dashboard/dashboard.component.ts index b8a32210c..33fb5ea91 100644 --- a/frontend/src/app/dashboard/dashboard.component.ts +++ b/frontend/src/app/dashboard/dashboard.component.ts @@ -1,6 +1,6 @@ import { ChangeDetectionStrategy, Component, Inject, LOCALE_ID, OnInit } from '@angular/core'; -import { combineLatest, merge, Observable, of, timer } from 'rxjs'; -import { filter, map, scan, share, switchMap, take, tap } from 'rxjs/operators'; +import { combineLatest, merge, Observable, of } from 'rxjs'; +import { filter, map, scan, share, switchMap, tap } from 'rxjs/operators'; import { BlockExtended, OptimizedMempoolStats } from '../interfaces/node-api.interface'; import { MempoolInfo, TransactionStripped } from '../interfaces/websocket.interface'; import { ApiService } from '../services/api.service'; @@ -128,13 +128,13 @@ export class DashboardComponent implements OnInit { this.featuredAssets$ = this.apiService.listFeaturedAssets$() .pipe( map((featured) => { - featured = featured.slice(0, 4); + const newArray = []; for (const feature of featured) { - if (feature.assets) { - feature.asset = feature.assets[0]; + if (feature.ticker !== 'L-BTC' && feature.asset) { + newArray.push(feature); } } - return featured; + return newArray.slice(0, 4); }), ); From fb2c0345a7c3ad0339e9c175b11334de718cdf06 Mon Sep 17 00:00:00 2001 From: nymkappa Date: Thu, 17 Feb 2022 22:57:10 +0900 Subject: [PATCH 04/13] Show miner tag under blocks in the mining dashboard --- .../blockchain-blocks.component.html | 2 +- .../blockchain-blocks.component.scss | 13 ++++++++++- .../blockchain-blocks.component.ts | 23 +++++++++++++++---- .../blockchain/blockchain.component.html | 4 ++-- .../blockchain/blockchain.component.scss | 12 +--------- .../blockchain/blockchain.component.ts | 1 - 6 files changed, 34 insertions(+), 21 deletions(-) diff --git a/frontend/src/app/components/blockchain-blocks/blockchain-blocks.component.html b/frontend/src/app/components/blockchain-blocks/blockchain-blocks.component.html index 1914b5d08..3c85787e7 100644 --- a/frontend/src/app/components/blockchain-blocks/blockchain-blocks.component.html +++ b/frontend/src/app/components/blockchain-blocks/blockchain-blocks.component.html @@ -21,7 +21,7 @@
-
+ diff --git a/frontend/src/app/components/blockchain-blocks/blockchain-blocks.component.scss b/frontend/src/app/components/blockchain-blocks/blockchain-blocks.component.scss index a20b1cb35..5a9a7ea18 100644 --- a/frontend/src/app/components/blockchain-blocks/blockchain-blocks.component.scss +++ b/frontend/src/app/components/blockchain-blocks/blockchain-blocks.component.scss @@ -129,4 +129,15 @@ position: relative; top: 15px; z-index: 101; -} \ No newline at end of file +} + +.animated { + transition: all 0.15s ease-in-out; +} +.show { + opacity: 1; +} +.hide { + opacity: 0; + pointer-events : none; +} diff --git a/frontend/src/app/components/blockchain-blocks/blockchain-blocks.component.ts b/frontend/src/app/components/blockchain-blocks/blockchain-blocks.component.ts index a8d055602..42d045201 100644 --- a/frontend/src/app/components/blockchain-blocks/blockchain-blocks.component.ts +++ b/frontend/src/app/components/blockchain-blocks/blockchain-blocks.component.ts @@ -1,9 +1,10 @@ -import { Component, OnInit, OnDestroy, ChangeDetectionStrategy, ChangeDetectorRef, Input } from '@angular/core'; +import { Component, OnInit, OnDestroy, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core'; import { Observable, Subscription } from 'rxjs'; import { StateService } from 'src/app/services/state.service'; -import { Router } from '@angular/router'; import { specialBlocks } from 'src/app/app.constants'; import { BlockExtended } from 'src/app/interfaces/node-api.interface'; +import { Location } from '@angular/common'; +import { config } from 'process'; @Component({ selector: 'app-blockchain-blocks', @@ -12,7 +13,6 @@ import { BlockExtended } from 'src/app/interfaces/node-api.interface'; changeDetection: ChangeDetectionStrategy.OnPush, }) export class BlockchainBlocksComponent implements OnInit, OnDestroy { - @Input() showMiningInfo: boolean = false; specialBlocks = specialBlocks; network = ''; blocks: BlockExtended[] = []; @@ -32,6 +32,7 @@ export class BlockchainBlocksComponent implements OnInit, OnDestroy { arrowLeftPx = 30; blocksFilled = false; transition = '1s'; + showMiningInfo = false; gradientColors = { '': ['#9339f4', '#105fb0'], @@ -44,11 +45,23 @@ export class BlockchainBlocksComponent implements OnInit, OnDestroy { constructor( public stateService: StateService, - private router: Router, private cd: ChangeDetectorRef, - ) { } + private location: Location, + private cdr: ChangeDetectorRef + ) { + } + + enabledMiningInfoIfNeeded(url) { + this.showMiningInfo = url === '/mining'; + this.cdr.detectChanges(); // Need to update the view asap + } ngOnInit() { + if (['', 'testnet', 'signet'].includes(this.stateService.network)) { + this.enabledMiningInfoIfNeeded(this.location.path()); + this.location.onUrlChange((url) => this.enabledMiningInfoIfNeeded(url)); + } + if (this.stateService.network === 'liquid' || this.stateService.network === 'liquidtestnet') { this.feeRounding = '1.0-1'; } diff --git a/frontend/src/app/components/blockchain/blockchain.component.html b/frontend/src/app/components/blockchain/blockchain.component.html index 19ee5676d..c49d08c5a 100644 --- a/frontend/src/app/components/blockchain/blockchain.component.html +++ b/frontend/src/app/components/blockchain/blockchain.component.html @@ -1,8 +1,8 @@ -
+
- +
diff --git a/frontend/src/app/components/blockchain/blockchain.component.scss b/frontend/src/app/components/blockchain/blockchain.component.scss index a33fc58d2..6d415cd2a 100644 --- a/frontend/src/app/components/blockchain/blockchain.component.scss +++ b/frontend/src/app/components/blockchain/blockchain.component.scss @@ -59,14 +59,4 @@ width: 300px; left: -150px; top: 0px; -} - -.animate { - transition: all 1s ease-in-out; -} -.move-left { - transform: translate(-40%, 0); - @media (max-width: 767.98px) { - transform: translate(-85%, 0); - } -} +} \ No newline at end of file diff --git a/frontend/src/app/components/blockchain/blockchain.component.ts b/frontend/src/app/components/blockchain/blockchain.component.ts index b47eee833..5c00c5ef7 100644 --- a/frontend/src/app/components/blockchain/blockchain.component.ts +++ b/frontend/src/app/components/blockchain/blockchain.component.ts @@ -8,7 +8,6 @@ import { StateService } from 'src/app/services/state.service'; changeDetection: ChangeDetectionStrategy.OnPush, }) export class BlockchainComponent implements OnInit { - showMiningInfo: boolean = false; network: string; constructor( From e816f536372587f0842b50f71d6fe66e97195caa Mon Sep 17 00:00:00 2001 From: softsimon Date: Fri, 18 Feb 2022 00:37:37 +0400 Subject: [PATCH 05/13] Flip Liquid dashboard locations --- .../app/dashboard/dashboard.component.html | 54 ++++++++++--------- .../app/dashboard/dashboard.component.scss | 8 ++- 2 files changed, 31 insertions(+), 31 deletions(-) diff --git a/frontend/src/app/dashboard/dashboard.component.html b/frontend/src/app/dashboard/dashboard.component.html index 7fb17ef83..a871f6141 100644 --- a/frontend/src/app/dashboard/dashboard.component.html +++ b/frontend/src/app/dashboard/dashboard.component.html @@ -16,38 +16,40 @@
- +
- +
-
-
Transaction Fees
-
-
- + +
+
Transaction Fees
+
+
+ +
-
-
- -
+
+ +
+
- +
- +
- - + + + + + + +
+
+
+ +
+
+
@@ -76,17 +89,6 @@
-
-
-
-
-
-
-
- -
-
-
diff --git a/frontend/src/app/dashboard/dashboard.component.scss b/frontend/src/app/dashboard/dashboard.component.scss index 4ceac7a6b..6fb2ee125 100644 --- a/frontend/src/app/dashboard/dashboard.component.scss +++ b/frontend/src/app/dashboard/dashboard.component.scss @@ -291,19 +291,17 @@ .asset-title { text-align: left; + vertical-align: middle; } .asset-icon { width: 65px; height: 65px; -} - -.asset-table { - width: calc(100% - 20px); - margin-left: 1.25rem; + vertical-align: middle; } .circulating-amount { text-align: right; width: 100%; + vertical-align: middle; } From 0740049cbcee9d0bba9c3f27b6663017f1234a9a Mon Sep 17 00:00:00 2001 From: Felipe Knorr Kuhn <100320+knorrium@users.noreply.github.com> Date: Thu, 17 Feb 2022 20:51:04 -0800 Subject: [PATCH 06/13] Update docker default min loglevel to info --- README.md | 4 ++-- docker/backend/start.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index af4ae224f..5b994955c 100644 --- a/README.md +++ b/README.md @@ -91,11 +91,11 @@ JSON: "PRICE_FEED_UPDATE_INTERVAL": 600, "USE_SECOND_NODE_FOR_MINFEE": false, "EXTERNAL_ASSETS": ["https://mempool.space/resources/pools.json"], - "STDOUT_LOG_MIN_PRIORITY": "debug" + "STDOUT_LOG_MIN_PRIORITY": "info" }, ``` -docker-compose overrides:: +docker-compose overrides: ``` MEMPOOL_NETWORK: "" MEMPOOL_BACKEND: "" diff --git a/docker/backend/start.sh b/docker/backend/start.sh index 019f16217..d26a93b08 100644 --- a/docker/backend/start.sh +++ b/docker/backend/start.sh @@ -17,7 +17,7 @@ __MEMPOOL_INDEXING_BLOCKS_AMOUNT__=${MEMPOOL_INDEXING_BLOCKS_AMOUNT:=1100} __MEMPOOL_PRICE_FEED_UPDATE_INTERVAL__=${MEMPOOL_PRICE_FEED_UPDATE_INTERVAL:=600} __MEMPOOL_USE_SECOND_NODE_FOR_MINFEE__=${MEMPOOL_USE_SECOND_NODE_FOR_MINFEE:=false} __MEMPOOL_EXTERNAL_ASSETS__=${MEMPOOL_EXTERNAL_ASSETS:=[\"https://mempool.space/resources/pools.json\"]} -__MEMPOOL_STDOUT_LOG_MIN_PRIORITY__=${MEMPOOL_STDOUT_LOG_MIN_PRIORITY:=debug} +__MEMPOOL_STDOUT_LOG_MIN_PRIORITY__=${MEMPOOL_STDOUT_LOG_MIN_PRIORITY:=info} # CORE_RPC __CORE_RPC_HOST__=${CORE_RPC_HOST:=127.0.0.1} From 008a4b51cc137c15322a66cc92756bcd63cc0339 Mon Sep 17 00:00:00 2001 From: nymkappa Date: Fri, 18 Feb 2022 22:25:31 +0900 Subject: [PATCH 07/13] Remove duplicated ChangeDetectorRef in blockchains blocks component --- .../blockchain-blocks/blockchain-blocks.component.html | 8 ++++---- .../blockchain-blocks/blockchain-blocks.component.ts | 3 +-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/frontend/src/app/components/blockchain-blocks/blockchain-blocks.component.html b/frontend/src/app/components/blockchain-blocks/blockchain-blocks.component.html index 3c85787e7..516ad5ba6 100644 --- a/frontend/src/app/components/blockchain-blocks/blockchain-blocks.component.html +++ b/frontend/src/app/components/blockchain-blocks/blockchain-blocks.component.html @@ -21,10 +21,10 @@
- +
diff --git a/frontend/src/app/components/blockchain-blocks/blockchain-blocks.component.ts b/frontend/src/app/components/blockchain-blocks/blockchain-blocks.component.ts index 42d045201..7a0123a78 100644 --- a/frontend/src/app/components/blockchain-blocks/blockchain-blocks.component.ts +++ b/frontend/src/app/components/blockchain-blocks/blockchain-blocks.component.ts @@ -47,13 +47,12 @@ export class BlockchainBlocksComponent implements OnInit, OnDestroy { public stateService: StateService, private cd: ChangeDetectorRef, private location: Location, - private cdr: ChangeDetectorRef ) { } enabledMiningInfoIfNeeded(url) { this.showMiningInfo = url === '/mining'; - this.cdr.detectChanges(); // Need to update the view asap + this.cd.markForCheck(); // Need to update the view asap } ngOnInit() { From af8d4a8514bad17ae7af1a5a42ed35ae52ca5853 Mon Sep 17 00:00:00 2001 From: wiz Date: Sun, 20 Feb 2022 08:43:59 +0900 Subject: [PATCH 08/13] Add nix-bitcoin to Community Integrations on About page --- .../app/components/about/about.component.html | 8 ++++---- frontend/src/resources/profile/nix-bitcoin.png | Bin 0 -> 18094 bytes 2 files changed, 4 insertions(+), 4 deletions(-) create mode 100644 frontend/src/resources/profile/nix-bitcoin.png diff --git a/frontend/src/app/components/about/about.component.html b/frontend/src/app/components/about/about.component.html index b9050d41e..0b68183d2 100644 --- a/frontend/src/app/components/about/about.component.html +++ b/frontend/src/app/components/about/about.component.html @@ -106,6 +106,10 @@ Citadel + + + NixOS + Electrum @@ -142,10 +146,6 @@ Marina - - - Satpile -
diff --git a/frontend/src/resources/profile/nix-bitcoin.png b/frontend/src/resources/profile/nix-bitcoin.png new file mode 100644 index 0000000000000000000000000000000000000000..cd8d3e9d72628ec0697f768d563eb6cd77f3462c GIT binary patch literal 18094 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 BTlW9} literal 0 HcmV?d00001 From 6f939e1bad60c6c419538664682e6620c5e04782 Mon Sep 17 00:00:00 2001 From: wiz Date: Sun, 20 Feb 2022 08:30:35 +0900 Subject: [PATCH 09/13] Tweak text on About page so it can be displayed on all networks --- frontend/src/app/components/about/about.component.html | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/frontend/src/app/components/about/about.component.html b/frontend/src/app/components/about/about.component.html index b9050d41e..7a39a40dd 100644 --- a/frontend/src/app/components/about/about.component.html +++ b/frontend/src/app/components/about/about.component.html @@ -8,13 +8,10 @@
-
+
The Mempool Open Source Project
-

Building a mempool and blockchain explorer for the Bitcoin community, focusing on the transaction fee market and multi-layer ecosystem, without any advertising, altcoins, or third-party trackers.

+

Our mempool and blockchain explorer for the Bitcoin community, focusing on the transaction fee market and multi-layer ecosystem, completely self-hosted without any trusted third-parties.

- -
-
+

+ +

Enterprise Sponsors 🚀

@@ -73,9 +79,6 @@
- - - Navigate to https://mempool.space/sponsor to sponsor
@@ -177,7 +180,7 @@

- +

Project Contributors

@@ -252,7 +255,7 @@ Third-party Licenses Terms of Service
- + From edb8f5ecd17037f1b8936129e1a4fe4edd54cbe5 Mon Sep 17 00:00:00 2001 From: wiz Date: Sun, 20 Feb 2022 12:02:35 +0900 Subject: [PATCH 11/13] Inline all Enterprise Sponsor logos on About page --- .../app/components/about/about.component.html | 103 +++++++++++++++++- .../src/resources/profile/blockstream.svg | 43 -------- frontend/src/resources/profile/exodus.svg | 16 --- frontend/src/resources/profile/foundry.svg | 9 -- frontend/src/resources/profile/gemini.svg | 6 - frontend/src/resources/profile/spiral.svg | 10 -- frontend/src/resources/profile/unchained.svg | 24 ---- 7 files changed, 97 insertions(+), 114 deletions(-) delete mode 100644 frontend/src/resources/profile/blockstream.svg delete mode 100644 frontend/src/resources/profile/exodus.svg delete mode 100644 frontend/src/resources/profile/foundry.svg delete mode 100644 frontend/src/resources/profile/gemini.svg delete mode 100644 frontend/src/resources/profile/spiral.svg delete mode 100644 frontend/src/resources/profile/unchained.svg diff --git a/frontend/src/app/components/about/about.component.html b/frontend/src/app/components/about/about.component.html index b9050d41e..b6546f240 100644 --- a/frontend/src/app/components/about/about.component.html +++ b/frontend/src/app/components/about/about.component.html @@ -35,27 +35,118 @@

Enterprise Sponsors 🚀

diff --git a/frontend/src/resources/profile/blockstream.svg b/frontend/src/resources/profile/blockstream.svg deleted file mode 100644 index 6dc32eab9..000000000 --- a/frontend/src/resources/profile/blockstream.svg +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/frontend/src/resources/profile/exodus.svg b/frontend/src/resources/profile/exodus.svg deleted file mode 100644 index 082cba7a5..000000000 --- a/frontend/src/resources/profile/exodus.svg +++ /dev/null @@ -1,16 +0,0 @@ - - - Exodus_logo - - - - - - - - diff --git a/frontend/src/resources/profile/foundry.svg b/frontend/src/resources/profile/foundry.svg deleted file mode 100644 index 3647e994a..000000000 --- a/frontend/src/resources/profile/foundry.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/frontend/src/resources/profile/gemini.svg b/frontend/src/resources/profile/gemini.svg deleted file mode 100644 index 6aeecf1b9..000000000 --- a/frontend/src/resources/profile/gemini.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/frontend/src/resources/profile/spiral.svg b/frontend/src/resources/profile/spiral.svg deleted file mode 100644 index c21f5d70c..000000000 --- a/frontend/src/resources/profile/spiral.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/frontend/src/resources/profile/unchained.svg b/frontend/src/resources/profile/unchained.svg deleted file mode 100644 index 2ab4bc9da..000000000 --- a/frontend/src/resources/profile/unchained.svg +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - From b70df576d407eb00e10c2f76adbaeee51dbcb9d5 Mon Sep 17 00:00:00 2001 From: softsimon Date: Sun, 20 Feb 2022 13:33:46 +0400 Subject: [PATCH 12/13] Fixing enterprise sponsors margin --- frontend/src/app/components/about/about.component.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/app/components/about/about.component.scss b/frontend/src/app/components/about/about.component.scss index 4a14307cb..5362484bc 100644 --- a/frontend/src/app/components/about/about.component.scss +++ b/frontend/src/app/components/about/about.component.scss @@ -123,7 +123,7 @@ display: block; transition: 150ms all; } - img { + img, svg { margin: 40px 29px 10px; } } From 3b7d36e9e96fc2800ce477defe3634ac062411f2 Mon Sep 17 00:00:00 2001 From: wiz Date: Sun, 20 Feb 2022 20:11:31 +0900 Subject: [PATCH 13/13] Fix mouseover CSS for inline SVG on About page --- .../app/components/about/about.component.scss | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/frontend/src/app/components/about/about.component.scss b/frontend/src/app/components/about/about.component.scss index 5362484bc..8b9466732 100644 --- a/frontend/src/app/components/about/about.component.scss +++ b/frontend/src/app/components/about/about.component.scss @@ -9,7 +9,7 @@ border-radius: 50%; margin: 25px; line-height: 32px; - } + } .intro { margin: 25px auto 30px; @@ -41,7 +41,7 @@ } .alliances, - .enterprise-sponsor, + .enterprise-sponsor, .community-integrations-sponsor, .maintainers { margin-top: 68px; @@ -58,7 +58,7 @@ .wrapper { margin: 20px auto; } - .btn-primary { + .btn-primary { max-width: 250px; margin: auto; height: 45px; @@ -68,7 +68,7 @@ .alliances { margin-bottom: 100px; - a { + a { &:nth-child(3) { position: relative; top: 10px; @@ -88,17 +88,17 @@ margin: 50px 30px 0px; } } - .liquid { + .liquid { top: 7px; position: relative; } - .copa { + .copa { height: auto; top: 23px; position: relative; width: 300px; } - .bisq { + .bisq { top: 3px; position: relative; } @@ -115,11 +115,11 @@ display: inline-block; &:hover { text-decoration: none; - img { + img, svg { transform: scale(1.1); } } - img, span{ + img, svg, span { display: block; transition: 150ms all; }