Liquid gets block reward data from coinbase

This commit is contained in:
softsimon 2024-05-22 16:16:47 +07:00
parent aa80fa550b
commit ea0a4d1d67
No known key found for this signature in database
GPG Key ID: 488D7DCFB5A430D7
3 changed files with 15 additions and 1 deletions

View File

@ -19,6 +19,7 @@ export class BlockTransactionsComponent implements OnInit {
@Input() previousBlockHash: string; @Input() previousBlockHash: string;
@Input() block$: Observable<any>; @Input() block$: Observable<any>;
@Input() paginationMaxSize: number; @Input() paginationMaxSize: number;
@Output() blockReward = new EventEmitter<number>();
itemsPerPage = this.stateService.env.ITEMS_PER_PAGE; itemsPerPage = this.stateService.env.ITEMS_PER_PAGE;
page = 1; page = 1;
@ -50,6 +51,13 @@ export class BlockTransactionsComponent implements OnInit {
return of([]); return of([]);
})) }))
), ),
tap((transactions: Transaction[]) => {
// The block API doesn't contain the block rewards on Liquid
if (this.stateService.isLiquid() && transactions && transactions[0] && transactions[0].vin[0].is_coinbase) {
const blockReward = transactions[0].vout.reduce((acc: number, curr: Vout) => acc + curr.value, 0) / 100000000;
this.blockReward.emit(blockReward);
}
})
); );
this.txsLoadingStatus$ = this.route.paramMap this.txsLoadingStatus$ = this.route.paramMap

View File

@ -326,7 +326,7 @@
</div> </div>
@defer (on viewport) { @defer (on viewport) {
<app-block-transactions [paginationMaxSize]="paginationMaxSize" [block$]="block$" [txCount]="block.tx_count" [timestamp]="block.timestamp" [blockHash]="blockHash" [previousBlockHash]="block.previousblockhash"></app-block-transactions> <app-block-transactions [paginationMaxSize]="paginationMaxSize" [block$]="block$" [txCount]="block.tx_count" [timestamp]="block.timestamp" [blockHash]="blockHash" [previousBlockHash]="block.previousblockhash" (blockReward)="updateBlockReward($event)"></app-block-transactions>
} @placeholder { } @placeholder {
<div> <div>
<div class="block-tx-title"> <div class="block-tx-title">

View File

@ -755,4 +755,10 @@ export class BlockComponent implements OnInit, OnDestroy {
this.block.canonical = block.id; this.block.canonical = block.id;
} }
} }
updateBlockReward(blockReward: number): void {
if (this.fees === undefined) {
this.fees = blockReward;
}
}
} }