Merge remote-tracking branch 'origin/master' into add_failing_test_for_liquid_unconfidential_address
This commit is contained in:
		
						commit
						0d14c30892
					
				@ -108,7 +108,7 @@ export namespace IBitcoinApi {
 | 
			
		||||
    scriptPubKey: string;            //  (string) The hex-encoded scriptPubKey generated by the address
 | 
			
		||||
    isscript: boolean;               //  (boolean) If the key is a script
 | 
			
		||||
    iswitness: boolean;              //  (boolean) If the address is a witness
 | 
			
		||||
    witness_version?: boolean;       //  (numeric, optional) The version number of the witness program
 | 
			
		||||
    witness_version?: number;        //  (numeric, optional) The version number of the witness program
 | 
			
		||||
    witness_program: string;         //  (string, optional) The hex value of the witness program
 | 
			
		||||
    confidential_key?: string;       //  (string) Elements only
 | 
			
		||||
    unconfidential?: string;         //  (string) Elements only
 | 
			
		||||
 | 
			
		||||
@ -32,6 +32,7 @@ import { BlockchainComponent } from './components/blockchain/blockchain.componen
 | 
			
		||||
import { FooterComponent } from './components/footer/footer.component';
 | 
			
		||||
import { AudioService } from './services/audio.service';
 | 
			
		||||
import { MempoolBlockComponent } from './components/mempool-block/mempool-block.component';
 | 
			
		||||
import { FeeDistributionGraphComponent } from './components/fee-distribution-graph/fee-distribution-graph.component';
 | 
			
		||||
import { IncomingTransactionsGraphComponent } from './components/incoming-transactions-graph/incoming-transactions-graph.component';
 | 
			
		||||
import { TimeSpanComponent } from './components/time-span/time-span.component';
 | 
			
		||||
import { SeoService } from './services/seo.service';
 | 
			
		||||
@ -83,6 +84,7 @@ import { PushTransactionComponent } from './components/push-transaction/push-tra
 | 
			
		||||
    MempoolBlocksComponent,
 | 
			
		||||
    FooterComponent,
 | 
			
		||||
    MempoolBlockComponent,
 | 
			
		||||
    FeeDistributionGraphComponent,
 | 
			
		||||
    IncomingTransactionsGraphComponent,
 | 
			
		||||
    MempoolGraphComponent,
 | 
			
		||||
    LbtcPegsGraphComponent,
 | 
			
		||||
 | 
			
		||||
@ -21,7 +21,10 @@
 | 
			
		||||
            <tbody>
 | 
			
		||||
              <tr *ngIf="addressInfo && addressInfo.unconfidential">
 | 
			
		||||
                <td i18n="address.unconfidential">Unconfidential</td>
 | 
			
		||||
                <td><a [routerLink]="['/address/' | relativeUrl, addressInfo.unconfidential]">{{ addressInfo.unconfidential }}</a> <app-clipboard [text]="addressInfo.unconfidential"></app-clipboard></td>
 | 
			
		||||
                <td><a [routerLink]="['/address/' | relativeUrl, addressInfo.unconfidential]">
 | 
			
		||||
                  <span class="d-inline d-lg-none">{{ addressInfo.unconfidential | shortenString : 14 }}</span>
 | 
			
		||||
                  <span class="d-none d-lg-inline">{{ addressInfo.unconfidential }}</span>
 | 
			
		||||
                </a> <app-clipboard [text]="addressInfo.unconfidential"></app-clipboard></td>
 | 
			
		||||
              </tr>
 | 
			
		||||
              <ng-template [ngIf]="!address.electrum">
 | 
			
		||||
                <tr>
 | 
			
		||||
 | 
			
		||||
@ -0,0 +1,3 @@
 | 
			
		||||
.btn-link {
 | 
			
		||||
  padding: 0.25rem 0 0.1rem 0.5rem;
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,9 @@
 | 
			
		||||
<div class="fee-distribution-chart" *ngIf="mempoolVsizeFeesOptions; else loadingFees">
 | 
			
		||||
  <div echarts [initOpts]="mempoolVsizeFeesInitOptions" [options]="mempoolVsizeFeesOptions"></div>
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
<ng-template #loadingFees>
 | 
			
		||||
  <div class="text-center">
 | 
			
		||||
    <div class="spinner-border text-light"></div>
 | 
			
		||||
  </div>
 | 
			
		||||
</ng-template>
 | 
			
		||||
@ -0,0 +1,83 @@
 | 
			
		||||
import { OnChanges } from '@angular/core';
 | 
			
		||||
import { Component, Input, OnInit, ChangeDetectionStrategy } from '@angular/core';
 | 
			
		||||
 | 
			
		||||
@Component({
 | 
			
		||||
  selector: 'app-fee-distribution-graph',
 | 
			
		||||
  templateUrl: './fee-distribution-graph.component.html',
 | 
			
		||||
  changeDetection: ChangeDetectionStrategy.OnPush,
 | 
			
		||||
})
 | 
			
		||||
export class FeeDistributionGraphComponent implements OnInit, OnChanges {
 | 
			
		||||
  @Input() data: any;
 | 
			
		||||
  @Input() height: number | string = 210;
 | 
			
		||||
  @Input() top: number | string = 20;
 | 
			
		||||
  @Input() right: number | string = 22;
 | 
			
		||||
  @Input() left: number | string = 30;
 | 
			
		||||
 | 
			
		||||
  mempoolVsizeFeesOptions: any;
 | 
			
		||||
  mempoolVsizeFeesInitOptions = {
 | 
			
		||||
    renderer: 'svg'
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  constructor() { }
 | 
			
		||||
 | 
			
		||||
  ngOnInit() {
 | 
			
		||||
    this.mountChart();
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  ngOnChanges() {
 | 
			
		||||
    this.mountChart();
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  mountChart() {
 | 
			
		||||
    this.mempoolVsizeFeesOptions = {
 | 
			
		||||
      grid: {
 | 
			
		||||
        height: '210',
 | 
			
		||||
        right: '20',
 | 
			
		||||
        top: '22',
 | 
			
		||||
        left: '30',
 | 
			
		||||
      },
 | 
			
		||||
      xAxis: {
 | 
			
		||||
        type: 'category',
 | 
			
		||||
        boundaryGap: false,
 | 
			
		||||
      },
 | 
			
		||||
      yAxis: {
 | 
			
		||||
        type: 'value',
 | 
			
		||||
        splitLine: {
 | 
			
		||||
          lineStyle: {
 | 
			
		||||
            type: 'dotted',
 | 
			
		||||
            color: '#ffffff66',
 | 
			
		||||
            opacity: 0.25,
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      series: [{
 | 
			
		||||
        data: this.data,
 | 
			
		||||
        type: 'line',
 | 
			
		||||
        label: {
 | 
			
		||||
          show: true,
 | 
			
		||||
          position: 'top',
 | 
			
		||||
          color: '#ffffff',
 | 
			
		||||
          textShadowBlur: 0,
 | 
			
		||||
          formatter: (label: any) => {
 | 
			
		||||
            return Math.floor(label.data);
 | 
			
		||||
          },
 | 
			
		||||
        },
 | 
			
		||||
        smooth: true,
 | 
			
		||||
        lineStyle: {
 | 
			
		||||
          color: '#D81B60',
 | 
			
		||||
          width: 4,
 | 
			
		||||
        },
 | 
			
		||||
        itemStyle: {
 | 
			
		||||
          color: '#b71c1c',
 | 
			
		||||
          borderWidth: 10,
 | 
			
		||||
          borderMiterLimit: 10,
 | 
			
		||||
          opacity: 1,
 | 
			
		||||
        },
 | 
			
		||||
        areaStyle: {
 | 
			
		||||
          color: '#D81B60',
 | 
			
		||||
          opacity: 1,
 | 
			
		||||
        }
 | 
			
		||||
      }]
 | 
			
		||||
    };
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@ -40,6 +40,9 @@
 | 
			
		||||
          </tbody>
 | 
			
		||||
        </table>
 | 
			
		||||
      </div>
 | 
			
		||||
      <div class="col-md chart-container">
 | 
			
		||||
        <app-fee-distribution-graph [data]="mempoolBlock.feeRange" ></app-fee-distribution-graph>
 | 
			
		||||
      </div>
 | 
			
		||||
    </div>
 | 
			
		||||
  </div>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -42,7 +42,7 @@ export interface AddressInformation {
 | 
			
		||||
  scriptPubKey: string;            //  (string) The hex-encoded scriptPubKey generated by the address
 | 
			
		||||
  isscript: boolean;               //  (boolean) If the key is a script
 | 
			
		||||
  iswitness: boolean;              //  (boolean) If the address is a witness
 | 
			
		||||
  witness_version?: boolean;       //  (numeric, optional) The version number of the witness program
 | 
			
		||||
  witness_version?: number;        //  (numeric, optional) The version number of the witness program
 | 
			
		||||
  witness_program: string;         //  (string, optional) The hex value of the witness program
 | 
			
		||||
  confidential_key?: string;       //  (string) Elements only
 | 
			
		||||
  unconfidential?: string;         //  (string) Elements only
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user