Compare commits
13 Commits
v2.5.0-bet
...
v2.5.0-bet
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1718ddd4c3 | ||
|
|
32c2db2153 | ||
|
|
0abb9cbb7c | ||
|
|
e2e71c7a46 | ||
|
|
5839ed428e | ||
|
|
af6d115dbb | ||
|
|
194968d16f | ||
|
|
30686bd322 | ||
|
|
175c645777 | ||
|
|
587a259843 | ||
|
|
64749ca726 | ||
|
|
8f2493dadb | ||
|
|
7c2493f3fa |
@@ -106,6 +106,13 @@ describe('Mempool Backend Config', () => {
|
|||||||
BISQ_URL: 'https://bisq.markets/api',
|
BISQ_URL: 'https://bisq.markets/api',
|
||||||
BISQ_ONION: 'http://bisqmktse2cabavbr2xjq7xw3h6g5ottemo5rolfcwt6aly6tp5fdryd.onion/api'
|
BISQ_ONION: 'http://bisqmktse2cabavbr2xjq7xw3h6g5ottemo5rolfcwt6aly6tp5fdryd.onion/api'
|
||||||
});
|
});
|
||||||
|
|
||||||
|
expect(config.MAXMIND).toStrictEqual({
|
||||||
|
ENABLED: true,
|
||||||
|
GEOLITE2_CITY: './backend/GeoIP/GeoLite2-City.mmdb',
|
||||||
|
GEOLITE2_ASN: './backend/GeoIP/GeoLite2-ASN.mmdb',
|
||||||
|
GEOIP2_ISP: ''
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -432,3 +432,26 @@ Corresponding `docker-compose.yml` overrides:
|
|||||||
CLIGHTNING_SOCKET: ""
|
CLIGHTNING_SOCKET: ""
|
||||||
...
|
...
|
||||||
```
|
```
|
||||||
|
|
||||||
|
<br/>
|
||||||
|
|
||||||
|
`mempool-config.json`:
|
||||||
|
```json
|
||||||
|
"MAXMIND": {
|
||||||
|
"ENABLED": true,
|
||||||
|
"GEOLITE2_CITY": "/usr/local/share/GeoIP/GeoLite2-City.mmdb",
|
||||||
|
"GEOLITE2_ASN": "/usr/local/share/GeoIP/GeoLite2-ASN.mmdb",
|
||||||
|
"GEOIP2_ISP": "/usr/local/share/GeoIP/GeoIP2-ISP.mmdb"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Corresponding `docker-compose.yml` overrides:
|
||||||
|
```yaml
|
||||||
|
api:
|
||||||
|
environment:
|
||||||
|
MAXMIND_ENABLED: true,
|
||||||
|
MAXMIND_GEOLITE2_CITY: "/backend/GeoIP/GeoLite2-City.mmdb",
|
||||||
|
MAXMIND_GEOLITE2_ASN": "/backend/GeoIP/GeoLite2-ASN.mmdb",
|
||||||
|
MAXMIND_GEOIP2_ISP": "/backend/GeoIP/GeoIP2-ISP.mmdb"
|
||||||
|
...
|
||||||
|
```
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ WORKDIR /backend
|
|||||||
|
|
||||||
RUN chown 1000:1000 ./
|
RUN chown 1000:1000 ./
|
||||||
COPY --from=builder --chown=1000:1000 /build/package ./package/
|
COPY --from=builder --chown=1000:1000 /build/package ./package/
|
||||||
|
COPY --from=builder --chown=1000:1000 /build/GeoIP ./GeoIP/
|
||||||
COPY --from=builder --chown=1000:1000 /build/mempool-config.json /build/start.sh /build/wait-for-it.sh ./
|
COPY --from=builder --chown=1000:1000 /build/mempool-config.json /build/start.sh /build/wait-for-it.sh ./
|
||||||
|
|
||||||
USER 1000
|
USER 1000
|
||||||
|
|||||||
@@ -107,5 +107,11 @@
|
|||||||
"LIQUID_ONION": "__EXTERNAL_DATA_SERVER_LIQUID_ONION__",
|
"LIQUID_ONION": "__EXTERNAL_DATA_SERVER_LIQUID_ONION__",
|
||||||
"BISQ_URL": "__EXTERNAL_DATA_SERVER_BISQ_URL__",
|
"BISQ_URL": "__EXTERNAL_DATA_SERVER_BISQ_URL__",
|
||||||
"BISQ_ONION": "__EXTERNAL_DATA_SERVER_BISQ_ONION__"
|
"BISQ_ONION": "__EXTERNAL_DATA_SERVER_BISQ_ONION__"
|
||||||
|
},
|
||||||
|
"MAXMIND": {
|
||||||
|
"ENABLED": __MAXMIND_ENABLED__,
|
||||||
|
"GEOLITE2_CITY": "__MAXMIND_GEOLITE2_CITY__",
|
||||||
|
"GEOLITE2_ASN": "__MAXMIND_GEOLITE2_ASN__",
|
||||||
|
"GEOIP2_ISP": "__MAXMIND_GEOIP2_ISP__"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,7 +22,6 @@ __MEMPOOL_EXTERNAL_MAX_RETRY__=${MEMPOOL_EXTERNAL_MAX_RETRY:=1}
|
|||||||
__MEMPOOL_EXTERNAL_RETRY_INTERVAL__=${MEMPOOL_EXTERNAL_RETRY_INTERVAL:=0}
|
__MEMPOOL_EXTERNAL_RETRY_INTERVAL__=${MEMPOOL_EXTERNAL_RETRY_INTERVAL:=0}
|
||||||
__MEMPOOL_USER_AGENT__=${MEMPOOL_USER_AGENT:=mempool}
|
__MEMPOOL_USER_AGENT__=${MEMPOOL_USER_AGENT:=mempool}
|
||||||
__MEMPOOL_STDOUT_LOG_MIN_PRIORITY__=${MEMPOOL_STDOUT_LOG_MIN_PRIORITY:=info}
|
__MEMPOOL_STDOUT_LOG_MIN_PRIORITY__=${MEMPOOL_STDOUT_LOG_MIN_PRIORITY:=info}
|
||||||
__MEMPOOL_INDEXING_BLOCKS_AMOUNT__=${MEMPOOL_INDEXING_BLOCKS_AMOUNT:=false}
|
|
||||||
__MEMPOOL_AUTOMATIC_BLOCK_REINDEXING__=${MEMPOOL_AUTOMATIC_BLOCK_REINDEXING:=false}
|
__MEMPOOL_AUTOMATIC_BLOCK_REINDEXING__=${MEMPOOL_AUTOMATIC_BLOCK_REINDEXING:=false}
|
||||||
__MEMPOOL_POOLS_JSON_URL__=${MEMPOOL_POOLS_JSON_URL:=https://raw.githubusercontent.com/mempool/mining-pools/master/pools-v2.json}
|
__MEMPOOL_POOLS_JSON_URL__=${MEMPOOL_POOLS_JSON_URL:=https://raw.githubusercontent.com/mempool/mining-pools/master/pools-v2.json}
|
||||||
__MEMPOOL_POOLS_JSON_TREE_URL__=${MEMPOOL_POOLS_JSON_TREE_URL:=https://api.github.com/repos/mempool/mining-pools/git/trees/master}
|
__MEMPOOL_POOLS_JSON_TREE_URL__=${MEMPOOL_POOLS_JSON_TREE_URL:=https://api.github.com/repos/mempool/mining-pools/git/trees/master}
|
||||||
@@ -112,6 +111,13 @@ __LND_REST_API_URL__=${LND_REST_API_URL:="https://localhost:8080"}
|
|||||||
# CLN
|
# CLN
|
||||||
__CLIGHTNING_SOCKET__=${CLIGHTNING_SOCKET:=""}
|
__CLIGHTNING_SOCKET__=${CLIGHTNING_SOCKET:=""}
|
||||||
|
|
||||||
|
# MAXMIND
|
||||||
|
__MAXMIND_ENABLED__=${MAXMIND_ENABLED:=true}
|
||||||
|
__MAXMIND_GEOLITE2_CITY__=${MAXMIND_GEOLITE2_CITY:="/backend/GeoIP/GeoLite2-City.mmdb"}
|
||||||
|
__MAXMIND_GEOLITE2_ASN__=${MAXMIND_GEOLITE2_ASN:="/backend/GeoIP/GeoLite2-ASN.mmdb"}
|
||||||
|
__MAXMIND_GEOIP2_ISP__=${MAXMIND_GEOIP2_ISP:=""}
|
||||||
|
|
||||||
|
|
||||||
mkdir -p "${__MEMPOOL_CACHE_DIR__}"
|
mkdir -p "${__MEMPOOL_CACHE_DIR__}"
|
||||||
|
|
||||||
sed -i "s/__MEMPOOL_NETWORK__/${__MEMPOOL_NETWORK__}/g" mempool-config.json
|
sed -i "s/__MEMPOOL_NETWORK__/${__MEMPOOL_NETWORK__}/g" mempool-config.json
|
||||||
@@ -135,7 +141,6 @@ sed -i "s!__MEMPOOL_EXTERNAL_MAX_RETRY__!${__MEMPOOL_EXTERNAL_MAX_RETRY__}!g" me
|
|||||||
sed -i "s!__MEMPOOL_EXTERNAL_RETRY_INTERVAL__!${__MEMPOOL_EXTERNAL_RETRY_INTERVAL__}!g" mempool-config.json
|
sed -i "s!__MEMPOOL_EXTERNAL_RETRY_INTERVAL__!${__MEMPOOL_EXTERNAL_RETRY_INTERVAL__}!g" mempool-config.json
|
||||||
sed -i "s!__MEMPOOL_USER_AGENT__!${__MEMPOOL_USER_AGENT__}!g" mempool-config.json
|
sed -i "s!__MEMPOOL_USER_AGENT__!${__MEMPOOL_USER_AGENT__}!g" mempool-config.json
|
||||||
sed -i "s/__MEMPOOL_STDOUT_LOG_MIN_PRIORITY__/${__MEMPOOL_STDOUT_LOG_MIN_PRIORITY__}/g" mempool-config.json
|
sed -i "s/__MEMPOOL_STDOUT_LOG_MIN_PRIORITY__/${__MEMPOOL_STDOUT_LOG_MIN_PRIORITY__}/g" mempool-config.json
|
||||||
sed -i "s/__MEMPOOL_INDEXING_BLOCKS_AMOUNT__/${__MEMPOOL_INDEXING_BLOCKS_AMOUNT__}/g" mempool-config.json
|
|
||||||
sed -i "s/__MEMPOOL_AUTOMATIC_BLOCK_REINDEXING__/${__MEMPOOL_AUTOMATIC_BLOCK_REINDEXING__}/g" mempool-config.json
|
sed -i "s/__MEMPOOL_AUTOMATIC_BLOCK_REINDEXING__/${__MEMPOOL_AUTOMATIC_BLOCK_REINDEXING__}/g" mempool-config.json
|
||||||
sed -i "s!__MEMPOOL_POOLS_JSON_URL__!${__MEMPOOL_POOLS_JSON_URL__}!g" mempool-config.json
|
sed -i "s!__MEMPOOL_POOLS_JSON_URL__!${__MEMPOOL_POOLS_JSON_URL__}!g" mempool-config.json
|
||||||
sed -i "s!__MEMPOOL_POOLS_JSON_TREE_URL__!${__MEMPOOL_POOLS_JSON_TREE_URL__}!g" mempool-config.json
|
sed -i "s!__MEMPOOL_POOLS_JSON_TREE_URL__!${__MEMPOOL_POOLS_JSON_TREE_URL__}!g" mempool-config.json
|
||||||
@@ -215,4 +220,11 @@ sed -i "s!__LND_REST_API_URL__!${__LND_REST_API_URL__}!g" mempool-config.json
|
|||||||
# CLN
|
# CLN
|
||||||
sed -i "s!__CLIGHTNING_SOCKET__!${__CLIGHTNING_SOCKET__}!g" mempool-config.json
|
sed -i "s!__CLIGHTNING_SOCKET__!${__CLIGHTNING_SOCKET__}!g" mempool-config.json
|
||||||
|
|
||||||
|
# MAXMIND
|
||||||
|
sed -i "s!__MAXMIND_ENABLED__!${__MAXMIND_ENABLED__}!g" mempool-config.json
|
||||||
|
sed -i "s!__MAXMIND_GEOLITE2_CITY__!${__MAXMIND_GEOLITE2_CITY__}!g" mempool-config.json
|
||||||
|
sed -i "s!__MAXMIND_GEOLITE2_ASN__!${__MAXMIND_GEOLITE2_ASN__}!g" mempool-config.json
|
||||||
|
sed -i "s!__MAXMIND_GEOIP2_ISP__!${__MAXMIND_GEOIP2_ISP__}!g" mempool-config.json
|
||||||
|
|
||||||
|
|
||||||
node /backend/package/index.js
|
node /backend/package/index.js
|
||||||
|
|||||||
@@ -3,6 +3,11 @@
|
|||||||
#backend
|
#backend
|
||||||
cp ./docker/backend/* ./backend/
|
cp ./docker/backend/* ./backend/
|
||||||
|
|
||||||
|
#geoip-data
|
||||||
|
mkdir -p ./backend/GeoIP/
|
||||||
|
wget -O ./backend/GeoIP/GeoLite2-City.mmdb https://raw.githubusercontent.com/mempool/geoip-data/master/GeoLite2-City.mmdb
|
||||||
|
wget -O ./backend/GeoIP/GeoLite2-ASN.mmdb https://raw.githubusercontent.com/mempool/geoip-data/master/GeoLite2-ASN.mmdb
|
||||||
|
|
||||||
#frontend
|
#frontend
|
||||||
localhostIP="127.0.0.1"
|
localhostIP="127.0.0.1"
|
||||||
cp ./docker/frontend/* ./frontend
|
cp ./docker/frontend/* ./frontend
|
||||||
|
|||||||
@@ -111,7 +111,7 @@ https://www.transifex.com/mempool/mempool/dashboard/
|
|||||||
* Spanish @maxhodler @bisqes
|
* Spanish @maxhodler @bisqes
|
||||||
* Persian @techmix
|
* Persian @techmix
|
||||||
* French @Bayernatoor
|
* French @Bayernatoor
|
||||||
* Korean @kcalvinalvinn
|
* Korean @kcalvinalvinn @sogoagain
|
||||||
* Italian @HodlBits
|
* Italian @HodlBits
|
||||||
* Hebrew @rapidlab309
|
* Hebrew @rapidlab309
|
||||||
* Georgian @wyd_idk
|
* Georgian @wyd_idk
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
</thead>
|
</thead>
|
||||||
<tbody *ngIf="blocks$ | async as blocks; else skeleton" [style]="isLoading ? 'opacity: 0.75' : ''">
|
<tbody *ngIf="blocks$ | async as blocks; else skeleton" [style]="isLoading ? 'opacity: 0.75' : ''">
|
||||||
<tr *ngFor="let block of blocks; let i= index; trackBy: trackByBlock">
|
<tr *ngFor="let block of blocks; let i= index; trackBy: trackByBlock">
|
||||||
<td class="text-left" [class]="widget ? 'widget' : ''">
|
<td class="height text-left" [class]="widget ? 'widget' : ''">
|
||||||
<a [routerLink]="['/block' | relativeUrl, block.id]" [state]="{ data: { block: block } }">{{ block.height }}</a>
|
<a [routerLink]="['/block' | relativeUrl, block.id]" [state]="{ data: { block: block } }">{{ block.height }}</a>
|
||||||
</td>
|
</td>
|
||||||
<td *ngIf="indexingAvailable" class="pool text-left" [ngClass]="{'widget': widget, 'legacy': !indexingAvailable}">
|
<td *ngIf="indexingAvailable" class="pool text-left" [ngClass]="{'widget': widget, 'legacy': !indexingAvailable}">
|
||||||
@@ -89,7 +89,6 @@
|
|||||||
<span class="skeleton-loader" style="max-width: 75px"></span>
|
<span class="skeleton-loader" style="max-width: 75px"></span>
|
||||||
</td>
|
</td>
|
||||||
<td *ngIf="indexingAvailable" class="pool text-left" [ngClass]="{'widget': widget, 'legacy': !indexingAvailable}">
|
<td *ngIf="indexingAvailable" class="pool text-left" [ngClass]="{'widget': widget, 'legacy': !indexingAvailable}">
|
||||||
<img width="1" height="25" style="opacity: 0">
|
|
||||||
<span class="skeleton-loader" style="max-width: 125px"></span>
|
<span class="skeleton-loader" style="max-width: 125px"></span>
|
||||||
</td>
|
</td>
|
||||||
<td class="timestamp" *ngIf="!widget" [class]="indexingAvailable ? '' : 'legacy'">
|
<td class="timestamp" *ngIf="!widget" [class]="indexingAvailable ? '' : 'legacy'">
|
||||||
@@ -98,7 +97,7 @@
|
|||||||
<td class="mined" *ngIf="!widget" [class]="indexingAvailable ? '' : 'legacy'">
|
<td class="mined" *ngIf="!widget" [class]="indexingAvailable ? '' : 'legacy'">
|
||||||
<span class="skeleton-loader" style="max-width: 125px"></span>
|
<span class="skeleton-loader" style="max-width: 125px"></span>
|
||||||
</td>
|
</td>
|
||||||
<td *ngIf="auditAvailable" class="health text-left" [ngClass]="{'widget': widget, 'legacy': !indexingAvailable}">
|
<td *ngIf="auditAvailable" class="health text-right" [ngClass]="{'widget': widget, 'legacy': !indexingAvailable}">
|
||||||
<span class="skeleton-loader" style="max-width: 75px"></span>
|
<span class="skeleton-loader" style="max-width: 75px"></span>
|
||||||
</td>
|
</td>
|
||||||
<td *ngIf="indexingAvailable" class="reward text-right" [ngClass]="{'widget': widget, 'legacy': !indexingAvailable}">
|
<td *ngIf="indexingAvailable" class="reward text-right" [ngClass]="{'widget': widget, 'legacy': !indexingAvailable}">
|
||||||
|
|||||||
@@ -51,7 +51,12 @@ tr, td, th {
|
|||||||
.pool.widget {
|
.pool.widget {
|
||||||
width: 40%;
|
width: 40%;
|
||||||
padding-left: 24px;
|
padding-left: 24px;
|
||||||
@media (max-width: 376px) {
|
@media (min-width: 768px) AND (max-width: 926px) {
|
||||||
|
padding-left: 0px;
|
||||||
|
width: 60%;
|
||||||
|
}
|
||||||
|
@media (max-width: 430px) {
|
||||||
|
padding-left: 0px;
|
||||||
width: 60%;
|
width: 60%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -59,6 +64,10 @@ tr, td, th {
|
|||||||
display: inline-block;
|
display: inline-block;
|
||||||
vertical-align: text-top;
|
vertical-align: text-top;
|
||||||
padding-left: 10px;
|
padding-left: 10px;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
max-width: 160px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.height {
|
.height {
|
||||||
@@ -69,6 +78,12 @@ tr, td, th {
|
|||||||
@media (max-width: 576px) {
|
@media (max-width: 576px) {
|
||||||
width: 10%;
|
width: 10%;
|
||||||
}
|
}
|
||||||
|
@media (min-width: 768px) AND (max-width: 926px) {
|
||||||
|
width: 30%;
|
||||||
|
}
|
||||||
|
@media (max-width: 430px) {
|
||||||
|
width: 30%;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.height.legacy {
|
.height.legacy {
|
||||||
width: 15%;
|
width: 15%;
|
||||||
@@ -92,7 +107,7 @@ tr, td, th {
|
|||||||
|
|
||||||
.mined {
|
.mined {
|
||||||
width: 13%;
|
width: 13%;
|
||||||
@media (max-width: 576px) {
|
@media (max-width: 730px) {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -138,7 +153,7 @@ tr, td, th {
|
|||||||
|
|
||||||
.fees {
|
.fees {
|
||||||
width: 8%;
|
width: 8%;
|
||||||
@media (max-width: 650px) {
|
@media (max-width: 820px) {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -163,6 +178,16 @@ tr, td, th {
|
|||||||
width: 30%;
|
width: 30%;
|
||||||
padding-right: 0;
|
padding-right: 0;
|
||||||
}
|
}
|
||||||
|
@media (min-width: 768px) AND (max-width: 926px) {
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
max-width: 90px;
|
||||||
|
}
|
||||||
|
@media (max-width: 430px) {
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
max-width: 90px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.size {
|
.size {
|
||||||
@@ -189,10 +214,10 @@ tr, td, th {
|
|||||||
|
|
||||||
.health {
|
.health {
|
||||||
width: 10%;
|
width: 10%;
|
||||||
@media (max-width: 1000px) {
|
@media (max-width: 1105px) {
|
||||||
width: 13%;
|
width: 13%;
|
||||||
}
|
}
|
||||||
@media (max-width: 950px) {
|
@media (max-width: 560px) {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -202,7 +227,7 @@ tr, td, th {
|
|||||||
}
|
}
|
||||||
.health.widget {
|
.health.widget {
|
||||||
width: 25%;
|
width: 25%;
|
||||||
@media (max-width: 1000px) {
|
@media (max-width: 1105px) {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
@media (max-width: 767px) {
|
@media (max-width: 767px) {
|
||||||
@@ -242,4 +267,4 @@ tr, td, th {
|
|||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
max-width: 50vw;
|
max-width: 50vw;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,17 +2,18 @@
|
|||||||
<table class="table latest-adjustments">
|
<table class="table latest-adjustments">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th class="d-none d-md-block" i18n="block.height">Height</th>
|
<th class="" i18n="block.height">Height</th>
|
||||||
<th i18n="mining.adjusted" class="text-left">Adjusted</th>
|
<th class="date text-left" i18n="mining.adjusted">Adjusted</th>
|
||||||
<th i18n="mining.difficulty" class="text-right">Difficulty</th>
|
<th class="text-right" i18n="mining.difficulty">Difficulty</th>
|
||||||
<th i18n="mining.change" class="text-right">Change</th>
|
<th class="text-right" i18n="mining.change">Change</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody *ngIf="(hashrateObservable$ | async) as data">
|
<tbody *ngIf="(hashrateObservable$ | async) as data">
|
||||||
<tr *ngFor="let diffChange of data">
|
<tr *ngFor="let diffChange of data">
|
||||||
<td class="d-none d-md-block"><a [routerLink]="['/block' | relativeUrl, diffChange.height]">{{ diffChange.height
|
<td class="">
|
||||||
}}</a></td>
|
<a [routerLink]="['/block' | relativeUrl, diffChange.height]">{{ diffChange.height }}</a>
|
||||||
<td class="text-left">
|
</td>
|
||||||
|
<td class="date text-left">
|
||||||
<app-time kind="since" [time]="diffChange.timestamp" [fastRender]="true"></app-time>
|
<app-time kind="since" [time]="diffChange.timestamp" [fastRender]="true"></app-time>
|
||||||
</td>
|
</td>
|
||||||
<td class="text-right">{{ diffChange.difficultyShorten }}</td>
|
<td class="text-right">{{ diffChange.difficultyShorten }}</td>
|
||||||
@@ -23,8 +24,8 @@
|
|||||||
</tbody>
|
</tbody>
|
||||||
<tbody *ngIf="isLoading">
|
<tbody *ngIf="isLoading">
|
||||||
<tr *ngFor="let item of [1,2,3,4,5,6]">
|
<tr *ngFor="let item of [1,2,3,4,5,6]">
|
||||||
<td class="d-none d-md-block w-75"><span class="skeleton-loader"></span></td>
|
<td class=""><span class="skeleton-loader"></span></td>
|
||||||
<td class="text-left"><span class="skeleton-loader w-75"></span></td>
|
<td class="date text-left"><span class="skeleton-loader w-75"></span></td>
|
||||||
<td class="text-right"><span class="skeleton-loader w-75"></span></td>
|
<td class="text-right"><span class="skeleton-loader w-75"></span></td>
|
||||||
<td class="text-right"><span class="skeleton-loader w-75"></span></td>
|
<td class="text-right"><span class="skeleton-loader w-75"></span></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|||||||
@@ -17,3 +17,12 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.date {
|
||||||
|
@media (min-width: 767px) AND (max-width: 991px) {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
@media (max-width: 500px) {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -4452,7 +4452,7 @@
|
|||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="2abc4d0d3ae0b49fa9e94a2efb8c2e1a47e680f4" datatype="html">
|
<trans-unit id="2abc4d0d3ae0b49fa9e94a2efb8c2e1a47e680f4" datatype="html">
|
||||||
<source>Go to "<x id="INTERPOLATION" equiv-text="{{ x }}"/>"</source>
|
<source>Go to "<x id="INTERPOLATION" equiv-text="{{ x }}"/>"</source>
|
||||||
<target>Vai a &quot;<x id="INTERPOLATION" equiv-text="{{ x }}"/>&quot;</target>
|
<target>Vai a "<x id="INTERPOLATION" equiv-text="{{ x }}"/>"</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/search-form/search-results/search-results.component.html</context>
|
<context context-type="sourcefile">src/app/components/search-form/search-results/search-results.component.html</context>
|
||||||
<context context-type="linenumber">52</context>
|
<context context-type="linenumber">52</context>
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -13,6 +13,7 @@ validatepegin=1
|
|||||||
mainchainrpcport=8332
|
mainchainrpcport=8332
|
||||||
|
|
||||||
[liquidtestnet]
|
[liquidtestnet]
|
||||||
|
rpcport=7040
|
||||||
validatepegin=0
|
validatepegin=0
|
||||||
anyonecanspendaremine=0
|
anyonecanspendaremine=0
|
||||||
initialfreecoins=2100000000000000
|
initialfreecoins=2100000000000000
|
||||||
|
|||||||
@@ -357,7 +357,7 @@ ELEMENTS_REPO_URL=https://github.com/ElementsProject/elements
|
|||||||
ELEMENTS_REPO_NAME=elements
|
ELEMENTS_REPO_NAME=elements
|
||||||
ELEMENTS_REPO_BRANCH=master
|
ELEMENTS_REPO_BRANCH=master
|
||||||
#ELEMENTS_LATEST_RELEASE=$(curl -s https://api.github.com/repos/ElementsProject/elements/releases/latest|grep tag_name|head -1|cut -d '"' -f4)
|
#ELEMENTS_LATEST_RELEASE=$(curl -s https://api.github.com/repos/ElementsProject/elements/releases/latest|grep tag_name|head -1|cut -d '"' -f4)
|
||||||
ELEMENTS_LATEST_RELEASE=elements-0.21.0.2
|
ELEMENTS_LATEST_RELEASE=elements-22.1
|
||||||
echo -n '.'
|
echo -n '.'
|
||||||
|
|
||||||
BITCOIN_ELECTRS_REPO_URL=https://github.com/blockstream/electrs
|
BITCOIN_ELECTRS_REPO_URL=https://github.com/blockstream/electrs
|
||||||
|
|||||||
Reference in New Issue
Block a user