Merge branch 'master' into hunicus/manual-deployment-enterprise
This commit is contained in:
@@ -87,9 +87,9 @@ export const languages: Language[] = [
|
||||
{ code: 'ar', name: 'العربية' }, // Arabic
|
||||
// { code: 'bg', name: 'Български' }, // Bulgarian
|
||||
// { code: 'bs', name: 'Bosanski' }, // Bosnian
|
||||
{ code: 'ca', name: 'Català' }, // Catalan
|
||||
// { code: 'ca', name: 'Català' }, // Catalan
|
||||
{ code: 'cs', name: 'Čeština' }, // Czech
|
||||
// { code: 'da', name: 'Dansk' }, // Danish
|
||||
{ code: 'da', name: 'Dansk' }, // Danish
|
||||
{ code: 'de', name: 'Deutsch' }, // German
|
||||
// { code: 'et', name: 'Eesti' }, // Estonian
|
||||
// { code: 'el', name: 'Ελληνικά' }, // Greek
|
||||
@@ -136,12 +136,28 @@ export const languages: Language[] = [
|
||||
];
|
||||
|
||||
export const specialBlocks = {
|
||||
'0': {
|
||||
labelEvent: 'Genesis',
|
||||
labelEventCompleted: 'The Genesis of Bitcoin',
|
||||
},
|
||||
'210000': {
|
||||
labelEvent: 'Bitcoin\'s 1st Halving',
|
||||
labelEventCompleted: 'Block Subsidy has halved to 25 BTC per block',
|
||||
},
|
||||
'420000': {
|
||||
labelEvent: 'Bitcoin\'s 2nd Halving',
|
||||
labelEventCompleted: 'Block Subsidy has halved to 12.5 BTC per block',
|
||||
},
|
||||
'630000': {
|
||||
labelEvent: 'Bitcoin\'s 3rd Halving',
|
||||
labelEventCompleted: 'Block Subsidy has halved to 6.25 BTC per block',
|
||||
},
|
||||
'709632': {
|
||||
labelEvent: 'Taproot 🌱 activation',
|
||||
labelEventCompleted: 'Taproot 🌱 has been activated!',
|
||||
},
|
||||
'840000': {
|
||||
labelEvent: 'Halving 🥳',
|
||||
labelEvent: 'Bitcoin\'s 4th Halving',
|
||||
labelEventCompleted: 'Block Subsidy has halved to 3.125 BTC per block',
|
||||
}
|
||||
};
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<td>
|
||||
‎{{ block.time | date:'yyyy-MM-dd HH:mm' }}
|
||||
<div class="lg-inline">
|
||||
<i class="symbol">(<app-time-since [time]="block.time / 1000" [fastRender]="true"></app-time-since>)</i>
|
||||
<i class="symbol">(<app-time kind="since" [time]="block.time / 1000" [fastRender]="true"></app-time>)</i>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<tbody *ngIf="blocks.value; else loadingTmpl">
|
||||
<tr *ngFor="let block of blocks.value[0]; trackBy: trackByFn">
|
||||
<td><a [routerLink]="['/block/' | relativeUrl, block.hash]" [state]="{ data: { block: block } }">{{ block.height }}</a></td>
|
||||
<td><app-time-since [time]="block.time / 1000" [fastRender]="true"></app-time-since></td>
|
||||
<td><app-time kind="since" [time]="block.time / 1000" [fastRender]="true"></app-time></td>
|
||||
<td>{{ calculateTotalOutput(block) / 100 | number: '1.2-2' }} <span class="symbol">BSQ</span></td>
|
||||
<td class="d-none d-md-block">{{ block.txs.length }}</td>
|
||||
</tr>
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
<td>
|
||||
‎{{ bisqTx.time | date:'yyyy-MM-dd HH:mm' }}
|
||||
<div class="lg-inline">
|
||||
<i class="symbol">(<app-time-since [time]="bisqTx.time / 1000" [fastRender]="true"></app-time-since>)</i>
|
||||
<i class="symbol">(<app-time kind="since" [time]="bisqTx.time / 1000" [fastRender]="true"></app-time>)</i>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
{{ calculateTotalOutput(tx.outputs) / 100 | number: '1.2-2' }} <span class="d-none d-md-inline symbol">BSQ</span>
|
||||
</ng-template>
|
||||
</td>
|
||||
<td><app-time-since [time]="tx.time / 1000" [fastRender]="true"></app-time-since></td>
|
||||
<td><app-time kind="since" [time]="tx.time / 1000" [fastRender]="true"></app-time></td>
|
||||
<td class="d-none d-md-block"><a [routerLink]="['/block/' | relativeUrl, tx.blockHash]" [state]="{ data: { blockHeight: tx.blockHeight } }">{{ tx.blockHeight }}</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
||||
@@ -383,6 +383,12 @@
|
||||
<a target="_blank" href="https://matrix.to/#/#mempool:bitcoin.kyoto">
|
||||
<svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="matrix" class="svg-inline--fa fa-matrix fa-w-16 fa-2x" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1536 1792"><path fill="currentColor" d="M40.467 163.152v1465.696H145.92V1664H0V128h145.92v35.152zm450.757 464.64v74.14h2.069c19.79-28.356 43.717-50.215 71.483-65.575 27.765-15.656 59.963-23.336 96-23.336 34.56 0 66.165 6.795 94.818 20.086 28.652 13.293 50.216 37.22 65.28 70.893 16.246-23.926 38.4-45.194 66.166-63.507 27.766-18.314 60.848-27.472 98.954-27.472 28.948 0 55.828 3.545 80.64 10.635 24.812 7.088 45.785 18.314 63.508 33.968 17.722 15.656 31.31 35.742 41.354 60.85 9.747 25.107 14.768 55.236 14.768 90.683v366.573h-150.35V865.28c0-18.314-.59-35.741-2.068-51.987-1.476-16.247-5.316-30.426-11.52-42.24-6.499-12.112-15.656-21.563-28.062-28.653-12.405-7.088-29.242-10.634-50.214-10.634-21.268 0-38.4 4.135-51.397 12.112-12.997 8.27-23.336 18.608-30.72 31.901-7.386 12.997-12.407 27.765-14.77 44.602-2.363 16.542-3.84 33.379-3.84 50.216v305.133H692.971v-307.2c0-16.247-.294-32.197-1.18-48.149-.591-15.95-3.84-30.424-9.157-44.011-5.317-13.293-14.178-24.223-26.585-32.197-12.406-7.976-30.425-12.112-54.646-12.112-7.088 0-16.542 1.478-28.062 4.726-11.52 3.25-23.04 9.157-33.968 18.02-10.93 8.86-20.383 21.563-28.063 38.103-7.68 16.543-11.52 38.4-11.52 65.28v317.834H349.44V627.792zm1004.309 1001.056V163.152H1390.08V128H1536v1536h-145.92v-35.152z"/></svg>
|
||||
</a>
|
||||
<a target="_blank" href="https://youtube.com/@mempool">
|
||||
<svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="youtube" class="svg-inline--fa fa-youtube fa-w-16 fa-2x" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"/></svg>
|
||||
</a>
|
||||
<a target="_blank" href="https://bitcointv.com/c/mempool/videos" class="bitcointv">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" focusable="false" viewBox="0 0 440 440"><path d="M225.57,2.08l-.69-.45a4.22,4.22,0,0,0-5.72,1.23L182.33,46.09a4,4,0,0,0,.88,5.81l9.38,6.38L173.48,97.49a4.22,4.22,0,0,0,2.45,4.19s3.55.7,4.53-1l41.92-40.56a3.62,3.62,0,0,0-1.51-5.1l-10.55-6.12L227.44,6.79A4.26,4.26,0,0,0,225.57,2.08Z" fill="currentColor"></path><path d="M118.52,401.83c-62.51,0-113.37-51-113.37-113.67V214.68C5.15,152,56,101,118.52,101H342.08a24.82,24.82,0,0,1,24.76,24.83V377a24.81,24.81,0,0,1-24.76,24.82Z"></path><path d="M342.08,105.18a20.65,20.65,0,0,1,20.61,20.66V377a20.66,20.66,0,0,1-20.61,20.66H118.52C58.3,397.67,9.31,348.55,9.31,288.16V214.68c0-60.38,49-109.5,109.21-109.5H342.08m0-8.34H118.52C53.62,96.84,1,149.6,1,214.68v73.48C1,353.24,53.62,406,118.52,406H342.08A29,29,0,0,0,371,377V125.84a29,29,0,0,0-28.92-29Z" fill="currentColor"></path><path fill="currentColor" d="M344.69,346.23A25.84,25.84,0,1,0,335,369.87l-10.22-10.2a11.69,11.69,0,1,1,4.77-5.12l10.31,10.28A25.84,25.84,0,0,0,344.69,346.23Z"></path><path fill="currentColor" d="M315.82,257.61a25.67,25.67,0,0,0-12.53,5.22L315,274.49a9.58,9.58,0,0,1,2.11-.73A9.72,9.72,0,1,1,309.4,283a9.4,9.4,0,0,1,.75-3.41L298.4,267.84a25.77,25.77,0,1,0,17.42-10.23Z"></path><path fill="currentColor" d="M313,214a7.76,7.76,0,1,1,1.41,10.91,7.62,7.62,0,0,1-2.19-2.69l-18.67-.14a25.94,25.94,0,1,0,.05-7l18.64.14A7.4,7.4,0,0,1,313,214Z"></path><path fill="currentColor" d="M341.2,144.08h-6.32c-1.67,0-3.61,1.87-3.61,4.29s1.94,4.29,3.61,4.29h6.32c1.67,0,3.61-1.87,3.61-4.29S342.87,144.08,341.2,144.08Z"></path><path fill="currentColor" d="M301.75,144.08h-6.44c-1.67,0-3.61,1.87-3.61,4.29s1.94,4.29,3.61,4.29h6.44c1.67,0,3.61-1.87,3.61-4.29S303.42,144.08,301.75,144.08Z"></path><path fill="currentColor" d="M321.77,144.08h-7c-1.67,0-3.62,1.87-3.62,4.29s1.95,4.29,3.62,4.29h7c1.67,0,3.62-1.87,3.62-4.29S323.44,144.08,321.77,144.08Z"></path><ellipse fill="currentColor" cx="295.97" cy="127.61" rx="4.27" ry="4.29"></ellipse><path fill="currentColor" d="M340.54,131.9a4.29,4.29,0,1,0-4.27-4.29A4.28,4.28,0,0,0,340.54,131.9Z"></path><path fill="currentColor" d="M318.26,131.9a4.29,4.29,0,1,0-4.27-4.29A4.29,4.29,0,0,0,318.26,131.9Z"></path><ellipse fill="currentColor" cx="295.97" cy="169.13" rx="4.27" ry="4.29"></ellipse><path fill="currentColor" d="M340.54,164.84a4.3,4.3,0,1,0,4.27,4.29A4.29,4.29,0,0,0,340.54,164.84Z"></path><path fill="currentColor" d="M318.26,164.84a4.3,4.3,0,1,0,4.28,4.29A4.29,4.29,0,0,0,318.26,164.84Z"></path><path d="M108.62,256.87c8.36-1,7.68-7.76,3.14-17-3.64-7.4-9.74-16.39-15.75-25.36-14.23-21.23-27.69-42.23-5.35-41.07,19.55,1,42.9,18.63,68.22,36.74,31.1,22.24,65.16,45.21,98.81,39.11a151.19,151.19,0,0,1,20-2.37V221a92,92,0,0,0-91.91-92.16H124.33A92,92,0,0,0,32.42,221v17.59c17.71,3.81,31,9.94,43.8,14.15C86.6,256.16,96.69,258.31,108.62,256.87Z"></path><path d="M273.37,310.79c-35-15.26-76.67-32.1-104-23.59-3.15,1-5,2.3-6,3.85-3.35,5.31,4.67,13.57,14.89,22.17,7.17,6,15.36,12.21,21.44,17.64,11.47,10.26,15.35,17.84-9.89,16.62-29.75-1.44-49.18-13.75-71.18-24l-.29-.14a165.84,165.84,0,0,0-22.93-8.91c-15.74-4.67-34.22-6.79-58.51-3.28A91.93,91.93,0,0,0,124.33,375h61.45A92,92,0,0,0,273.37,310.79Z"></path><path fill="currentColor" d="M257.69,249.31C224,255.41,190,232.44,158.88,210.2c-25.32-18.11-48.67-35.72-68.22-36.74C68.32,172.3,81.78,193.3,96,214.53c6,9,12.11,18,15.75,25.36,4.54,9.22,5.22,16-3.14,17-11.93,1.44-22-.71-32.4-4.13-12.8-4.21-26.09-10.34-43.8-14.15v44.26c0,1.26.14,2.48.19,3.72a91.8,91.8,0,0,0,2.9,19.62c.43,1.67.84,3.34,1.37,5,24.29-3.51,42.77-1.39,58.51,3.28a165.84,165.84,0,0,1,22.93,8.91c.39-.12.76-.26,1.14-.39l-.85.53c22,10.25,41.43,22.56,71.18,24,25.24,1.22,21.36-6.36,9.89-16.62-6.08-5.43-14.27-11.61-21.44-17.64-10.22-8.6-18.24-16.86-14.89-22.17,1-1.55,2.87-2.87,6-3.85,27.33-8.51,69,8.33,104,23.59.32-1,.56-2.05.84-3.07a92.33,92.33,0,0,0,3.48-24.87V246.94A151.19,151.19,0,0,0,257.69,249.31Z"></path><path fill="currentColor" d="M192,137a78,78,0,0,1,77.78,78v73.91a78,78,0,0,1-77.78,78H118.51a78,78,0,0,1-77.78-78V215a78,78,0,0,1,77.78-78H192m0-8.33H118.51A86.21,86.21,0,0,0,32.42,215v73.91a86.21,86.21,0,0,0,86.09,86.33H192a86.21,86.21,0,0,0,86.09-86.33V215A86.21,86.21,0,0,0,192,128.64Z"></path></svg>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -199,6 +199,16 @@
|
||||
a {
|
||||
margin: 45px 10px;
|
||||
}
|
||||
.bitcointv svg {
|
||||
width: 36px;
|
||||
height: auto;
|
||||
vertical-align: bottom;
|
||||
margin-bottom: 2px;
|
||||
margin-left: 5px;
|
||||
}
|
||||
.bitcointv svg:hover {
|
||||
opacity: 0.75;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
<ng-container *ngIf="!noFiat && (viewFiat$ | async) && (conversions$ | async) as conversions; else viewFiatVin">
|
||||
<span class="fiat" *ngIf="blockConversion; else noblockconversion">
|
||||
{{ addPlus && satoshis >= 0 ? '+' : '' }}
|
||||
{{
|
||||
{{ addPlus && satoshis >= 0 ? '+' : '' }}{{
|
||||
(
|
||||
(blockConversion.price[currency] >= 0 ? blockConversion.price[currency] : null) ??
|
||||
(blockConversion.price['USD'] * blockConversion.exchangeRates['USD' + currency]) ?? 0
|
||||
(blockConversion.price[currency] > -1 ? blockConversion.price[currency] : null) ??
|
||||
(blockConversion.price['USD'] > -1 ? blockConversion.price['USD'] * blockConversion.exchangeRates['USD' + currency] : null) ?? 0
|
||||
) * satoshis / 100000000 | fiatCurrency : digitsInfo : currency
|
||||
}}
|
||||
</span>
|
||||
<ng-template #noblockconversion>
|
||||
<span class="fiat">{{ addPlus && satoshis >= 0 ? '+' : '' }}{{ (conversions ? conversions[currency] : 0) * satoshis / 100000000 | fiatCurrency : digitsInfo : currency }}</span>
|
||||
<span class="fiat">{{ addPlus && satoshis >= 0 ? '+' : '' }}{{ (conversions[currency] > -1 ? conversions[currency] : 0) * satoshis / 100000000 | fiatCurrency : digitsInfo : currency }}
|
||||
</span>
|
||||
</ng-template>
|
||||
</ng-container>
|
||||
|
||||
|
||||
@@ -54,31 +54,6 @@
|
||||
max-height: 270px;
|
||||
}
|
||||
|
||||
.formRadioGroup {
|
||||
margin-top: 6px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
@media (min-width: 991px) {
|
||||
position: relative;
|
||||
top: -100px;
|
||||
}
|
||||
@media (min-width: 830px) and (max-width: 991px) {
|
||||
position: relative;
|
||||
top: 0px;
|
||||
}
|
||||
@media (min-width: 830px) {
|
||||
flex-direction: row;
|
||||
float: right;
|
||||
margin-top: 0px;
|
||||
}
|
||||
.btn-sm {
|
||||
font-size: 9px;
|
||||
@media (min-width: 830px) {
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.disabled {
|
||||
pointer-events: none;
|
||||
opacity: 0.5;
|
||||
|
||||
@@ -54,31 +54,6 @@
|
||||
max-height: 270px;
|
||||
}
|
||||
|
||||
.formRadioGroup {
|
||||
margin-top: 6px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
@media (min-width: 991px) {
|
||||
position: relative;
|
||||
top: -100px;
|
||||
}
|
||||
@media (min-width: 830px) and (max-width: 991px) {
|
||||
position: relative;
|
||||
top: 0px;
|
||||
}
|
||||
@media (min-width: 830px) {
|
||||
flex-direction: row;
|
||||
float: right;
|
||||
margin-top: 0px;
|
||||
}
|
||||
.btn-sm {
|
||||
font-size: 9px;
|
||||
@media (min-width: 830px) {
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.disabled {
|
||||
pointer-events: none;
|
||||
opacity: 0.5;
|
||||
|
||||
@@ -54,31 +54,6 @@
|
||||
max-height: 270px;
|
||||
}
|
||||
|
||||
.formRadioGroup {
|
||||
margin-top: 6px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
@media (min-width: 991px) {
|
||||
position: relative;
|
||||
top: -100px;
|
||||
}
|
||||
@media (min-width: 830px) and (max-width: 991px) {
|
||||
position: relative;
|
||||
top: 0px;
|
||||
}
|
||||
@media (min-width: 830px) {
|
||||
flex-direction: row;
|
||||
float: right;
|
||||
margin-top: 0px;
|
||||
}
|
||||
.btn-sm {
|
||||
font-size: 9px;
|
||||
@media (min-width: 830px) {
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.disabled {
|
||||
pointer-events: none;
|
||||
opacity: 0.5;
|
||||
|
||||
@@ -54,31 +54,6 @@
|
||||
max-height: 270px;
|
||||
}
|
||||
|
||||
.formRadioGroup {
|
||||
margin-top: 6px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
@media (min-width: 1130px) {
|
||||
position: relative;
|
||||
top: -100px;
|
||||
}
|
||||
@media (min-width: 830px) and (max-width: 1130px) {
|
||||
position: relative;
|
||||
top: 0px;
|
||||
}
|
||||
@media (min-width: 830px) {
|
||||
flex-direction: row;
|
||||
float: right;
|
||||
margin-top: 0px;
|
||||
}
|
||||
.btn-sm {
|
||||
font-size: 9px;
|
||||
@media (min-width: 830px) {
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.disabled {
|
||||
pointer-events: none;
|
||||
opacity: 0.5;
|
||||
|
||||
@@ -121,7 +121,7 @@
|
||||
<ng-container *ngIf="!isLoadingBlock; else loadingRest">
|
||||
<tr *ngIf="network !== 'liquid' && network !== 'liquidtestnet'">
|
||||
<td i18n="mempool-block.fee-span">Fee span</td>
|
||||
<td><span>{{ block.extras.feeRange[0] | number:'1.0-0' }} - {{ block.extras.feeRange[block.extras.feeRange.length - 1] | number:'1.0-0' }} <span class="symbol" i18n="shared.sat-vbyte|sat/vB">sat/vB</span></span></td>
|
||||
<td><span>{{ block.extras.feeRange[1] | number:'1.0-0' }} - {{ block.extras.feeRange[block.extras.feeRange.length - 1] | number:'1.0-0' }} <span class="symbol" i18n="shared.sat-vbyte|sat/vB">sat/vB</span></span></td>
|
||||
</tr>
|
||||
<tr *ngIf="block?.extras?.medianFee != undefined">
|
||||
<td class="td-width" i18n="block.median-fee">Median fee</td>
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
<ng-template #transactionsPlural let-i i18n="shared.transaction-count.plural">{{ i }} transactions</ng-template>
|
||||
</div>
|
||||
<div [attr.data-cy]="'bitcoin-block-' + offset + '-index-' + i + '-time'" class="time-difference">
|
||||
<app-time-since [time]="block.timestamp" [fastRender]="true"></app-time-since></div>
|
||||
<app-time kind="since" [time]="block.timestamp" [fastRender]="true"></app-time></div>
|
||||
</div>
|
||||
<div class="animated" [class]="showMiningInfo ? 'show' : 'hide'" *ngIf="block.extras?.pool != undefined">
|
||||
<a [attr.data-cy]="'bitcoin-block-' + offset + '-index-' + i + '-pool'" class="badge badge-primary"
|
||||
|
||||
@@ -107,7 +107,7 @@ export class BlockchainBlocksComponent implements OnInit, OnChanges, OnDestroy {
|
||||
this.blocks.unshift(block);
|
||||
this.blocks = this.blocks.slice(0, this.dynamicBlocksAmount);
|
||||
|
||||
if (txConfirmed) {
|
||||
if (txConfirmed && this.height === block.height) {
|
||||
this.markHeight = block.height;
|
||||
this.moveArrowToPosition(true, true);
|
||||
} else {
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
‎{{ block.timestamp * 1000 | date:'yyyy-MM-dd HH:mm' }}
|
||||
</td>
|
||||
<td class="mined" *ngIf="!widget" [class]="indexingAvailable ? '' : 'legacy'">
|
||||
<app-time-since [time]="block.timestamp" [fastRender]="true"></app-time-since>
|
||||
<app-time kind="since" [time]="block.timestamp" [fastRender]="true"></app-time>
|
||||
</td>
|
||||
<td *ngIf="auditAvailable" class="health text-right" [ngClass]="{'widget': widget, 'legacy': !indexingAvailable}">
|
||||
<a
|
||||
|
||||
@@ -87,8 +87,8 @@ export class BlocksList implements OnInit, OnDestroy {
|
||||
this.stateService.blocks$
|
||||
.pipe(
|
||||
switchMap((block) => {
|
||||
if (block[0].height < this.lastBlockHeight) {
|
||||
return []; // Return an empty stream so the last pipe is not executed
|
||||
if (block[0].height <= this.lastBlockHeight) {
|
||||
return [null]; // Return an empty stream so the last pipe is not executed
|
||||
}
|
||||
this.lastBlockHeight = block[0].height;
|
||||
return [block];
|
||||
@@ -101,14 +101,16 @@ export class BlocksList implements OnInit, OnDestroy {
|
||||
this.lastPage = this.page;
|
||||
return blocks[0];
|
||||
}
|
||||
this.blocksCount = Math.max(this.blocksCount, blocks[1][0].height) + 1;
|
||||
if (this.stateService.env.MINING_DASHBOARD) {
|
||||
// @ts-ignore: Need to add an extra field for the template
|
||||
blocks[1][0].extras.pool.logo = `/resources/mining-pools/` +
|
||||
blocks[1][0].extras.pool.name.toLowerCase().replace(' ', '').replace('.', '') + '.svg';
|
||||
if (blocks[1]) {
|
||||
this.blocksCount = Math.max(this.blocksCount, blocks[1][0].height) + 1;
|
||||
if (this.stateService.env.MINING_DASHBOARD) {
|
||||
// @ts-ignore: Need to add an extra field for the template
|
||||
blocks[1][0].extras.pool.logo = `/resources/mining-pools/` +
|
||||
blocks[1][0].extras.pool.name.toLowerCase().replace(' ', '').replace('.', '') + '.svg';
|
||||
}
|
||||
acc.unshift(blocks[1][0]);
|
||||
acc = acc.slice(0, this.widget ? 6 : 15);
|
||||
}
|
||||
acc.unshift(blocks[1][0]);
|
||||
acc = acc.slice(0, this.widget ? 6 : 15);
|
||||
return acc;
|
||||
}, [])
|
||||
);
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<td class="d-none d-md-block"><a [routerLink]="['/block' | relativeUrl, diffChange.height]">{{ diffChange.height
|
||||
}}</a></td>
|
||||
<td class="text-left">
|
||||
<app-time-since [time]="diffChange.timestamp" [fastRender]="true"></app-time-since>
|
||||
<app-time kind="since" [time]="diffChange.timestamp" [fastRender]="true"></app-time>
|
||||
</td>
|
||||
<td class="text-right">{{ diffChange.difficultyShorten }}</td>
|
||||
<td class="text-right" [style]="diffChange.change >= 0 ? 'color: #42B747' : 'color: #B74242'">
|
||||
|
||||
@@ -0,0 +1,87 @@
|
||||
<div *ngIf="showTitle" class="main-title" i18n="dashboard.difficulty-adjustment">Difficulty Adjustment</div>
|
||||
<div class="card-wrapper">
|
||||
<div class="card">
|
||||
<div class="card-body more-padding">
|
||||
<div class="difficulty-adjustment-container" *ngIf="(isLoadingWebSocket$ | async) === false && (difficultyEpoch$ | async) as epochData; else loadingDifficulty">
|
||||
<div class="item">
|
||||
<h5 class="card-title" i18n="difficulty-box.remaining">Remaining</h5>
|
||||
<div class="card-text">
|
||||
<ng-container *ngTemplateOutlet="epochData.remainingBlocks === 1 ? blocksSingular : blocksPlural; context: {$implicit: epochData.remainingBlocks }"></ng-container>
|
||||
<ng-template #blocksPlural let-i i18n="shared.blocks">{{ i }} <span class="shared-block">blocks</span></ng-template>
|
||||
<ng-template #blocksSingular let-i i18n="shared.block">{{ i }} <span class="shared-block">block</span></ng-template>
|
||||
</div>
|
||||
<div class="symbol"><app-time kind="until" [time]="epochData.estimatedRetargetDate" [fastRender]="true"></app-time></div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<h5 class="card-title" i18n="difficulty-box.estimate">Estimate</h5>
|
||||
<div *ngIf="epochData.remainingBlocks < 1870; else recentlyAdjusted" class="card-text" [ngStyle]="{'color': epochData.colorAdjustments}">
|
||||
<span *ngIf="epochData.change > 0; else arrowDownDifficulty" >
|
||||
<fa-icon class="retarget-sign" [icon]="['fas', 'caret-up']" [fixedWidth]="true"></fa-icon>
|
||||
</span>
|
||||
<ng-template #arrowDownDifficulty >
|
||||
<fa-icon class="retarget-sign" [icon]="['fas', 'caret-down']" [fixedWidth]="true"></fa-icon>
|
||||
</ng-template>
|
||||
{{ epochData.change | absolute | number: '1.2-2' }}
|
||||
<span class="symbol">%</span>
|
||||
</div>
|
||||
<ng-template #recentlyAdjusted>
|
||||
<div class="card-text">—</div>
|
||||
</ng-template>
|
||||
<div class="symbol">
|
||||
<span i18n="difficulty-box.previous">Previous</span>:
|
||||
<span [ngStyle]="{'color': epochData.colorPreviousAdjustments}">
|
||||
<span *ngIf="epochData.previousRetarget > 0; else arrowDownPreviousDifficulty" >
|
||||
<fa-icon class="previous-retarget-sign" [icon]="['fas', 'caret-up']" [fixedWidth]="true"></fa-icon>
|
||||
</span>
|
||||
<ng-template #arrowDownPreviousDifficulty >
|
||||
<fa-icon class="previous-retarget-sign" [icon]="['fas', 'caret-down']" [fixedWidth]="true"></fa-icon>
|
||||
</ng-template>
|
||||
{{ epochData.previousRetarget | absolute | number: '1.2-2' }} </span> %
|
||||
</div>
|
||||
</div>
|
||||
<div class="item" *ngIf="showProgress">
|
||||
<h5 class="card-title" i18n="difficulty-box.current-period">Current Period</h5>
|
||||
<div class="card-text">{{ epochData.progress | number: '1.2-2' }} <span class="symbol">%</span></div>
|
||||
<div class="progress small-bar">
|
||||
<div class="progress-bar" role="progressbar" style="width: 15%; background-color: #105fb0" [ngStyle]="{'width': epochData.base}"> </div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item" *ngIf="showHalving">
|
||||
<h5 class="card-title" i18n="difficulty-box.next-halving">Next Halving</h5>
|
||||
<div class="card-text">
|
||||
<ng-container *ngTemplateOutlet="epochData.blocksUntilHalving === 1 ? blocksSingular : blocksPlural; context: {$implicit: epochData.blocksUntilHalving }"></ng-container>
|
||||
<ng-template #blocksPlural let-i i18n="shared.blocks">{{ i }} <span class="shared-block">blocks</span></ng-template>
|
||||
<ng-template #blocksSingular let-i i18n="shared.block">{{ i }} <span class="shared-block">block</span></ng-template>
|
||||
</div>
|
||||
<div class="symbol"><app-time kind="until" [time]="epochData.timeUntilHalving" [fastRender]="true"></app-time></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<ng-template #loadingDifficulty>
|
||||
<div class="difficulty-skeleton loading-container">
|
||||
<div class="item">
|
||||
<h5 class="card-title" i18n="difficulty-box.remaining">Remaining</h5>
|
||||
<div class="card-text">
|
||||
<div class="skeleton-loader"></div>
|
||||
<div class="skeleton-loader"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<h5 class="card-title" i18n="difficulty-box.estimate">Estimate</h5>
|
||||
<div class="card-text">
|
||||
<div class="skeleton-loader"></div>
|
||||
<div class="skeleton-loader"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<h5 class="card-title" i18n="difficulty-box.current-period">Current Period</h5>
|
||||
<div class="card-text">
|
||||
<div class="skeleton-loader"></div>
|
||||
<div class="skeleton-loader"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</ng-template>
|
||||
@@ -0,0 +1,154 @@
|
||||
.difficulty-adjustment-container {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-around;
|
||||
height: 76px;
|
||||
.shared-block {
|
||||
color: #ffffff66;
|
||||
font-size: 12px;
|
||||
}
|
||||
.item {
|
||||
padding: 0 5px;
|
||||
width: 100%;
|
||||
&:nth-child(1) {
|
||||
display: none;
|
||||
@media (min-width: 485px) {
|
||||
display: table-cell;
|
||||
}
|
||||
@media (min-width: 768px) {
|
||||
display: none;
|
||||
}
|
||||
@media (min-width: 992px) {
|
||||
display: table-cell;
|
||||
}
|
||||
}
|
||||
}
|
||||
.card-text {
|
||||
font-size: 22px;
|
||||
margin-top: -9px;
|
||||
position: relative;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.difficulty-skeleton {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
@media (min-width: 376px) {
|
||||
flex-direction: row;
|
||||
}
|
||||
.item {
|
||||
max-width: 150px;
|
||||
margin: 0;
|
||||
width: -webkit-fill-available;
|
||||
@media (min-width: 376px) {
|
||||
margin: 0 auto 0px;
|
||||
}
|
||||
&:first-child{
|
||||
display: none;
|
||||
@media (min-width: 485px) {
|
||||
display: block;
|
||||
}
|
||||
@media (min-width: 768px) {
|
||||
display: none;
|
||||
}
|
||||
@media (min-width: 992px) {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
&:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
.card-text {
|
||||
.skeleton-loader {
|
||||
width: 100%;
|
||||
display: block;
|
||||
&:first-child {
|
||||
margin: 14px auto 0;
|
||||
max-width: 80px;
|
||||
}
|
||||
&:last-child {
|
||||
margin: 10px auto 0;
|
||||
max-width: 120px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.card {
|
||||
background-color: #1d1f31;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.card-title {
|
||||
color: #4a68b9;
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
.progress {
|
||||
display: inline-flex;
|
||||
width: 100%;
|
||||
background-color: #2d3348;
|
||||
height: 1.1rem;
|
||||
max-width: 180px;
|
||||
}
|
||||
|
||||
.skeleton-loader {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.more-padding {
|
||||
padding: 18px;
|
||||
}
|
||||
|
||||
.small-bar {
|
||||
height: 8px;
|
||||
top: -4px;
|
||||
max-width: 120px;
|
||||
}
|
||||
|
||||
.loading-container {
|
||||
min-height: 76px;
|
||||
}
|
||||
|
||||
.main-title {
|
||||
position: relative;
|
||||
color: #ffffff91;
|
||||
margin-top: -13px;
|
||||
font-size: 10px;
|
||||
text-transform: uppercase;
|
||||
font-weight: 500;
|
||||
text-align: center;
|
||||
padding-bottom: 3px;
|
||||
}
|
||||
|
||||
.card-wrapper {
|
||||
.card {
|
||||
height: auto !important;
|
||||
}
|
||||
.card-body {
|
||||
display: flex;
|
||||
flex: inherit;
|
||||
text-align: center;
|
||||
flex-direction: column;
|
||||
justify-content: space-around;
|
||||
padding: 24px 20px;
|
||||
}
|
||||
}
|
||||
|
||||
.retarget-sign {
|
||||
margin-right: -3px;
|
||||
font-size: 14px;
|
||||
top: -2px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.previous-retarget-sign {
|
||||
margin-right: -2px;
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
.symbol {
|
||||
font-size: 13px;
|
||||
}
|
||||
@@ -0,0 +1,86 @@
|
||||
import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';
|
||||
import { combineLatest, Observable, timer } from 'rxjs';
|
||||
import { map, switchMap } from 'rxjs/operators';
|
||||
import { StateService } from '../../services/state.service';
|
||||
|
||||
interface EpochProgress {
|
||||
base: string;
|
||||
change: number;
|
||||
progress: number;
|
||||
remainingBlocks: number;
|
||||
newDifficultyHeight: number;
|
||||
colorAdjustments: string;
|
||||
colorPreviousAdjustments: string;
|
||||
estimatedRetargetDate: number;
|
||||
previousRetarget: number;
|
||||
blocksUntilHalving: number;
|
||||
timeUntilHalving: number;
|
||||
}
|
||||
|
||||
@Component({
|
||||
selector: 'app-difficulty-mining',
|
||||
templateUrl: './difficulty-mining.component.html',
|
||||
styleUrls: ['./difficulty-mining.component.scss'],
|
||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||
})
|
||||
export class DifficultyMiningComponent implements OnInit {
|
||||
isLoadingWebSocket$: Observable<boolean>;
|
||||
difficultyEpoch$: Observable<EpochProgress>;
|
||||
|
||||
@Input() showProgress = true;
|
||||
@Input() showHalving = false;
|
||||
@Input() showTitle = true;
|
||||
|
||||
constructor(
|
||||
public stateService: StateService,
|
||||
) { }
|
||||
|
||||
ngOnInit(): void {
|
||||
this.isLoadingWebSocket$ = this.stateService.isLoadingWebSocket$;
|
||||
this.difficultyEpoch$ = combineLatest([
|
||||
this.stateService.blocks$.pipe(map(([block]) => block)),
|
||||
this.stateService.difficultyAdjustment$,
|
||||
])
|
||||
.pipe(
|
||||
map(([block, da]) => {
|
||||
let colorAdjustments = '#ffffff66';
|
||||
if (da.difficultyChange > 0) {
|
||||
colorAdjustments = '#3bcc49';
|
||||
}
|
||||
if (da.difficultyChange < 0) {
|
||||
colorAdjustments = '#dc3545';
|
||||
}
|
||||
|
||||
let colorPreviousAdjustments = '#dc3545';
|
||||
if (da.previousRetarget) {
|
||||
if (da.previousRetarget >= 0) {
|
||||
colorPreviousAdjustments = '#3bcc49';
|
||||
}
|
||||
if (da.previousRetarget === 0) {
|
||||
colorPreviousAdjustments = '#ffffff66';
|
||||
}
|
||||
} else {
|
||||
colorPreviousAdjustments = '#ffffff66';
|
||||
}
|
||||
|
||||
const blocksUntilHalving = 210000 - (block.height % 210000);
|
||||
const timeUntilHalving = new Date().getTime() + (blocksUntilHalving * 600000);
|
||||
|
||||
const data = {
|
||||
base: `${da.progressPercent.toFixed(2)}%`,
|
||||
change: da.difficultyChange,
|
||||
progress: da.progressPercent,
|
||||
remainingBlocks: da.remainingBlocks - 1,
|
||||
colorAdjustments,
|
||||
colorPreviousAdjustments,
|
||||
newDifficultyHeight: da.nextRetargetHeight,
|
||||
estimatedRetargetDate: da.estimatedRetargetDate,
|
||||
previousRetarget: da.previousRetarget,
|
||||
blocksUntilHalving,
|
||||
timeUntilHalving,
|
||||
};
|
||||
return data;
|
||||
})
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
<div
|
||||
#tooltip
|
||||
*ngIf="status"
|
||||
class="difficulty-tooltip"
|
||||
[style.visibility]="status ? 'visible' : 'hidden'"
|
||||
[style.left]="tooltipPosition.x + 'px'"
|
||||
[style.top]="tooltipPosition.y + 'px'"
|
||||
>
|
||||
<ng-container [ngSwitch]="status">
|
||||
<ng-container *ngSwitchCase="'mined'">
|
||||
<ng-container *ngIf="isAhead">
|
||||
<ng-container *ngTemplateOutlet="expected === 1 ? blocksSingular : blocksPlural; context: {$implicit: expected }"></ng-container>
|
||||
<ng-template #blocksPlural let-i i18n="difficulty-box.expected-blocks">{{ i }} blocks expected</ng-template>
|
||||
<ng-template #blocksSingular let-i i18n="difficulty-box.expected-block">{{ i }} block expected</ng-template>
|
||||
</ng-container>
|
||||
<ng-container *ngIf="!isAhead">
|
||||
<ng-container *ngTemplateOutlet="mined === 1 ? blocksSingular : blocksPlural; context: {$implicit: mined }"></ng-container>
|
||||
<ng-template #blocksPlural let-i i18n="difficulty-box.mined-blocks">{{ i }} blocks mined</ng-template>
|
||||
<ng-template #blocksSingular let-i i18n="difficulty-box.mined-block">{{ i }} block mined</ng-template>
|
||||
</ng-container>
|
||||
</ng-container>
|
||||
<ng-container *ngSwitchCase="'remaining'">
|
||||
<ng-container *ngTemplateOutlet="remaining === 1 ? blocksSingular : blocksPlural; context: {$implicit: remaining }"></ng-container>
|
||||
<ng-template #blocksPlural let-i i18n="difficulty-box.remaining-blocks">{{ i }} blocks remaining</ng-template>
|
||||
<ng-template #blocksSingular let-i i18n="difficulty-box.remaining-block">{{ i }} block remaining</ng-template>
|
||||
</ng-container>
|
||||
<ng-container *ngSwitchCase="'ahead'">
|
||||
<ng-container *ngTemplateOutlet="ahead === 1 ? blocksSingular : blocksPlural; context: {$implicit: ahead }"></ng-container>
|
||||
<ng-template #blocksPlural let-i i18n="difficulty-box.blocks-ahead">{{ i }} blocks ahead</ng-template>
|
||||
<ng-template #blocksSingular let-i i18n="difficulty-box.block-ahead">{{ i }} block ahead</ng-template>
|
||||
</ng-container>
|
||||
<ng-container *ngSwitchCase="'behind'">
|
||||
<ng-container *ngTemplateOutlet="behind === 1 ? blocksSingular : blocksPlural; context: {$implicit: behind }"></ng-container>
|
||||
<ng-template #blocksPlural let-i i18n="difficulty-box.blocks-behind">{{ i }} blocks behind</ng-template>
|
||||
<ng-template #blocksSingular let-i i18n="difficulty-box.block-behind">{{ i }} block behind</ng-template>
|
||||
</ng-container>
|
||||
<ng-container *ngSwitchCase="'next'">
|
||||
<span class="next-block" i18n="@@bdf0e930eb22431140a2eaeacd809cc5f8ebd38c">Next Block</span>
|
||||
</ng-container>
|
||||
</ng-container>
|
||||
</div>
|
||||
@@ -0,0 +1,22 @@
|
||||
.difficulty-tooltip {
|
||||
position: fixed;
|
||||
background: rgba(#11131f, 0.95);
|
||||
border-radius: 4px;
|
||||
box-shadow: 1px 1px 10px rgba(0,0,0,0.5);
|
||||
color: #b1b1b1;
|
||||
padding: 10px 15px;
|
||||
text-align: left;
|
||||
pointer-events: none;
|
||||
max-width: 300px;
|
||||
min-width: 200px;
|
||||
text-align: center;
|
||||
|
||||
p {
|
||||
margin: 0;
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
|
||||
.next-block {
|
||||
text-transform: lowercase;
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
import { Component, ElementRef, ViewChild, Input, OnChanges } from '@angular/core';
|
||||
|
||||
interface EpochProgress {
|
||||
base: string;
|
||||
change: number;
|
||||
progress: number;
|
||||
minedBlocks: number;
|
||||
remainingBlocks: number;
|
||||
expectedBlocks: number;
|
||||
newDifficultyHeight: number;
|
||||
colorAdjustments: string;
|
||||
colorPreviousAdjustments: string;
|
||||
estimatedRetargetDate: number;
|
||||
previousRetarget: number;
|
||||
blocksUntilHalving: number;
|
||||
timeUntilHalving: number;
|
||||
}
|
||||
|
||||
const EPOCH_BLOCK_LENGTH = 2016; // Bitcoin mainnet
|
||||
|
||||
@Component({
|
||||
selector: 'app-difficulty-tooltip',
|
||||
templateUrl: './difficulty-tooltip.component.html',
|
||||
styleUrls: ['./difficulty-tooltip.component.scss'],
|
||||
})
|
||||
export class DifficultyTooltipComponent implements OnChanges {
|
||||
@Input() status: string | void;
|
||||
@Input() progress: EpochProgress | void = null;
|
||||
@Input() cursorPosition: { x: number, y: number };
|
||||
|
||||
mined: number;
|
||||
ahead: number;
|
||||
behind: number;
|
||||
expected: number;
|
||||
remaining: number;
|
||||
isAhead: boolean;
|
||||
isBehind: boolean;
|
||||
|
||||
tooltipPosition = { x: 0, y: 0 };
|
||||
|
||||
@ViewChild('tooltip') tooltipElement: ElementRef<HTMLCanvasElement>;
|
||||
|
||||
constructor() {}
|
||||
|
||||
ngOnChanges(changes): void {
|
||||
if (changes.cursorPosition && changes.cursorPosition.currentValue) {
|
||||
let x = changes.cursorPosition.currentValue.x;
|
||||
let y = changes.cursorPosition.currentValue.y - 50;
|
||||
if (this.tooltipElement) {
|
||||
const elementBounds = this.tooltipElement.nativeElement.getBoundingClientRect();
|
||||
x -= elementBounds.width / 2;
|
||||
x = Math.min(Math.max(x, 20), (window.innerWidth - 20 - elementBounds.width));
|
||||
}
|
||||
this.tooltipPosition = { x, y };
|
||||
}
|
||||
if ((changes.progress || changes.status) && this.progress && this.status) {
|
||||
this.remaining = this.progress.remainingBlocks;
|
||||
this.expected = this.progress.expectedBlocks;
|
||||
this.mined = this.progress.minedBlocks;
|
||||
this.ahead = Math.max(0, this.mined - this.expected);
|
||||
this.behind = Math.max(0, this.expected - this.mined);
|
||||
this.isAhead = this.ahead > 0;
|
||||
this.isBehind = this.behind > 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3,81 +3,100 @@
|
||||
<div class="card">
|
||||
<div class="card-body more-padding">
|
||||
<div class="difficulty-adjustment-container" *ngIf="(isLoadingWebSocket$ | async) === false && (difficultyEpoch$ | async) as epochData; else loadingDifficulty">
|
||||
<div class="item">
|
||||
<h5 class="card-title" i18n="difficulty-box.remaining">Remaining</h5>
|
||||
<div class="card-text">
|
||||
<ng-container *ngTemplateOutlet="epochData.remainingBlocks === 1 ? blocksSingular : blocksPlural; context: {$implicit: epochData.remainingBlocks }"></ng-container>
|
||||
<ng-template #blocksPlural let-i i18n="shared.blocks">{{ i }} <span class="shared-block">blocks</span></ng-template>
|
||||
<ng-template #blocksSingular let-i i18n="shared.block">{{ i }} <span class="shared-block">block</span></ng-template>
|
||||
</div>
|
||||
<div class="symbol"><app-time-until [time]="epochData.estimatedRetargetDate" [fastRender]="true"></app-time-until></div>
|
||||
<div class="epoch-progress">
|
||||
<svg class="epoch-blocks" height="22px" width="100%" viewBox="0 0 224 9" shape-rendering="crispEdges" preserveAspectRatio="none">
|
||||
<defs>
|
||||
<linearGradient id="diff-gradient" x1="0%" y1="0%" x2="100%" y2="0%" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0%" stop-color="#105fb0" />
|
||||
<stop offset="100%" stop-color="#9339f4" />
|
||||
</linearGradient>
|
||||
<linearGradient id="diff-hover-gradient" x1="0%" y1="0%" x2="100%" y2="0%" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0%" stop-color="#2486eb" />
|
||||
<stop offset="100%" stop-color="#ae6af7" />
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<rect
|
||||
*ngFor="let rect of shapes"
|
||||
[attr.x]="rect.x" [attr.y]="rect.y"
|
||||
[attr.width]="rect.w" [attr.height]="rect.h"
|
||||
class="rect {{rect.status}}"
|
||||
[class.hover]="hoverSection && rect.status === hoverSection.status"
|
||||
(pointerover)="onHover($event, rect);"
|
||||
(pointerout)="onBlur($event);"
|
||||
>
|
||||
<animate
|
||||
*ngIf="rect.status === 'next'"
|
||||
attributeType="XML"
|
||||
attributeName="fill"
|
||||
[attr.values]="'#fff;' + (rect.expected ? '#D81B60' : '#2d3348') + ';#fff'"
|
||||
dur="2s"
|
||||
repeatCount="indefinite"/>
|
||||
</rect>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="item">
|
||||
<h5 class="card-title" i18n="difficulty-box.estimate">Estimate</h5>
|
||||
<div *ngIf="epochData.remainingBlocks < 1870; else recentlyAdjusted" class="card-text" [ngStyle]="{'color': epochData.colorAdjustments}">
|
||||
<span *ngIf="epochData.change > 0; else arrowDownDifficulty" >
|
||||
<fa-icon class="retarget-sign" [icon]="['fas', 'caret-up']" [fixedWidth]="true"></fa-icon>
|
||||
</span>
|
||||
<ng-template #arrowDownDifficulty >
|
||||
<fa-icon class="retarget-sign" [icon]="['fas', 'caret-down']" [fixedWidth]="true"></fa-icon>
|
||||
</ng-template>
|
||||
{{ epochData.change | absolute | number: '1.2-2' }}
|
||||
<span class="symbol">%</span>
|
||||
<div class="difficulty-stats">
|
||||
<div class="item">
|
||||
<div class="card-text">
|
||||
~<app-time [time]="epochData.timeAvg / 1000" [forceFloorOnTimeIntervals]="['minute']" [fractionDigits]="1"></app-time>
|
||||
</div>
|
||||
<div class="symbol" i18n="difficulty-box.average-block-time">Average block time</div>
|
||||
</div>
|
||||
<ng-template #recentlyAdjusted>
|
||||
<div class="card-text">—</div>
|
||||
</ng-template>
|
||||
<div class="symbol">
|
||||
<span i18n="difficulty-box.previous">Previous</span>:
|
||||
<span [ngStyle]="{'color': epochData.colorPreviousAdjustments}">
|
||||
<span *ngIf="epochData.previousRetarget > 0; else arrowDownPreviousDifficulty" >
|
||||
<fa-icon class="previous-retarget-sign" [icon]="['fas', 'caret-up']" [fixedWidth]="true"></fa-icon>
|
||||
<div class="item">
|
||||
<div *ngIf="epochData.remainingBlocks < 1870; else recentlyAdjusted" class="card-text" [ngStyle]="{'color': epochData.colorAdjustments}">
|
||||
<span *ngIf="epochData.change > 0; else arrowDownDifficulty" >
|
||||
<fa-icon class="retarget-sign" [icon]="['fas', 'caret-up']" [fixedWidth]="true"></fa-icon>
|
||||
</span>
|
||||
<ng-template #arrowDownPreviousDifficulty >
|
||||
<fa-icon class="previous-retarget-sign" [icon]="['fas', 'caret-down']" [fixedWidth]="true"></fa-icon>
|
||||
<ng-template #arrowDownDifficulty >
|
||||
<fa-icon class="retarget-sign" [icon]="['fas', 'caret-down']" [fixedWidth]="true"></fa-icon>
|
||||
</ng-template>
|
||||
{{ epochData.previousRetarget | absolute | number: '1.2-2' }} </span> %
|
||||
{{ epochData.change | absolute | number: '1.2-2' }}
|
||||
<span class="symbol">%</span>
|
||||
</div>
|
||||
<ng-template #recentlyAdjusted>
|
||||
<div class="card-text">—</div>
|
||||
</ng-template>
|
||||
<div class="symbol">
|
||||
<span i18n="difficulty-box.previous">Previous</span>:
|
||||
<span [ngStyle]="{'color': epochData.colorPreviousAdjustments}">
|
||||
<span *ngIf="epochData.previousRetarget > 0; else arrowDownPreviousDifficulty" >
|
||||
<fa-icon class="previous-retarget-sign" [icon]="['fas', 'caret-up']" [fixedWidth]="true"></fa-icon>
|
||||
</span>
|
||||
<ng-template #arrowDownPreviousDifficulty >
|
||||
<fa-icon class="previous-retarget-sign" [icon]="['fas', 'caret-down']" [fixedWidth]="true"></fa-icon>
|
||||
</ng-template>
|
||||
{{ epochData.previousRetarget | absolute | number: '1.2-2' }} </span> %
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item" *ngIf="showProgress">
|
||||
<h5 class="card-title" i18n="difficulty-box.current-period">Current Period</h5>
|
||||
<div class="card-text">{{ epochData.progress | number: '1.2-2' }} <span class="symbol">%</span></div>
|
||||
<div class="progress small-bar">
|
||||
<div class="progress-bar" role="progressbar" style="width: 15%; background-color: #105fb0" [ngStyle]="{'width': epochData.base}"> </div>
|
||||
<div class="item">
|
||||
<div class="card-text"><app-time kind="until" [time]="epochData.estimatedRetargetDate" [fastRender]="true"></app-time></div>
|
||||
<div class="symbol">
|
||||
{{ epochData.retargetDateString }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item" *ngIf="showHalving">
|
||||
<h5 class="card-title" i18n="difficulty-box.next-halving">Next Halving</h5>
|
||||
<div class="card-text">
|
||||
<ng-container *ngTemplateOutlet="epochData.blocksUntilHalving === 1 ? blocksSingular : blocksPlural; context: {$implicit: epochData.blocksUntilHalving }"></ng-container>
|
||||
<ng-template #blocksPlural let-i i18n="shared.blocks">{{ i }} <span class="shared-block">blocks</span></ng-template>
|
||||
<ng-template #blocksSingular let-i i18n="shared.block">{{ i }} <span class="shared-block">block</span></ng-template>
|
||||
</div>
|
||||
<div class="symbol"><app-time-until [time]="epochData.timeUntilHalving" [fastRender]="true"></app-time-until></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<ng-template #loadingDifficulty>
|
||||
<div class="epoch-progress">
|
||||
<div class="skeleton-loader"></div>
|
||||
</div>
|
||||
<div class="difficulty-skeleton loading-container">
|
||||
<div class="item">
|
||||
<h5 class="card-title" i18n="difficulty-box.remaining">Remaining</h5>
|
||||
<div class="card-text">
|
||||
<div class="skeleton-loader"></div>
|
||||
<div class="skeleton-loader"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<h5 class="card-title" i18n="difficulty-box.estimate">Estimate</h5>
|
||||
<div class="card-text">
|
||||
<div class="skeleton-loader"></div>
|
||||
<div class="skeleton-loader"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<h5 class="card-title" i18n="difficulty-box.current-period">Current Period</h5>
|
||||
<div class="card-text">
|
||||
<div class="skeleton-loader"></div>
|
||||
<div class="skeleton-loader"></div>
|
||||
@@ -85,3 +104,10 @@
|
||||
</div>
|
||||
</div>
|
||||
</ng-template>
|
||||
|
||||
<app-difficulty-tooltip
|
||||
*ngIf="hoverSection && (isLoadingWebSocket$ | async) === false && (difficultyEpoch$ | async) as epochData"
|
||||
[cursorPosition]="tooltipPosition"
|
||||
[status]="hoverSection.status"
|
||||
[progress]="epochData"
|
||||
></app-difficulty-tooltip>
|
||||
@@ -1,8 +1,14 @@
|
||||
.difficulty-adjustment-container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.difficulty-stats {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-around;
|
||||
height: 76px;
|
||||
height: 50.5px;
|
||||
.shared-block {
|
||||
color: #ffffff66;
|
||||
font-size: 12px;
|
||||
@@ -24,8 +30,8 @@
|
||||
}
|
||||
}
|
||||
.card-text {
|
||||
font-size: 22px;
|
||||
margin-top: -9px;
|
||||
font-size: 20px;
|
||||
margin: auto;
|
||||
position: relative;
|
||||
}
|
||||
}
|
||||
@@ -33,7 +39,9 @@
|
||||
|
||||
.difficulty-skeleton {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
flex-direction: row;
|
||||
justify-content: space-around;
|
||||
height: 50.5px;
|
||||
@media (min-width: 376px) {
|
||||
flex-direction: row;
|
||||
}
|
||||
@@ -65,7 +73,7 @@
|
||||
width: 100%;
|
||||
display: block;
|
||||
&:first-child {
|
||||
margin: 14px auto 0;
|
||||
margin: 10px auto 4px;
|
||||
max-width: 80px;
|
||||
}
|
||||
&:last-child {
|
||||
@@ -109,7 +117,7 @@
|
||||
}
|
||||
|
||||
.loading-container {
|
||||
min-height: 76px;
|
||||
min-height: 50.5px;
|
||||
}
|
||||
|
||||
.main-title {
|
||||
@@ -133,7 +141,7 @@
|
||||
text-align: center;
|
||||
flex-direction: column;
|
||||
justify-content: space-around;
|
||||
padding: 24px 20px;
|
||||
padding: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -151,4 +159,50 @@
|
||||
|
||||
.symbol {
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.epoch-progress {
|
||||
width: 100%;
|
||||
height: 22px;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
.epoch-blocks {
|
||||
display: block;
|
||||
width: 100%;
|
||||
background: #2d3348;
|
||||
|
||||
.rect {
|
||||
fill: #2d3348;
|
||||
|
||||
&.behind {
|
||||
fill: #D81B60;
|
||||
}
|
||||
&.mined {
|
||||
fill: url(#diff-gradient);
|
||||
}
|
||||
&.ahead {
|
||||
fill: #1a9436;
|
||||
}
|
||||
|
||||
&.hover {
|
||||
fill: #535e84;
|
||||
&.behind {
|
||||
fill: #e94d86;
|
||||
}
|
||||
&.mined {
|
||||
fill: url(#diff-hover-gradient);
|
||||
}
|
||||
&.ahead {
|
||||
fill: #29d951;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.blocks-ahead {
|
||||
color: #3bcc49;
|
||||
}
|
||||
.blocks-behind {
|
||||
color: #D81B60;
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';
|
||||
import { ChangeDetectionStrategy, Component, HostListener, Inject, Input, LOCALE_ID, OnInit } from '@angular/core';
|
||||
import { combineLatest, Observable, timer } from 'rxjs';
|
||||
import { map, switchMap } from 'rxjs/operators';
|
||||
import { StateService } from '../..//services/state.service';
|
||||
@@ -7,16 +7,33 @@ interface EpochProgress {
|
||||
base: string;
|
||||
change: number;
|
||||
progress: number;
|
||||
minedBlocks: number;
|
||||
remainingBlocks: number;
|
||||
expectedBlocks: number;
|
||||
newDifficultyHeight: number;
|
||||
colorAdjustments: string;
|
||||
colorPreviousAdjustments: string;
|
||||
estimatedRetargetDate: number;
|
||||
retargetDateString: string;
|
||||
previousRetarget: number;
|
||||
blocksUntilHalving: number;
|
||||
timeUntilHalving: number;
|
||||
timeAvg: number;
|
||||
}
|
||||
|
||||
type BlockStatus = 'mined' | 'behind' | 'ahead' | 'next' | 'remaining';
|
||||
|
||||
interface DiffShape {
|
||||
x: number;
|
||||
y: number;
|
||||
w: number;
|
||||
h: number;
|
||||
status: BlockStatus;
|
||||
expected: boolean;
|
||||
}
|
||||
|
||||
const EPOCH_BLOCK_LENGTH = 2016; // Bitcoin mainnet
|
||||
|
||||
@Component({
|
||||
selector: 'app-difficulty',
|
||||
templateUrl: './difficulty.component.html',
|
||||
@@ -24,15 +41,27 @@ interface EpochProgress {
|
||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||
})
|
||||
export class DifficultyComponent implements OnInit {
|
||||
isLoadingWebSocket$: Observable<boolean>;
|
||||
difficultyEpoch$: Observable<EpochProgress>;
|
||||
|
||||
@Input() showProgress = true;
|
||||
@Input() showHalving = false;
|
||||
@Input() showTitle = true;
|
||||
|
||||
isLoadingWebSocket$: Observable<boolean>;
|
||||
difficultyEpoch$: Observable<EpochProgress>;
|
||||
|
||||
epochStart: number;
|
||||
currentHeight: number;
|
||||
currentIndex: number;
|
||||
expectedHeight: number;
|
||||
expectedIndex: number;
|
||||
difference: number;
|
||||
shapes: DiffShape[];
|
||||
|
||||
tooltipPosition = { x: 0, y: 0 };
|
||||
hoverSection: DiffShape | void;
|
||||
|
||||
constructor(
|
||||
public stateService: StateService,
|
||||
@Inject(LOCALE_ID) private locale: string,
|
||||
) { }
|
||||
|
||||
ngOnInit(): void {
|
||||
@@ -65,22 +94,110 @@ export class DifficultyComponent implements OnInit {
|
||||
|
||||
const blocksUntilHalving = 210000 - (block.height % 210000);
|
||||
const timeUntilHalving = new Date().getTime() + (blocksUntilHalving * 600000);
|
||||
const newEpochStart = Math.floor(this.stateService.latestBlockHeight / EPOCH_BLOCK_LENGTH) * EPOCH_BLOCK_LENGTH;
|
||||
const newExpectedHeight = Math.floor(newEpochStart + da.expectedBlocks);
|
||||
|
||||
if (newEpochStart !== this.epochStart || newExpectedHeight !== this.expectedHeight || this.currentHeight !== this.stateService.latestBlockHeight) {
|
||||
this.epochStart = newEpochStart;
|
||||
this.expectedHeight = newExpectedHeight;
|
||||
this.currentHeight = this.stateService.latestBlockHeight;
|
||||
this.currentIndex = this.currentHeight - this.epochStart;
|
||||
this.expectedIndex = Math.min(this.expectedHeight - this.epochStart, 2016) - 1;
|
||||
this.difference = this.currentIndex - this.expectedIndex;
|
||||
|
||||
this.shapes = [];
|
||||
this.shapes = this.shapes.concat(this.blocksToShapes(
|
||||
0, Math.min(this.currentIndex, this.expectedIndex), 'mined', true
|
||||
));
|
||||
this.shapes = this.shapes.concat(this.blocksToShapes(
|
||||
this.currentIndex + 1, this.expectedIndex, 'behind', true
|
||||
));
|
||||
this.shapes = this.shapes.concat(this.blocksToShapes(
|
||||
this.expectedIndex + 1, this.currentIndex, 'ahead', false
|
||||
));
|
||||
if (this.currentIndex < 2015) {
|
||||
this.shapes = this.shapes.concat(this.blocksToShapes(
|
||||
this.currentIndex + 1, this.currentIndex + 1, 'next', (this.expectedIndex > this.currentIndex)
|
||||
));
|
||||
}
|
||||
this.shapes = this.shapes.concat(this.blocksToShapes(
|
||||
Math.max(this.currentIndex + 2, this.expectedIndex + 1), 2105, 'remaining', false
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
let retargetDateString;
|
||||
if (da.remainingBlocks > 1870) {
|
||||
retargetDateString = (new Date(da.estimatedRetargetDate)).toLocaleDateString(this.locale, { month: 'long', day: 'numeric' });
|
||||
} else {
|
||||
retargetDateString = (new Date(da.estimatedRetargetDate)).toLocaleTimeString(this.locale, { month: 'long', day: 'numeric', hour: 'numeric', minute: 'numeric' });
|
||||
}
|
||||
|
||||
const data = {
|
||||
base: `${da.progressPercent.toFixed(2)}%`,
|
||||
change: da.difficultyChange,
|
||||
progress: da.progressPercent,
|
||||
remainingBlocks: da.remainingBlocks,
|
||||
minedBlocks: this.currentIndex + 1,
|
||||
remainingBlocks: da.remainingBlocks - 1,
|
||||
expectedBlocks: Math.floor(da.expectedBlocks),
|
||||
colorAdjustments,
|
||||
colorPreviousAdjustments,
|
||||
newDifficultyHeight: da.nextRetargetHeight,
|
||||
estimatedRetargetDate: da.estimatedRetargetDate,
|
||||
retargetDateString,
|
||||
previousRetarget: da.previousRetarget,
|
||||
blocksUntilHalving,
|
||||
timeUntilHalving,
|
||||
timeAvg: da.timeAvg,
|
||||
};
|
||||
return data;
|
||||
})
|
||||
);
|
||||
}
|
||||
|
||||
blocksToShapes(start: number, end: number, status: BlockStatus, expected: boolean = false): DiffShape[] {
|
||||
const startY = start % 9;
|
||||
const startX = Math.floor(start / 9);
|
||||
const endY = (end % 9);
|
||||
const endX = Math.floor(end / 9);
|
||||
|
||||
if (startX > endX) {
|
||||
return [];
|
||||
}
|
||||
|
||||
if (startX === endX) {
|
||||
return [{
|
||||
x: startX, y: startY, w: 1, h: 1 + endY - startY, status, expected
|
||||
}];
|
||||
}
|
||||
|
||||
const shapes = [];
|
||||
shapes.push({
|
||||
x: startX, y: startY, w: 1, h: 9 - startY, status, expected
|
||||
});
|
||||
shapes.push({
|
||||
x: endX, y: 0, w: 1, h: endY + 1, status, expected
|
||||
});
|
||||
|
||||
if (startX < endX - 1) {
|
||||
shapes.push({
|
||||
x: startX + 1, y: 0, w: endX - startX - 1, h: 9, status, expected
|
||||
});
|
||||
}
|
||||
|
||||
return shapes;
|
||||
}
|
||||
|
||||
@HostListener('pointermove', ['$event'])
|
||||
onPointerMove(event) {
|
||||
this.tooltipPosition = { x: event.clientX, y: event.clientY };
|
||||
}
|
||||
|
||||
onHover(event, rect): void {
|
||||
this.hoverSection = rect;
|
||||
}
|
||||
|
||||
onBlur(event): void {
|
||||
this.hoverSection = null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
<div *ngIf="stateService.env.MINING_DASHBOARD || stateService.env.LIGHTNING" class="mb-3 d-flex menu"
|
||||
style="padding: 0px 35px;">
|
||||
<div *ngIf="stateService.env.MINING_DASHBOARD || stateService.env.LIGHTNING" class="mb-3 d-flex menu">
|
||||
|
||||
<a routerLinkActive="active" class="btn btn-primary mr-1" [class]="padding"
|
||||
<a routerLinkActive="active" class="btn btn-primary" [class]="padding"
|
||||
[routerLink]="['/graphs/mempool' | relativeUrl]">Mempool</a>
|
||||
|
||||
<div ngbDropdown class="mr-1" [class]="padding" *ngIf="stateService.env.MINING_DASHBOARD">
|
||||
<div ngbDropdown [class]="padding" *ngIf="stateService.env.MINING_DASHBOARD">
|
||||
<button class="btn btn-primary w-100" id="dropdownBasic1" ngbDropdownToggle i18n="mining">Mining</button>
|
||||
<div ngbDropdownMenu aria-labelledby="dropdownBasic1">
|
||||
<a class="dropdown-item" routerLinkActive="active" [routerLink]="['/graphs/mining/pools' | relativeUrl]"
|
||||
|
||||
@@ -1,6 +1,15 @@
|
||||
.menu {
|
||||
flex-grow: 1;
|
||||
padding: 0 35px;
|
||||
@media (min-width: 576px) {
|
||||
max-width: 400px;
|
||||
}
|
||||
}
|
||||
|
||||
& > * {
|
||||
margin: 0;
|
||||
margin-inline-end: 0.25rem;
|
||||
&.last-child {
|
||||
margin-inline-end: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -54,31 +54,6 @@
|
||||
height: 240px;
|
||||
}
|
||||
|
||||
.formRadioGroup {
|
||||
margin-top: 6px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
@media (min-width: 991px) {
|
||||
position: relative;
|
||||
top: -100px;
|
||||
}
|
||||
@media (min-width: 830px) and (max-width: 991px) {
|
||||
position: relative;
|
||||
top: 0px;
|
||||
}
|
||||
@media (min-width: 830px) {
|
||||
flex-direction: row;
|
||||
float: right;
|
||||
margin-top: 0px;
|
||||
}
|
||||
.btn-sm {
|
||||
font-size: 9px;
|
||||
@media (min-width: 830px) {
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.pool-distribution {
|
||||
min-height: 56px;
|
||||
display: block;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { ChangeDetectionStrategy, Component, Inject, Input, LOCALE_ID, OnInit, HostBinding } from '@angular/core';
|
||||
import { EChartsOption, graphic } from 'echarts';
|
||||
import { Observable } from 'rxjs';
|
||||
import { map, share, startWith, switchMap, tap } from 'rxjs/operators';
|
||||
import { merge, Observable, of } from 'rxjs';
|
||||
import { map, mergeMap, share, startWith, switchMap, tap } from 'rxjs/operators';
|
||||
import { ApiService } from '../../services/api.service';
|
||||
import { SeoService } from '../../services/seo.service';
|
||||
import { formatNumber } from '@angular/common';
|
||||
@@ -84,77 +84,84 @@ export class HashrateChartComponent implements OnInit {
|
||||
}
|
||||
});
|
||||
|
||||
this.hashrateObservable$ = this.radioGroupForm.get('dateSpan').valueChanges
|
||||
.pipe(
|
||||
startWith(this.radioGroupForm.controls.dateSpan.value),
|
||||
switchMap((timespan) => {
|
||||
if (!this.widget && !firstRun) {
|
||||
this.storageService.setValue('miningWindowPreference', timespan);
|
||||
}
|
||||
this.timespan = timespan;
|
||||
firstRun = false;
|
||||
this.miningWindowPreference = timespan;
|
||||
this.isLoading = true;
|
||||
return this.apiService.getHistoricalHashrate$(timespan)
|
||||
.pipe(
|
||||
tap((response) => {
|
||||
const data = response.body;
|
||||
this.hashrateObservable$ = merge(
|
||||
this.radioGroupForm.get('dateSpan').valueChanges
|
||||
.pipe(
|
||||
startWith(this.radioGroupForm.controls.dateSpan.value),
|
||||
switchMap((timespan) => {
|
||||
if (!this.widget && !firstRun) {
|
||||
this.storageService.setValue('miningWindowPreference', timespan);
|
||||
}
|
||||
this.timespan = timespan;
|
||||
firstRun = false;
|
||||
this.miningWindowPreference = timespan;
|
||||
this.isLoading = true;
|
||||
return this.apiService.getHistoricalHashrate$(this.timespan);
|
||||
})
|
||||
),
|
||||
this.stateService.chainTip$
|
||||
.pipe(
|
||||
switchMap(() => {
|
||||
return this.apiService.getHistoricalHashrate$(this.timespan);
|
||||
})
|
||||
)
|
||||
).pipe(
|
||||
tap((response: any) => {
|
||||
const data = response.body;
|
||||
|
||||
// We generate duplicated data point so the tooltip works nicely
|
||||
const diffFixed = [];
|
||||
let diffIndex = 1;
|
||||
let hashIndex = 0;
|
||||
while (hashIndex < data.hashrates.length) {
|
||||
if (diffIndex >= data.difficulty.length) {
|
||||
while (hashIndex < data.hashrates.length) {
|
||||
diffFixed.push({
|
||||
timestamp: data.hashrates[hashIndex].timestamp,
|
||||
difficulty: data.difficulty.length > 0 ? data.difficulty[data.difficulty.length - 1].difficulty : null
|
||||
});
|
||||
++hashIndex;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
while (hashIndex < data.hashrates.length && diffIndex < data.difficulty.length &&
|
||||
data.hashrates[hashIndex].timestamp <= data.difficulty[diffIndex].time
|
||||
) {
|
||||
diffFixed.push({
|
||||
timestamp: data.hashrates[hashIndex].timestamp,
|
||||
difficulty: data.difficulty[diffIndex - 1].difficulty
|
||||
});
|
||||
++hashIndex;
|
||||
}
|
||||
++diffIndex;
|
||||
}
|
||||
|
||||
let maResolution = 15;
|
||||
const hashrateMa = [];
|
||||
for (let i = maResolution - 1; i < data.hashrates.length; ++i) {
|
||||
let avg = 0;
|
||||
for (let y = maResolution - 1; y >= 0; --y) {
|
||||
avg += data.hashrates[i - y].avgHashrate;
|
||||
}
|
||||
avg /= maResolution;
|
||||
hashrateMa.push([data.hashrates[i].timestamp * 1000, avg]);
|
||||
}
|
||||
|
||||
this.prepareChartOptions({
|
||||
hashrates: data.hashrates.map(val => [val.timestamp * 1000, val.avgHashrate]),
|
||||
difficulty: diffFixed.map(val => [val.timestamp * 1000, val.difficulty]),
|
||||
hashrateMa: hashrateMa,
|
||||
// We generate duplicated data point so the tooltip works nicely
|
||||
const diffFixed = [];
|
||||
let diffIndex = 1;
|
||||
let hashIndex = 0;
|
||||
while (hashIndex < data.hashrates.length) {
|
||||
if (diffIndex >= data.difficulty.length) {
|
||||
while (hashIndex < data.hashrates.length) {
|
||||
diffFixed.push({
|
||||
timestamp: data.hashrates[hashIndex].timestamp,
|
||||
difficulty: data.difficulty.length > 0 ? data.difficulty[data.difficulty.length - 1].difficulty : null
|
||||
});
|
||||
this.isLoading = false;
|
||||
}),
|
||||
map((response) => {
|
||||
const data = response.body;
|
||||
return {
|
||||
blockCount: parseInt(response.headers.get('x-total-count'), 10),
|
||||
currentDifficulty: data.currentDifficulty,
|
||||
currentHashrate: data.currentHashrate,
|
||||
};
|
||||
}),
|
||||
);
|
||||
++hashIndex;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
while (hashIndex < data.hashrates.length && diffIndex < data.difficulty.length &&
|
||||
data.hashrates[hashIndex].timestamp <= data.difficulty[diffIndex].time
|
||||
) {
|
||||
diffFixed.push({
|
||||
timestamp: data.hashrates[hashIndex].timestamp,
|
||||
difficulty: data.difficulty[diffIndex - 1].difficulty
|
||||
});
|
||||
++hashIndex;
|
||||
}
|
||||
++diffIndex;
|
||||
}
|
||||
|
||||
let maResolution = 15;
|
||||
const hashrateMa = [];
|
||||
for (let i = maResolution - 1; i < data.hashrates.length; ++i) {
|
||||
let avg = 0;
|
||||
for (let y = maResolution - 1; y >= 0; --y) {
|
||||
avg += data.hashrates[i - y].avgHashrate;
|
||||
}
|
||||
avg /= maResolution;
|
||||
hashrateMa.push([data.hashrates[i].timestamp * 1000, avg]);
|
||||
}
|
||||
|
||||
this.prepareChartOptions({
|
||||
hashrates: data.hashrates.map(val => [val.timestamp * 1000, val.avgHashrate]),
|
||||
difficulty: diffFixed.map(val => [val.timestamp * 1000, val.difficulty]),
|
||||
hashrateMa: hashrateMa,
|
||||
});
|
||||
this.isLoading = false;
|
||||
}),
|
||||
map((response) => {
|
||||
const data = response.body;
|
||||
return {
|
||||
blockCount: parseInt(response.headers.get('x-total-count'), 10),
|
||||
currentDifficulty: data.currentDifficulty,
|
||||
currentHashrate: data.currentHashrate,
|
||||
};
|
||||
}),
|
||||
share()
|
||||
);
|
||||
|
||||
@@ -48,31 +48,6 @@
|
||||
max-height: 293px;
|
||||
}
|
||||
|
||||
.formRadioGroup {
|
||||
margin-top: 6px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
@media (min-width: 991px) {
|
||||
position: relative;
|
||||
top: -100px;
|
||||
}
|
||||
@media (min-width: 830px) and (max-width: 991px) {
|
||||
position: relative;
|
||||
top: 0px;
|
||||
}
|
||||
@media (min-width: 830px) {
|
||||
flex-direction: row;
|
||||
float: right;
|
||||
margin-top: 0px;
|
||||
}
|
||||
.btn-sm {
|
||||
font-size: 9px;
|
||||
@media (min-width: 830px) {
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.loadingGraphs {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
|
||||
@@ -23,10 +23,10 @@
|
||||
</div>
|
||||
<div [attr.data-cy]="'mempool-block-' + i + '-time'" class="time-difference" *ngIf="projectedBlock.blockVSize <= stateService.blockVSize; else mergedBlock">
|
||||
<ng-template [ngIf]="network === 'liquid' || network === 'liquidtestnet'" [ngIfElse]="timeDiffMainnet">
|
||||
<app-time-until [time]="(1 * i) + now + 61000" [fastRender]="false" [fixedRender]="true"></app-time-until>
|
||||
<app-time kind="until" [time]="(1 * i) + now + 61000" [fastRender]="false" [fixedRender]="true"></app-time>
|
||||
</ng-template>
|
||||
<ng-template #timeDiffMainnet>
|
||||
<app-time-until [time]="da.timeAvg * (i + 1) + now + da.timeOffset" [fastRender]="false" [fixedRender]="true" [forceFloorOnTimeIntervals]="['hour']"></app-time-until>
|
||||
<app-time kind="until" [time]="da.timeAvg * (i + 1) + now + da.timeOffset" [fastRender]="false" [fixedRender]="true" [forceFloorOnTimeIntervals]="['hour']"></app-time>
|
||||
</ng-template>
|
||||
</div>
|
||||
<ng-template #mergedBlock>
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
|
||||
<div class="row row-cols-1 row-cols-md-2">
|
||||
|
||||
<!-- Temporary stuff here - Will be moved to a component once we have more useful data to show -->
|
||||
<div class="col">
|
||||
<div class="main-title">
|
||||
<span [attr.data-cy]="'reward-stats'" i18n="mining.reward-stats">Reward stats</span>
|
||||
@@ -22,7 +21,7 @@
|
||||
<!-- difficulty adjustment -->
|
||||
<div class="col">
|
||||
<div class="main-title" i18n="dashboard.difficulty-adjustment">Difficulty Adjustment</div>
|
||||
<app-difficulty [attr.data-cy]="'difficulty-adjustment'" [showTitle]="false" [showProgress]="false" [showHalving]="true"></app-difficulty>
|
||||
<app-difficulty-mining [attr.data-cy]="'difficulty-adjustment'" [showTitle]="false" [showProgress]="false" [showHalving]="true"></app-difficulty-mining>
|
||||
</div>
|
||||
|
||||
<!-- pool distribution -->
|
||||
|
||||
@@ -33,31 +33,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
.formRadioGroup {
|
||||
margin-top: 6px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
@media (min-width: 991px) {
|
||||
position: relative;
|
||||
top: -100px;
|
||||
}
|
||||
@media (min-width: 830px) and (max-width: 991px) {
|
||||
position: relative;
|
||||
top: 0px;
|
||||
}
|
||||
@media (min-width: 830px) {
|
||||
flex-direction: row;
|
||||
float: right;
|
||||
margin-top: 0px;
|
||||
}
|
||||
.btn-sm {
|
||||
font-size: 9px;
|
||||
@media (min-width: 830px) {
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.bottom-padding {
|
||||
@media (max-width: 992px) {
|
||||
padding-bottom: 65px
|
||||
|
||||
@@ -2,7 +2,7 @@ import { ChangeDetectionStrategy, Component, Input, NgZone, OnInit, HostBinding
|
||||
import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';
|
||||
import { ActivatedRoute, Router } from '@angular/router';
|
||||
import { EChartsOption, PieSeriesOption } from 'echarts';
|
||||
import { concat, Observable } from 'rxjs';
|
||||
import { merge, Observable } from 'rxjs';
|
||||
import { map, share, startWith, switchMap, tap } from 'rxjs/operators';
|
||||
import { SeoService } from '../../services/seo.service';
|
||||
import { StorageService } from '../..//services/storage.service';
|
||||
@@ -73,7 +73,7 @@ export class PoolRankingComponent implements OnInit {
|
||||
}
|
||||
});
|
||||
|
||||
this.miningStatsObservable$ = concat(
|
||||
this.miningStatsObservable$ = merge(
|
||||
this.radioGroupForm.get('dateSpan').valueChanges
|
||||
.pipe(
|
||||
startWith(this.radioGroupForm.controls.dateSpan.value), // (trigger when the page loads)
|
||||
@@ -89,7 +89,7 @@ export class PoolRankingComponent implements OnInit {
|
||||
return this.miningService.getMiningStats(this.miningWindowPreference);
|
||||
})
|
||||
),
|
||||
this.stateService.blocks$
|
||||
this.stateService.chainTip$
|
||||
.pipe(
|
||||
switchMap(() => {
|
||||
return this.miningService.getMiningStats(this.miningWindowPreference);
|
||||
|
||||
@@ -227,7 +227,7 @@
|
||||
‎{{ block.timestamp * 1000 | date:'yyyy-MM-dd HH:mm' }}
|
||||
</td>
|
||||
<td class="mined">
|
||||
<app-time-since [time]="block.timestamp" [fastRender]="true"></app-time-since>
|
||||
<app-time kind="since" [time]="block.timestamp" [fastRender]="true"></app-time>
|
||||
</td>
|
||||
<td class="coinbase">
|
||||
<span class="badge badge-secondary scriptmessage longer">
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<form [formGroup]="searchForm" (submit)="searchForm.valid && search()" novalidate>
|
||||
<div class="d-flex">
|
||||
<div class="search-box-container mr-2">
|
||||
<input (focus)="focus$.next($any($event).target.value)" (click)="click$.next($any($event).target.value)" formControlName="searchText" type="text" class="form-control" i18n-placeholder="search-form.searchbar-placeholder" placeholder="Explore the full Bitcoin ecosystem">
|
||||
<input autofocus (focus)="focus$.next($any($event).target.value)" (click)="click$.next($any($event).target.value)" formControlName="searchText" type="text" class="form-control" i18n-placeholder="search-form.searchbar-placeholder" placeholder="Explore the full Bitcoin ecosystem">
|
||||
<app-search-results #searchResults [hidden]="dropdownHidden" [results]="typeAhead$ | async" (selectedResult)="selectedResult($event)"></app-search-results>
|
||||
</div>
|
||||
<div>
|
||||
|
||||
@@ -53,3 +53,8 @@ form {
|
||||
margin-top: 1px;
|
||||
margin-right: 2px;
|
||||
}
|
||||
|
||||
input:focus {
|
||||
box-shadow: none;
|
||||
border-color: #1b1f2c;
|
||||
}
|
||||
|
||||
@@ -49,6 +49,9 @@
|
||||
<label class="btn btn-primary btn-sm" [class.active]="radioGroupForm.get('dateSpan').value === '3y'">
|
||||
<input type="radio" [value]="'3y'" [routerLink]="['/graphs' | relativeUrl]" fragment="3y" formControlName="dateSpan"> 3Y
|
||||
</label>
|
||||
<label class="btn btn-primary btn-sm" [class.active]="radioGroupForm.get('dateSpan').value === '4y'">
|
||||
<input type="radio" [value]="'4y'" [routerLink]="['/graphs' | relativeUrl]" fragment="4y" formControlName="dateSpan"> 4Y
|
||||
</label>
|
||||
</div>
|
||||
<div class="small-buttons">
|
||||
<div ngbDropdown #myDrop="ngbDropdown">
|
||||
|
||||
@@ -70,7 +70,7 @@ export class StatisticsComponent implements OnInit {
|
||||
this.route
|
||||
.fragment
|
||||
.subscribe((fragment) => {
|
||||
if (['2h', '24h', '1w', '1m', '3m', '6m', '1y', '2y', '3y'].indexOf(fragment) > -1) {
|
||||
if (['2h', '24h', '1w', '1m', '3m', '6m', '1y', '2y', '3y', '4y'].indexOf(fragment) > -1) {
|
||||
this.radioGroupForm.controls.dateSpan.setValue(fragment, { emitEvent: false });
|
||||
}
|
||||
});
|
||||
@@ -109,7 +109,10 @@ export class StatisticsComponent implements OnInit {
|
||||
if (this.radioGroupForm.controls.dateSpan.value === '2y') {
|
||||
return this.apiService.list2YStatistics$();
|
||||
}
|
||||
return this.apiService.list3YStatistics$();
|
||||
if (this.radioGroupForm.controls.dateSpan.value === '3y') {
|
||||
return this.apiService.list3YStatistics$();
|
||||
}
|
||||
return this.apiService.list4YStatistics$();
|
||||
})
|
||||
)
|
||||
.subscribe((mempoolStats: any) => {
|
||||
@@ -181,7 +184,7 @@ export class StatisticsComponent implements OnInit {
|
||||
}
|
||||
|
||||
let capRatio = 10;
|
||||
if (['1m', '3m', '6m', '1y', '2y', '3y'].includes(this.graphWindowPreference)) {
|
||||
if (['1m', '3m', '6m', '1y', '2y', '3y', '4y'].includes(this.graphWindowPreference)) {
|
||||
capRatio = 4;
|
||||
}
|
||||
|
||||
|
||||
@@ -25,6 +25,12 @@
|
||||
</defs>
|
||||
</svg>
|
||||
</ng-container>
|
||||
<ng-container *ngSwitchCase="'warning'">
|
||||
<svg [class]="class" [style]="style" [attr.width]="width" [attr.height]="height" [attr.viewBox]="viewBox" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M135.3 34.474c-15.62 27.306-54.206 95.63-85.21 150.534L9.075 257.583C5.382 264.08 6.76 269.217 7.908 271.7c2.326 5.028 7.29 7.537 11.155 8.215l.78.133 264.698.006-.554-.02c4.152.255 9.664-1.24 12.677-6.194 1.926-3.18 3.31-8.589-1.073-16.278L213.637 114.37l-45.351-79.205c-5.681-9.932-12.272-12.022-16.8-12.022-4.42 0-10.818 1.964-16.181 11.331h-.006zm-69.072 159.94c30.997-54.885 69.563-123.184 85.16-150.446l.186-.297c.2.303.393.582.618.981l45.363 79.22s72.377 126.47 78.569 137.283l-247.618-.007 37.719-66.734" style="fill:#ffc107;fill-opacity:1"/>
|
||||
<path d="M152.597 247.445c8.02 0 14.518-6.728 14.518-15.025 0-8.29-6.499-15.018-14.518-15.018-8.031 0-14.529 6.728-14.529 15.018 0 8.297 6.498 15.025 14.53 15.025m-.001-147.18c11.586 0 22.23 10.958 20.977 21.7l-9.922 75.564c-.966 6.601-4.95 11.433-11.055 11.433s-10.102-4.832-11.056-11.433l-9.927-75.564c-1.26-10.742 9.39-21.7 20.983-21.7" style="fill:#ffc107;fill-opacity:1"/>
|
||||
</svg>
|
||||
</ng-container>
|
||||
<ng-container *ngSwitchCase="'mempoolSpace'">
|
||||
<svg [class]="class" [style]="style" [attr.width]="width" [attr.height]="height" [attr.viewBox]="viewBox" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M 219.548 86.198 L 219.548 63.833 C 219.548 60.359 218.746 57.686 217.163 55.919 C 215.601 54.151 213.237 53.267 210.195 53.267 C 206.762 53.267 203.946 54.377 202.013 56.453 C 200.081 58.55 199.053 61.633 199.053 65.395 L 199.053 86.219 L 191.447 86.219 L 191.447 63.833 C 191.447 56.823 188.282 53.267 182.032 53.267 C 178.6 53.267 175.783 54.377 173.851 56.453 C 171.919 58.55 170.891 61.633 170.891 65.395 L 170.891 86.219 L 163.285 86.219 L 163.285 46.422 L 170.685 46.422 L 170.685 50.759 C 173.687 47.799 178.003 46.175 182.999 46.175 C 188.96 46.175 193.667 48.498 196.36 52.753 C 199.608 48.559 204.85 46.175 210.955 46.175 C 215.93 46.175 219.877 47.614 222.693 50.43 C 225.632 53.39 227.174 57.871 227.154 63.36 L 227.154 86.198 L 219.548 86.198 Z" fill="white"/>
|
||||
@@ -104,4 +110,4 @@
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
</ng-template>
|
||||
</ng-template>
|
||||
|
||||
@@ -13,4 +13,5 @@ export class SvgImagesComponent {
|
||||
@Input() width: string;
|
||||
@Input() height: string;
|
||||
@Input() viewBox: string;
|
||||
@Input() fill: string;
|
||||
}
|
||||
|
||||
@@ -1,98 +0,0 @@
|
||||
import { Component, OnInit, OnDestroy, ChangeDetectionStrategy, Input, ChangeDetectorRef, OnChanges } from '@angular/core';
|
||||
import { StateService } from '../../services/state.service';
|
||||
import { dates } from '../../shared/i18n/dates';
|
||||
|
||||
@Component({
|
||||
selector: 'app-time-since',
|
||||
template: `{{ text }}`,
|
||||
changeDetection: ChangeDetectionStrategy.OnPush
|
||||
})
|
||||
export class TimeSinceComponent implements OnInit, OnChanges, OnDestroy {
|
||||
interval: number;
|
||||
text: string;
|
||||
intervals = {};
|
||||
|
||||
@Input() time: number;
|
||||
@Input() dateString: number;
|
||||
@Input() fastRender = false;
|
||||
|
||||
constructor(
|
||||
private ref: ChangeDetectorRef,
|
||||
private stateService: StateService,
|
||||
) {
|
||||
this.intervals = {
|
||||
year: 31536000,
|
||||
month: 2592000,
|
||||
week: 604800,
|
||||
day: 86400,
|
||||
hour: 3600,
|
||||
minute: 60,
|
||||
second: 1
|
||||
};
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
if (!this.stateService.isBrowser) {
|
||||
this.text = this.calculate();
|
||||
this.ref.markForCheck();
|
||||
return;
|
||||
}
|
||||
this.interval = window.setInterval(() => {
|
||||
this.text = this.calculate();
|
||||
this.ref.markForCheck();
|
||||
}, 1000 * (this.fastRender ? 1 : 60));
|
||||
}
|
||||
|
||||
ngOnChanges() {
|
||||
this.text = this.calculate();
|
||||
this.ref.markForCheck();
|
||||
}
|
||||
|
||||
ngOnDestroy() {
|
||||
clearInterval(this.interval);
|
||||
}
|
||||
|
||||
calculate() {
|
||||
let date: Date;
|
||||
if (this.dateString) {
|
||||
date = new Date(this.dateString)
|
||||
} else {
|
||||
date = new Date(this.time * 1000);
|
||||
}
|
||||
const seconds = Math.floor((+new Date() - +date) / 1000);
|
||||
if (seconds < 60) {
|
||||
return $localize`:@@date-base.just-now:Just now`;
|
||||
}
|
||||
let counter: number;
|
||||
for (const i in this.intervals) {
|
||||
if (this.intervals.hasOwnProperty(i)) {
|
||||
counter = Math.floor(seconds / this.intervals[i]);
|
||||
const dateStrings = dates(counter);
|
||||
if (counter > 0) {
|
||||
if (counter === 1) {
|
||||
switch (i) { // singular (1 day)
|
||||
case 'year': return $localize`:@@time-since:${dateStrings.i18nYear}:DATE: ago`; break;
|
||||
case 'month': return $localize`:@@time-since:${dateStrings.i18nMonth}:DATE: ago`; break;
|
||||
case 'week': return $localize`:@@time-since:${dateStrings.i18nWeek}:DATE: ago`; break;
|
||||
case 'day': return $localize`:@@time-since:${dateStrings.i18nDay}:DATE: ago`; break;
|
||||
case 'hour': return $localize`:@@time-since:${dateStrings.i18nHour}:DATE: ago`; break;
|
||||
case 'minute': return $localize`:@@time-since:${dateStrings.i18nMinute}:DATE: ago`; break;
|
||||
case 'second': return $localize`:@@time-since:${dateStrings.i18nSecond}:DATE: ago`; break;
|
||||
}
|
||||
} else {
|
||||
switch (i) { // plural (2 days)
|
||||
case 'year': return $localize`:@@time-since:${dateStrings.i18nYears}:DATE: ago`; break;
|
||||
case 'month': return $localize`:@@time-since:${dateStrings.i18nMonths}:DATE: ago`; break;
|
||||
case 'week': return $localize`:@@time-since:${dateStrings.i18nWeeks}:DATE: ago`; break;
|
||||
case 'day': return $localize`:@@time-since:${dateStrings.i18nDays}:DATE: ago`; break;
|
||||
case 'hour': return $localize`:@@time-since:${dateStrings.i18nHours}:DATE: ago`; break;
|
||||
case 'minute': return $localize`:@@time-since:${dateStrings.i18nMinutes}:DATE: ago`; break;
|
||||
case 'second': return $localize`:@@time-since:${dateStrings.i18nSeconds}:DATE: ago`; break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,91 +0,0 @@
|
||||
import { Component, OnInit, OnDestroy, ChangeDetectionStrategy, Input, ChangeDetectorRef, OnChanges } from '@angular/core';
|
||||
import { StateService } from '../../services/state.service';
|
||||
import { dates } from '../../shared/i18n/dates';
|
||||
|
||||
@Component({
|
||||
selector: 'app-time-span',
|
||||
template: `{{ text }}`,
|
||||
changeDetection: ChangeDetectionStrategy.OnPush
|
||||
})
|
||||
export class TimeSpanComponent implements OnInit, OnChanges, OnDestroy {
|
||||
interval: number;
|
||||
text: string;
|
||||
intervals = {};
|
||||
|
||||
@Input() time: number;
|
||||
@Input() fastRender = false;
|
||||
|
||||
constructor(
|
||||
private ref: ChangeDetectorRef,
|
||||
private stateService: StateService,
|
||||
) {
|
||||
this.intervals = {
|
||||
year: 31536000,
|
||||
month: 2592000,
|
||||
week: 604800,
|
||||
day: 86400,
|
||||
hour: 3600,
|
||||
minute: 60,
|
||||
second: 1
|
||||
};
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
if (!this.stateService.isBrowser) {
|
||||
this.text = this.calculate();
|
||||
this.ref.markForCheck();
|
||||
return;
|
||||
}
|
||||
this.interval = window.setInterval(() => {
|
||||
this.text = this.calculate();
|
||||
this.ref.markForCheck();
|
||||
}, 1000 * (this.fastRender ? 1 : 60));
|
||||
}
|
||||
|
||||
ngOnChanges() {
|
||||
this.text = this.calculate();
|
||||
this.ref.markForCheck();
|
||||
}
|
||||
|
||||
ngOnDestroy() {
|
||||
clearInterval(this.interval);
|
||||
}
|
||||
|
||||
calculate() {
|
||||
const seconds = Math.floor(this.time);
|
||||
if (seconds < 60) {
|
||||
return $localize`:@@date-base.just-now:Just now`;
|
||||
}
|
||||
let counter: number;
|
||||
for (const i in this.intervals) {
|
||||
if (this.intervals.hasOwnProperty(i)) {
|
||||
counter = Math.floor(seconds / this.intervals[i]);
|
||||
const dateStrings = dates(counter);
|
||||
if (counter > 0) {
|
||||
if (counter === 1) {
|
||||
switch (i) { // singular (1 day)
|
||||
case 'year': return $localize`:@@time-span:After ${dateStrings.i18nYear}:DATE:`; break;
|
||||
case 'month': return $localize`:@@time-span:After ${dateStrings.i18nMonth}:DATE:`; break;
|
||||
case 'week': return $localize`:@@time-span:After ${dateStrings.i18nWeek}:DATE:`; break;
|
||||
case 'day': return $localize`:@@time-span:After ${dateStrings.i18nDay}:DATE:`; break;
|
||||
case 'hour': return $localize`:@@time-span:After ${dateStrings.i18nHour}:DATE:`; break;
|
||||
case 'minute': return $localize`:@@time-span:After ${dateStrings.i18nMinute}:DATE:`; break;
|
||||
case 'second': return $localize`:@@time-span:After ${dateStrings.i18nSecond}:DATE:`; break;
|
||||
}
|
||||
} else {
|
||||
switch (i) { // plural (2 days)
|
||||
case 'year': return $localize`:@@time-span:After ${dateStrings.i18nYears}:DATE:`; break;
|
||||
case 'month': return $localize`:@@time-span:After ${dateStrings.i18nMonths}:DATE:`; break;
|
||||
case 'week': return $localize`:@@time-span:After ${dateStrings.i18nWeeks}:DATE:`; break;
|
||||
case 'day': return $localize`:@@time-span:After ${dateStrings.i18nDays}:DATE:`; break;
|
||||
case 'hour': return $localize`:@@time-span:After ${dateStrings.i18nHours}:DATE:`; break;
|
||||
case 'minute': return $localize`:@@time-span:After ${dateStrings.i18nMinutes}:DATE:`; break;
|
||||
case 'second': return $localize`:@@time-span:After ${dateStrings.i18nSeconds}:DATE:`; break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,104 +0,0 @@
|
||||
import { Component, OnInit, OnDestroy, ChangeDetectionStrategy, Input, ChangeDetectorRef, OnChanges } from '@angular/core';
|
||||
import { StateService } from '../../services/state.service';
|
||||
import { dates } from '../../shared/i18n/dates';
|
||||
|
||||
@Component({
|
||||
selector: 'app-time-until',
|
||||
template: `{{ text }}`,
|
||||
changeDetection: ChangeDetectionStrategy.OnPush
|
||||
})
|
||||
export class TimeUntilComponent implements OnInit, OnChanges, OnDestroy {
|
||||
interval: number;
|
||||
text: string;
|
||||
intervals = {};
|
||||
|
||||
@Input() time: number;
|
||||
@Input() fastRender = false;
|
||||
@Input() fixedRender = false;
|
||||
@Input() forceFloorOnTimeIntervals: string[];
|
||||
|
||||
constructor(
|
||||
private ref: ChangeDetectorRef,
|
||||
private stateService: StateService,
|
||||
) {
|
||||
this.intervals = {
|
||||
year: 31536000,
|
||||
month: 2592000,
|
||||
week: 604800,
|
||||
day: 86400,
|
||||
hour: 3600,
|
||||
minute: 60,
|
||||
second: 1
|
||||
};
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
if(this.fixedRender){
|
||||
this.text = this.calculate();
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.stateService.isBrowser) {
|
||||
this.text = this.calculate();
|
||||
this.ref.markForCheck();
|
||||
return;
|
||||
}
|
||||
this.interval = window.setInterval(() => {
|
||||
this.text = this.calculate();
|
||||
this.ref.markForCheck();
|
||||
}, 1000 * (this.fastRender ? 1 : 60));
|
||||
}
|
||||
|
||||
ngOnChanges() {
|
||||
this.text = this.calculate();
|
||||
this.ref.markForCheck();
|
||||
}
|
||||
|
||||
ngOnDestroy() {
|
||||
clearInterval(this.interval);
|
||||
}
|
||||
|
||||
calculate() {
|
||||
const seconds = (+new Date(this.time) - +new Date()) / 1000;
|
||||
|
||||
if (seconds < 60) {
|
||||
const dateStrings = dates(1);
|
||||
return $localize`:@@time-until:In ~${dateStrings.i18nMinute}:DATE:`;
|
||||
}
|
||||
let counter: number;
|
||||
for (const i in this.intervals) {
|
||||
if (this.intervals.hasOwnProperty(i)) {
|
||||
if (this.forceFloorOnTimeIntervals && this.forceFloorOnTimeIntervals.indexOf(i) > -1) {
|
||||
counter = Math.floor(seconds / this.intervals[i]);
|
||||
} else {
|
||||
counter = Math.round(seconds / this.intervals[i]);
|
||||
}
|
||||
const dateStrings = dates(counter);
|
||||
if (counter > 0) {
|
||||
if (counter === 1) {
|
||||
switch (i) { // singular (In ~1 day)
|
||||
case 'year': return $localize`:@@time-until:In ~${dateStrings.i18nYear}:DATE:`; break;
|
||||
case 'month': return $localize`:@@time-until:In ~${dateStrings.i18nMonth}:DATE:`; break;
|
||||
case 'week': return $localize`:@@time-until:In ~${dateStrings.i18nWeek}:DATE:`; break;
|
||||
case 'day': return $localize`:@@time-until:In ~${dateStrings.i18nDay}:DATE:`; break;
|
||||
case 'hour': return $localize`:@@time-until:In ~${dateStrings.i18nHour}:DATE:`; break;
|
||||
case 'minute': return $localize`:@@time-until:In ~${dateStrings.i18nMinute}:DATE:`;
|
||||
case 'second': return $localize`:@@time-until:In ~${dateStrings.i18nSecond}:DATE:`;
|
||||
}
|
||||
} else {
|
||||
switch (i) { // plural (In ~2 days)
|
||||
case 'year': return $localize`:@@time-until:In ~${dateStrings.i18nYears}:DATE:`; break;
|
||||
case 'month': return $localize`:@@time-until:In ~${dateStrings.i18nMonths}:DATE:`; break;
|
||||
case 'week': return $localize`:@@time-until:In ~${dateStrings.i18nWeeks}:DATE:`; break;
|
||||
case 'day': return $localize`:@@time-until:In ~${dateStrings.i18nDays}:DATE:`; break;
|
||||
case 'hour': return $localize`:@@time-until:In ~${dateStrings.i18nHours}:DATE:`; break;
|
||||
case 'minute': return $localize`:@@time-until:In ~${dateStrings.i18nMinutes}:DATE:`; break;
|
||||
case 'second': return $localize`:@@time-until:In ~${dateStrings.i18nSeconds}:DATE:`; break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
196
frontend/src/app/components/time/time.component.ts
Normal file
196
frontend/src/app/components/time/time.component.ts
Normal file
@@ -0,0 +1,196 @@
|
||||
import { Component, OnInit, OnDestroy, ChangeDetectionStrategy, Input, ChangeDetectorRef, OnChanges } from '@angular/core';
|
||||
import { StateService } from '../../services/state.service';
|
||||
import { dates } from '../../shared/i18n/dates';
|
||||
|
||||
@Component({
|
||||
selector: 'app-time',
|
||||
template: `{{ text }}`,
|
||||
changeDetection: ChangeDetectionStrategy.OnPush
|
||||
})
|
||||
export class TimeComponent implements OnInit, OnChanges, OnDestroy {
|
||||
interval: number;
|
||||
text: string;
|
||||
intervals = {};
|
||||
|
||||
@Input() time: number;
|
||||
@Input() dateString: number;
|
||||
@Input() kind: 'plain' | 'since' | 'until' | 'span' = 'plain';
|
||||
@Input() fastRender = false;
|
||||
@Input() fixedRender = false;
|
||||
@Input() relative = false;
|
||||
@Input() forceFloorOnTimeIntervals: string[];
|
||||
@Input() fractionDigits: number = 0;
|
||||
|
||||
constructor(
|
||||
private ref: ChangeDetectorRef,
|
||||
private stateService: StateService,
|
||||
) {
|
||||
this.intervals = {
|
||||
year: 31536000,
|
||||
month: 2592000,
|
||||
week: 604800,
|
||||
day: 86400,
|
||||
hour: 3600,
|
||||
minute: 60,
|
||||
second: 1
|
||||
};
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
if(this.fixedRender){
|
||||
this.text = this.calculate();
|
||||
return;
|
||||
}
|
||||
if (!this.stateService.isBrowser) {
|
||||
this.text = this.calculate();
|
||||
this.ref.markForCheck();
|
||||
return;
|
||||
}
|
||||
this.interval = window.setInterval(() => {
|
||||
this.text = this.calculate();
|
||||
this.ref.markForCheck();
|
||||
}, 1000 * (this.fastRender ? 1 : 60));
|
||||
}
|
||||
|
||||
ngOnChanges() {
|
||||
this.text = this.calculate();
|
||||
this.ref.markForCheck();
|
||||
}
|
||||
|
||||
ngOnDestroy() {
|
||||
clearInterval(this.interval);
|
||||
}
|
||||
|
||||
calculate() {
|
||||
let seconds: number;
|
||||
switch (this.kind) {
|
||||
case 'since':
|
||||
seconds = Math.floor((+new Date() - +new Date(this.dateString || this.time * 1000)) / 1000);
|
||||
break;
|
||||
case 'until':
|
||||
seconds = (+new Date(this.time) - +new Date()) / 1000;
|
||||
break;
|
||||
default:
|
||||
seconds = Math.floor(this.time);
|
||||
}
|
||||
|
||||
if (seconds < 60) {
|
||||
if (this.relative || this.kind === 'since') {
|
||||
return $localize`:@@date-base.just-now:Just now`;
|
||||
} else if (this.kind === 'until') {
|
||||
seconds = 60;
|
||||
}
|
||||
}
|
||||
|
||||
let counter: number;
|
||||
for (const i in this.intervals) {
|
||||
if (this.kind !== 'until' || this.forceFloorOnTimeIntervals && this.forceFloorOnTimeIntervals.indexOf(i) > -1) {
|
||||
counter = Math.floor(seconds / this.intervals[i]);
|
||||
} else {
|
||||
counter = Math.round(seconds / this.intervals[i]);
|
||||
}
|
||||
let rounded = counter;
|
||||
if (this.fractionDigits) {
|
||||
const roundFactor = Math.pow(10,this.fractionDigits);
|
||||
rounded = Math.round((seconds / this.intervals[i]) * roundFactor) / roundFactor;
|
||||
}
|
||||
const dateStrings = dates(rounded);
|
||||
if (counter > 0) {
|
||||
switch (this.kind) {
|
||||
case 'since':
|
||||
if (counter === 1) {
|
||||
switch (i) { // singular (1 day)
|
||||
case 'year': return $localize`:@@time-since:${dateStrings.i18nYear}:DATE: ago`; break;
|
||||
case 'month': return $localize`:@@time-since:${dateStrings.i18nMonth}:DATE: ago`; break;
|
||||
case 'week': return $localize`:@@time-since:${dateStrings.i18nWeek}:DATE: ago`; break;
|
||||
case 'day': return $localize`:@@time-since:${dateStrings.i18nDay}:DATE: ago`; break;
|
||||
case 'hour': return $localize`:@@time-since:${dateStrings.i18nHour}:DATE: ago`; break;
|
||||
case 'minute': return $localize`:@@time-since:${dateStrings.i18nMinute}:DATE: ago`; break;
|
||||
case 'second': return $localize`:@@time-since:${dateStrings.i18nSecond}:DATE: ago`; break;
|
||||
}
|
||||
} else {
|
||||
switch (i) { // plural (2 days)
|
||||
case 'year': return $localize`:@@time-since:${dateStrings.i18nYears}:DATE: ago`; break;
|
||||
case 'month': return $localize`:@@time-since:${dateStrings.i18nMonths}:DATE: ago`; break;
|
||||
case 'week': return $localize`:@@time-since:${dateStrings.i18nWeeks}:DATE: ago`; break;
|
||||
case 'day': return $localize`:@@time-since:${dateStrings.i18nDays}:DATE: ago`; break;
|
||||
case 'hour': return $localize`:@@time-since:${dateStrings.i18nHours}:DATE: ago`; break;
|
||||
case 'minute': return $localize`:@@time-since:${dateStrings.i18nMinutes}:DATE: ago`; break;
|
||||
case 'second': return $localize`:@@time-since:${dateStrings.i18nSeconds}:DATE: ago`; break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 'until':
|
||||
if (counter === 1) {
|
||||
switch (i) { // singular (In ~1 day)
|
||||
case 'year': return $localize`:@@time-until:In ~${dateStrings.i18nYear}:DATE:`; break;
|
||||
case 'month': return $localize`:@@time-until:In ~${dateStrings.i18nMonth}:DATE:`; break;
|
||||
case 'week': return $localize`:@@time-until:In ~${dateStrings.i18nWeek}:DATE:`; break;
|
||||
case 'day': return $localize`:@@time-until:In ~${dateStrings.i18nDay}:DATE:`; break;
|
||||
case 'hour': return $localize`:@@time-until:In ~${dateStrings.i18nHour}:DATE:`; break;
|
||||
case 'minute': return $localize`:@@time-until:In ~${dateStrings.i18nMinute}:DATE:`;
|
||||
case 'second': return $localize`:@@time-until:In ~${dateStrings.i18nSecond}:DATE:`;
|
||||
}
|
||||
} else {
|
||||
switch (i) { // plural (In ~2 days)
|
||||
case 'year': return $localize`:@@time-until:In ~${dateStrings.i18nYears}:DATE:`; break;
|
||||
case 'month': return $localize`:@@time-until:In ~${dateStrings.i18nMonths}:DATE:`; break;
|
||||
case 'week': return $localize`:@@time-until:In ~${dateStrings.i18nWeeks}:DATE:`; break;
|
||||
case 'day': return $localize`:@@time-until:In ~${dateStrings.i18nDays}:DATE:`; break;
|
||||
case 'hour': return $localize`:@@time-until:In ~${dateStrings.i18nHours}:DATE:`; break;
|
||||
case 'minute': return $localize`:@@time-until:In ~${dateStrings.i18nMinutes}:DATE:`; break;
|
||||
case 'second': return $localize`:@@time-until:In ~${dateStrings.i18nSeconds}:DATE:`; break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 'span':
|
||||
if (counter === 1) {
|
||||
switch (i) { // singular (1 day)
|
||||
case 'year': return $localize`:@@time-span:After ${dateStrings.i18nYear}:DATE:`; break;
|
||||
case 'month': return $localize`:@@time-span:After ${dateStrings.i18nMonth}:DATE:`; break;
|
||||
case 'week': return $localize`:@@time-span:After ${dateStrings.i18nWeek}:DATE:`; break;
|
||||
case 'day': return $localize`:@@time-span:After ${dateStrings.i18nDay}:DATE:`; break;
|
||||
case 'hour': return $localize`:@@time-span:After ${dateStrings.i18nHour}:DATE:`; break;
|
||||
case 'minute': return $localize`:@@time-span:After ${dateStrings.i18nMinute}:DATE:`; break;
|
||||
case 'second': return $localize`:@@time-span:After ${dateStrings.i18nSecond}:DATE:`; break;
|
||||
}
|
||||
} else {
|
||||
switch (i) { // plural (2 days)
|
||||
case 'year': return $localize`:@@time-span:After ${dateStrings.i18nYears}:DATE:`; break;
|
||||
case 'month': return $localize`:@@time-span:After ${dateStrings.i18nMonths}:DATE:`; break;
|
||||
case 'week': return $localize`:@@time-span:After ${dateStrings.i18nWeeks}:DATE:`; break;
|
||||
case 'day': return $localize`:@@time-span:After ${dateStrings.i18nDays}:DATE:`; break;
|
||||
case 'hour': return $localize`:@@time-span:After ${dateStrings.i18nHours}:DATE:`; break;
|
||||
case 'minute': return $localize`:@@time-span:After ${dateStrings.i18nMinutes}:DATE:`; break;
|
||||
case 'second': return $localize`:@@time-span:After ${dateStrings.i18nSeconds}:DATE:`; break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
if (counter === 1) {
|
||||
switch (i) { // singular (1 day)
|
||||
case 'year': return dateStrings.i18nYear; break;
|
||||
case 'month': return dateStrings.i18nMonth; break;
|
||||
case 'week': return dateStrings.i18nWeek; break;
|
||||
case 'day': return dateStrings.i18nDay; break;
|
||||
case 'hour': return dateStrings.i18nHour; break;
|
||||
case 'minute': return dateStrings.i18nMinute; break;
|
||||
case 'second': return dateStrings.i18nSecond; break;
|
||||
}
|
||||
} else {
|
||||
switch (i) { // plural (2 days)
|
||||
case 'year': return dateStrings.i18nYears; break;
|
||||
case 'month': return dateStrings.i18nMonths; break;
|
||||
case 'week': return dateStrings.i18nWeeks; break;
|
||||
case 'day': return dateStrings.i18nDays; break;
|
||||
case 'hour': return dateStrings.i18nHours; break;
|
||||
case 'minute': return dateStrings.i18nMinutes; break;
|
||||
case 'second': return dateStrings.i18nSeconds; break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -57,14 +57,14 @@
|
||||
<td>
|
||||
‎{{ tx.status.block_time * 1000 | date:'yyyy-MM-dd HH:mm' }}
|
||||
<div class="lg-inline">
|
||||
<i class="symbol">(<app-time-since [time]="tx.status.block_time" [fastRender]="true"></app-time-since>)</i>
|
||||
<i class="symbol">(<app-time kind="since" [time]="tx.status.block_time" [fastRender]="true"></app-time>)</i>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<ng-template [ngIf]="transactionTime > 0">
|
||||
<tr>
|
||||
<td i18n="transaction.confirmed|Transaction Confirmed state">Confirmed</td>
|
||||
<td><app-time-span [time]="tx.status.block_time - transactionTime" [fastRender]="true"></app-time-span></td>
|
||||
<td><app-time kind="span" [time]="tx.status.block_time - transactionTime" [fastRender]="true" [relative]="true"></app-time></td>
|
||||
</tr>
|
||||
</ng-template>
|
||||
<tr *ngIf="network !== 'liquid' && network !== 'liquidtestnet'">
|
||||
@@ -100,7 +100,7 @@
|
||||
<ng-template #firstSeenTmpl>
|
||||
<tr>
|
||||
<td i18n="transaction.first-seen|Transaction first seen">First seen</td>
|
||||
<td><i><app-time-since [time]="transactionTime" [fastRender]="true"></app-time-since></i></td>
|
||||
<td><i><app-time kind="since" [time]="transactionTime" [fastRender]="true"></app-time></i></td>
|
||||
</tr>
|
||||
</ng-template>
|
||||
</ng-template>
|
||||
@@ -116,10 +116,10 @@
|
||||
</ng-template>
|
||||
<ng-template #belowBlockLimit>
|
||||
<ng-template [ngIf]="network === 'liquid' || network === 'liquidtestnet'" [ngIfElse]="timeEstimateDefault">
|
||||
<app-time-until [time]="(60 * 1000 * txInBlockIndex) + now" [fastRender]="false" [fixedRender]="true"></app-time-until>
|
||||
<app-time kind="until" [time]="(60 * 1000 * txInBlockIndex) + now" [fastRender]="false" [fixedRender]="true"></app-time>
|
||||
</ng-template>
|
||||
<ng-template #timeEstimateDefault>
|
||||
<app-time-until *ngIf="(timeAvg$ | async) as timeAvg;" [time]="(timeAvg * txInBlockIndex) + now + timeAvg" [fastRender]="false" [fixedRender]="true" [forceFloorOnTimeIntervals]="['hour']"></app-time-until>
|
||||
<app-time kind="until" *ngIf="(timeAvg$ | async) as timeAvg;" [time]="(timeAvg * txInBlockIndex) + now + timeAvg" [fastRender]="false" [fixedRender]="true" [forceFloorOnTimeIntervals]="['hour']"></app-time>
|
||||
</ng-template>
|
||||
</ng-template>
|
||||
</ng-template>
|
||||
@@ -210,6 +210,7 @@
|
||||
<div class="graph-container" #graphContainer>
|
||||
<tx-bowtie-graph
|
||||
[tx]="tx"
|
||||
[cached]="isCached"
|
||||
[width]="graphWidth"
|
||||
[height]="graphHeight"
|
||||
[lineLimit]="inOutLimit"
|
||||
@@ -250,7 +251,7 @@
|
||||
</div>
|
||||
|
||||
|
||||
<app-transactions-list #txList [transactions]="[tx]" [errorUnblinded]="errorUnblinded" [inputIndex]="inputIndex" [outputIndex]="outputIndex" [transactionPage]="true"></app-transactions-list>
|
||||
<app-transactions-list #txList [transactions]="[tx]" [cached]="isCached" [errorUnblinded]="errorUnblinded" [inputIndex]="inputIndex" [outputIndex]="outputIndex" [transactionPage]="true"></app-transactions-list>
|
||||
|
||||
<div class="title text-left">
|
||||
<h2 i18n="transaction.details">Details</h2>
|
||||
@@ -487,7 +488,7 @@
|
||||
<div class="effective-fee-container">
|
||||
{{ tx.effectiveFeePerVsize | feeRounding }} <span class="symbol" i18n="shared.sat-vbyte|sat/vB">sat/vB</span>
|
||||
<ng-template [ngIf]="tx.status.confirmed">
|
||||
<app-tx-fee-rating class="d-none d-lg-inline ml-2" *ngIf="tx.fee" [tx]="tx"></app-tx-fee-rating>
|
||||
<app-tx-fee-rating class="ml-2 mr-2" *ngIf="tx.fee || tx.effectiveFeePerVsize" [tx]="tx"></app-tx-fee-rating>
|
||||
</ng-template>
|
||||
</div>
|
||||
<button type="button" class="btn btn-outline-info btn-sm btn-small-height float-right" (click)="showCpfpDetails = !showCpfpDetails">CPFP <fa-icon [icon]="['fas', 'info-circle']" [fixedWidth]="true"></fa-icon></button>
|
||||
|
||||
@@ -57,6 +57,7 @@ export class TransactionComponent implements OnInit, AfterViewInit, OnDestroy {
|
||||
fetchCpfp$ = new Subject<string>();
|
||||
fetchRbfHistory$ = new Subject<string>();
|
||||
fetchCachedTx$ = new Subject<string>();
|
||||
isCached: boolean = false;
|
||||
now = new Date().getTime();
|
||||
timeAvg$: Observable<number>;
|
||||
liquidUnblinding = new LiquidUnblinding();
|
||||
@@ -196,6 +197,7 @@ export class TransactionComponent implements OnInit, AfterViewInit, OnDestroy {
|
||||
}
|
||||
|
||||
this.tx = tx;
|
||||
this.isCached = true;
|
||||
if (tx.fee === undefined) {
|
||||
this.tx.fee = 0;
|
||||
}
|
||||
@@ -289,6 +291,7 @@ export class TransactionComponent implements OnInit, AfterViewInit, OnDestroy {
|
||||
}
|
||||
|
||||
this.tx = tx;
|
||||
this.isCached = false;
|
||||
if (tx.fee === undefined) {
|
||||
this.tx.fee = 0;
|
||||
}
|
||||
@@ -344,7 +347,7 @@ export class TransactionComponent implements OnInit, AfterViewInit, OnDestroy {
|
||||
this.blocksSubscription = this.stateService.blocks$.subscribe(([block, txConfirmed]) => {
|
||||
this.latestBlock = block;
|
||||
|
||||
if (txConfirmed && this.tx) {
|
||||
if (txConfirmed && this.tx && !this.tx.status.confirmed) {
|
||||
this.tx.status = {
|
||||
confirmed: true,
|
||||
block_height: block.height,
|
||||
@@ -362,7 +365,6 @@ export class TransactionComponent implements OnInit, AfterViewInit, OnDestroy {
|
||||
this.waitingForTransaction = false;
|
||||
}
|
||||
this.rbfTransaction = rbfTransaction;
|
||||
this.cacheService.setTxCache([this.rbfTransaction]);
|
||||
this.replaced = true;
|
||||
if (rbfTransaction && !this.tx) {
|
||||
this.fetchCachedTx$.next(this.txId);
|
||||
@@ -494,7 +496,9 @@ export class TransactionComponent implements OnInit, AfterViewInit, OnDestroy {
|
||||
@HostListener('window:resize', ['$event'])
|
||||
setGraphSize(): void {
|
||||
if (this.graphContainer) {
|
||||
this.graphWidth = this.graphContainer.nativeElement.clientWidth;
|
||||
setTimeout(() => {
|
||||
this.graphWidth = this.graphContainer.nativeElement.clientWidth;
|
||||
}, 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<div>
|
||||
<ng-template [ngIf]="tx.status.confirmed">‎{{ tx.status.block_time * 1000 | date:'yyyy-MM-dd HH:mm' }}</ng-template>
|
||||
<ng-template [ngIf]="!tx.status.confirmed && tx.firstSeen">
|
||||
<i><app-time-since [time]="tx.firstSeen" [fastRender]="true"></app-time-since></i>
|
||||
<i><app-time kind="since" [time]="tx.firstSeen" [fastRender]="true"></app-time></i>
|
||||
</ng-template>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Component, OnInit, Input, ChangeDetectionStrategy, OnChanges, Output, EventEmitter, ChangeDetectorRef } from '@angular/core';
|
||||
import { StateService } from '../../services/state.service';
|
||||
import { CacheService } from '../../services/cache.service';
|
||||
import { Observable, ReplaySubject, BehaviorSubject, merge, Subscription } from 'rxjs';
|
||||
import { Observable, ReplaySubject, BehaviorSubject, merge, Subscription, of, forkJoin } from 'rxjs';
|
||||
import { Outspend, Transaction, Vin, Vout } from '../../interfaces/electrs.interface';
|
||||
import { ElectrsApiService } from '../../services/electrs-api.service';
|
||||
import { environment } from '../../../environments/environment';
|
||||
@@ -23,6 +23,7 @@ export class TransactionsListComponent implements OnInit, OnChanges {
|
||||
showMoreIncrement = 1000;
|
||||
|
||||
@Input() transactions: Transaction[];
|
||||
@Input() cached: boolean = false;
|
||||
@Input() showConfirmations = false;
|
||||
@Input() transactionPage = false;
|
||||
@Input() errorUnblinded = false;
|
||||
@@ -67,8 +68,21 @@ export class TransactionsListComponent implements OnInit, OnChanges {
|
||||
this.outspendsSubscription = merge(
|
||||
this.refreshOutspends$
|
||||
.pipe(
|
||||
switchMap((txIds) => this.apiService.getOutspendsBatched$(txIds)),
|
||||
tap((outspends: Outspend[][]) => {
|
||||
switchMap((txIds) => {
|
||||
if (!this.cached) {
|
||||
// break list into batches of 50 (maximum supported by esplora)
|
||||
const batches = [];
|
||||
for (let i = 0; i < txIds.length; i += 50) {
|
||||
batches.push(txIds.slice(i, i + 50));
|
||||
}
|
||||
return forkJoin(batches.map(batch => this.apiService.getOutspendsBatched$(batch)));
|
||||
} else {
|
||||
return of([]);
|
||||
}
|
||||
}),
|
||||
tap((batchedOutspends: Outspend[][][]) => {
|
||||
// flatten batched results back into a single array
|
||||
const outspends = batchedOutspends.flat(1);
|
||||
if (!this.transactions) {
|
||||
return;
|
||||
}
|
||||
@@ -155,7 +169,7 @@ export class TransactionsListComponent implements OnInit, OnChanges {
|
||||
).subscribe();
|
||||
});
|
||||
const txIds = this.transactions.filter((tx) => !tx._outspends).map((tx) => tx.txid);
|
||||
if (txIds.length) {
|
||||
if (txIds.length && !this.cached) {
|
||||
this.refreshOutspends$.next(txIds);
|
||||
}
|
||||
if (this.stateService.env.LIGHTNING) {
|
||||
|
||||
@@ -2,7 +2,7 @@ import { Component, OnInit, Input, OnChanges, HostListener, Inject, LOCALE_ID }
|
||||
import { StateService } from '../../services/state.service';
|
||||
import { Outspend, Transaction } from '../../interfaces/electrs.interface';
|
||||
import { Router } from '@angular/router';
|
||||
import { ReplaySubject, merge, Subscription } from 'rxjs';
|
||||
import { ReplaySubject, merge, Subscription, of } from 'rxjs';
|
||||
import { tap, switchMap } from 'rxjs/operators';
|
||||
import { ApiService } from '../../services/api.service';
|
||||
import { RelativeUrlPipe } from '../../shared/pipes/relative-url/relative-url.pipe';
|
||||
@@ -40,6 +40,7 @@ interface Xput {
|
||||
export class TxBowtieGraphComponent implements OnInit, OnChanges {
|
||||
@Input() tx: Transaction;
|
||||
@Input() network: string;
|
||||
@Input() cached: boolean = false;
|
||||
@Input() width = 1200;
|
||||
@Input() height = 600;
|
||||
@Input() lineLimit = 250;
|
||||
@@ -107,7 +108,13 @@ export class TxBowtieGraphComponent implements OnInit, OnChanges {
|
||||
this.outspendsSubscription = merge(
|
||||
this.refreshOutspends$
|
||||
.pipe(
|
||||
switchMap((txid) => this.apiService.getOutspendsBatched$([txid])),
|
||||
switchMap((txid) => {
|
||||
if (!this.cached) {
|
||||
return this.apiService.getOutspendsBatched$([txid]);
|
||||
} else {
|
||||
return of(null);
|
||||
}
|
||||
}),
|
||||
tap((outspends: Outspend[][]) => {
|
||||
if (!this.tx || !outspends || !outspends.length) {
|
||||
return;
|
||||
@@ -132,7 +139,9 @@ export class TxBowtieGraphComponent implements OnInit, OnChanges {
|
||||
|
||||
ngOnChanges(): void {
|
||||
this.initGraph();
|
||||
this.refreshOutspends$.next(this.tx.txid);
|
||||
if (!this.cached) {
|
||||
this.refreshOutspends$.next(this.tx.txid);
|
||||
}
|
||||
}
|
||||
|
||||
initGraph(): void {
|
||||
@@ -199,8 +208,8 @@ export class TxBowtieGraphComponent implements OnInit, OnChanges {
|
||||
this.outputs = this.initLines('out', voutWithFee, totalValue, this.maxStrands);
|
||||
|
||||
this.middle = {
|
||||
path: `M ${(this.width / 2) - this.midWidth} ${(this.height / 2) + 0.5} L ${(this.width / 2) + this.midWidth} ${(this.height / 2) + 0.5}`,
|
||||
style: `stroke-width: ${this.combinedWeight + 1}; stroke: ${this.gradient[1]}`
|
||||
path: `M ${(this.width / 2) - this.midWidth} ${(this.height / 2) + 0.25} L ${(this.width / 2) + this.midWidth} ${(this.height / 2) + 0.25}`,
|
||||
style: `stroke-width: ${this.combinedWeight + 0.5}; stroke: ${this.gradient[1]}`
|
||||
};
|
||||
|
||||
this.hasLine = this.inputs.reduce((line, put) => line || !put.zeroValue, false)
|
||||
@@ -257,7 +266,7 @@ export class TxBowtieGraphComponent implements OnInit, OnChanges {
|
||||
const lineParams = weights.map((w, i) => {
|
||||
return {
|
||||
weight: w,
|
||||
thickness: xputs[i].value === 0 ? this.zeroValueThickness : Math.max(this.minWeight - 1, w) + 1,
|
||||
thickness: xputs[i].value === 0 ? this.zeroValueThickness : Math.min(this.combinedWeight + 0.5, Math.max(this.minWeight - 1, w) + 1),
|
||||
offset: 0,
|
||||
innerY: 0,
|
||||
outerY: 0,
|
||||
@@ -269,7 +278,7 @@ export class TxBowtieGraphComponent implements OnInit, OnChanges {
|
||||
|
||||
// bounds of the middle segment
|
||||
const innerTop = (this.height / 2) - (this.combinedWeight / 2);
|
||||
const innerBottom = innerTop + this.combinedWeight;
|
||||
const innerBottom = innerTop + this.combinedWeight + 0.5;
|
||||
// tracks the visual bottom of the endpoints of the previous line
|
||||
let lastOuter = 0;
|
||||
let lastInner = innerTop;
|
||||
@@ -294,7 +303,7 @@ export class TxBowtieGraphComponent implements OnInit, OnChanges {
|
||||
|
||||
// set the vertical position of the (center of the) outer side of the line
|
||||
line.outerY = lastOuter + (line.thickness / 2);
|
||||
line.innerY = Math.min(innerBottom + (line.thickness / 2), Math.max(innerTop + (line.thickness / 2), lastInner + (line.weight / 2)));
|
||||
line.innerY = Math.min(innerBottom - (line.thickness / 2), Math.max(innerTop + (line.thickness / 2), lastInner + (line.weight / 2)));
|
||||
|
||||
// special case to center single input/outputs
|
||||
if (xputs.length === 1) {
|
||||
|
||||
@@ -93,7 +93,7 @@
|
||||
<tbody>
|
||||
<tr *ngFor="let block of blocks$ | async; let i = index; trackBy: trackByBlock">
|
||||
<td class="table-cell-height" ><a [routerLink]="['/block' | relativeUrl, block.id]" [state]="{ data: { block: block } }">{{ block.height }}</a></td>
|
||||
<td *ngIf="!stateService.env.MINING_DASHBOARD" class="table-cell-mined" ><app-time-since [time]="block.timestamp" [fastRender]="true"></app-time-since></td>
|
||||
<td *ngIf="!stateService.env.MINING_DASHBOARD" class="table-cell-mined" ><app-time kind="since" [time]="block.timestamp" [fastRender]="true"></app-time></td>
|
||||
<td *ngIf="stateService.env.MINING_DASHBOARD" class="table-cell-mined pl-lg-4">
|
||||
<a class="clear-link" [routerLink]="[('/mining/pool/' + block.extras.pool.slug) | relativeUrl]">
|
||||
<img width="22" height="22" src="{{ block.extras.pool['logo'] }}"
|
||||
|
||||
@@ -10,7 +10,8 @@
|
||||
<div class="doc-content">
|
||||
|
||||
<div id="disclaimer">
|
||||
<table><tr><td><svg viewBox="0 0 304 304" xmlns="http://www.w3.org/2000/svg"><g fill-rule="evenodd" style="fill:#ffc107;fill-opacity:1"><path d="M135.3 34.474c-15.62 27.306-54.206 95.63-85.21 150.534L9.075 257.583C5.382 264.08 6.76 269.217 7.908 271.7c2.326 5.028 7.29 7.537 11.155 8.215l.78.133 264.698.006-.554-.02c4.152.255 9.664-1.24 12.677-6.194 1.926-3.18 3.31-8.589-1.073-16.278L213.637 114.37l-45.351-79.205c-5.681-9.932-12.272-12.022-16.8-12.022-4.42 0-10.818 1.964-16.181 11.331h-.006zm-69.072 159.94c30.997-54.885 69.563-123.184 85.16-150.446l.186-.297c.2.303.393.582.618.981l45.363 79.22s72.377 126.47 78.569 137.283l-247.618-.007 37.719-66.734" style="fill:#ffc107;fill-opacity:1"/><path d="M152.597 247.445c8.02 0 14.518-6.728 14.518-15.025 0-8.29-6.499-15.018-14.518-15.018-8.031 0-14.529 6.728-14.529 15.018 0 8.297 6.498 15.025 14.53 15.025m-.001-147.18c11.586 0 22.23 10.958 20.977 21.7l-9.922 75.564c-.966 6.601-4.95 11.433-11.055 11.433s-10.102-4.832-11.056-11.433l-9.927-75.564c-1.26-10.742 9.39-21.7 20.983-21.7" style="fill:#ffc107;fill-opacity:1"/></g></svg></td><td><p i18n="faq.big-disclaimer"><b>mempool.space merely provides data about the Bitcoin network.</b> It cannot help you with retrieving funds, confirming your transaction quicker, etc.</p><p>For any such requests, you need to get in touch with the entity that helped make the transaction (wallet software, exchange company, etc).</p></td></tr></table>
|
||||
<table *ngIf="!mobileViewport"><tr><td><app-svg-images name="warning" class="disclaimer-warning" viewBox="0 0 304 304" fill="#ffc107" width="50" height="50"></app-svg-images></td><td><p i18n="faq.big-disclaimer"><b>mempool.space merely provides data about the Bitcoin network.</b> It cannot help you with retrieving funds, confirming your transaction quicker, etc.</p><p>For any such requests, you need to get in touch with the entity that helped make the transaction (wallet software, exchange company, etc).</p></td></tr></table>
|
||||
<div *ngIf="mobileViewport"><app-svg-images name="warning" class="disclaimer-warning" viewBox="0 0 304 304" fill="#ffc107" width="50" height="50"></app-svg-images><p i18n="faq.big-disclaimer"><b>mempool.space merely provides data about the Bitcoin network.</b> It cannot help you with retrieving funds, confirming your transaction quicker, etc.</p><p>For any such requests, you need to get in touch with the entity that helped make the transaction (wallet software, exchange company, etc).</p></div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
@@ -274,10 +274,8 @@ h3 {
|
||||
margin: 24px 0;
|
||||
}
|
||||
|
||||
#disclaimer svg {
|
||||
width: 50px;
|
||||
height: auto;
|
||||
margin-right: 32px;
|
||||
.disclaimer-warning {
|
||||
margin-right: 50px;
|
||||
}
|
||||
|
||||
#disclaimer p:last-child {
|
||||
@@ -294,6 +292,12 @@ h3 {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.disclaimer-warning {
|
||||
display: block;
|
||||
margin: 2px auto 16px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.doc-content {
|
||||
width: 100%;
|
||||
float: unset;
|
||||
@@ -332,6 +336,10 @@ h3 {
|
||||
.doc-welcome-note {
|
||||
font-size: 0.85rem;
|
||||
}
|
||||
|
||||
#disclaimer table {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 992px) {
|
||||
|
||||
@@ -29,6 +29,7 @@ export class ApiDocsComponent implements OnInit, AfterViewInit {
|
||||
screenWidth: number;
|
||||
officialMempoolInstance: boolean;
|
||||
auditEnabled: boolean;
|
||||
mobileViewport: boolean = false;
|
||||
|
||||
@ViewChildren(FaqTemplateDirective) faqTemplates: QueryList<FaqTemplateDirective>;
|
||||
dict = {};
|
||||
@@ -43,6 +44,7 @@ export class ApiDocsComponent implements OnInit, AfterViewInit {
|
||||
this.faqTemplates.forEach((x) => this.dict[x.type] = x.template);
|
||||
}
|
||||
this.desktopDocsNavPosition = ( window.pageYOffset > 182 ) ? "fixed" : "relative";
|
||||
this.mobileViewport = window.innerWidth <= 992;
|
||||
}
|
||||
|
||||
ngAfterViewInit() {
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
<span class="green-color" *ngIf="blockConversion; else noblockconversion">
|
||||
{{
|
||||
(
|
||||
(blockConversion.price[currency] >= 0 ? blockConversion.price[currency] : null) ??
|
||||
(blockConversion.price['USD'] * blockConversion.exchangeRates['USD' + currency]) ?? 0
|
||||
(blockConversion.price[currency] > -1 ? blockConversion.price[currency] : null) ??
|
||||
(blockConversion.price['USD'] > -1 ? blockConversion.price['USD'] * blockConversion.exchangeRates['USD' + currency] : null) ?? 0
|
||||
) * value / 100000000 | fiatCurrency : digitsInfo : currency
|
||||
}}
|
||||
</span>
|
||||
|
||||
<ng-template #noblockconversion>
|
||||
<span class="green-color" *ngIf="(conversions$ | async) as conversions">
|
||||
{{ (conversions[currency] ?? conversions['USD'] ?? 0) * value / 100000000 | fiatCurrency : digitsInfo : currency }}
|
||||
{{ (conversions[currency] > -1 ? conversions[currency] : 0) * value / 100000000 | fiatCurrency : digitsInfo : currency }}
|
||||
</span>
|
||||
</ng-template>
|
||||
@@ -33,9 +33,11 @@ export interface DifficultyAdjustment {
|
||||
remainingBlocks: number;
|
||||
remainingTime: number;
|
||||
previousRetarget: number;
|
||||
previousTime: number;
|
||||
nextRetargetHeight: number;
|
||||
timeAvg: number;
|
||||
timeOffset: number;
|
||||
expectedBlocks: number;
|
||||
}
|
||||
|
||||
export interface AddressInformation {
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
<div class="clearfix"></div>
|
||||
|
||||
<div *ngIf="error" class="d-flex flex-column justify-content-around align-items-center mt-5 w-100" style="min-height: 100px">
|
||||
<span class="text-center" i18n="lightning.channel-not-found">No channel found for short id "{{ channel.short_id }}"</span>
|
||||
<span class="text-center">No channel found for ID "{{ channel.short_id }}"</span>
|
||||
</div>
|
||||
|
||||
<app-nodes-channels-map *ngIf="!error && (channelGeo$ | async) as channelGeo" [style]="'channelpage'"
|
||||
|
||||
@@ -78,5 +78,5 @@ h3 {
|
||||
|
||||
.details-button {
|
||||
align-self: center;
|
||||
margin-left: auto;
|
||||
margin-inline-start: auto;
|
||||
}
|
||||
|
||||
@@ -36,25 +36,25 @@
|
||||
<ng-template #tableHeader>
|
||||
<thead>
|
||||
<th class="alias text-left" i18n="lightning.alias">Alias</th>
|
||||
<th class="alias text-left d-none d-md-table-cell"> </th>
|
||||
<th class="alias text-left d-none d-md-table-cell" i18n="status">Status</th>
|
||||
<th *ngIf="status !== 'closed'" class="channels text-left d-none d-md-table-cell" i18n="transaction.fee-rate|Transaction fee rate">Fee rate</th>
|
||||
<th *ngIf="status === 'closed'" class="channels text-left d-none d-md-table-cell" i18n="channels.closing_date">Closing date</th>
|
||||
<th class="capacity text-right d-none d-md-table-cell" i18n="lightning.capacity">Capacity</th>
|
||||
<th class="capacity text-right" i18n="channels.id">Channel ID</th>
|
||||
<th class="nodedetails text-left"> </th>
|
||||
<th class="status text-left" i18n="status">Status</th>
|
||||
<th class="feerate text-left" *ngIf="status !== 'closed'" i18n="transaction.fee-rate|Transaction fee rate">Fee rate</th>
|
||||
<th class="feerate text-left" *ngIf="status === 'closed'" i18n="channels.closing_date">Closing date</th>
|
||||
<th class="liquidity text-right" i18n="lightning.capacity">Capacity</th>
|
||||
<th class="channelid text-right" i18n="channels.id">Channel ID</th>
|
||||
</thead>
|
||||
</ng-template>
|
||||
|
||||
<ng-template #tableTemplate let-channel let-node="node">
|
||||
<td class="alias text-left">
|
||||
<div>{{ node.alias || '?' }}</div>
|
||||
<app-truncate [text]="node.alias || '?'" [maxWidth]="200" [lastChars]="6"></app-truncate>
|
||||
<div class="second-line">
|
||||
<app-truncate [text]="node.public_key" [maxWidth]="200" [lastChars]="6" [link]="['/lightning/node' | relativeUrl, node.public_key]">
|
||||
<app-clipboard [text]="node.public_key" size="small"></app-clipboard>
|
||||
</app-truncate>
|
||||
</div>
|
||||
</td>
|
||||
<td class="alias text-left d-none d-md-table-cell">
|
||||
<td class="nodedetails text-left">
|
||||
<div class="second-line"><ng-container *ngTemplateOutlet="xChannels; context: {$implicit: node.channels }"></ng-container></div>
|
||||
<div class="second-line">
|
||||
<app-amount *ngIf="node.capacity > 100000000; else smallnode" [satoshis]="node.capacity" [digitsInfo]="'1.2-2'" [noFiat]="true"></app-amount>
|
||||
@@ -64,7 +64,7 @@
|
||||
</ng-template>
|
||||
</div>
|
||||
</td>
|
||||
<td class="d-none d-md-table-cell">
|
||||
<td class="status">
|
||||
<span class="badge rounded-pill badge-secondary" *ngIf="channel.status === 0" i18n="status.inactive">Inactive</span>
|
||||
<span class="badge rounded-pill badge-success" *ngIf="channel.status === 1" i18n="status.active">Active</span>
|
||||
<ng-template [ngIf]="channel.status === 2">
|
||||
@@ -74,20 +74,20 @@
|
||||
</ng-template>
|
||||
</ng-template>
|
||||
</td>
|
||||
<td *ngIf="status !== 'closed'" class="capacity text-left d-none d-md-table-cell">
|
||||
<td *ngIf="status !== 'closed'" class="feerate text-left">
|
||||
{{ channel.fee_rate }} <span class="symbol">ppm ({{ channel.fee_rate / 10000 | number }}%)</span>
|
||||
</td>
|
||||
<td *ngIf="status === 'closed'" class="capacity text-left d-none d-md-table-cell">
|
||||
<td *ngIf="status === 'closed'" class="feerate text-left">
|
||||
<app-timestamp [unixTime]="channel.closing_date"></app-timestamp>
|
||||
</td>
|
||||
<td class="capacity text-right d-none d-md-table-cell">
|
||||
<td class="liquidity text-right">
|
||||
<app-amount *ngIf="channel.capacity > 100000000; else smallchannel" [satoshis]="channel.capacity" [digitsInfo]="'1.2-2'" [noFiat]="true"></app-amount>
|
||||
<ng-template #smallchannel>
|
||||
{{ channel.capacity | amountShortener: 1 }}
|
||||
<span class="sats" i18n="shared.sats">sats</span>
|
||||
</ng-template>
|
||||
</td>
|
||||
<td class="capacity text-right">
|
||||
</td>
|
||||
<td class="channelid text-right">
|
||||
<a [routerLink]="['/lightning/channel' | relativeUrl, channel.id]">{{ channel.short_id }}</a>
|
||||
</td>
|
||||
</ng-template>
|
||||
@@ -100,19 +100,19 @@
|
||||
<td class="alias text-left" style="width: 370px;">
|
||||
<span class="skeleton-loader"></span>
|
||||
</td>
|
||||
<td class="alias text-left">
|
||||
<td class="nodedetails text-left">
|
||||
<span class="skeleton-loader"></span>
|
||||
</td>
|
||||
<td class="capacity text-left d-none d-md-table-cell">
|
||||
<td class="status text-left">
|
||||
<span class="skeleton-loader"></span>
|
||||
</td>
|
||||
<td class="channels text-left d-none d-md-table-cell">
|
||||
<td class="feerate text-left">
|
||||
<span class="skeleton-loader"></span>
|
||||
</td>
|
||||
<td class="channels text-right d-none d-md-table-cell">
|
||||
<td class="liquidity text-right">
|
||||
<span class="skeleton-loader"></span>
|
||||
</td>
|
||||
<td class="channels text-left">
|
||||
<td class="channelid text-left">
|
||||
<span class="skeleton-loader"></span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -19,8 +19,48 @@
|
||||
}
|
||||
}
|
||||
|
||||
:host-context(.rtl-layout) .formRadioGroup {
|
||||
direction: ltr;
|
||||
@media (min-width: 435px) {
|
||||
right: unset;
|
||||
left: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.btn-group {
|
||||
@media (max-width: 435px) {
|
||||
flex-grow: 1;
|
||||
}
|
||||
}
|
||||
|
||||
.alias {
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
.feerate {
|
||||
@media (max-width: 815px) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.status {
|
||||
@media (max-width: 710px) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.nodedetails {
|
||||
@media (max-width: 600px) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.liquidity {
|
||||
@media (max-width: 500px) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.channelid {
|
||||
padding-right: 0;
|
||||
}
|
||||
@@ -2,7 +2,10 @@
|
||||
color: #4a68b9;
|
||||
font-size: 10px;
|
||||
margin-bottom: 4px;
|
||||
font-size: 1rem;
|
||||
font-size: 1rem;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.card-text {
|
||||
|
||||
@@ -92,7 +92,7 @@
|
||||
</ng-template>
|
||||
<input type="text" class="form-control" aria-label="Text input with dropdown button"
|
||||
[value]="node.socketsObject[selectedSocketIndex].socket">
|
||||
<button class="btn btn-secondary ml-1" type="button" id="inputGroupFileAddon04" (mouseover)="qrCodeVisible[i] = 1"
|
||||
<button class="btn btn-secondary" type="button" id="inputGroupFileAddon04" (mouseover)="qrCodeVisible[i] = 1"
|
||||
(mouseout)="qrCodeVisible[i] = 0">
|
||||
<fa-icon [icon]="['fas', 'qrcode']" [fixedWidth]="true"></fa-icon>
|
||||
<div class="qr-wrapper" [hidden]="!qrCodeVisible[i]">
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
}
|
||||
|
||||
h1 {
|
||||
margin-left: 15px;
|
||||
margin-inline-start: 15px;
|
||||
}
|
||||
|
||||
.qr-wrapper {
|
||||
@@ -57,3 +57,17 @@ h1 {
|
||||
.description-text {
|
||||
white-space: break-spaces;
|
||||
}
|
||||
|
||||
.timestamp-first .input-group {
|
||||
input {
|
||||
margin-inline-end: .25rem;
|
||||
}
|
||||
}
|
||||
|
||||
:host-context(.rtl-layout) {
|
||||
.timestamp-first .input-group {
|
||||
button {
|
||||
margin-inline-end: .25rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -146,7 +146,7 @@ export class NodeStatisticsChartComponent implements OnInit {
|
||||
padding: 10,
|
||||
data: [
|
||||
{
|
||||
name: 'Channels',
|
||||
name: $localize`:@@807cf11e6ac1cde912496f764c176bdfdd6b7e19:Channels`,
|
||||
inactiveColor: 'rgb(110, 112, 121)',
|
||||
textStyle: {
|
||||
color: 'white',
|
||||
@@ -154,7 +154,7 @@ export class NodeStatisticsChartComponent implements OnInit {
|
||||
icon: 'roundRect',
|
||||
},
|
||||
{
|
||||
name: 'Capacity',
|
||||
name: $localize`:@@ce9dfdc6dccb28dc75a78c704e09dc18fb02dcfa:Capacity`,
|
||||
inactiveColor: 'rgb(110, 112, 121)',
|
||||
textStyle: {
|
||||
color: 'white',
|
||||
@@ -201,7 +201,7 @@ export class NodeStatisticsChartComponent implements OnInit {
|
||||
series: data.channels.length === 0 ? [] : [
|
||||
{
|
||||
zlevel: 1,
|
||||
name: 'Channels',
|
||||
name: $localize`:@@807cf11e6ac1cde912496f764c176bdfdd6b7e19:Channels`,
|
||||
showSymbol: false,
|
||||
symbol: 'none',
|
||||
data: data.channels,
|
||||
@@ -224,7 +224,7 @@ export class NodeStatisticsChartComponent implements OnInit {
|
||||
{
|
||||
zlevel: 0,
|
||||
yAxisIndex: 1,
|
||||
name: 'Capacity',
|
||||
name: $localize`:@@ce9dfdc6dccb28dc75a78c704e09dc18fb02dcfa:Capacity`,
|
||||
showSymbol: false,
|
||||
symbol: 'none',
|
||||
stack: 'Total',
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<div class="clearfix"></div>
|
||||
|
||||
<div *ngIf="error" class="d-flex flex-column justify-content-around align-items-center mt-5 w-100" style="min-height: 100px">
|
||||
<span class="text-center" i18n="lightning.node-not-found">No node found for public key "{{ node.public_key | shortenString : 12}}"</span>
|
||||
<span class="text-center">No node found for public key "{{ node.public_key | shortenString : 12}}"</span>
|
||||
</div>
|
||||
|
||||
<div class="box" *ngIf="!error">
|
||||
@@ -57,7 +57,7 @@
|
||||
</tr>
|
||||
<tr *ngIf="(avgChannelDistance$ | async) as avgDistance;">
|
||||
<td i18n="lightning.avg-distance" class="text-truncate">Avg channel distance</td>
|
||||
<td>{{ avgDistance | number : '1.0-0' }} <span class="symbol">km</span> <span class="separator">/</span> {{ kmToMiles(avgDistance) | number : '1.0-0' }} <span class="symbol">mi</span></td>
|
||||
<td class="direction-ltr">{{ avgDistance | amountShortener: 1 }} <span class="symbol">km</span> <span class="separator">·</span>{{ kmToMiles(avgDistance) | amountShortener: 1 }} <span class="symbol">mi</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
@@ -108,5 +108,6 @@ app-fiat {
|
||||
}
|
||||
|
||||
.separator {
|
||||
margin: 0 1em;
|
||||
margin: 0 0.25em;
|
||||
color: slategrey;
|
||||
}
|
||||
|
||||
@@ -4,10 +4,6 @@
|
||||
&.widget {
|
||||
height: 250px;
|
||||
}
|
||||
|
||||
&.graph {
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||
|
||||
.card-header {
|
||||
|
||||
@@ -229,6 +229,7 @@ export class NodesChannelsMap implements OnInit {
|
||||
title: title ?? undefined,
|
||||
tooltip: {},
|
||||
geo: {
|
||||
top: 75,
|
||||
animation: false,
|
||||
silent: true,
|
||||
center: this.center,
|
||||
|
||||
@@ -53,31 +53,6 @@
|
||||
height: 145px;
|
||||
}
|
||||
|
||||
.formRadioGroup {
|
||||
margin-top: 6px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
@media (min-width: 991px) {
|
||||
position: relative;
|
||||
top: -100px;
|
||||
}
|
||||
@media (min-width: 830px) and (max-width: 991px) {
|
||||
position: relative;
|
||||
top: 0px;
|
||||
}
|
||||
@media (min-width: 830px) {
|
||||
flex-direction: row;
|
||||
float: right;
|
||||
margin-top: 0px;
|
||||
}
|
||||
.btn-sm {
|
||||
font-size: 9px;
|
||||
@media (min-width: 830px) {
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.pool-distribution {
|
||||
min-height: 56px;
|
||||
display: block;
|
||||
|
||||
@@ -182,7 +182,7 @@ export class NodesNetworksChartComponent implements OnInit {
|
||||
{
|
||||
zlevel: 1,
|
||||
yAxisIndex: 0,
|
||||
name: $localize`Clearnet (IPv4, IPv6)`,
|
||||
name: $localize`Clearnet Only (IPv4, IPv6)`,
|
||||
showSymbol: false,
|
||||
symbol: 'none',
|
||||
data: data.clearnet_nodes,
|
||||
@@ -292,7 +292,7 @@ export class NodesNetworksChartComponent implements OnInit {
|
||||
icon: 'roundRect',
|
||||
},
|
||||
{
|
||||
name: $localize`Clearnet (IPv4, IPv6)`,
|
||||
name: $localize`Clearnet Only (IPv4, IPv6)`,
|
||||
inactiveColor: 'rgb(110, 112, 121)',
|
||||
textStyle: {
|
||||
color: 'white',
|
||||
@@ -318,7 +318,7 @@ export class NodesNetworksChartComponent implements OnInit {
|
||||
],
|
||||
selected: this.widget ? undefined : JSON.parse(this.storageService.getValue('nodes_networks_legend')) ?? {
|
||||
'$localize`Darknet Only (Tor, I2P, cjdns)`': true,
|
||||
'$localize`Clearnet (IPv4, IPv6)`': true,
|
||||
'$localize`Clearnet Only (IPv4, IPv6)`': true,
|
||||
'$localize`Clearnet and Darknet`': true,
|
||||
'$localize`:@@e5d8bb389c702588877f039d72178f219453a72d:Unknown`': true,
|
||||
}
|
||||
|
||||
@@ -3,21 +3,21 @@
|
||||
<div *ngIf="widget">
|
||||
<div class="pool-distribution" *ngIf="(nodesPerAsObservable$ | async) as stats; else loadingReward">
|
||||
<div class="item">
|
||||
<h5 class="card-title d-inline-block" i18n="lightning.clearnet-capacity">Clearnet Capacity</h5>
|
||||
<h5 class="card-title" i18n="lightning.clearnet-capacity">Clearnet Capacity</h5>
|
||||
<p class="card-text" i18n-ngbTooltip="lightning.clearnet-capacity-desc"
|
||||
ngbTooltip="How much liquidity is running on nodes advertising at least one clearnet IP address" placement="bottom">
|
||||
<app-amount [satoshis]="stats.clearnetCapacity" [digitsInfo]="'1.2-2'" [noFiat]="true"></app-amount>
|
||||
</p>
|
||||
</div>
|
||||
<div class="item">
|
||||
<h5 class="card-title d-inline-block" i18n="lightning.unknown-capacity">Unknown Capacity</h5>
|
||||
<h5 class="card-title" i18n="lightning.unknown-capacity">Unknown Capacity</h5>
|
||||
<p class="card-text" i18n-ngbTooltip="lightning.unknown-capacity-desc"
|
||||
ngbTooltip="How much liquidity is running on nodes which ISP was not identifiable" placement="bottom">
|
||||
<app-amount [satoshis]="stats.unknownCapacity" [digitsInfo]="'1.2-2'" [noFiat]="true"></app-amount>
|
||||
</p>
|
||||
</div>
|
||||
<div class="item">
|
||||
<h5 class="card-title d-inline-block" i18n="lightning.tor-capacity">Tor Capacity</h5>
|
||||
<h5 class="card-title" i18n="lightning.tor-capacity">Tor Capacity</h5>
|
||||
<p class="card-text" i18n-ngbTooltip="lightning.tor-capacity-desc"
|
||||
ngbTooltip="How much liquidity is running on nodes advertising only Tor addresses" placement="bottom">
|
||||
<app-amount [satoshis]="stats.torCapacity" [digitsInfo]="'1.2-2'" [noFiat]="true"></app-amount>
|
||||
@@ -80,19 +80,19 @@
|
||||
<ng-template #loadingReward>
|
||||
<div class="pool-distribution">
|
||||
<div class="item">
|
||||
<h5 class="card-title d-inline-block" i18n="lightning.clearnet-capacity">Clearnet Capacity</h5>
|
||||
<h5 class="card-title" i18n="lightning.clearnet-capacity">Clearnet Capacity</h5>
|
||||
<p class="card-text">
|
||||
<span class="skeleton-loader skeleton-loader-big"></span>
|
||||
</p>
|
||||
</div>
|
||||
<div class="item">
|
||||
<h5 class="card-title d-inline-block" i18n="lightning.unknown-capacity">Unknown Capacity</h5>
|
||||
<h5 class="card-title" i18n="lightning.unknown-capacity">Unknown Capacity</h5>
|
||||
<p class="card-text">
|
||||
<span class="skeleton-loader skeleton-loader-big"></span>
|
||||
</p>
|
||||
</div>
|
||||
<div class="item">
|
||||
<h5 class="card-title d-inline-block" i18n="lightning.tor-capacity">Tor Capacity</h5>
|
||||
<h5 class="card-title" i18n="lightning.tor-capacity">Tor Capacity</h5>
|
||||
<p class="card-text">
|
||||
<span class="skeleton-loader skeleton-loader-big"></span>
|
||||
</p>
|
||||
|
||||
@@ -34,31 +34,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
.formRadioGroup {
|
||||
margin-top: 6px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
@media (min-width: 991px) {
|
||||
position: relative;
|
||||
top: -100px;
|
||||
}
|
||||
@media (min-width: 830px) and (max-width: 991px) {
|
||||
position: relative;
|
||||
top: 0px;
|
||||
}
|
||||
@media (min-width: 830px) {
|
||||
flex-direction: row;
|
||||
float: right;
|
||||
margin-top: 0px;
|
||||
}
|
||||
.btn-sm {
|
||||
font-size: 9px;
|
||||
@media (min-width: 830px) {
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.bottom-padding {
|
||||
@media (max-width: 992px) {
|
||||
padding-bottom: 65px
|
||||
@@ -93,10 +68,13 @@
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
.item {
|
||||
max-width: 160px;
|
||||
max-width: 150px;
|
||||
width: 50%;
|
||||
display: inline-block;
|
||||
margin: 0px auto 20px;
|
||||
@media (min-width: 485px) {
|
||||
max-width: 160px;
|
||||
}
|
||||
&:nth-child(2) {
|
||||
order: 2;
|
||||
@media (min-width: 485px) {
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
<th class="pool text-left" i18n="nodes.alias" [ngClass]="{'widget': widget}">Alias</th>
|
||||
<th class="liquidity text-right" i18n="node.channels">Channels</th>
|
||||
<th *ngIf="!widget" class="d-none d-md-table-cell channels text-right" i18n="lightning.channels">Capacity</th>
|
||||
<th *ngIf="!widget" class="d-none d-md-table-cell text-right" i18n="node.liquidity">{{ currency$ | async }}</th>
|
||||
<th *ngIf="!widget" class="d-none d-md-table-cell text-right">{{ currency$ | async }}</th>
|
||||
<th *ngIf="!widget" class="d-none d-md-table-cell timestamp text-right" i18n="transaction.first-seen|Transaction first seen">First seen</th>
|
||||
<th *ngIf="!widget" class="d-none d-md-table-cell timestamp text-right" i18n="lightning.last_update">Last update</th>
|
||||
<th class="geolocation d-table-cell text-right" i18n="lightning.location">Location</th>
|
||||
|
||||
@@ -53,31 +53,6 @@
|
||||
height: 145px;
|
||||
}
|
||||
|
||||
.formRadioGroup {
|
||||
margin-top: 6px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
@media (min-width: 991px) {
|
||||
position: relative;
|
||||
top: -100px;
|
||||
}
|
||||
@media (min-width: 830px) and (max-width: 991px) {
|
||||
position: relative;
|
||||
top: 0px;
|
||||
}
|
||||
@media (min-width: 830px) {
|
||||
flex-direction: row;
|
||||
float: right;
|
||||
margin-top: 0px;
|
||||
}
|
||||
.btn-sm {
|
||||
font-size: 9px;
|
||||
@media (min-width: 830px) {
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.pool-distribution {
|
||||
min-height: 56px;
|
||||
display: block;
|
||||
|
||||
@@ -68,6 +68,10 @@ export class ApiService {
|
||||
return this.httpClient.get<OptimizedMempoolStats[]>(this.apiBaseUrl + this.apiBasePath + '/api/v1/statistics/3y');
|
||||
}
|
||||
|
||||
list4YStatistics$(): Observable<OptimizedMempoolStats[]> {
|
||||
return this.httpClient.get<OptimizedMempoolStats[]>(this.apiBaseUrl + this.apiBasePath + '/api/v1/statistics/4y');
|
||||
}
|
||||
|
||||
getTransactionTimes$(txIds: string[]): Observable<number[]> {
|
||||
let params = new HttpParams();
|
||||
txIds.forEach((txId: string) => {
|
||||
|
||||
@@ -89,7 +89,7 @@ export class PriceService {
|
||||
return this.singlePriceObservable$.pipe(
|
||||
map((conversion) => {
|
||||
if (conversion.prices.length <= 0) {
|
||||
return this.getEmptyPrice();
|
||||
return undefined;
|
||||
}
|
||||
return {
|
||||
price: {
|
||||
@@ -113,7 +113,7 @@ export class PriceService {
|
||||
|
||||
return this.priceObservable$.pipe(
|
||||
map((conversion) => {
|
||||
if (!blockTimestamp) {
|
||||
if (!blockTimestamp || !conversion) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
|
||||
@@ -2,6 +2,6 @@
|
||||
<span *ngIf="seconds !== undefined">
|
||||
‎{{ seconds * 1000 | date: customFormat ?? 'yyyy-MM-dd HH:mm' }}
|
||||
<div class="lg-inline" *ngIf="!hideTimeSince">
|
||||
<i class="symbol">(<app-time-since [time]="seconds" [fastRender]="true"></app-time-since>)</i>
|
||||
<i class="symbol">(<app-time kind="since" [time]="seconds" [fastRender]="true"></app-time>)</i>
|
||||
</div>
|
||||
</span>
|
||||
|
||||
@@ -21,6 +21,7 @@ export const formatterXAxis = (
|
||||
return date.toLocaleTimeString(locale, { month: 'long', day: 'numeric', hour: 'numeric', minute: 'numeric' });
|
||||
case '2y':
|
||||
case '3y':
|
||||
case '4y':
|
||||
case 'all':
|
||||
return date.toLocaleDateString(locale, { year: 'numeric', month: 'long', day: 'numeric' });
|
||||
}
|
||||
@@ -45,6 +46,7 @@ export const formatterXAxisLabel = (
|
||||
case '1y':
|
||||
case '2y':
|
||||
case '3y':
|
||||
case '4y':
|
||||
return null;
|
||||
}
|
||||
};
|
||||
@@ -71,6 +73,7 @@ export const formatterXAxisTimeCategory = (
|
||||
return date.toLocaleDateString(locale, { year: 'numeric', month: 'short', day: 'numeric' });
|
||||
case '2y':
|
||||
case '3y':
|
||||
case '4y':
|
||||
case 'all':
|
||||
return date.toLocaleDateString(locale, { year: 'numeric', month: 'long' });
|
||||
}
|
||||
|
||||
@@ -25,8 +25,7 @@ import { BytesPipe } from './pipes/bytes-pipe/bytes.pipe';
|
||||
import { WuBytesPipe } from './pipes/bytes-pipe/wubytes.pipe';
|
||||
import { FiatCurrencyPipe } from './pipes/fiat-currency.pipe';
|
||||
import { BlockchainComponent } from '../components/blockchain/blockchain.component';
|
||||
import { TimeSinceComponent } from '../components/time-since/time-since.component';
|
||||
import { TimeUntilComponent } from '../components/time-until/time-until.component';
|
||||
import { TimeComponent } from '../components/time/time.component';
|
||||
import { ClipboardComponent } from '../components/clipboard/clipboard.component';
|
||||
import { QrcodeComponent } from '../components/qrcode/qrcode.component';
|
||||
import { FiatComponent } from '../fiat/fiat.component';
|
||||
@@ -53,13 +52,14 @@ import { AddressComponent } from '../components/address/address.component';
|
||||
import { SearchFormComponent } from '../components/search-form/search-form.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 { DifficultyTooltipComponent } from '../components/difficulty/difficulty-tooltip.component';
|
||||
import { DifficultyMiningComponent } from '../components/difficulty-mining/difficulty-mining.component';
|
||||
import { TermsOfServiceComponent } from '../components/terms-of-service/terms-of-service.component';
|
||||
import { TxBowtieGraphComponent } from '../components/tx-bowtie-graph/tx-bowtie-graph.component';
|
||||
import { TxBowtieGraphTooltipComponent } from '../components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component';
|
||||
@@ -88,8 +88,7 @@ import { GeolocationComponent } from '../shared/components/geolocation/geolocati
|
||||
@NgModule({
|
||||
declarations: [
|
||||
ClipboardComponent,
|
||||
TimeSinceComponent,
|
||||
TimeUntilComponent,
|
||||
TimeComponent,
|
||||
QrcodeComponent,
|
||||
FiatComponent,
|
||||
TxFeaturesComponent,
|
||||
@@ -129,7 +128,6 @@ import { GeolocationComponent } from '../shared/components/geolocation/geolocati
|
||||
TransactionsListComponent,
|
||||
AddressComponent,
|
||||
SearchFormComponent,
|
||||
TimeSpanComponent,
|
||||
AddressLabelsComponent,
|
||||
FooterComponent,
|
||||
AssetComponent,
|
||||
@@ -137,6 +135,8 @@ import { GeolocationComponent } from '../shared/components/geolocation/geolocati
|
||||
StatusViewComponent,
|
||||
FeesBoxComponent,
|
||||
DifficultyComponent,
|
||||
DifficultyMiningComponent,
|
||||
DifficultyTooltipComponent,
|
||||
TxBowtieGraphComponent,
|
||||
TxBowtieGraphTooltipComponent,
|
||||
TermsOfServiceComponent,
|
||||
@@ -195,8 +195,7 @@ import { GeolocationComponent } from '../shared/components/geolocation/geolocati
|
||||
NgbCollapseModule,
|
||||
InfiniteScrollModule,
|
||||
FontAwesomeModule,
|
||||
TimeSinceComponent,
|
||||
TimeUntilComponent,
|
||||
TimeComponent,
|
||||
ClipboardComponent,
|
||||
QrcodeComponent,
|
||||
FiatComponent,
|
||||
@@ -232,7 +231,6 @@ import { GeolocationComponent } from '../shared/components/geolocation/geolocati
|
||||
TransactionsListComponent,
|
||||
AddressComponent,
|
||||
SearchFormComponent,
|
||||
TimeSpanComponent,
|
||||
AddressLabelsComponent,
|
||||
FooterComponent,
|
||||
AssetComponent,
|
||||
@@ -240,6 +238,8 @@ import { GeolocationComponent } from '../shared/components/geolocation/geolocati
|
||||
StatusViewComponent,
|
||||
FeesBoxComponent,
|
||||
DifficultyComponent,
|
||||
DifficultyMiningComponent,
|
||||
DifficultyTooltipComponent,
|
||||
TxBowtieGraphComponent,
|
||||
TxBowtieGraphTooltipComponent,
|
||||
TermsOfServiceComponent,
|
||||
|
||||
@@ -775,7 +775,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">385,389</context>
|
||||
<context context-type="linenumber">375,378</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/mining-dashboard/mining-dashboard.component.html</context>
|
||||
@@ -1452,7 +1452,7 @@
|
||||
<target>الميم بول و مستكشف سلسلة الكتل خاص لمجتمع البتكوين ، يركز على سوق رسوم المعاملات للأنظمة متعددة الطبقات ، مستضاف ذاتيًا تمامًا دون الثقة بأي جهات خارجية.</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">13,17</context>
|
||||
<context context-type="linenumber">13,16</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit id="a24b1c6a9c4334ba204e4cec2dd9f32ea33d043f" datatype="html">
|
||||
@@ -1460,7 +1460,7 @@
|
||||
<target>رعاة المشروع 🚀</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">29,32</context>
|
||||
<context context-type="linenumber">19,22</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">about.sponsors.enterprise.withRocket</note>
|
||||
</trans-unit>
|
||||
@@ -1469,7 +1469,7 @@
|
||||
<target>رعاة من المجتمع ❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">177,180</context>
|
||||
<context context-type="linenumber">167,170</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">about.sponsors.withHeart</note>
|
||||
</trans-unit>
|
||||
@@ -1478,7 +1478,7 @@
|
||||
<target>تكاملات (Integrations) مجتمعية</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">191,193</context>
|
||||
<context context-type="linenumber">181,183</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">about.community-integrations</note>
|
||||
</trans-unit>
|
||||
@@ -1487,7 +1487,7 @@
|
||||
<target>التحالفات المجتمعية</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">285,287</context>
|
||||
<context context-type="linenumber">275,277</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">about.alliances</note>
|
||||
</trans-unit>
|
||||
@@ -1496,7 +1496,7 @@
|
||||
<target>مترجمو المشروع</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">301,303</context>
|
||||
<context context-type="linenumber">291,293</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">about.translators</note>
|
||||
</trans-unit>
|
||||
@@ -1505,7 +1505,7 @@
|
||||
<target>المساهمون في المشروع</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">315,317</context>
|
||||
<context context-type="linenumber">305,307</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">about.contributors</note>
|
||||
</trans-unit>
|
||||
@@ -1514,7 +1514,7 @@
|
||||
<target>أعضاء المشروع</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">327,329</context>
|
||||
<context context-type="linenumber">317,319</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">about.project_members</note>
|
||||
</trans-unit>
|
||||
@@ -1523,7 +1523,7 @@
|
||||
<target>فريق صيانة المشروع</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">340,342</context>
|
||||
<context context-type="linenumber">330,332</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">about.maintainers</note>
|
||||
</trans-unit>
|
||||
@@ -1532,7 +1532,7 @@
|
||||
<target>حول</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.ts</context>
|
||||
<context context-type="linenumber">39</context>
|
||||
<context context-type="linenumber">42</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/bisq-master-page/bisq-master-page.component.html</context>
|
||||
@@ -1581,7 +1581,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/amount/amount.component.html</context>
|
||||
<context context-type="linenumber">18,21</context>
|
||||
<context context-type="linenumber">20,23</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/asset-circulation/asset-circulation.component.html</context>
|
||||
@@ -2686,11 +2686,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">52,55</context>
|
||||
<context context-type="linenumber">55,58</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">96,100</context>
|
||||
<context context-type="linenumber">99,103</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts</context>
|
||||
@@ -2895,15 +2895,15 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">86,88</context>
|
||||
<context context-type="linenumber">93,95</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">96,98</context>
|
||||
<context context-type="linenumber">103,105</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">218,222</context>
|
||||
<context context-type="linenumber">221,225</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">Transaction Details</note>
|
||||
<note priority="1" from="meaning">transaction.details</note>
|
||||
@@ -2923,10 +2923,6 @@
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel-preview.component.html</context>
|
||||
<context context-type="linenumber">70,75</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">109,115</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node-preview.component.html</context>
|
||||
<context context-type="linenumber">66,69</context>
|
||||
@@ -4309,6 +4305,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="2abc4d0d3ae0b49fa9e94a2efb8c2e1a47e680f4" datatype="html">
|
||||
<source>Go to "<x id="INTERPOLATION" equiv-text="{{ x }}"/>"</source>
|
||||
<target>انتقل إلى "<x id="INTERPOLATION" equiv-text="{{ x }}"/>"</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/search-form/search-results/search-results.component.html</context>
|
||||
<context context-type="linenumber">52</context>
|
||||
@@ -4613,7 +4610,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">67,70</context>
|
||||
<context context-type="linenumber">70,73</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-per-country/nodes-per-country.component.html</context>
|
||||
@@ -4629,11 +4626,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html</context>
|
||||
<context context-type="linenumber">13,15</context>
|
||||
<context context-type="linenumber">15,16</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">13,15</context>
|
||||
<context context-type="linenumber">15,16</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">Transaction first seen</note>
|
||||
<note priority="1" from="meaning">transaction.first-seen</note>
|
||||
@@ -5368,7 +5365,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">180,182</context>
|
||||
<context context-type="linenumber">183,185</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">shared.m-sats</note>
|
||||
</trans-unit>
|
||||
@@ -5486,7 +5483,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">11,12</context>
|
||||
<context context-type="linenumber">13,14</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channels-list/channels-list.component.html</context>
|
||||
@@ -5503,7 +5500,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">12,13</context>
|
||||
<context context-type="linenumber">14,15</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channels-list/channels-list.component.html</context>
|
||||
@@ -5520,7 +5517,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">13,14</context>
|
||||
<context context-type="linenumber">15,16</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channels-list/channels-list.component.html</context>
|
||||
@@ -5541,7 +5538,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">29,30</context>
|
||||
<context context-type="linenumber">36,37</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.created</note>
|
||||
</trans-unit>
|
||||
@@ -5554,7 +5551,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">48,49</context>
|
||||
<context context-type="linenumber">55,56</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channels-list/channels-list.component.html</context>
|
||||
@@ -5588,6 +5585,10 @@
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-per-isp/nodes-per-isp.component.html</context>
|
||||
<context context-type="linenumber">60,62</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">13,14</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts</context>
|
||||
<context context-type="linenumber">202,201</context>
|
||||
@@ -5624,11 +5625,11 @@
|
||||
<target>قناة البرق</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">2,5</context>
|
||||
<context context-type="linenumber">4,7</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">117,119</context>
|
||||
<context context-type="linenumber">116,118</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.channel</note>
|
||||
</trans-unit>
|
||||
@@ -5637,11 +5638,11 @@
|
||||
<target>آخر تحديث</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">33,34</context>
|
||||
<context context-type="linenumber">40,41</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">73,75</context>
|
||||
<context context-type="linenumber">76,78</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-per-country/nodes-per-country.component.html</context>
|
||||
@@ -5657,11 +5658,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html</context>
|
||||
<context context-type="linenumber">14,15</context>
|
||||
<context context-type="linenumber">16,17</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">14,15</context>
|
||||
<context context-type="linenumber">16,17</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.last-update</note>
|
||||
</trans-unit>
|
||||
@@ -5670,7 +5671,7 @@
|
||||
<target>تاريخ الاغلاق</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">37,38</context>
|
||||
<context context-type="linenumber">44,45</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channels-list/channels-list.component.html</context>
|
||||
@@ -5683,7 +5684,7 @@
|
||||
<target>مغلقة من</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">52,54</context>
|
||||
<context context-type="linenumber">59,61</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.closed_by</note>
|
||||
</trans-unit>
|
||||
@@ -5692,7 +5693,7 @@
|
||||
<target>عملية الفتح</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">84,85</context>
|
||||
<context context-type="linenumber">91,92</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.opening-transaction</note>
|
||||
</trans-unit>
|
||||
@@ -5701,7 +5702,7 @@
|
||||
<target>عملية الاغلاق</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">93,95</context>
|
||||
<context context-type="linenumber">100,102</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.closing-transaction</note>
|
||||
</trans-unit>
|
||||
@@ -5783,11 +5784,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html</context>
|
||||
<context context-type="linenumber">10,11</context>
|
||||
<context context-type="linenumber">11,12</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">10,12</context>
|
||||
<context context-type="linenumber">11,13</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.alias</note>
|
||||
</trans-unit>
|
||||
@@ -6059,10 +6060,6 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html</context>
|
||||
<context context-type="linenumber">11,12</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">12,13</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.liquidity</note>
|
||||
@@ -6116,11 +6113,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html</context>
|
||||
<context context-type="linenumber">12,13</context>
|
||||
<context context-type="linenumber">14,15</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">11,12</context>
|
||||
<context context-type="linenumber">12,13</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts</context>
|
||||
@@ -6158,7 +6155,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">47,49</context>
|
||||
<context context-type="linenumber">50,52</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-per-country/nodes-per-country.component.html</context>
|
||||
@@ -6174,11 +6171,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html</context>
|
||||
<context context-type="linenumber">15,17</context>
|
||||
<context context-type="linenumber">17,20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">15,17</context>
|
||||
<context context-type="linenumber">17,20</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.location</note>
|
||||
</trans-unit>
|
||||
@@ -6216,9 +6213,17 @@
|
||||
<context context-type="sourcefile">src/app/lightning/lightning-dashboard/lightning-dashboard.component.html</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html</context>
|
||||
<context context-type="linenumber">4,9</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts</context>
|
||||
<context context-type="linenumber">29</context>
|
||||
<context context-type="linenumber">33</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">4,9</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html</context>
|
||||
@@ -6296,11 +6301,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">2,4</context>
|
||||
<context context-type="linenumber">4,6</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">260,262</context>
|
||||
<context context-type="linenumber">263,265</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.node</note>
|
||||
</trans-unit>
|
||||
@@ -6313,7 +6318,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">27,30</context>
|
||||
<context context-type="linenumber">30,33</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.active-capacity</note>
|
||||
</trans-unit>
|
||||
@@ -6326,7 +6331,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">34,38</context>
|
||||
<context context-type="linenumber">37,41</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.active-channels</note>
|
||||
</trans-unit>
|
||||
@@ -6339,21 +6344,12 @@
|
||||
</context-group>
|
||||
<note priority="1" from="description">country</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="674378571ab7e72a386f27fd3281558bae821d9d" datatype="html">
|
||||
<source>No node found for public key "<x id="INTERPOLATION" equiv-text="{{ node.public_key | shortenString : 12}}"/>"</source>
|
||||
<target>لم نعثر على نود للعنوان العام &quot' <x id="INTERPOLATION" equiv-text="{{ node.public_key | shortenString : 12}}"/>&quot'</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">17,19</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.node-not-found</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="43b48b9c15083a164b401bf3775a4b99f3917699" datatype="html">
|
||||
<source>Average channel size</source>
|
||||
<target>متوسط حجم القناة</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">40,43</context>
|
||||
<context context-type="linenumber">43,46</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.active-channels-avg</note>
|
||||
</trans-unit>
|
||||
@@ -6362,7 +6358,7 @@
|
||||
<target>متوسط مسافة القناة</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">56,57</context>
|
||||
<context context-type="linenumber">59,60</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.avg-distance</note>
|
||||
</trans-unit>
|
||||
@@ -6371,7 +6367,7 @@
|
||||
<target>اللون</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">79,81</context>
|
||||
<context context-type="linenumber">82,84</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.color</note>
|
||||
</trans-unit>
|
||||
@@ -6380,7 +6376,7 @@
|
||||
<target>مزود خدمة الانترنت</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">86,87</context>
|
||||
<context context-type="linenumber">89,90</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html</context>
|
||||
@@ -6393,7 +6389,7 @@
|
||||
<target>حصرية على تور</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">93,95</context>
|
||||
<context context-type="linenumber">96,98</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">tor</note>
|
||||
</trans-unit>
|
||||
@@ -6402,7 +6398,7 @@
|
||||
<target>اشهار سيولة </target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">138,141</context>
|
||||
<context context-type="linenumber">141,144</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">node.liquidity-ad</note>
|
||||
</trans-unit>
|
||||
@@ -6411,7 +6407,7 @@
|
||||
<target>معدل رسوم العقد</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">144,147</context>
|
||||
<context context-type="linenumber">147,150</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">Liquidity ad lease fee rate</note>
|
||||
<note priority="1" from="meaning">liquidity-ad.lease-fee-rate</note>
|
||||
@@ -6421,7 +6417,7 @@
|
||||
<target>أساس رسوم العقد</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">152,154</context>
|
||||
<context context-type="linenumber">155,157</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">liquidity-ad.lease-base-fee</note>
|
||||
</trans-unit>
|
||||
@@ -6430,7 +6426,7 @@
|
||||
<target>وزن التمويل</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">158,159</context>
|
||||
<context context-type="linenumber">161,162</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">liquidity-ad.funding-weight</note>
|
||||
</trans-unit>
|
||||
@@ -6439,7 +6435,7 @@
|
||||
<target>معدل رسوم القناة</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">168,171</context>
|
||||
<context context-type="linenumber">171,174</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">Liquidity ad channel fee rate</note>
|
||||
<note priority="1" from="meaning">liquidity-ad.channel-fee-rate</note>
|
||||
@@ -6449,7 +6445,7 @@
|
||||
<target>أساس رسوم القناة</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">176,178</context>
|
||||
<context context-type="linenumber">179,181</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">liquidity-ad.channel-base-fee</note>
|
||||
</trans-unit>
|
||||
@@ -6458,7 +6454,7 @@
|
||||
<target>عقد سريع</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">188,190</context>
|
||||
<context context-type="linenumber">191,193</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">liquidity-ad.compact-lease</note>
|
||||
</trans-unit>
|
||||
@@ -6467,7 +6463,7 @@
|
||||
<target>TLV extension records</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">199,202</context>
|
||||
<context context-type="linenumber">202,205</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">node.tlv.records</note>
|
||||
</trans-unit>
|
||||
@@ -6476,7 +6472,7 @@
|
||||
<target>قنوات مفتوحة</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">240,243</context>
|
||||
<context context-type="linenumber">243,246</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.open-channels</note>
|
||||
</trans-unit>
|
||||
@@ -6485,7 +6481,7 @@
|
||||
<target>قنوات مغلقة</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">244,247</context>
|
||||
<context context-type="linenumber">247,250</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.open-channels</note>
|
||||
</trans-unit>
|
||||
@@ -6555,9 +6551,8 @@
|
||||
<context context-type="linenumber">112,107</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit id="1055322764280599360" datatype="html">
|
||||
<source>Reachable on Clearnet Only</source>
|
||||
<target>متاح على الكليرنت فقط</target>
|
||||
<trans-unit id="599038141003770125" datatype="html">
|
||||
<source>Clearnet and Darknet</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts</context>
|
||||
<context context-type="linenumber">164,161</context>
|
||||
@@ -6567,9 +6562,8 @@
|
||||
<context context-type="linenumber">303,302</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit id="2760682261176173881" datatype="html">
|
||||
<source>Reachable on Clearnet and Darknet</source>
|
||||
<target>متاح على الكليرنت والداركنت</target>
|
||||
<trans-unit id="1282458597026430784" datatype="html">
|
||||
<source>Clearnet Only (IPv4, IPv6)</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts</context>
|
||||
<context context-type="linenumber">185,182</context>
|
||||
@@ -6579,9 +6573,8 @@
|
||||
<context context-type="linenumber">295,294</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit id="1191036460161514668" datatype="html">
|
||||
<source>Reachable on Darknet Only</source>
|
||||
<target>متاح على الداركنت فقط</target>
|
||||
<trans-unit id="2165336009914523952" datatype="html">
|
||||
<source>Darknet Only (Tor, I2P, cjdns)</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts</context>
|
||||
<context context-type="linenumber">206,203</context>
|
||||
@@ -6837,24 +6830,6 @@
|
||||
<context context-type="linenumber">27</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit id="71bb1ed9da9ebb92cf35925bc6fe0a8fbc325625" datatype="html">
|
||||
<source>Top 100 nodes liquidity ranking</source>
|
||||
<target>أعلى 100 نود حسب السيولة</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html</context>
|
||||
<context context-type="linenumber">3,7</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.top-100-liquidity</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="99786bd2106b708e4514d0121964affb19bee636" datatype="html">
|
||||
<source>Top 100 nodes connectivity ranking</source>
|
||||
<target>أعلى 100 نود حسب الاتصالية</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">3,7</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.top-100-connectivity</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="47a30fc5a836252f8fe03e2949756b150684d934" datatype="html">
|
||||
<source>Oldest nodes</source>
|
||||
<target>أقدم الأنواد</target>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -775,7 +775,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">385,389</context>
|
||||
<context context-type="linenumber">375,378</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/mining-dashboard/mining-dashboard.component.html</context>
|
||||
@@ -1452,7 +1452,7 @@
|
||||
<target>Unser Mempool- und Blockchain-Explorer für die Bitcoin-Community, der sich auf den Markt für Transaktionsgebühren und das mehrschichtige Ökosystem konzentriert und vollständig selbst gehostet wird, ohne vertrauenswürdige Drittanbieter.</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">13,17</context>
|
||||
<context context-type="linenumber">13,16</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit id="a24b1c6a9c4334ba204e4cec2dd9f32ea33d043f" datatype="html">
|
||||
@@ -1460,7 +1460,7 @@
|
||||
<target>Unternehmenssponsoren</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">29,32</context>
|
||||
<context context-type="linenumber">19,22</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">about.sponsors.enterprise.withRocket</note>
|
||||
</trans-unit>
|
||||
@@ -1469,7 +1469,7 @@
|
||||
<target>Community-Sponsoren ❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">177,180</context>
|
||||
<context context-type="linenumber">167,170</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">about.sponsors.withHeart</note>
|
||||
</trans-unit>
|
||||
@@ -1478,7 +1478,7 @@
|
||||
<target>Community Integrationen</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">191,193</context>
|
||||
<context context-type="linenumber">181,183</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">about.community-integrations</note>
|
||||
</trans-unit>
|
||||
@@ -1487,7 +1487,7 @@
|
||||
<target>Community-Allianzen</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">285,287</context>
|
||||
<context context-type="linenumber">275,277</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">about.alliances</note>
|
||||
</trans-unit>
|
||||
@@ -1496,7 +1496,7 @@
|
||||
<target>Projektübersetzer</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">301,303</context>
|
||||
<context context-type="linenumber">291,293</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">about.translators</note>
|
||||
</trans-unit>
|
||||
@@ -1505,7 +1505,7 @@
|
||||
<target>Projektmitwirkende</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">315,317</context>
|
||||
<context context-type="linenumber">305,307</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">about.contributors</note>
|
||||
</trans-unit>
|
||||
@@ -1514,7 +1514,7 @@
|
||||
<target>Projektmitglieder</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">327,329</context>
|
||||
<context context-type="linenumber">317,319</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">about.project_members</note>
|
||||
</trans-unit>
|
||||
@@ -1523,7 +1523,7 @@
|
||||
<target>Projektbetreuer</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">340,342</context>
|
||||
<context context-type="linenumber">330,332</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">about.maintainers</note>
|
||||
</trans-unit>
|
||||
@@ -1532,7 +1532,7 @@
|
||||
<target>Über</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.ts</context>
|
||||
<context context-type="linenumber">39</context>
|
||||
<context context-type="linenumber">42</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/bisq-master-page/bisq-master-page.component.html</context>
|
||||
@@ -1581,7 +1581,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/amount/amount.component.html</context>
|
||||
<context context-type="linenumber">18,21</context>
|
||||
<context context-type="linenumber">20,23</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/asset-circulation/asset-circulation.component.html</context>
|
||||
@@ -2686,11 +2686,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">52,55</context>
|
||||
<context context-type="linenumber">55,58</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">96,100</context>
|
||||
<context context-type="linenumber">99,103</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts</context>
|
||||
@@ -2895,15 +2895,15 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">86,88</context>
|
||||
<context context-type="linenumber">93,95</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">96,98</context>
|
||||
<context context-type="linenumber">103,105</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">218,222</context>
|
||||
<context context-type="linenumber">221,225</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">Transaction Details</note>
|
||||
<note priority="1" from="meaning">transaction.details</note>
|
||||
@@ -2923,10 +2923,6 @@
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel-preview.component.html</context>
|
||||
<context context-type="linenumber">70,75</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">109,115</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node-preview.component.html</context>
|
||||
<context context-type="linenumber">66,69</context>
|
||||
@@ -4309,7 +4305,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="2abc4d0d3ae0b49fa9e94a2efb8c2e1a47e680f4" datatype="html">
|
||||
<source>Go to "<x id="INTERPOLATION" equiv-text="{{ x }}"/>"</source>
|
||||
<target>Gehe zu &quot;<x id="INTERPOLATION" equiv-text="{{ x }}"/>&quot;</target>
|
||||
<target>Gehe zu "<x id="INTERPOLATION" equiv-text="{{ x }}"/>"</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/search-form/search-results/search-results.component.html</context>
|
||||
<context context-type="linenumber">52</context>
|
||||
@@ -4614,7 +4610,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">67,70</context>
|
||||
<context context-type="linenumber">70,73</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-per-country/nodes-per-country.component.html</context>
|
||||
@@ -4630,11 +4626,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html</context>
|
||||
<context context-type="linenumber">13,15</context>
|
||||
<context context-type="linenumber">15,16</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">13,15</context>
|
||||
<context context-type="linenumber">15,16</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">Transaction first seen</note>
|
||||
<note priority="1" from="meaning">transaction.first-seen</note>
|
||||
@@ -5370,7 +5366,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">180,182</context>
|
||||
<context context-type="linenumber">183,185</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">shared.m-sats</note>
|
||||
</trans-unit>
|
||||
@@ -5488,7 +5484,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">11,12</context>
|
||||
<context context-type="linenumber">13,14</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channels-list/channels-list.component.html</context>
|
||||
@@ -5505,7 +5501,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">12,13</context>
|
||||
<context context-type="linenumber">14,15</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channels-list/channels-list.component.html</context>
|
||||
@@ -5522,7 +5518,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">13,14</context>
|
||||
<context context-type="linenumber">15,16</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channels-list/channels-list.component.html</context>
|
||||
@@ -5543,7 +5539,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">29,30</context>
|
||||
<context context-type="linenumber">36,37</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.created</note>
|
||||
</trans-unit>
|
||||
@@ -5556,7 +5552,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">48,49</context>
|
||||
<context context-type="linenumber">55,56</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channels-list/channels-list.component.html</context>
|
||||
@@ -5590,6 +5586,10 @@
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-per-isp/nodes-per-isp.component.html</context>
|
||||
<context context-type="linenumber">60,62</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">13,14</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts</context>
|
||||
<context context-type="linenumber">202,201</context>
|
||||
@@ -5626,11 +5626,11 @@
|
||||
<target>Lightning-Kanal</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">2,5</context>
|
||||
<context context-type="linenumber">4,7</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">117,119</context>
|
||||
<context context-type="linenumber">116,118</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.channel</note>
|
||||
</trans-unit>
|
||||
@@ -5639,11 +5639,11 @@
|
||||
<target>Letzte Aktualisierung</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">33,34</context>
|
||||
<context context-type="linenumber">40,41</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">73,75</context>
|
||||
<context context-type="linenumber">76,78</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-per-country/nodes-per-country.component.html</context>
|
||||
@@ -5659,11 +5659,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html</context>
|
||||
<context context-type="linenumber">14,15</context>
|
||||
<context context-type="linenumber">16,17</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">14,15</context>
|
||||
<context context-type="linenumber">16,17</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.last-update</note>
|
||||
</trans-unit>
|
||||
@@ -5672,7 +5672,7 @@
|
||||
<target>Schließdatum</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">37,38</context>
|
||||
<context context-type="linenumber">44,45</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channels-list/channels-list.component.html</context>
|
||||
@@ -5685,7 +5685,7 @@
|
||||
<target>Geschlossen von</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">52,54</context>
|
||||
<context context-type="linenumber">59,61</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.closed_by</note>
|
||||
</trans-unit>
|
||||
@@ -5694,7 +5694,7 @@
|
||||
<target>Öffnende Transaktion</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">84,85</context>
|
||||
<context context-type="linenumber">91,92</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.opening-transaction</note>
|
||||
</trans-unit>
|
||||
@@ -5703,7 +5703,7 @@
|
||||
<target>Schließende Transaktion</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">93,95</context>
|
||||
<context context-type="linenumber">100,102</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.closing-transaction</note>
|
||||
</trans-unit>
|
||||
@@ -5786,11 +5786,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html</context>
|
||||
<context context-type="linenumber">10,11</context>
|
||||
<context context-type="linenumber">11,12</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">10,12</context>
|
||||
<context context-type="linenumber">11,13</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.alias</note>
|
||||
</trans-unit>
|
||||
@@ -6064,10 +6064,6 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html</context>
|
||||
<context context-type="linenumber">11,12</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">12,13</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.liquidity</note>
|
||||
@@ -6121,11 +6117,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html</context>
|
||||
<context context-type="linenumber">12,13</context>
|
||||
<context context-type="linenumber">14,15</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">11,12</context>
|
||||
<context context-type="linenumber">12,13</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts</context>
|
||||
@@ -6163,7 +6159,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">47,49</context>
|
||||
<context context-type="linenumber">50,52</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-per-country/nodes-per-country.component.html</context>
|
||||
@@ -6179,11 +6175,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html</context>
|
||||
<context context-type="linenumber">15,17</context>
|
||||
<context context-type="linenumber">17,20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">15,17</context>
|
||||
<context context-type="linenumber">17,20</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.location</note>
|
||||
</trans-unit>
|
||||
@@ -6221,9 +6217,17 @@
|
||||
<context context-type="sourcefile">src/app/lightning/lightning-dashboard/lightning-dashboard.component.html</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html</context>
|
||||
<context context-type="linenumber">4,9</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts</context>
|
||||
<context context-type="linenumber">29</context>
|
||||
<context context-type="linenumber">33</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">4,9</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html</context>
|
||||
@@ -6303,11 +6307,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">2,4</context>
|
||||
<context context-type="linenumber">4,6</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">260,262</context>
|
||||
<context context-type="linenumber">263,265</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.node</note>
|
||||
</trans-unit>
|
||||
@@ -6320,7 +6324,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">27,30</context>
|
||||
<context context-type="linenumber">30,33</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.active-capacity</note>
|
||||
</trans-unit>
|
||||
@@ -6333,7 +6337,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">34,38</context>
|
||||
<context context-type="linenumber">37,41</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.active-channels</note>
|
||||
</trans-unit>
|
||||
@@ -6346,21 +6350,12 @@
|
||||
</context-group>
|
||||
<note priority="1" from="description">country</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="674378571ab7e72a386f27fd3281558bae821d9d" datatype="html">
|
||||
<source>No node found for public key "<x id="INTERPOLATION" equiv-text="{{ node.public_key | shortenString : 12}}"/>"</source>
|
||||
<target>Keinen Node gefunden für Public-Key &quot;<x id="INTERPOLATION" equiv-text="{{ node.public_key | shortenString : 12}}"/>&quot;</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">17,19</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.node-not-found</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="43b48b9c15083a164b401bf3775a4b99f3917699" datatype="html">
|
||||
<source>Average channel size</source>
|
||||
<target>Durchschnittliche Kanalgröße</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">40,43</context>
|
||||
<context context-type="linenumber">43,46</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.active-channels-avg</note>
|
||||
</trans-unit>
|
||||
@@ -6369,7 +6364,7 @@
|
||||
<target>Durchschn. Kanalentfernung</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">56,57</context>
|
||||
<context context-type="linenumber">59,60</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.avg-distance</note>
|
||||
</trans-unit>
|
||||
@@ -6378,7 +6373,7 @@
|
||||
<target>Farbe</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">79,81</context>
|
||||
<context context-type="linenumber">82,84</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.color</note>
|
||||
</trans-unit>
|
||||
@@ -6387,7 +6382,7 @@
|
||||
<target>ISP</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">86,87</context>
|
||||
<context context-type="linenumber">89,90</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html</context>
|
||||
@@ -6400,7 +6395,7 @@
|
||||
<target>Ausschließlich auf Tor</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">93,95</context>
|
||||
<context context-type="linenumber">96,98</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">tor</note>
|
||||
</trans-unit>
|
||||
@@ -6409,7 +6404,7 @@
|
||||
<target>Liquiditätswerbung</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">138,141</context>
|
||||
<context context-type="linenumber">141,144</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">node.liquidity-ad</note>
|
||||
</trans-unit>
|
||||
@@ -6418,7 +6413,7 @@
|
||||
<target>Lease Gebührensatz</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">144,147</context>
|
||||
<context context-type="linenumber">147,150</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">Liquidity ad lease fee rate</note>
|
||||
<note priority="1" from="meaning">liquidity-ad.lease-fee-rate</note>
|
||||
@@ -6428,7 +6423,7 @@
|
||||
<target>Lease Basisgebühr</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">152,154</context>
|
||||
<context context-type="linenumber">155,157</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">liquidity-ad.lease-base-fee</note>
|
||||
</trans-unit>
|
||||
@@ -6437,7 +6432,7 @@
|
||||
<target>Finanzierungsgewicht</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">158,159</context>
|
||||
<context context-type="linenumber">161,162</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">liquidity-ad.funding-weight</note>
|
||||
</trans-unit>
|
||||
@@ -6446,7 +6441,7 @@
|
||||
<target>Kanal-Gebührenrate</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">168,171</context>
|
||||
<context context-type="linenumber">171,174</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">Liquidity ad channel fee rate</note>
|
||||
<note priority="1" from="meaning">liquidity-ad.channel-fee-rate</note>
|
||||
@@ -6456,7 +6451,7 @@
|
||||
<target>Kanal-Basisgebühr</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">176,178</context>
|
||||
<context context-type="linenumber">179,181</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">liquidity-ad.channel-base-fee</note>
|
||||
</trans-unit>
|
||||
@@ -6465,7 +6460,7 @@
|
||||
<target>Compact_lease</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">188,190</context>
|
||||
<context context-type="linenumber">191,193</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">liquidity-ad.compact-lease</note>
|
||||
</trans-unit>
|
||||
@@ -6474,7 +6469,7 @@
|
||||
<target>LV Erweiterungs-Datensätze</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">199,202</context>
|
||||
<context context-type="linenumber">202,205</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">node.tlv.records</note>
|
||||
</trans-unit>
|
||||
@@ -6483,7 +6478,7 @@
|
||||
<target>Offene Kanäle</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">240,243</context>
|
||||
<context context-type="linenumber">243,246</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.open-channels</note>
|
||||
</trans-unit>
|
||||
@@ -6492,7 +6487,7 @@
|
||||
<target>Geschlossene Kanäle</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">244,247</context>
|
||||
<context context-type="linenumber">247,250</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.open-channels</note>
|
||||
</trans-unit>
|
||||
@@ -6562,9 +6557,9 @@
|
||||
<context context-type="linenumber">112,107</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit id="1055322764280599360" datatype="html">
|
||||
<source>Reachable on Clearnet Only</source>
|
||||
<target>Nur im Klarnetz erreichbar</target>
|
||||
<trans-unit id="599038141003770125" datatype="html">
|
||||
<source>Clearnet and Darknet</source>
|
||||
<target>Clearnet und Darknet</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts</context>
|
||||
<context context-type="linenumber">164,161</context>
|
||||
@@ -6574,9 +6569,9 @@
|
||||
<context context-type="linenumber">303,302</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit id="2760682261176173881" datatype="html">
|
||||
<source>Reachable on Clearnet and Darknet</source>
|
||||
<target>Im Klarnetz und Darknet erreichbar</target>
|
||||
<trans-unit id="1282458597026430784" datatype="html">
|
||||
<source>Clearnet Only (IPv4, IPv6)</source>
|
||||
<target>Nur Clearnet (IPv4, IPv6)</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts</context>
|
||||
<context context-type="linenumber">185,182</context>
|
||||
@@ -6586,9 +6581,9 @@
|
||||
<context context-type="linenumber">295,294</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit id="1191036460161514668" datatype="html">
|
||||
<source>Reachable on Darknet Only</source>
|
||||
<target>Nur im Darknet erreichbar</target>
|
||||
<trans-unit id="2165336009914523952" datatype="html">
|
||||
<source>Darknet Only (Tor, I2P, cjdns)</source>
|
||||
<target>Nur Darknet (Tor, I2P, cjdns)</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts</context>
|
||||
<context context-type="linenumber">206,203</context>
|
||||
@@ -6844,24 +6839,6 @@
|
||||
<context context-type="linenumber">27</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit id="71bb1ed9da9ebb92cf35925bc6fe0a8fbc325625" datatype="html">
|
||||
<source>Top 100 nodes liquidity ranking</source>
|
||||
<target>Top 100 Nodes nach Liquidität</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html</context>
|
||||
<context context-type="linenumber">3,7</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.top-100-liquidity</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="99786bd2106b708e4514d0121964affb19bee636" datatype="html">
|
||||
<source>Top 100 nodes connectivity ranking</source>
|
||||
<target>Top 100 Nodes nach Anbindung</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">3,7</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.top-100-connectivity</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="47a30fc5a836252f8fe03e2949756b150684d934" datatype="html">
|
||||
<source>Oldest nodes</source>
|
||||
<target>Älteste Nodes</target>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -775,7 +775,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">385,389</context>
|
||||
<context context-type="linenumber">375,378</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/mining-dashboard/mining-dashboard.component.html</context>
|
||||
@@ -1452,7 +1452,7 @@
|
||||
<target>کاوشگر بلاکچین و ممپول برای جامعه بیتکوین، با تمرکز بر بازار کارمزد تراکنشها و اکوسیستم چند لایه، به صورت کاملا مستقل از خدمات ثالث با امکان خودمیزبانی. </target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">13,17</context>
|
||||
<context context-type="linenumber">13,16</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit id="a24b1c6a9c4334ba204e4cec2dd9f32ea33d043f" datatype="html">
|
||||
@@ -1460,7 +1460,7 @@
|
||||
<target>حامیان سازمانی 🚀</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">29,32</context>
|
||||
<context context-type="linenumber">19,22</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">about.sponsors.enterprise.withRocket</note>
|
||||
</trans-unit>
|
||||
@@ -1469,7 +1469,7 @@
|
||||
<target>حامیان جامعه ❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">177,180</context>
|
||||
<context context-type="linenumber">167,170</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">about.sponsors.withHeart</note>
|
||||
</trans-unit>
|
||||
@@ -1478,7 +1478,7 @@
|
||||
<target>پیادهسازیها</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">191,193</context>
|
||||
<context context-type="linenumber">181,183</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">about.community-integrations</note>
|
||||
</trans-unit>
|
||||
@@ -1487,7 +1487,7 @@
|
||||
<target>متحدین جامعه</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">285,287</context>
|
||||
<context context-type="linenumber">275,277</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">about.alliances</note>
|
||||
</trans-unit>
|
||||
@@ -1496,7 +1496,7 @@
|
||||
<target>مترجمهای پروژه</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">301,303</context>
|
||||
<context context-type="linenumber">291,293</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">about.translators</note>
|
||||
</trans-unit>
|
||||
@@ -1505,7 +1505,7 @@
|
||||
<target>مشارکت کنندگان</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">315,317</context>
|
||||
<context context-type="linenumber">305,307</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">about.contributors</note>
|
||||
</trans-unit>
|
||||
@@ -1514,7 +1514,7 @@
|
||||
<target>اعضای پروژه</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">327,329</context>
|
||||
<context context-type="linenumber">317,319</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">about.project_members</note>
|
||||
</trans-unit>
|
||||
@@ -1523,7 +1523,7 @@
|
||||
<target>نگهدارندگان پروژه</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">340,342</context>
|
||||
<context context-type="linenumber">330,332</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">about.maintainers</note>
|
||||
</trans-unit>
|
||||
@@ -1532,7 +1532,7 @@
|
||||
<target>درباره</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.ts</context>
|
||||
<context context-type="linenumber">39</context>
|
||||
<context context-type="linenumber">42</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/bisq-master-page/bisq-master-page.component.html</context>
|
||||
@@ -1581,7 +1581,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/amount/amount.component.html</context>
|
||||
<context context-type="linenumber">18,21</context>
|
||||
<context context-type="linenumber">20,23</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/asset-circulation/asset-circulation.component.html</context>
|
||||
@@ -2686,11 +2686,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">52,55</context>
|
||||
<context context-type="linenumber">55,58</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">96,100</context>
|
||||
<context context-type="linenumber">99,103</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts</context>
|
||||
@@ -2895,15 +2895,15 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">86,88</context>
|
||||
<context context-type="linenumber">93,95</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">96,98</context>
|
||||
<context context-type="linenumber">103,105</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">218,222</context>
|
||||
<context context-type="linenumber">221,225</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">Transaction Details</note>
|
||||
<note priority="1" from="meaning">transaction.details</note>
|
||||
@@ -2923,10 +2923,6 @@
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel-preview.component.html</context>
|
||||
<context context-type="linenumber">70,75</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">109,115</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node-preview.component.html</context>
|
||||
<context context-type="linenumber">66,69</context>
|
||||
@@ -4309,7 +4305,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="2abc4d0d3ae0b49fa9e94a2efb8c2e1a47e680f4" datatype="html">
|
||||
<source>Go to "<x id="INTERPOLATION" equiv-text="{{ x }}"/>"</source>
|
||||
<target>برو به &quot;<x id="INTERPOLATION" equiv-text="{{ x }}"/>&quot;</target>
|
||||
<target>برو به "<x id="INTERPOLATION" equiv-text="{{ x }}"/>"</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/search-form/search-results/search-results.component.html</context>
|
||||
<context context-type="linenumber">52</context>
|
||||
@@ -4614,7 +4610,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">67,70</context>
|
||||
<context context-type="linenumber">70,73</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-per-country/nodes-per-country.component.html</context>
|
||||
@@ -4630,11 +4626,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html</context>
|
||||
<context context-type="linenumber">13,15</context>
|
||||
<context context-type="linenumber">15,16</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">13,15</context>
|
||||
<context context-type="linenumber">15,16</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">Transaction first seen</note>
|
||||
<note priority="1" from="meaning">transaction.first-seen</note>
|
||||
@@ -4932,7 +4928,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="ea7c261363dc5f6134b7bacba2a1ef97f4ff7859" datatype="html">
|
||||
<source><x id="INTERPOLATION" equiv-text="remaining</ng-template>"/> remaining</source>
|
||||
<target><x id="INTERPOLATION" equiv-text="remaining</ng-template>"/> عدد باقی مانده است</target>
|
||||
<target><x id="INTERPOLATION" equiv-text="remaining</ng-template>"/> عدد باقی مانده</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/transactions-list/transactions-list.component.html</context>
|
||||
<context context-type="linenumber">332,333</context>
|
||||
@@ -5370,7 +5366,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">180,182</context>
|
||||
<context context-type="linenumber">183,185</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">shared.m-sats</note>
|
||||
</trans-unit>
|
||||
@@ -5488,7 +5484,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">11,12</context>
|
||||
<context context-type="linenumber">13,14</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channels-list/channels-list.component.html</context>
|
||||
@@ -5505,7 +5501,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">12,13</context>
|
||||
<context context-type="linenumber">14,15</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channels-list/channels-list.component.html</context>
|
||||
@@ -5522,7 +5518,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">13,14</context>
|
||||
<context context-type="linenumber">15,16</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channels-list/channels-list.component.html</context>
|
||||
@@ -5543,7 +5539,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">29,30</context>
|
||||
<context context-type="linenumber">36,37</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.created</note>
|
||||
</trans-unit>
|
||||
@@ -5556,7 +5552,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">48,49</context>
|
||||
<context context-type="linenumber">55,56</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channels-list/channels-list.component.html</context>
|
||||
@@ -5590,6 +5586,10 @@
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-per-isp/nodes-per-isp.component.html</context>
|
||||
<context context-type="linenumber">60,62</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">13,14</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts</context>
|
||||
<context context-type="linenumber">202,201</context>
|
||||
@@ -5626,11 +5626,11 @@
|
||||
<target>کانال لایتنینگ</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">2,5</context>
|
||||
<context context-type="linenumber">4,7</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">117,119</context>
|
||||
<context context-type="linenumber">116,118</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.channel</note>
|
||||
</trans-unit>
|
||||
@@ -5639,11 +5639,11 @@
|
||||
<target>آخرین بروز رسانی</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">33,34</context>
|
||||
<context context-type="linenumber">40,41</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">73,75</context>
|
||||
<context context-type="linenumber">76,78</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-per-country/nodes-per-country.component.html</context>
|
||||
@@ -5659,11 +5659,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html</context>
|
||||
<context context-type="linenumber">14,15</context>
|
||||
<context context-type="linenumber">16,17</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">14,15</context>
|
||||
<context context-type="linenumber">16,17</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.last-update</note>
|
||||
</trans-unit>
|
||||
@@ -5672,7 +5672,7 @@
|
||||
<target>تاریخ بستهشدن</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">37,38</context>
|
||||
<context context-type="linenumber">44,45</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channels-list/channels-list.component.html</context>
|
||||
@@ -5685,7 +5685,7 @@
|
||||
<target>بستهشده توسط</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">52,54</context>
|
||||
<context context-type="linenumber">59,61</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.closed_by</note>
|
||||
</trans-unit>
|
||||
@@ -5694,7 +5694,7 @@
|
||||
<target>تراکنش بازشدن</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">84,85</context>
|
||||
<context context-type="linenumber">91,92</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.opening-transaction</note>
|
||||
</trans-unit>
|
||||
@@ -5703,7 +5703,7 @@
|
||||
<target>تراکنش بستهشدن</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">93,95</context>
|
||||
<context context-type="linenumber">100,102</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.closing-transaction</note>
|
||||
</trans-unit>
|
||||
@@ -5786,11 +5786,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html</context>
|
||||
<context context-type="linenumber">10,11</context>
|
||||
<context context-type="linenumber">11,12</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">10,12</context>
|
||||
<context context-type="linenumber">11,13</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.alias</note>
|
||||
</trans-unit>
|
||||
@@ -6064,10 +6064,6 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html</context>
|
||||
<context context-type="linenumber">11,12</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">12,13</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.liquidity</note>
|
||||
@@ -6121,11 +6117,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html</context>
|
||||
<context context-type="linenumber">12,13</context>
|
||||
<context context-type="linenumber">14,15</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">11,12</context>
|
||||
<context context-type="linenumber">12,13</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts</context>
|
||||
@@ -6163,7 +6159,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">47,49</context>
|
||||
<context context-type="linenumber">50,52</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-per-country/nodes-per-country.component.html</context>
|
||||
@@ -6179,11 +6175,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html</context>
|
||||
<context context-type="linenumber">15,17</context>
|
||||
<context context-type="linenumber">17,20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">15,17</context>
|
||||
<context context-type="linenumber">17,20</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.location</note>
|
||||
</trans-unit>
|
||||
@@ -6221,9 +6217,17 @@
|
||||
<context context-type="sourcefile">src/app/lightning/lightning-dashboard/lightning-dashboard.component.html</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html</context>
|
||||
<context context-type="linenumber">4,9</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts</context>
|
||||
<context context-type="linenumber">29</context>
|
||||
<context context-type="linenumber">33</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">4,9</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html</context>
|
||||
@@ -6303,11 +6307,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">2,4</context>
|
||||
<context context-type="linenumber">4,6</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">260,262</context>
|
||||
<context context-type="linenumber">263,265</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.node</note>
|
||||
</trans-unit>
|
||||
@@ -6320,7 +6324,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">27,30</context>
|
||||
<context context-type="linenumber">30,33</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.active-capacity</note>
|
||||
</trans-unit>
|
||||
@@ -6333,7 +6337,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">34,38</context>
|
||||
<context context-type="linenumber">37,41</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.active-channels</note>
|
||||
</trans-unit>
|
||||
@@ -6346,21 +6350,12 @@
|
||||
</context-group>
|
||||
<note priority="1" from="description">country</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="674378571ab7e72a386f27fd3281558bae821d9d" datatype="html">
|
||||
<source>No node found for public key "<x id="INTERPOLATION" equiv-text="{{ node.public_key | shortenString : 12}}"/>"</source>
|
||||
<target>هیچ گرهی برای کلید عمومی &quot;<x id="INTERPOLATION" equiv-text="{{ node.public_key | shortenString : 12}}"/>&quot; پیدا نشد</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">17,19</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.node-not-found</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="43b48b9c15083a164b401bf3775a4b99f3917699" datatype="html">
|
||||
<source>Average channel size</source>
|
||||
<target>متوسط اندازه کانال</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">40,43</context>
|
||||
<context context-type="linenumber">43,46</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.active-channels-avg</note>
|
||||
</trans-unit>
|
||||
@@ -6369,7 +6364,7 @@
|
||||
<target>متوسط فاصله کانال</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">56,57</context>
|
||||
<context context-type="linenumber">59,60</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.avg-distance</note>
|
||||
</trans-unit>
|
||||
@@ -6378,7 +6373,7 @@
|
||||
<target>رنگ</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">79,81</context>
|
||||
<context context-type="linenumber">82,84</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.color</note>
|
||||
</trans-unit>
|
||||
@@ -6387,7 +6382,7 @@
|
||||
<target>ارائه کننده اینترنت</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">86,87</context>
|
||||
<context context-type="linenumber">89,90</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html</context>
|
||||
@@ -6400,7 +6395,7 @@
|
||||
<target>فقط بر روی شبکه Tor</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">93,95</context>
|
||||
<context context-type="linenumber">96,98</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">tor</note>
|
||||
</trans-unit>
|
||||
@@ -6409,7 +6404,7 @@
|
||||
<target>اعلان نقدینگی</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">138,141</context>
|
||||
<context context-type="linenumber">141,144</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">node.liquidity-ad</note>
|
||||
</trans-unit>
|
||||
@@ -6418,7 +6413,7 @@
|
||||
<target>نرخ کارمزد اجاره</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">144,147</context>
|
||||
<context context-type="linenumber">147,150</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">Liquidity ad lease fee rate</note>
|
||||
<note priority="1" from="meaning">liquidity-ad.lease-fee-rate</note>
|
||||
@@ -6428,7 +6423,7 @@
|
||||
<target>کارمزد پایه اجاره</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">152,154</context>
|
||||
<context context-type="linenumber">155,157</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">liquidity-ad.lease-base-fee</note>
|
||||
</trans-unit>
|
||||
@@ -6437,7 +6432,7 @@
|
||||
<target>وزن تأمین موجودی</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">158,159</context>
|
||||
<context context-type="linenumber">161,162</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">liquidity-ad.funding-weight</note>
|
||||
</trans-unit>
|
||||
@@ -6446,7 +6441,7 @@
|
||||
<target>نرخ کارمزد کانال</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">168,171</context>
|
||||
<context context-type="linenumber">171,174</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">Liquidity ad channel fee rate</note>
|
||||
<note priority="1" from="meaning">liquidity-ad.channel-fee-rate</note>
|
||||
@@ -6456,7 +6451,7 @@
|
||||
<target>کارمزد پایه کانال</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">176,178</context>
|
||||
<context context-type="linenumber">179,181</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">liquidity-ad.channel-base-fee</note>
|
||||
</trans-unit>
|
||||
@@ -6465,7 +6460,7 @@
|
||||
<target>چکیده مشخصات اجاره</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">188,190</context>
|
||||
<context context-type="linenumber">191,193</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">liquidity-ad.compact-lease</note>
|
||||
</trans-unit>
|
||||
@@ -6474,7 +6469,7 @@
|
||||
<target>تاریخچه افزونه TLV</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">199,202</context>
|
||||
<context context-type="linenumber">202,205</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">node.tlv.records</note>
|
||||
</trans-unit>
|
||||
@@ -6483,7 +6478,7 @@
|
||||
<target>کانالهای باز</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">240,243</context>
|
||||
<context context-type="linenumber">243,246</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.open-channels</note>
|
||||
</trans-unit>
|
||||
@@ -6492,7 +6487,7 @@
|
||||
<target>کانالهای بسته</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">244,247</context>
|
||||
<context context-type="linenumber">247,250</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.open-channels</note>
|
||||
</trans-unit>
|
||||
@@ -6562,9 +6557,9 @@
|
||||
<context context-type="linenumber">112,107</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit id="1055322764280599360" datatype="html">
|
||||
<source>Reachable on Clearnet Only</source>
|
||||
<target>قابل دسترسی در شبکه آشکار</target>
|
||||
<trans-unit id="599038141003770125" datatype="html">
|
||||
<source>Clearnet and Darknet</source>
|
||||
<target>شبکه آشکار و پنهان</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts</context>
|
||||
<context context-type="linenumber">164,161</context>
|
||||
@@ -6574,9 +6569,9 @@
|
||||
<context context-type="linenumber">303,302</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit id="2760682261176173881" datatype="html">
|
||||
<source>Reachable on Clearnet and Darknet</source>
|
||||
<target>قابل دسترسی در شبکههای آشکار و پنهان</target>
|
||||
<trans-unit id="1282458597026430784" datatype="html">
|
||||
<source>Clearnet Only (IPv4, IPv6)</source>
|
||||
<target>فقط شبکه آشکار (IPv4, IPv6)</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts</context>
|
||||
<context context-type="linenumber">185,182</context>
|
||||
@@ -6586,9 +6581,9 @@
|
||||
<context context-type="linenumber">295,294</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit id="1191036460161514668" datatype="html">
|
||||
<source>Reachable on Darknet Only</source>
|
||||
<target>قابل دسترسی فقط در شبکه پنهان</target>
|
||||
<trans-unit id="2165336009914523952" datatype="html">
|
||||
<source>Darknet Only (Tor, I2P, cjdns)</source>
|
||||
<target>فقط شبکه پنهان (Tor, I2P, cjdns)</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts</context>
|
||||
<context context-type="linenumber">206,203</context>
|
||||
@@ -6844,24 +6839,6 @@
|
||||
<context context-type="linenumber">27</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit id="71bb1ed9da9ebb92cf35925bc6fe0a8fbc325625" datatype="html">
|
||||
<source>Top 100 nodes liquidity ranking</source>
|
||||
<target>رتبهبندی 100 گره برتر نقدینگی</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html</context>
|
||||
<context context-type="linenumber">3,7</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.top-100-liquidity</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="99786bd2106b708e4514d0121964affb19bee636" datatype="html">
|
||||
<source>Top 100 nodes connectivity ranking</source>
|
||||
<target>رتبهبندی 100 گره برتر اتصال</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">3,7</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.top-100-connectivity</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="47a30fc5a836252f8fe03e2949756b150684d934" datatype="html">
|
||||
<source>Oldest nodes</source>
|
||||
<target>قدیمیترین گرهها</target>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -775,7 +775,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">385,389</context>
|
||||
<context context-type="linenumber">375,378</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/mining-dashboard/mining-dashboard.component.html</context>
|
||||
@@ -1452,7 +1452,7 @@
|
||||
<target>Vår mempool- og blokkkjede-utforsker for Bitcoin-samfunnet, med fokus på transaksjonsgebyrmarkedet og flerlagsøkosystemet, fullstendig self-hosted uten tredjeparter.</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">13,17</context>
|
||||
<context context-type="linenumber">13,16</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit id="a24b1c6a9c4334ba204e4cec2dd9f32ea33d043f" datatype="html">
|
||||
@@ -1460,7 +1460,7 @@
|
||||
<target>Bedriftssponsorer 🚀</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">29,32</context>
|
||||
<context context-type="linenumber">19,22</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">about.sponsors.enterprise.withRocket</note>
|
||||
</trans-unit>
|
||||
@@ -1469,7 +1469,7 @@
|
||||
<target>Samfunnssponsorer ❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">177,180</context>
|
||||
<context context-type="linenumber">167,170</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">about.sponsors.withHeart</note>
|
||||
</trans-unit>
|
||||
@@ -1478,7 +1478,7 @@
|
||||
<target>Sammfunnsintegrasjoner</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">191,193</context>
|
||||
<context context-type="linenumber">181,183</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">about.community-integrations</note>
|
||||
</trans-unit>
|
||||
@@ -1487,7 +1487,7 @@
|
||||
<target>Samfunnsallianser</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">285,287</context>
|
||||
<context context-type="linenumber">275,277</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">about.alliances</note>
|
||||
</trans-unit>
|
||||
@@ -1496,7 +1496,7 @@
|
||||
<target>Oversettere</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">301,303</context>
|
||||
<context context-type="linenumber">291,293</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">about.translators</note>
|
||||
</trans-unit>
|
||||
@@ -1505,7 +1505,7 @@
|
||||
<target>Bidragsytere til prosjektet</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">315,317</context>
|
||||
<context context-type="linenumber">305,307</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">about.contributors</note>
|
||||
</trans-unit>
|
||||
@@ -1514,7 +1514,7 @@
|
||||
<target>Prosjektmedlemmer</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">327,329</context>
|
||||
<context context-type="linenumber">317,319</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">about.project_members</note>
|
||||
</trans-unit>
|
||||
@@ -1523,7 +1523,7 @@
|
||||
<target>Prosjektvedlikeholdere</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">340,342</context>
|
||||
<context context-type="linenumber">330,332</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">about.maintainers</note>
|
||||
</trans-unit>
|
||||
@@ -1532,7 +1532,7 @@
|
||||
<target>Om</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.ts</context>
|
||||
<context context-type="linenumber">39</context>
|
||||
<context context-type="linenumber">42</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/bisq-master-page/bisq-master-page.component.html</context>
|
||||
@@ -1581,7 +1581,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/amount/amount.component.html</context>
|
||||
<context context-type="linenumber">18,21</context>
|
||||
<context context-type="linenumber">20,23</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/asset-circulation/asset-circulation.component.html</context>
|
||||
@@ -2347,7 +2347,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="180092a6b8a6151a05f4a7552a2fb75fd159dfa8" datatype="html">
|
||||
<source>Match</source>
|
||||
<target>lik</target>
|
||||
<target>Identisk</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
|
||||
<context context-type="linenumber">38</context>
|
||||
@@ -2686,11 +2686,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">52,55</context>
|
||||
<context context-type="linenumber">55,58</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">96,100</context>
|
||||
<context context-type="linenumber">99,103</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts</context>
|
||||
@@ -2895,15 +2895,15 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">86,88</context>
|
||||
<context context-type="linenumber">93,95</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">96,98</context>
|
||||
<context context-type="linenumber">103,105</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">218,222</context>
|
||||
<context context-type="linenumber">221,225</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">Transaction Details</note>
|
||||
<note priority="1" from="meaning">transaction.details</note>
|
||||
@@ -2923,10 +2923,6 @@
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel-preview.component.html</context>
|
||||
<context context-type="linenumber">70,75</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">109,115</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node-preview.component.html</context>
|
||||
<context context-type="linenumber">66,69</context>
|
||||
@@ -2948,7 +2944,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="e70fcca5a99575cffef3ff8cbd5e69f06ffd0f1c" datatype="html">
|
||||
<source>Pool</source>
|
||||
<target>Gruppe</target>
|
||||
<target>Utvinningsgruppe</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/blocks-list/blocks-list.component.html</context>
|
||||
<context context-type="linenumber">14</context>
|
||||
@@ -3356,7 +3352,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="4592bd8fffebd3841fc8d59472caf4b4655e6184" datatype="html">
|
||||
<source>Pools Ranking</source>
|
||||
<target>Grupperangering</target>
|
||||
<target>Utvinningsgruppe-rangering</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/graphs/graphs.component.html</context>
|
||||
<context context-type="linenumber">11</context>
|
||||
@@ -3369,7 +3365,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="43f992a71c7b7def78d430e5af489b914cc61c11" datatype="html">
|
||||
<source>Pools Dominance</source>
|
||||
<target>Gruppedominans</target>
|
||||
<target>Utvinningsgruppe-dominans</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/graphs/graphs.component.html</context>
|
||||
<context context-type="linenumber">13</context>
|
||||
@@ -3421,7 +3417,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="ea8db27e6db64f8b940711948c001a1100e5fe9f" datatype="html">
|
||||
<source>Lightning Network Capacity</source>
|
||||
<target>Lightning-nettverkkapasitet</target>
|
||||
<target>Lightningnettverk-kapasitet</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/graphs/graphs.component.html</context>
|
||||
<context context-type="linenumber">36</context>
|
||||
@@ -3489,7 +3485,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="b482ceceb39c7a045cb2ab2c64f7091d21e63d44" datatype="html">
|
||||
<source>Lightning Nodes Channels World Map</source>
|
||||
<target>Lightning-noder kanaler Verdenskart</target>
|
||||
<target>Lightning-kanaler Verdenskart</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/graphs/graphs.component.html</context>
|
||||
<context context-type="linenumber">44</context>
|
||||
@@ -3556,7 +3552,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="mining.pools-historical-dominance" datatype="html">
|
||||
<source>Pools Historical Dominance</source>
|
||||
<target>Gruppe historisk dominans</target>
|
||||
<target>Utvinningsgruppe historisk dominans</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.ts</context>
|
||||
<context context-type="linenumber">64</context>
|
||||
@@ -3572,7 +3568,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="439adfcf08f5035e2fd9e4c15e40eef92f6cc780" datatype="html">
|
||||
<source>Indexing pools hashrate</source>
|
||||
<target>Indekserer gruppehashrate</target>
|
||||
<target>Indekserer utvinningsgruppe-hashrate</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/indexing-progress/indexing-progress.component.html</context>
|
||||
<context context-type="linenumber">3</context>
|
||||
@@ -3734,7 +3730,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="2711844b4304254e88358d1761f9c732e5aefc69" datatype="html">
|
||||
<source>Pools luck (1 week)</source>
|
||||
<target>Grupper flaks (1 uke)</target>
|
||||
<target>Utvinningsgrupper flaks (1 uke)</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/pool-ranking/pool-ranking.component.html</context>
|
||||
<context context-type="linenumber">9</context>
|
||||
@@ -3743,7 +3739,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="ea1a87734b5cc78ea8b268343497d92136855cd1" datatype="html">
|
||||
<source>Pools luck</source>
|
||||
<target>Grupper flaks</target>
|
||||
<target>Utvinningsgrupper flaks</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/pool-ranking/pool-ranking.component.html</context>
|
||||
<context context-type="linenumber">9,11</context>
|
||||
@@ -3761,7 +3757,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="9740454c3c55ca2cfa437ff9ec07374c9b9d25b5" datatype="html">
|
||||
<source>Pools count (1w)</source>
|
||||
<target>Antall grupper (1uke)</target>
|
||||
<target>Antall utvinningsgrupper (1uke)</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/pool-ranking/pool-ranking.component.html</context>
|
||||
<context context-type="linenumber">17</context>
|
||||
@@ -3770,7 +3766,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="1107f1b39cd8474087d438971892967a331a6c7d" datatype="html">
|
||||
<source>Pools count</source>
|
||||
<target>Antall grupper</target>
|
||||
<target>Antall utvinningsgrupper</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/pool-ranking/pool-ranking.component.html</context>
|
||||
<context context-type="linenumber">17,19</context>
|
||||
@@ -3862,7 +3858,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="8ef3568472375e791e861ca1ef76d4cb66eef8ef" datatype="html">
|
||||
<source>Pools Luck (1w)</source>
|
||||
<target>Grupper flaks (1uke)</target>
|
||||
<target>Utvinningsgrupper flaks (1uke)</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/pool-ranking/pool-ranking.component.html</context>
|
||||
<context context-type="linenumber">146,148</context>
|
||||
@@ -3871,7 +3867,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="e1ea393882afe8ac40ff7637a33a5a46bdb3e0ce" datatype="html">
|
||||
<source>Pools Count (1w)</source>
|
||||
<target> Antall grupper (1uke)</target>
|
||||
<target> Antall utvinningsgrupper (1uke)</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/pool-ranking/pool-ranking.component.html</context>
|
||||
<context context-type="linenumber">158,160</context>
|
||||
@@ -4309,7 +4305,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="2abc4d0d3ae0b49fa9e94a2efb8c2e1a47e680f4" datatype="html">
|
||||
<source>Go to "<x id="INTERPOLATION" equiv-text="{{ x }}"/>"</source>
|
||||
<target>Gå til &quot; <x id="INTERPOLATION" equiv-text="{{ x }}"/> &quot;</target>
|
||||
<target>Gå til "<x id="INTERPOLATION" equiv-text="{{ x }}"/>"</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/search-form/search-results/search-results.component.html</context>
|
||||
<context context-type="linenumber">52</context>
|
||||
@@ -4614,7 +4610,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">67,70</context>
|
||||
<context context-type="linenumber">70,73</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-per-country/nodes-per-country.component.html</context>
|
||||
@@ -4630,11 +4626,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html</context>
|
||||
<context context-type="linenumber">13,15</context>
|
||||
<context context-type="linenumber">15,16</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">13,15</context>
|
||||
<context context-type="linenumber">15,16</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">Transaction first seen</note>
|
||||
<note priority="1" from="meaning">transaction.first-seen</note>
|
||||
@@ -5370,7 +5366,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">180,182</context>
|
||||
<context context-type="linenumber">183,185</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">shared.m-sats</note>
|
||||
</trans-unit>
|
||||
@@ -5488,7 +5484,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">11,12</context>
|
||||
<context context-type="linenumber">13,14</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channels-list/channels-list.component.html</context>
|
||||
@@ -5505,7 +5501,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">12,13</context>
|
||||
<context context-type="linenumber">14,15</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channels-list/channels-list.component.html</context>
|
||||
@@ -5522,7 +5518,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">13,14</context>
|
||||
<context context-type="linenumber">15,16</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channels-list/channels-list.component.html</context>
|
||||
@@ -5543,7 +5539,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">29,30</context>
|
||||
<context context-type="linenumber">36,37</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.created</note>
|
||||
</trans-unit>
|
||||
@@ -5556,7 +5552,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">48,49</context>
|
||||
<context context-type="linenumber">55,56</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channels-list/channels-list.component.html</context>
|
||||
@@ -5590,6 +5586,10 @@
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-per-isp/nodes-per-isp.component.html</context>
|
||||
<context context-type="linenumber">60,62</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">13,14</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts</context>
|
||||
<context context-type="linenumber">202,201</context>
|
||||
@@ -5626,11 +5626,11 @@
|
||||
<target>Lightningkanal</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">2,5</context>
|
||||
<context context-type="linenumber">4,7</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">117,119</context>
|
||||
<context context-type="linenumber">116,118</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.channel</note>
|
||||
</trans-unit>
|
||||
@@ -5639,11 +5639,11 @@
|
||||
<target>Siste oppdatering</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">33,34</context>
|
||||
<context context-type="linenumber">40,41</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">73,75</context>
|
||||
<context context-type="linenumber">76,78</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-per-country/nodes-per-country.component.html</context>
|
||||
@@ -5659,11 +5659,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html</context>
|
||||
<context context-type="linenumber">14,15</context>
|
||||
<context context-type="linenumber">16,17</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">14,15</context>
|
||||
<context context-type="linenumber">16,17</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.last-update</note>
|
||||
</trans-unit>
|
||||
@@ -5672,7 +5672,7 @@
|
||||
<target>Sluttdato</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">37,38</context>
|
||||
<context context-type="linenumber">44,45</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channels-list/channels-list.component.html</context>
|
||||
@@ -5685,7 +5685,7 @@
|
||||
<target>Avsluttet av</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">52,54</context>
|
||||
<context context-type="linenumber">59,61</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.closed_by</note>
|
||||
</trans-unit>
|
||||
@@ -5694,16 +5694,16 @@
|
||||
<target>Åpningstransaksjon</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">84,85</context>
|
||||
<context context-type="linenumber">91,92</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.opening-transaction</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="50411064ac48e15659d1985b414ae91af0c8cd36" datatype="html">
|
||||
<source>Closing transaction</source>
|
||||
<target>Avsluttningtransaksjon</target>
|
||||
<target>Avsluttningstransaksjon</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">93,95</context>
|
||||
<context context-type="linenumber">100,102</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.closing-transaction</note>
|
||||
</trans-unit>
|
||||
@@ -5786,11 +5786,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html</context>
|
||||
<context context-type="linenumber">10,11</context>
|
||||
<context context-type="linenumber">11,12</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">10,12</context>
|
||||
<context context-type="linenumber">11,13</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.alias</note>
|
||||
</trans-unit>
|
||||
@@ -5920,7 +5920,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="140fb39368f210ec945417f3eb23bf9564396e5c" datatype="html">
|
||||
<source>Avg Base Fee</source>
|
||||
<target>Gjennomsnittlig basisavgift</target>
|
||||
<target>Gj.sn. basisavgift</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channels-statistics/channels-statistics.component.html</context>
|
||||
<context context-type="linenumber">41,43</context>
|
||||
@@ -6064,10 +6064,6 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html</context>
|
||||
<context context-type="linenumber">11,12</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">12,13</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.liquidity</note>
|
||||
@@ -6121,11 +6117,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html</context>
|
||||
<context context-type="linenumber">12,13</context>
|
||||
<context context-type="linenumber">14,15</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">11,12</context>
|
||||
<context context-type="linenumber">12,13</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts</context>
|
||||
@@ -6148,7 +6144,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="ed31c09fd77c36238c13d83635f3fe5294c733d2" datatype="html">
|
||||
<source>Location</source>
|
||||
<target>plassering</target>
|
||||
<target>Plassering</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/group/group.component.html</context>
|
||||
<context context-type="linenumber">74,77</context>
|
||||
@@ -6163,7 +6159,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">47,49</context>
|
||||
<context context-type="linenumber">50,52</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-per-country/nodes-per-country.component.html</context>
|
||||
@@ -6179,11 +6175,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html</context>
|
||||
<context context-type="linenumber">15,17</context>
|
||||
<context context-type="linenumber">17,20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">15,17</context>
|
||||
<context context-type="linenumber">17,20</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.location</note>
|
||||
</trans-unit>
|
||||
@@ -6221,9 +6217,17 @@
|
||||
<context context-type="sourcefile">src/app/lightning/lightning-dashboard/lightning-dashboard.component.html</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html</context>
|
||||
<context context-type="linenumber">4,9</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts</context>
|
||||
<context context-type="linenumber">29</context>
|
||||
<context context-type="linenumber">33</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">4,9</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html</context>
|
||||
@@ -6303,11 +6307,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">2,4</context>
|
||||
<context context-type="linenumber">4,6</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">260,262</context>
|
||||
<context context-type="linenumber">263,265</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.node</note>
|
||||
</trans-unit>
|
||||
@@ -6320,7 +6324,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">27,30</context>
|
||||
<context context-type="linenumber">30,33</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.active-capacity</note>
|
||||
</trans-unit>
|
||||
@@ -6333,7 +6337,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">34,38</context>
|
||||
<context context-type="linenumber">37,41</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.active-channels</note>
|
||||
</trans-unit>
|
||||
@@ -6346,30 +6350,21 @@
|
||||
</context-group>
|
||||
<note priority="1" from="description">country</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="674378571ab7e72a386f27fd3281558bae821d9d" datatype="html">
|
||||
<source>No node found for public key "<x id="INTERPOLATION" equiv-text="{{ node.public_key | shortenString : 12}}"/>"</source>
|
||||
<target>Ingen node funnet for offentlig nøkkel &quot; <x id="INTERPOLATION" equiv-text="{{ node.public_key | shortenString : 12}}"/> &quot;</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">17,19</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.node-not-found</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="43b48b9c15083a164b401bf3775a4b99f3917699" datatype="html">
|
||||
<source>Average channel size</source>
|
||||
<target>Gjennomsnittlig kanalstørrelse</target>
|
||||
<target>Gj.sn. kanalstørrelse</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">40,43</context>
|
||||
<context context-type="linenumber">43,46</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.active-channels-avg</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="008e9fb48f07f545af73b3f676dc60cc3a829765" datatype="html">
|
||||
<source>Avg channel distance</source>
|
||||
<target>Gjennomsnittlig kanalavstand</target>
|
||||
<target>Gj.sn. kanalavstand</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">56,57</context>
|
||||
<context context-type="linenumber">59,60</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.avg-distance</note>
|
||||
</trans-unit>
|
||||
@@ -6378,7 +6373,7 @@
|
||||
<target>Farge</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">79,81</context>
|
||||
<context context-type="linenumber">82,84</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.color</note>
|
||||
</trans-unit>
|
||||
@@ -6387,7 +6382,7 @@
|
||||
<target>ISP</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">86,87</context>
|
||||
<context context-type="linenumber">89,90</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html</context>
|
||||
@@ -6400,7 +6395,7 @@
|
||||
<target>Eksklusivt på Tor</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">93,95</context>
|
||||
<context context-type="linenumber">96,98</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">tor</note>
|
||||
</trans-unit>
|
||||
@@ -6409,7 +6404,7 @@
|
||||
<target>Likviditetsannonse</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">138,141</context>
|
||||
<context context-type="linenumber">141,144</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">node.liquidity-ad</note>
|
||||
</trans-unit>
|
||||
@@ -6418,7 +6413,7 @@
|
||||
<target>Leieavgiftssats</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">144,147</context>
|
||||
<context context-type="linenumber">147,150</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">Liquidity ad lease fee rate</note>
|
||||
<note priority="1" from="meaning">liquidity-ad.lease-fee-rate</note>
|
||||
@@ -6428,7 +6423,7 @@
|
||||
<target>Leiegrunnavgift</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">152,154</context>
|
||||
<context context-type="linenumber">155,157</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">liquidity-ad.lease-base-fee</note>
|
||||
</trans-unit>
|
||||
@@ -6437,7 +6432,7 @@
|
||||
<target>Finansieringsvekt</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">158,159</context>
|
||||
<context context-type="linenumber">161,162</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">liquidity-ad.funding-weight</note>
|
||||
</trans-unit>
|
||||
@@ -6446,7 +6441,7 @@
|
||||
<target>Kanalavgiftssats</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">168,171</context>
|
||||
<context context-type="linenumber">171,174</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">Liquidity ad channel fee rate</note>
|
||||
<note priority="1" from="meaning">liquidity-ad.channel-fee-rate</note>
|
||||
@@ -6456,7 +6451,7 @@
|
||||
<target>Kanalbaseavgift</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">176,178</context>
|
||||
<context context-type="linenumber">179,181</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">liquidity-ad.channel-base-fee</note>
|
||||
</trans-unit>
|
||||
@@ -6465,7 +6460,7 @@
|
||||
<target>Kompakt leieavtale</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">188,190</context>
|
||||
<context context-type="linenumber">191,193</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">liquidity-ad.compact-lease</note>
|
||||
</trans-unit>
|
||||
@@ -6474,7 +6469,7 @@
|
||||
<target>TLV-utvidelsesposter</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">199,202</context>
|
||||
<context context-type="linenumber">202,205</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">node.tlv.records</note>
|
||||
</trans-unit>
|
||||
@@ -6483,16 +6478,16 @@
|
||||
<target>Åpne kanaler</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">240,243</context>
|
||||
<context context-type="linenumber">243,246</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.open-channels</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="a2dff531c3d7477178553f579e0ec7c3ac7a6f30" datatype="html">
|
||||
<source>Closed channels</source>
|
||||
<target>Stengte kanaler</target>
|
||||
<target>Avsluttede kanaler</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">244,247</context>
|
||||
<context context-type="linenumber">247,250</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.open-channels</note>
|
||||
</trans-unit>
|
||||
@@ -6527,7 +6522,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="8199511328474154549" datatype="html">
|
||||
<source>Lightning Nodes Channels World Map</source>
|
||||
<target>Lightning nodekanaler verdenskart</target>
|
||||
<target>Lightning-kanaler verdenskart</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts</context>
|
||||
<context context-type="linenumber">69</context>
|
||||
@@ -6562,9 +6557,9 @@
|
||||
<context context-type="linenumber">112,107</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit id="1055322764280599360" datatype="html">
|
||||
<source>Reachable on Clearnet Only</source>
|
||||
<target>Kun tilgjengelig på Clearnet</target>
|
||||
<trans-unit id="599038141003770125" datatype="html">
|
||||
<source>Clearnet and Darknet</source>
|
||||
<target>Clearnet og Darknet</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts</context>
|
||||
<context context-type="linenumber">164,161</context>
|
||||
@@ -6574,9 +6569,9 @@
|
||||
<context context-type="linenumber">303,302</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit id="2760682261176173881" datatype="html">
|
||||
<source>Reachable on Clearnet and Darknet</source>
|
||||
<target>Tilgjengelig på Clearnet og Darknet</target>
|
||||
<trans-unit id="1282458597026430784" datatype="html">
|
||||
<source>Clearnet Only (IPv4, IPv6)</source>
|
||||
<target>Bare Clearnet (IPv4, IPv6)</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts</context>
|
||||
<context context-type="linenumber">185,182</context>
|
||||
@@ -6586,9 +6581,9 @@
|
||||
<context context-type="linenumber">295,294</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit id="1191036460161514668" datatype="html">
|
||||
<source>Reachable on Darknet Only</source>
|
||||
<target>Kun tilgjengelig på Darknet</target>
|
||||
<trans-unit id="2165336009914523952" datatype="html">
|
||||
<source>Darknet Only (Tor, I2P, cjdns)</source>
|
||||
<target>Bare Darknet (Tor, I2P, cjdns)</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts</context>
|
||||
<context context-type="linenumber">206,203</context>
|
||||
@@ -6600,7 +6595,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="0bd8b27f60a1f098a53e06328426d818e3508ff9" datatype="html">
|
||||
<source>Share</source>
|
||||
<target>Dele</target>
|
||||
<target>Andel</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html</context>
|
||||
<context context-type="linenumber">29,31</context>
|
||||
@@ -6672,7 +6667,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="6b4442323c695a8211357c7e4486dd620c443822" datatype="html">
|
||||
<source>Clearnet Capacity</source>
|
||||
<target>Clearnet-kapasitet</target>
|
||||
<target>Clearnet kapasitet</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html</context>
|
||||
<context context-type="linenumber">6,8</context>
|
||||
@@ -6844,24 +6839,6 @@
|
||||
<context context-type="linenumber">27</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit id="71bb1ed9da9ebb92cf35925bc6fe0a8fbc325625" datatype="html">
|
||||
<source>Top 100 nodes liquidity ranking</source>
|
||||
<target>Topp 100 noder likviditetsrangering</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html</context>
|
||||
<context context-type="linenumber">3,7</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.top-100-liquidity</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="99786bd2106b708e4514d0121964affb19bee636" datatype="html">
|
||||
<source>Top 100 nodes connectivity ranking</source>
|
||||
<target>Topp 100 noder tilkoblingsrangering</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">3,7</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.top-100-connectivity</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="47a30fc5a836252f8fe03e2949756b150684d934" datatype="html">
|
||||
<source>Oldest nodes</source>
|
||||
<target>Eldste noder</target>
|
||||
|
||||
@@ -775,7 +775,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">385,389</context>
|
||||
<context context-type="linenumber">375,378</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/mining-dashboard/mining-dashboard.component.html</context>
|
||||
@@ -1452,7 +1452,7 @@
|
||||
<target>Onze mempool- en blockchainverkenner voor de Bitcoingemeenschap, gericht op de transactiekostenmarkt en het meerlagige ecosysteem, volledig zelf-gehost zonder derde partijen.</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">13,17</context>
|
||||
<context context-type="linenumber">13,16</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit id="a24b1c6a9c4334ba204e4cec2dd9f32ea33d043f" datatype="html">
|
||||
@@ -1460,7 +1460,7 @@
|
||||
<target>Bedrijfssponsoren 🚀</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">29,32</context>
|
||||
<context context-type="linenumber">19,22</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">about.sponsors.enterprise.withRocket</note>
|
||||
</trans-unit>
|
||||
@@ -1469,7 +1469,7 @@
|
||||
<target>Community Sponsoren ❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">177,180</context>
|
||||
<context context-type="linenumber">167,170</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">about.sponsors.withHeart</note>
|
||||
</trans-unit>
|
||||
@@ -1478,7 +1478,7 @@
|
||||
<target>Community-integraties</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">191,193</context>
|
||||
<context context-type="linenumber">181,183</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">about.community-integrations</note>
|
||||
</trans-unit>
|
||||
@@ -1487,7 +1487,7 @@
|
||||
<target>Community-allianties</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">285,287</context>
|
||||
<context context-type="linenumber">275,277</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">about.alliances</note>
|
||||
</trans-unit>
|
||||
@@ -1496,7 +1496,7 @@
|
||||
<target>Projectvertalers</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">301,303</context>
|
||||
<context context-type="linenumber">291,293</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">about.translators</note>
|
||||
</trans-unit>
|
||||
@@ -1505,7 +1505,7 @@
|
||||
<target>Projectbijdragers</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">315,317</context>
|
||||
<context context-type="linenumber">305,307</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">about.contributors</note>
|
||||
</trans-unit>
|
||||
@@ -1514,7 +1514,7 @@
|
||||
<target>Projectleden</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">327,329</context>
|
||||
<context context-type="linenumber">317,319</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">about.project_members</note>
|
||||
</trans-unit>
|
||||
@@ -1523,7 +1523,7 @@
|
||||
<target>Projectonderhouders</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">340,342</context>
|
||||
<context context-type="linenumber">330,332</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">about.maintainers</note>
|
||||
</trans-unit>
|
||||
@@ -1532,7 +1532,7 @@
|
||||
<target>Over</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.ts</context>
|
||||
<context context-type="linenumber">39</context>
|
||||
<context context-type="linenumber">42</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/bisq-master-page/bisq-master-page.component.html</context>
|
||||
@@ -1581,7 +1581,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/amount/amount.component.html</context>
|
||||
<context context-type="linenumber">18,21</context>
|
||||
<context context-type="linenumber">20,23</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/asset-circulation/asset-circulation.component.html</context>
|
||||
@@ -2686,11 +2686,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">52,55</context>
|
||||
<context context-type="linenumber">55,58</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">96,100</context>
|
||||
<context context-type="linenumber">99,103</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts</context>
|
||||
@@ -2895,15 +2895,15 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">86,88</context>
|
||||
<context context-type="linenumber">93,95</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">96,98</context>
|
||||
<context context-type="linenumber">103,105</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">218,222</context>
|
||||
<context context-type="linenumber">221,225</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">Transaction Details</note>
|
||||
<note priority="1" from="meaning">transaction.details</note>
|
||||
@@ -2923,10 +2923,6 @@
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel-preview.component.html</context>
|
||||
<context context-type="linenumber">70,75</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">109,115</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node-preview.component.html</context>
|
||||
<context context-type="linenumber">66,69</context>
|
||||
@@ -4309,7 +4305,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="2abc4d0d3ae0b49fa9e94a2efb8c2e1a47e680f4" datatype="html">
|
||||
<source>Go to "<x id="INTERPOLATION" equiv-text="{{ x }}"/>"</source>
|
||||
<target>Ga naar &quot;<x id="INTERPOLATION" equiv-text="{{ x }}"/>&quot;</target>
|
||||
<target>Ga naar "<x id="INTERPOLATION" equiv-text="{{ x }}"/>"</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/search-form/search-results/search-results.component.html</context>
|
||||
<context context-type="linenumber">52</context>
|
||||
@@ -4614,7 +4610,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">67,70</context>
|
||||
<context context-type="linenumber">70,73</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-per-country/nodes-per-country.component.html</context>
|
||||
@@ -4630,11 +4626,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html</context>
|
||||
<context context-type="linenumber">13,15</context>
|
||||
<context context-type="linenumber">15,16</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">13,15</context>
|
||||
<context context-type="linenumber">15,16</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">Transaction first seen</note>
|
||||
<note priority="1" from="meaning">transaction.first-seen</note>
|
||||
@@ -5370,7 +5366,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">180,182</context>
|
||||
<context context-type="linenumber">183,185</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">shared.m-sats</note>
|
||||
</trans-unit>
|
||||
@@ -5488,7 +5484,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">11,12</context>
|
||||
<context context-type="linenumber">13,14</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channels-list/channels-list.component.html</context>
|
||||
@@ -5505,7 +5501,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">12,13</context>
|
||||
<context context-type="linenumber">14,15</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channels-list/channels-list.component.html</context>
|
||||
@@ -5522,7 +5518,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">13,14</context>
|
||||
<context context-type="linenumber">15,16</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channels-list/channels-list.component.html</context>
|
||||
@@ -5543,7 +5539,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">29,30</context>
|
||||
<context context-type="linenumber">36,37</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.created</note>
|
||||
</trans-unit>
|
||||
@@ -5556,7 +5552,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">48,49</context>
|
||||
<context context-type="linenumber">55,56</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channels-list/channels-list.component.html</context>
|
||||
@@ -5590,6 +5586,10 @@
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-per-isp/nodes-per-isp.component.html</context>
|
||||
<context context-type="linenumber">60,62</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">13,14</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts</context>
|
||||
<context context-type="linenumber">202,201</context>
|
||||
@@ -5626,11 +5626,11 @@
|
||||
<target>Lightningkanaal</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">2,5</context>
|
||||
<context context-type="linenumber">4,7</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">117,119</context>
|
||||
<context context-type="linenumber">116,118</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.channel</note>
|
||||
</trans-unit>
|
||||
@@ -5639,11 +5639,11 @@
|
||||
<target>Laatste update</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">33,34</context>
|
||||
<context context-type="linenumber">40,41</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">73,75</context>
|
||||
<context context-type="linenumber">76,78</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-per-country/nodes-per-country.component.html</context>
|
||||
@@ -5659,11 +5659,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html</context>
|
||||
<context context-type="linenumber">14,15</context>
|
||||
<context context-type="linenumber">16,17</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">14,15</context>
|
||||
<context context-type="linenumber">16,17</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.last-update</note>
|
||||
</trans-unit>
|
||||
@@ -5672,7 +5672,7 @@
|
||||
<target>Sluitingsdatum</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">37,38</context>
|
||||
<context context-type="linenumber">44,45</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channels-list/channels-list.component.html</context>
|
||||
@@ -5685,7 +5685,7 @@
|
||||
<target>Gesloten door</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">52,54</context>
|
||||
<context context-type="linenumber">59,61</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.closed_by</note>
|
||||
</trans-unit>
|
||||
@@ -5694,7 +5694,7 @@
|
||||
<target>Openingstransactie</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">84,85</context>
|
||||
<context context-type="linenumber">91,92</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.opening-transaction</note>
|
||||
</trans-unit>
|
||||
@@ -5703,7 +5703,7 @@
|
||||
<target>Sluitingstransactie</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">93,95</context>
|
||||
<context context-type="linenumber">100,102</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.closing-transaction</note>
|
||||
</trans-unit>
|
||||
@@ -5786,11 +5786,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html</context>
|
||||
<context context-type="linenumber">10,11</context>
|
||||
<context context-type="linenumber">11,12</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">10,12</context>
|
||||
<context context-type="linenumber">11,13</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.alias</note>
|
||||
</trans-unit>
|
||||
@@ -6064,10 +6064,6 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html</context>
|
||||
<context context-type="linenumber">11,12</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">12,13</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.liquidity</note>
|
||||
@@ -6121,11 +6117,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html</context>
|
||||
<context context-type="linenumber">12,13</context>
|
||||
<context context-type="linenumber">14,15</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">11,12</context>
|
||||
<context context-type="linenumber">12,13</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts</context>
|
||||
@@ -6163,7 +6159,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">47,49</context>
|
||||
<context context-type="linenumber">50,52</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-per-country/nodes-per-country.component.html</context>
|
||||
@@ -6179,11 +6175,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html</context>
|
||||
<context context-type="linenumber">15,17</context>
|
||||
<context context-type="linenumber">17,20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">15,17</context>
|
||||
<context context-type="linenumber">17,20</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.location</note>
|
||||
</trans-unit>
|
||||
@@ -6221,9 +6217,17 @@
|
||||
<context context-type="sourcefile">src/app/lightning/lightning-dashboard/lightning-dashboard.component.html</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html</context>
|
||||
<context context-type="linenumber">4,9</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts</context>
|
||||
<context context-type="linenumber">29</context>
|
||||
<context context-type="linenumber">33</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">4,9</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html</context>
|
||||
@@ -6303,11 +6307,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">2,4</context>
|
||||
<context context-type="linenumber">4,6</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">260,262</context>
|
||||
<context context-type="linenumber">263,265</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.node</note>
|
||||
</trans-unit>
|
||||
@@ -6320,7 +6324,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">27,30</context>
|
||||
<context context-type="linenumber">30,33</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.active-capacity</note>
|
||||
</trans-unit>
|
||||
@@ -6333,7 +6337,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">34,38</context>
|
||||
<context context-type="linenumber">37,41</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.active-channels</note>
|
||||
</trans-unit>
|
||||
@@ -6346,21 +6350,12 @@
|
||||
</context-group>
|
||||
<note priority="1" from="description">country</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="674378571ab7e72a386f27fd3281558bae821d9d" datatype="html">
|
||||
<source>No node found for public key "<x id="INTERPOLATION" equiv-text="{{ node.public_key | shortenString : 12}}"/>"</source>
|
||||
<target>Geen node gevonden voor publieke sleutel &quot;<x id="INTERPOLATION" equiv-text="{{ node.public_key | shortenString : 12}}"/>&quot;</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">17,19</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.node-not-found</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="43b48b9c15083a164b401bf3775a4b99f3917699" datatype="html">
|
||||
<source>Average channel size</source>
|
||||
<target>Gemiddelde kanaalgrootte</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">40,43</context>
|
||||
<context context-type="linenumber">43,46</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.active-channels-avg</note>
|
||||
</trans-unit>
|
||||
@@ -6369,7 +6364,7 @@
|
||||
<target>Gemiddelde kanaalafstand</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">56,57</context>
|
||||
<context context-type="linenumber">59,60</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.avg-distance</note>
|
||||
</trans-unit>
|
||||
@@ -6378,7 +6373,7 @@
|
||||
<target>Kleur</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">79,81</context>
|
||||
<context context-type="linenumber">82,84</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.color</note>
|
||||
</trans-unit>
|
||||
@@ -6387,7 +6382,7 @@
|
||||
<target>ISP</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">86,87</context>
|
||||
<context context-type="linenumber">89,90</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html</context>
|
||||
@@ -6400,7 +6395,7 @@
|
||||
<target>Exclusief op Tor</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">93,95</context>
|
||||
<context context-type="linenumber">96,98</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">tor</note>
|
||||
</trans-unit>
|
||||
@@ -6409,7 +6404,7 @@
|
||||
<target>Liquiditeitsadvertentie</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">138,141</context>
|
||||
<context context-type="linenumber">141,144</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">node.liquidity-ad</note>
|
||||
</trans-unit>
|
||||
@@ -6418,7 +6413,7 @@
|
||||
<target>Leasevergoedingstarief</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">144,147</context>
|
||||
<context context-type="linenumber">147,150</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">Liquidity ad lease fee rate</note>
|
||||
<note priority="1" from="meaning">liquidity-ad.lease-fee-rate</note>
|
||||
@@ -6428,7 +6423,7 @@
|
||||
<target>Leasebasisvergoeding</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">152,154</context>
|
||||
<context context-type="linenumber">155,157</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">liquidity-ad.lease-base-fee</note>
|
||||
</trans-unit>
|
||||
@@ -6437,7 +6432,7 @@
|
||||
<target>Financieringsgewicht</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">158,159</context>
|
||||
<context context-type="linenumber">161,162</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">liquidity-ad.funding-weight</note>
|
||||
</trans-unit>
|
||||
@@ -6446,7 +6441,7 @@
|
||||
<target>Kanaalvergoedingstarief</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">168,171</context>
|
||||
<context context-type="linenumber">171,174</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">Liquidity ad channel fee rate</note>
|
||||
<note priority="1" from="meaning">liquidity-ad.channel-fee-rate</note>
|
||||
@@ -6456,7 +6451,7 @@
|
||||
<target>Kanaalbasisvergoeding</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">176,178</context>
|
||||
<context context-type="linenumber">179,181</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">liquidity-ad.channel-base-fee</note>
|
||||
</trans-unit>
|
||||
@@ -6465,7 +6460,7 @@
|
||||
<target>Compactlease</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">188,190</context>
|
||||
<context context-type="linenumber">191,193</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">liquidity-ad.compact-lease</note>
|
||||
</trans-unit>
|
||||
@@ -6474,7 +6469,7 @@
|
||||
<target>TLV-extensierecords</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">199,202</context>
|
||||
<context context-type="linenumber">202,205</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">node.tlv.records</note>
|
||||
</trans-unit>
|
||||
@@ -6483,7 +6478,7 @@
|
||||
<target>Open kanalen</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">240,243</context>
|
||||
<context context-type="linenumber">243,246</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.open-channels</note>
|
||||
</trans-unit>
|
||||
@@ -6492,7 +6487,7 @@
|
||||
<target>Gesloten kanalen</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">244,247</context>
|
||||
<context context-type="linenumber">247,250</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.open-channels</note>
|
||||
</trans-unit>
|
||||
@@ -6562,9 +6557,8 @@
|
||||
<context context-type="linenumber">112,107</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit id="1055322764280599360" datatype="html">
|
||||
<source>Reachable on Clearnet Only</source>
|
||||
<target>Alleen Bereikbaar op Clearnet</target>
|
||||
<trans-unit id="599038141003770125" datatype="html">
|
||||
<source>Clearnet and Darknet</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts</context>
|
||||
<context context-type="linenumber">164,161</context>
|
||||
@@ -6574,9 +6568,8 @@
|
||||
<context context-type="linenumber">303,302</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit id="2760682261176173881" datatype="html">
|
||||
<source>Reachable on Clearnet and Darknet</source>
|
||||
<target>Bereikbaar op Clearnet en Darknet</target>
|
||||
<trans-unit id="1282458597026430784" datatype="html">
|
||||
<source>Clearnet Only (IPv4, IPv6)</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts</context>
|
||||
<context context-type="linenumber">185,182</context>
|
||||
@@ -6586,9 +6579,8 @@
|
||||
<context context-type="linenumber">295,294</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit id="1191036460161514668" datatype="html">
|
||||
<source>Reachable on Darknet Only</source>
|
||||
<target>Alleen Bereikbaar op Darknet</target>
|
||||
<trans-unit id="2165336009914523952" datatype="html">
|
||||
<source>Darknet Only (Tor, I2P, cjdns)</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts</context>
|
||||
<context context-type="linenumber">206,203</context>
|
||||
@@ -6844,24 +6836,6 @@
|
||||
<context context-type="linenumber">27</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit id="71bb1ed9da9ebb92cf35925bc6fe0a8fbc325625" datatype="html">
|
||||
<source>Top 100 nodes liquidity ranking</source>
|
||||
<target>Top 100 nodes liquiditeitsrangschikking</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html</context>
|
||||
<context context-type="linenumber">3,7</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.top-100-liquidity</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="99786bd2106b708e4514d0121964affb19bee636" datatype="html">
|
||||
<source>Top 100 nodes connectivity ranking</source>
|
||||
<target>Top 100 nodes connectiviteitsrangschikking</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">3,7</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.top-100-connectivity</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="47a30fc5a836252f8fe03e2949756b150684d934" datatype="html">
|
||||
<source>Oldest nodes</source>
|
||||
<target>Oudste nodes</target>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -775,7 +775,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">385,389</context>
|
||||
<context context-type="linenumber">375,378</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/mining-dashboard/mining-dashboard.component.html</context>
|
||||
@@ -1452,7 +1452,7 @@
|
||||
<target>Exploratorul nostru de mempool și blockchain pentru comunitatea Bitcoin, focusat pe piața comisioanelor de tranzacționat și pe ecosistemul multi-strat, auto-găzduit fără terțe părți.</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">13,17</context>
|
||||
<context context-type="linenumber">13,16</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit id="a24b1c6a9c4334ba204e4cec2dd9f32ea33d043f" datatype="html">
|
||||
@@ -1460,7 +1460,7 @@
|
||||
<target>Sponsori Enterprise 🚀</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">29,32</context>
|
||||
<context context-type="linenumber">19,22</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">about.sponsors.enterprise.withRocket</note>
|
||||
</trans-unit>
|
||||
@@ -1469,7 +1469,7 @@
|
||||
<target>Sponsori din Comunitate ❤️</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">177,180</context>
|
||||
<context context-type="linenumber">167,170</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">about.sponsors.withHeart</note>
|
||||
</trans-unit>
|
||||
@@ -1478,7 +1478,7 @@
|
||||
<target>Integrări în comunitate</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">191,193</context>
|
||||
<context context-type="linenumber">181,183</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">about.community-integrations</note>
|
||||
</trans-unit>
|
||||
@@ -1487,7 +1487,7 @@
|
||||
<target>Alianțe din Comunitate</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">285,287</context>
|
||||
<context context-type="linenumber">275,277</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">about.alliances</note>
|
||||
</trans-unit>
|
||||
@@ -1496,7 +1496,7 @@
|
||||
<target>Traducători ai proiectului</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">301,303</context>
|
||||
<context context-type="linenumber">291,293</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">about.translators</note>
|
||||
</trans-unit>
|
||||
@@ -1505,7 +1505,7 @@
|
||||
<target>Contribuitori ai proiectului</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">315,317</context>
|
||||
<context context-type="linenumber">305,307</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">about.contributors</note>
|
||||
</trans-unit>
|
||||
@@ -1514,7 +1514,7 @@
|
||||
<target>Membrii Proiectului</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">327,329</context>
|
||||
<context context-type="linenumber">317,319</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">about.project_members</note>
|
||||
</trans-unit>
|
||||
@@ -1523,7 +1523,7 @@
|
||||
<target>Întreținători ai proiectului</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.html</context>
|
||||
<context context-type="linenumber">340,342</context>
|
||||
<context context-type="linenumber">330,332</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">about.maintainers</note>
|
||||
</trans-unit>
|
||||
@@ -1532,7 +1532,7 @@
|
||||
<target>Despre</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/about/about.component.ts</context>
|
||||
<context context-type="linenumber">39</context>
|
||||
<context context-type="linenumber">42</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/bisq-master-page/bisq-master-page.component.html</context>
|
||||
@@ -1581,7 +1581,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/amount/amount.component.html</context>
|
||||
<context context-type="linenumber">18,21</context>
|
||||
<context context-type="linenumber">20,23</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/asset-circulation/asset-circulation.component.html</context>
|
||||
@@ -2686,11 +2686,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">52,55</context>
|
||||
<context context-type="linenumber">55,58</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">96,100</context>
|
||||
<context context-type="linenumber">99,103</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts</context>
|
||||
@@ -2895,15 +2895,15 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">86,88</context>
|
||||
<context context-type="linenumber">93,95</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">96,98</context>
|
||||
<context context-type="linenumber">103,105</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">218,222</context>
|
||||
<context context-type="linenumber">221,225</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">Transaction Details</note>
|
||||
<note priority="1" from="meaning">transaction.details</note>
|
||||
@@ -2923,10 +2923,6 @@
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel-preview.component.html</context>
|
||||
<context context-type="linenumber">70,75</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">109,115</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node-preview.component.html</context>
|
||||
<context context-type="linenumber">66,69</context>
|
||||
@@ -4309,7 +4305,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="2abc4d0d3ae0b49fa9e94a2efb8c2e1a47e680f4" datatype="html">
|
||||
<source>Go to "<x id="INTERPOLATION" equiv-text="{{ x }}"/>"</source>
|
||||
<target>Mergi la &quot;<x id="INTERPOLATION" equiv-text="{{ x }}"/>&quot;</target>
|
||||
<target>Mergi la "<x id="INTERPOLATION" equiv-text="{{ x }}"/>"</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/search-form/search-results/search-results.component.html</context>
|
||||
<context context-type="linenumber">52</context>
|
||||
@@ -4379,7 +4375,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="time-since" datatype="html">
|
||||
<source><x id="DATE" equiv-text="dateStrings.i18nYear"/> ago</source>
|
||||
<target>În urmă cu <x id="DATE" equiv-text="dateStrings.i18nYear"/></target>
|
||||
<target>Acum <x id="DATE" equiv-text="dateStrings.i18nYear"/> </target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/time-since/time-since.component.ts</context>
|
||||
<context context-type="linenumber">74</context>
|
||||
@@ -4614,7 +4610,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">67,70</context>
|
||||
<context context-type="linenumber">70,73</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-per-country/nodes-per-country.component.html</context>
|
||||
@@ -4630,11 +4626,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html</context>
|
||||
<context context-type="linenumber">13,15</context>
|
||||
<context context-type="linenumber">15,16</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">13,15</context>
|
||||
<context context-type="linenumber">15,16</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">Transaction first seen</note>
|
||||
<note priority="1" from="meaning">transaction.first-seen</note>
|
||||
@@ -5370,7 +5366,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">180,182</context>
|
||||
<context context-type="linenumber">183,185</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">shared.m-sats</note>
|
||||
</trans-unit>
|
||||
@@ -5488,7 +5484,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">11,12</context>
|
||||
<context context-type="linenumber">13,14</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channels-list/channels-list.component.html</context>
|
||||
@@ -5505,7 +5501,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">12,13</context>
|
||||
<context context-type="linenumber">14,15</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channels-list/channels-list.component.html</context>
|
||||
@@ -5522,7 +5518,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">13,14</context>
|
||||
<context context-type="linenumber">15,16</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channels-list/channels-list.component.html</context>
|
||||
@@ -5543,7 +5539,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">29,30</context>
|
||||
<context context-type="linenumber">36,37</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.created</note>
|
||||
</trans-unit>
|
||||
@@ -5556,7 +5552,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">48,49</context>
|
||||
<context context-type="linenumber">55,56</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channels-list/channels-list.component.html</context>
|
||||
@@ -5590,6 +5586,10 @@
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-per-isp/nodes-per-isp.component.html</context>
|
||||
<context context-type="linenumber">60,62</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">13,14</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts</context>
|
||||
<context context-type="linenumber">202,201</context>
|
||||
@@ -5626,11 +5626,11 @@
|
||||
<target>Canal lightning</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">2,5</context>
|
||||
<context context-type="linenumber">4,7</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">117,119</context>
|
||||
<context context-type="linenumber">116,118</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.channel</note>
|
||||
</trans-unit>
|
||||
@@ -5639,11 +5639,11 @@
|
||||
<target>Ultima actualizare</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">33,34</context>
|
||||
<context context-type="linenumber">40,41</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">73,75</context>
|
||||
<context context-type="linenumber">76,78</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-per-country/nodes-per-country.component.html</context>
|
||||
@@ -5659,11 +5659,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html</context>
|
||||
<context context-type="linenumber">14,15</context>
|
||||
<context context-type="linenumber">16,17</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">14,15</context>
|
||||
<context context-type="linenumber">16,17</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.last-update</note>
|
||||
</trans-unit>
|
||||
@@ -5672,7 +5672,7 @@
|
||||
<target>Data limită</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">37,38</context>
|
||||
<context context-type="linenumber">44,45</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channels-list/channels-list.component.html</context>
|
||||
@@ -5685,7 +5685,7 @@
|
||||
<target>Închis de</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">52,54</context>
|
||||
<context context-type="linenumber">59,61</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.closed_by</note>
|
||||
</trans-unit>
|
||||
@@ -5694,7 +5694,7 @@
|
||||
<target>Tranzacția inițială</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">84,85</context>
|
||||
<context context-type="linenumber">91,92</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.opening-transaction</note>
|
||||
</trans-unit>
|
||||
@@ -5703,7 +5703,7 @@
|
||||
<target>Tranzacția finală</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/channel/channel.component.html</context>
|
||||
<context context-type="linenumber">93,95</context>
|
||||
<context context-type="linenumber">100,102</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.closing-transaction</note>
|
||||
</trans-unit>
|
||||
@@ -5786,11 +5786,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html</context>
|
||||
<context context-type="linenumber">10,11</context>
|
||||
<context context-type="linenumber">11,12</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">10,12</context>
|
||||
<context context-type="linenumber">11,13</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.alias</note>
|
||||
</trans-unit>
|
||||
@@ -6064,10 +6064,6 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html</context>
|
||||
<context context-type="linenumber">11,12</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">12,13</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.liquidity</note>
|
||||
@@ -6121,11 +6117,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html</context>
|
||||
<context context-type="linenumber">12,13</context>
|
||||
<context context-type="linenumber">14,15</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">11,12</context>
|
||||
<context context-type="linenumber">12,13</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts</context>
|
||||
@@ -6163,7 +6159,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">47,49</context>
|
||||
<context context-type="linenumber">50,52</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-per-country/nodes-per-country.component.html</context>
|
||||
@@ -6179,11 +6175,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html</context>
|
||||
<context context-type="linenumber">15,17</context>
|
||||
<context context-type="linenumber">17,20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">15,17</context>
|
||||
<context context-type="linenumber">17,20</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.location</note>
|
||||
</trans-unit>
|
||||
@@ -6221,9 +6217,17 @@
|
||||
<context context-type="sourcefile">src/app/lightning/lightning-dashboard/lightning-dashboard.component.html</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html</context>
|
||||
<context context-type="linenumber">4,9</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts</context>
|
||||
<context context-type="linenumber">29</context>
|
||||
<context context-type="linenumber">33</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">4,9</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html</context>
|
||||
@@ -6303,11 +6307,11 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">2,4</context>
|
||||
<context context-type="linenumber">4,6</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">260,262</context>
|
||||
<context context-type="linenumber">263,265</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.node</note>
|
||||
</trans-unit>
|
||||
@@ -6320,7 +6324,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">27,30</context>
|
||||
<context context-type="linenumber">30,33</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.active-capacity</note>
|
||||
</trans-unit>
|
||||
@@ -6333,7 +6337,7 @@
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">34,38</context>
|
||||
<context context-type="linenumber">37,41</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.active-channels</note>
|
||||
</trans-unit>
|
||||
@@ -6346,21 +6350,12 @@
|
||||
</context-group>
|
||||
<note priority="1" from="description">country</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="674378571ab7e72a386f27fd3281558bae821d9d" datatype="html">
|
||||
<source>No node found for public key "<x id="INTERPOLATION" equiv-text="{{ node.public_key | shortenString : 12}}"/>"</source>
|
||||
<target>Nu a fost găsit niciun nod pentru cheia publică &quot; <x id="INTERPOLATION" equiv-text="{{ node.public_key | shortenString : 12}}"/> &quot;</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">17,19</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.node-not-found</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="43b48b9c15083a164b401bf3775a4b99f3917699" datatype="html">
|
||||
<source>Average channel size</source>
|
||||
<target>Dimensiunea medie a canalului</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">40,43</context>
|
||||
<context context-type="linenumber">43,46</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.active-channels-avg</note>
|
||||
</trans-unit>
|
||||
@@ -6369,7 +6364,7 @@
|
||||
<target>Distanța medie a canalului</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">56,57</context>
|
||||
<context context-type="linenumber">59,60</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.avg-distance</note>
|
||||
</trans-unit>
|
||||
@@ -6378,7 +6373,7 @@
|
||||
<target>Culoare</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">79,81</context>
|
||||
<context context-type="linenumber">82,84</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.color</note>
|
||||
</trans-unit>
|
||||
@@ -6387,7 +6382,7 @@
|
||||
<target>ISP</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">86,87</context>
|
||||
<context context-type="linenumber">89,90</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html</context>
|
||||
@@ -6400,7 +6395,7 @@
|
||||
<target>Exclusiv pe Tor</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">93,95</context>
|
||||
<context context-type="linenumber">96,98</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">tor</note>
|
||||
</trans-unit>
|
||||
@@ -6409,7 +6404,7 @@
|
||||
<target>Anunț de lichiditate</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">138,141</context>
|
||||
<context context-type="linenumber">141,144</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">node.liquidity-ad</note>
|
||||
</trans-unit>
|
||||
@@ -6418,7 +6413,7 @@
|
||||
<target>Rata comisionului de închiriere</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">144,147</context>
|
||||
<context context-type="linenumber">147,150</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">Liquidity ad lease fee rate</note>
|
||||
<note priority="1" from="meaning">liquidity-ad.lease-fee-rate</note>
|
||||
@@ -6428,7 +6423,7 @@
|
||||
<target>Comisionul de inchiriere de bază</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">152,154</context>
|
||||
<context context-type="linenumber">155,157</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">liquidity-ad.lease-base-fee</note>
|
||||
</trans-unit>
|
||||
@@ -6437,7 +6432,7 @@
|
||||
<target>Greutatea finanțării</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">158,159</context>
|
||||
<context context-type="linenumber">161,162</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">liquidity-ad.funding-weight</note>
|
||||
</trans-unit>
|
||||
@@ -6446,7 +6441,7 @@
|
||||
<target>Comisionul canalului</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">168,171</context>
|
||||
<context context-type="linenumber">171,174</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">Liquidity ad channel fee rate</note>
|
||||
<note priority="1" from="meaning">liquidity-ad.channel-fee-rate</note>
|
||||
@@ -6456,7 +6451,7 @@
|
||||
<target>Comisionul de bază al canalului</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">176,178</context>
|
||||
<context context-type="linenumber">179,181</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">liquidity-ad.channel-base-fee</note>
|
||||
</trans-unit>
|
||||
@@ -6465,7 +6460,7 @@
|
||||
<target>Închiriere compactă</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">188,190</context>
|
||||
<context context-type="linenumber">191,193</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">liquidity-ad.compact-lease</note>
|
||||
</trans-unit>
|
||||
@@ -6474,7 +6469,7 @@
|
||||
<target>Înregistrări extensiil TLV</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">199,202</context>
|
||||
<context context-type="linenumber">202,205</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">node.tlv.records</note>
|
||||
</trans-unit>
|
||||
@@ -6483,7 +6478,7 @@
|
||||
<target>Canale deschise</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">240,243</context>
|
||||
<context context-type="linenumber">243,246</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.open-channels</note>
|
||||
</trans-unit>
|
||||
@@ -6492,7 +6487,7 @@
|
||||
<target>Canale închise</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/node/node.component.html</context>
|
||||
<context context-type="linenumber">244,247</context>
|
||||
<context context-type="linenumber">247,250</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.open-channels</note>
|
||||
</trans-unit>
|
||||
@@ -6562,9 +6557,8 @@
|
||||
<context context-type="linenumber">112,107</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit id="1055322764280599360" datatype="html">
|
||||
<source>Reachable on Clearnet Only</source>
|
||||
<target>Accesibil numai pe Clearnet</target>
|
||||
<trans-unit id="599038141003770125" datatype="html">
|
||||
<source>Clearnet and Darknet</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts</context>
|
||||
<context context-type="linenumber">164,161</context>
|
||||
@@ -6574,9 +6568,8 @@
|
||||
<context context-type="linenumber">303,302</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit id="2760682261176173881" datatype="html">
|
||||
<source>Reachable on Clearnet and Darknet</source>
|
||||
<target>Accesibil pe Clearnet și Darknet</target>
|
||||
<trans-unit id="1282458597026430784" datatype="html">
|
||||
<source>Clearnet Only (IPv4, IPv6)</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts</context>
|
||||
<context context-type="linenumber">185,182</context>
|
||||
@@ -6586,9 +6579,8 @@
|
||||
<context context-type="linenumber">295,294</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit id="1191036460161514668" datatype="html">
|
||||
<source>Reachable on Darknet Only</source>
|
||||
<target>Accesibil numai pe Darknet</target>
|
||||
<trans-unit id="2165336009914523952" datatype="html">
|
||||
<source>Darknet Only (Tor, I2P, cjdns)</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts</context>
|
||||
<context context-type="linenumber">206,203</context>
|
||||
@@ -6694,7 +6686,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="462d2233ddacc9869eb28e09b3b12f1d85556937" datatype="html">
|
||||
<source>Unknown Capacity</source>
|
||||
<target>Capacitate necunoscută</target>
|
||||
<target>Capacitate ascunsă</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html</context>
|
||||
<context context-type="linenumber">13,15</context>
|
||||
@@ -6844,24 +6836,6 @@
|
||||
<context context-type="linenumber">27</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit id="71bb1ed9da9ebb92cf35925bc6fe0a8fbc325625" datatype="html">
|
||||
<source>Top 100 nodes liquidity ranking</source>
|
||||
<target>Top 100 de noduri de lichiditate</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html</context>
|
||||
<context context-type="linenumber">3,7</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.top-100-liquidity</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="99786bd2106b708e4514d0121964affb19bee636" datatype="html">
|
||||
<source>Top 100 nodes connectivity ranking</source>
|
||||
<target>Top 100 de noduri de conectivitate</target>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html</context>
|
||||
<context context-type="linenumber">3,7</context>
|
||||
</context-group>
|
||||
<note priority="1" from="description">lightning.top-100-connectivity</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="47a30fc5a836252f8fe03e2949756b150684d934" datatype="html">
|
||||
<source>Oldest nodes</source>
|
||||
<target>Cele mai vechi noduri</target>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user