| 
									
										
										
										
											2020-03-05 16:13:46 +07:00
										 |  |  | <div class="container-xl"> | 
					
						
							| 
									
										
										
										
											2020-02-16 22:15:07 +07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-02-19 23:50:23 +07:00
										 |  |  |   <div class="title-block"> | 
					
						
							| 
									
										
										
										
											2020-06-08 18:55:53 +07:00
										 |  |  |     <div *ngIf="rbfTransaction" class="alert alert-mempool" role="alert"> | 
					
						
							|  |  |  |       This transaction has been replaced by: | 
					
						
							|  |  |  |       <a class="alert-link" [routerLink]="['/tx/' | relativeUrl, rbfTransaction.txid]" [state]="{ data: rbfTransaction }"> | 
					
						
							|  |  |  |         <span class="d-inline d-lg-none">{{ rbfTransaction.txid | shortenString : 24 }}</span> | 
					
						
							|  |  |  |         <span class="d-none d-lg-inline">{{ rbfTransaction.txid }}</span> | 
					
						
							|  |  |  |       </a> | 
					
						
							|  |  |  |     </div> | 
					
						
							|  |  |  |    | 
					
						
							| 
									
										
										
										
											2020-03-25 02:55:26 +07:00
										 |  |  |     <h1 class="float-left mr-3 mb-md-3">Transaction</h1> | 
					
						
							| 
									
										
										
										
											2020-03-10 14:46:12 +07:00
										 |  |  | 
 | 
					
						
							|  |  |  |     <ng-template [ngIf]="tx?.status?.confirmed"> | 
					
						
							| 
									
										
										
										
											2020-03-25 02:55:26 +07:00
										 |  |  |       <button *ngIf="latestBlock" type="button" class="btn btn-sm btn-success float-right mr-2 mt-1 mt-md-3">{{ latestBlock.height - tx.status.block_height + 1 }} confirmation<ng-container *ngIf="latestBlock.height - tx.status.block_height + 1 > 1">s</ng-container></button> | 
					
						
							| 
									
										
										
										
											2020-02-23 05:23:24 +07:00
										 |  |  |     </ng-template> | 
					
						
							| 
									
										
										
										
											2020-03-10 14:46:12 +07:00
										 |  |  |     <ng-template [ngIf]="tx && !tx?.status.confirmed"> | 
					
						
							| 
									
										
										
										
											2020-03-25 02:55:26 +07:00
										 |  |  |       <button type="button" class="btn btn-sm btn-danger float-right mr-2 mt-1 mt-md-3">Unconfirmed</button> | 
					
						
							| 
									
										
										
										
											2020-02-23 05:23:24 +07:00
										 |  |  |     </ng-template> | 
					
						
							| 
									
										
										
										
											2020-03-10 14:46:12 +07:00
										 |  |  | 
 | 
					
						
							|  |  |  |     <div> | 
					
						
							| 
									
										
										
										
											2020-05-09 20:37:50 +07:00
										 |  |  |       <a [routerLink]="['/tx/' | relativeUrl, txId]" style="line-height: 56px;"> | 
					
						
							| 
									
										
										
										
											2020-03-10 14:46:12 +07:00
										 |  |  |         <span class="d-inline d-lg-none">{{ txId | shortenString : 24 }}</span> | 
					
						
							|  |  |  |         <span class="d-none d-lg-inline">{{ txId }}</span> | 
					
						
							|  |  |  |       </a> | 
					
						
							|  |  |  |       <app-clipboard [text]="txId"></app-clipboard> | 
					
						
							|  |  |  |     </div> | 
					
						
							| 
									
										
										
										
											2020-03-23 04:07:31 +07:00
										 |  |  |     <div class="clearfix"></div> | 
					
						
							| 
									
										
										
										
											2020-02-19 23:50:23 +07:00
										 |  |  |   </div> | 
					
						
							| 
									
										
										
										
											2020-03-25 02:55:26 +07:00
										 |  |  |   <div class="clearfix"></div> | 
					
						
							| 
									
										
										
										
											2020-02-16 22:15:07 +07:00
										 |  |  | 
 | 
					
						
							|  |  |  |   <ng-template [ngIf]="!isLoadingTx && !error"> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     <ng-template [ngIf]="tx.status.confirmed" [ngIfElse]="unconfirmedTemplate"> | 
					
						
							|  |  |  |      | 
					
						
							|  |  |  |       <div class="box"> | 
					
						
							| 
									
										
										
										
											2020-03-23 04:07:31 +07:00
										 |  |  |         <div class="row"> | 
					
						
							|  |  |  |           <div class="col-sm"> | 
					
						
							|  |  |  |             <table class="table table-borderless table-striped"> | 
					
						
							|  |  |  |               <tbody> | 
					
						
							| 
									
										
										
										
											2020-08-09 10:44:01 +07:00
										 |  |  |                 <tr> | 
					
						
							|  |  |  |                   <td>Timestamp</td> | 
					
						
							|  |  |  |                   <td> | 
					
						
							|  |  |  |                     {{ tx.status.block_time * 1000 | date:'yyyy-MM-dd HH:mm' }} | 
					
						
							|  |  |  |                     <div class="lg-inline"> | 
					
						
							|  |  |  |                       <i>(<app-time-since [time]="tx.status.block_time" [fastRender]="true"></app-time-since> ago)</i> | 
					
						
							|  |  |  |                     </div> | 
					
						
							|  |  |  |                   </td> | 
					
						
							|  |  |  |                 </tr> | 
					
						
							| 
									
										
										
										
											2020-09-29 18:27:44 +07:00
										 |  |  |                 <tr *ngIf="latestBlock && tx.status.block_height <= latestBlock.height - 8"> | 
					
						
							| 
									
										
										
										
											2020-03-23 04:07:31 +07:00
										 |  |  |                   <td class="td-width">Included in block</td> | 
					
						
							|  |  |  |                   <td> | 
					
						
							| 
									
										
										
										
											2020-05-09 20:37:50 +07:00
										 |  |  |                     <a [routerLink]="['/block/' | relativeUrl, tx.status.block_hash]" [state]="{ data: { blockHeight: tx.status.block_height } }">{{ tx.status.block_height }}</a> | 
					
						
							| 
									
										
										
										
											2020-03-23 04:07:31 +07:00
										 |  |  |                   </td> | 
					
						
							|  |  |  |                 </tr> | 
					
						
							|  |  |  |                 <ng-template [ngIf]="transactionTime > 0"> | 
					
						
							|  |  |  |                   <tr> | 
					
						
							|  |  |  |                     <td>Confirmed</td> | 
					
						
							|  |  |  |                     <td>After <app-timespan [time]="tx.status.block_time - transactionTime"></app-timespan></td> | 
					
						
							|  |  |  |                   </tr> | 
					
						
							|  |  |  |                 </ng-template> | 
					
						
							| 
									
										
										
										
											2020-07-19 14:54:42 +07:00
										 |  |  |                 <tr *ngIf="network !== 'liquid'"> | 
					
						
							|  |  |  |                   <td class="td-width">Features</td> | 
					
						
							|  |  |  |                   <td> | 
					
						
							|  |  |  |                     <app-tx-features [tx]="tx"></app-tx-features> | 
					
						
							|  |  |  |                   </td> | 
					
						
							|  |  |  |                 </tr> | 
					
						
							| 
									
										
										
										
											2020-03-23 04:07:31 +07:00
										 |  |  |               </tbody> | 
					
						
							|  |  |  |             </table> | 
					
						
							|  |  |  |           </div> | 
					
						
							|  |  |  |           <div class="col-sm"> | 
					
						
							|  |  |  |             <table class="table table-borderless table-striped"> | 
					
						
							|  |  |  |               <tbody> | 
					
						
							| 
									
										
										
										
											2020-07-22 13:41:50 +07:00
										 |  |  |                 <tr> | 
					
						
							|  |  |  |                   <td class="td-width">Fee</td> | 
					
						
							|  |  |  |                   <td>{{ tx.fee | number }} sat (<app-fiat [value]="tx.fee"></app-fiat>)</td> | 
					
						
							|  |  |  |                 </tr> | 
					
						
							|  |  |  |                 <tr> | 
					
						
							|  |  |  |                   <td>Fee per vByte</td> | 
					
						
							|  |  |  |                   <td> | 
					
						
							|  |  |  |                     {{ tx.fee / (tx.weight / 4) | number : '1.1-1' }} sat/vB | 
					
						
							|  |  |  |                       | 
					
						
							|  |  |  |                     <app-tx-fee-rating *ngIf="tx.fee" [tx]="tx"></app-tx-fee-rating> | 
					
						
							|  |  |  |                   </td> | 
					
						
							|  |  |  |                 </tr> | 
					
						
							| 
									
										
										
										
											2020-03-23 04:07:31 +07:00
										 |  |  |               </tbody> | 
					
						
							|  |  |  |             </table> | 
					
						
							|  |  |  |           </div> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         </div> | 
					
						
							| 
									
										
										
										
											2020-02-16 22:15:07 +07:00
										 |  |  |       </div> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     </ng-template> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     <ng-template #unconfirmedTemplate> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       <div class="box"> | 
					
						
							| 
									
										
										
										
											2020-03-23 04:07:31 +07:00
										 |  |  |         <div class="row"> | 
					
						
							|  |  |  |           <div class="col-sm"> | 
					
						
							|  |  |  |             <table class="table table-borderless table-striped"> | 
					
						
							|  |  |  |               <tbody> | 
					
						
							|  |  |  |                 <ng-template [ngIf]="transactionTime !== 0"> | 
					
						
							|  |  |  |                   <tr *ngIf="transactionTime === -1; else firstSeenTmpl"> | 
					
						
							|  |  |  |                     <td><span class="skeleton-loader"></span></td> | 
					
						
							|  |  |  |                     <td><span class="skeleton-loader"></span></td> | 
					
						
							|  |  |  |                   </tr> | 
					
						
							|  |  |  |                   <ng-template #firstSeenTmpl> | 
					
						
							|  |  |  |                     <tr> | 
					
						
							|  |  |  |                       <td>First seen</td> | 
					
						
							|  |  |  |                       <td><i><app-time-since [time]="transactionTime" [fastRender]="true"></app-time-since> ago</i></td> | 
					
						
							|  |  |  |                     </tr> | 
					
						
							|  |  |  |                   </ng-template> | 
					
						
							|  |  |  |                 </ng-template> | 
					
						
							| 
									
										
										
										
											2020-02-28 01:09:07 +07:00
										 |  |  |                 <tr> | 
					
						
							| 
									
										
										
										
											2020-03-23 04:07:31 +07:00
										 |  |  |                   <td class="td-width">ETA</td> | 
					
						
							|  |  |  |                   <td> | 
					
						
							|  |  |  |                     <ng-template [ngIf]="txInBlockIndex === undefined" [ngIfElse]="estimationTmpl"> | 
					
						
							|  |  |  |                       <span class="skeleton-loader"></span> | 
					
						
							|  |  |  |                     </ng-template> | 
					
						
							|  |  |  |                     <ng-template #estimationTmpl> | 
					
						
							| 
									
										
										
										
											2020-05-24 00:25:04 +07:00
										 |  |  |                       <ng-template [ngIf]="txInBlockIndex >= 7" [ngIfElse]="belowBlockLimit"> | 
					
						
							|  |  |  |                         In several hours (or more) | 
					
						
							| 
									
										
										
										
											2020-03-25 21:29:40 +07:00
										 |  |  |                       </ng-template> | 
					
						
							| 
									
										
										
										
											2020-05-24 00:25:04 +07:00
										 |  |  |                       <ng-template #belowBlockLimit> | 
					
						
							|  |  |  |                         <ng-template [ngIf]="network === 'liquid'" [ngIfElse]="timeEstimateDefault"> | 
					
						
							|  |  |  |                           < {{ 1 * txInBlockIndex + 1 }} minutes <i>({{ txInBlockIndex + 1 }} block{{ txInBlockIndex > 0 ? 's' : '' }})</i> | 
					
						
							|  |  |  |                         </ng-template> | 
					
						
							|  |  |  |                         <ng-template #timeEstimateDefault> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                           ~{{ 10 * txInBlockIndex + 10 }} minutes <i>({{ txInBlockIndex + 1 }} block{{ txInBlockIndex > 0 ? 's' : '' }})</i> | 
					
						
							|  |  |  |                         </ng-template> | 
					
						
							| 
									
										
										
										
											2020-03-25 21:29:40 +07:00
										 |  |  |                       </ng-template> | 
					
						
							| 
									
										
										
										
											2020-03-23 04:07:31 +07:00
										 |  |  |                     </ng-template> | 
					
						
							|  |  |  |                   </td> | 
					
						
							| 
									
										
										
										
											2020-02-28 01:09:07 +07:00
										 |  |  |                 </tr> | 
					
						
							| 
									
										
										
										
											2020-07-19 14:54:42 +07:00
										 |  |  |                 <tr *ngIf="network !== 'liquid'"> | 
					
						
							|  |  |  |                   <td class="td-width">Features</td> | 
					
						
							|  |  |  |                   <td> | 
					
						
							|  |  |  |                     <app-tx-features [tx]="tx"></app-tx-features> | 
					
						
							|  |  |  |                   </td> | 
					
						
							|  |  |  |                 </tr> | 
					
						
							| 
									
										
										
										
											2020-03-23 04:07:31 +07:00
										 |  |  |               </tbody> | 
					
						
							|  |  |  |             </table> | 
					
						
							|  |  |  |           </div> | 
					
						
							|  |  |  |           <div class="col-sm"> | 
					
						
							|  |  |  |             <table class="table table-borderless table-striped"> | 
					
						
							|  |  |  |               <tbody> | 
					
						
							|  |  |  |                 <tr> | 
					
						
							|  |  |  |                   <td class="td-width">Fee</td> | 
					
						
							| 
									
										
										
										
											2020-04-11 23:23:39 +07:00
										 |  |  |                   <td>{{ tx.fee | number }} sat (<app-fiat [value]="tx.fee"></app-fiat>)</td> | 
					
						
							| 
									
										
										
										
											2020-03-23 04:07:31 +07:00
										 |  |  |                 </tr> | 
					
						
							|  |  |  |                 <tr> | 
					
						
							|  |  |  |                   <td>Fee per vByte</td> | 
					
						
							| 
									
										
										
										
											2020-04-11 23:23:39 +07:00
										 |  |  |                   <td>{{ tx.fee / (tx.weight / 4) | number : '1.1-1' }} sat/vB</td> | 
					
						
							| 
									
										
										
										
											2020-03-23 04:07:31 +07:00
										 |  |  |                 </tr> | 
					
						
							|  |  |  |               </tbody> | 
					
						
							|  |  |  |             </table> | 
					
						
							|  |  |  |           </div> | 
					
						
							|  |  |  |         </div> | 
					
						
							| 
									
										
										
										
											2020-02-16 22:15:07 +07:00
										 |  |  |       </div> | 
					
						
							|  |  |  |     </ng-template> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-04-13 01:26:53 +07:00
										 |  |  |     <br> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-15 17:58:38 +07:00
										 |  |  |     <h2 class="float-left">Inputs & Outputs</h2> | 
					
						
							| 
									
										
										
										
											2020-02-16 22:15:07 +07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 01:10:07 +07:00
										 |  |  |     <button type="button" class="btn btn-outline-info btn-sm float-right mr-1 mt-0 mt-md-2" (click)="txList.toggleDetails()">Details</button> | 
					
						
							| 
									
										
										
										
											2020-11-15 17:58:38 +07:00
										 |  |  | 
 | 
					
						
							|  |  |  |     <div class="clearfix"></div> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     <app-transactions-list #txList [transactions]="[tx]" [transactionPage]="true"></app-transactions-list> | 
					
						
							| 
									
										
										
										
											2020-02-16 22:15:07 +07:00
										 |  |  | 
 | 
					
						
							|  |  |  |     <h2>Details</h2> | 
					
						
							|  |  |  |     <div class="box"> | 
					
						
							| 
									
										
										
										
											2020-03-11 16:06:11 +07:00
										 |  |  |       <table class="table table-borderless table-striped"> | 
					
						
							|  |  |  |         <tbody> | 
					
						
							|  |  |  |           <tr> | 
					
						
							|  |  |  |             <td>Size</td> | 
					
						
							|  |  |  |             <td>{{ tx.size | bytes: 2 }}</td> | 
					
						
							|  |  |  |           </tr> | 
					
						
							|  |  |  |           <tr> | 
					
						
							|  |  |  |             <td>Weight</td> | 
					
						
							|  |  |  |             <td>{{ tx.weight | wuBytes: 2 }}</td> | 
					
						
							|  |  |  |           </tr> | 
					
						
							|  |  |  |         </tbody> | 
					
						
							|  |  |  |       </table> | 
					
						
							|  |  |  |     </div> | 
					
						
							| 
									
										
										
										
											2020-02-16 22:15:07 +07:00
										 |  |  | 
 | 
					
						
							|  |  |  |   </ng-template> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   <ng-template [ngIf]="isLoadingTx && !error"> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-11 16:06:11 +07:00
										 |  |  |     <div class="box"> | 
					
						
							| 
									
										
										
										
											2020-03-23 04:07:31 +07:00
										 |  |  |       <div class="row"> | 
					
						
							|  |  |  |         <div class="col-sm"> | 
					
						
							|  |  |  |           <table class="table table-borderless table-striped"> | 
					
						
							|  |  |  |             <tbody> | 
					
						
							|  |  |  |               <tr> | 
					
						
							|  |  |  |                 <td class="td-width"><span class="skeleton-loader"></span></td> | 
					
						
							|  |  |  |                 <td><span class="skeleton-loader"></span></td> | 
					
						
							|  |  |  |               </tr> | 
					
						
							|  |  |  |               <tr> | 
					
						
							|  |  |  |                 <td><span class="skeleton-loader"></span></td> | 
					
						
							|  |  |  |                 <td><span class="skeleton-loader"></span></td> | 
					
						
							|  |  |  |               </tr> | 
					
						
							|  |  |  |             </tbody> | 
					
						
							|  |  |  |           </table> | 
					
						
							|  |  |  |         </div> | 
					
						
							|  |  |  |         <div class="col-sm"> | 
					
						
							|  |  |  |           <table class="table table-borderless table-striped"> | 
					
						
							|  |  |  |             <tbody> | 
					
						
							|  |  |  |               <tr> | 
					
						
							|  |  |  |                 <td class="td-width"><span class="skeleton-loader"></span></td> | 
					
						
							|  |  |  |                 <td><span class="skeleton-loader"></span></td> | 
					
						
							|  |  |  |               </tr> | 
					
						
							|  |  |  |               <tr> | 
					
						
							|  |  |  |                 <td><span class="skeleton-loader"></span></td> | 
					
						
							|  |  |  |                 <td><span class="skeleton-loader"></span></td> | 
					
						
							|  |  |  |               </tr> | 
					
						
							|  |  |  |             </tbody> | 
					
						
							|  |  |  |           </table> | 
					
						
							|  |  |  |         </div> | 
					
						
							|  |  |  |       </div> | 
					
						
							| 
									
										
										
										
											2020-03-11 16:06:11 +07:00
										 |  |  |     </div> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     <br> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     <h2>Inputs & Outputs</h2> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     <div class="box"> | 
					
						
							|  |  |  |       <div class="row"> | 
					
						
							|  |  |  |         <table class="table table-borderless table-striped"> | 
					
						
							|  |  |  |           <tbody> | 
					
						
							|  |  |  |             <tr> | 
					
						
							|  |  |  |               <td><span class="skeleton-loader"></span></td> | 
					
						
							|  |  |  |               <td><span class="skeleton-loader"></span></td> | 
					
						
							|  |  |  |             </tr> | 
					
						
							|  |  |  |           </tbody> | 
					
						
							|  |  |  |         </table> | 
					
						
							|  |  |  |       </div> | 
					
						
							|  |  |  |     </div> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     <br> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     <h2>Details</h2> | 
					
						
							| 
									
										
										
										
											2020-02-16 22:15:07 +07:00
										 |  |  |     <div class="box"> | 
					
						
							|  |  |  |       <table class="table table-borderless table-striped"> | 
					
						
							|  |  |  |         <tbody> | 
					
						
							|  |  |  |           <tr> | 
					
						
							|  |  |  |             <td><span class="skeleton-loader"></span></td> | 
					
						
							|  |  |  |             <td><span class="skeleton-loader"></span></td> | 
					
						
							|  |  |  |           </tr> | 
					
						
							|  |  |  |           <tr> | 
					
						
							|  |  |  |             <td><span class="skeleton-loader"></span></td> | 
					
						
							|  |  |  |             <td><span class="skeleton-loader"></span></td> | 
					
						
							|  |  |  |           </tr> | 
					
						
							|  |  |  |         </tbody> | 
					
						
							|  |  |  |       </table> | 
					
						
							|  |  |  |     </div> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   </ng-template> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   <ng-template [ngIf]="error"> | 
					
						
							| 
									
										
										
										
											2020-04-13 01:26:53 +07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-16 16:18:35 +07:00
										 |  |  |     <div class="text-center" *ngIf="waitingForTransaction; else errorTemplate"> | 
					
						
							| 
									
										
										
										
											2020-04-13 01:26:53 +07:00
										 |  |  |       <h3>Transaction not found.</h3> | 
					
						
							|  |  |  |       <h5>Waiting for it to appear in the mempool...</h5> | 
					
						
							|  |  |  |       <div class="spinner-border text-light mt-2"></div> | 
					
						
							| 
									
										
										
										
											2020-02-16 22:15:07 +07:00
										 |  |  |     </div> | 
					
						
							| 
									
										
										
										
											2020-04-13 01:26:53 +07:00
										 |  |  |      | 
					
						
							|  |  |  |     <ng-template #errorTemplate> | 
					
						
							|  |  |  |       <div class="text-center"> | 
					
						
							|  |  |  |         <h3>{{ error.error }}</h3> | 
					
						
							|  |  |  |       </div> | 
					
						
							|  |  |  |     </ng-template> | 
					
						
							| 
									
										
										
										
											2020-02-16 22:15:07 +07:00
										 |  |  |   </ng-template> | 
					
						
							| 
									
										
										
										
											2020-03-05 16:13:46 +07:00
										 |  |  | 
 | 
					
						
							|  |  |  | </div> | 
					
						
							| 
									
										
										
										
											2020-02-16 22:15:07 +07:00
										 |  |  | 
 | 
					
						
							|  |  |  | <br> |