cic-staff-client/docs/compodoc/components/TransactionDetailsComponent...

990 lines
47 KiB
HTML
Raw Normal View History

2021-05-10 20:56:20 +02:00
<!doctype html>
<html class="no-js" lang="">
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>CICADA</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="../images/favicon.ico">
<link rel="stylesheet" href="../styles/style.css">
</head>
<body>
<div class="navbar navbar-default navbar-fixed-top visible-xs">
<a href="../" class="navbar-brand">CICADA</a>
<button type="button" class="btn btn-default btn-menu ion-ios-menu" id="btn-menu"></button>
</div>
<div class="xs-menu menu" id="mobile-menu">
<div id="book-search-input" role="search"><input type="text" placeholder="Type to search"></div> <compodoc-menu></compodoc-menu>
</div>
<div class="container-fluid main">
<div class="row main">
<div class="hidden-xs menu">
<compodoc-menu mode="normal"></compodoc-menu>
</div>
<!-- START CONTENT -->
<div class="content component">
<div class="content-data">
<ol class="breadcrumb">
<li>Components</li>
<li>TransactionDetailsComponent</li>
</ol>
<ul class="nav nav-tabs" role="tablist">
<li class="active">
<a href="#info" role="tab" id="info-tab" data-toggle="tab" data-link="info">Info</a>
</li>
<li >
<a href="#source" role="tab" id="source-tab" data-toggle="tab" data-link="source">Source</a>
</li>
<li >
<a href="#templateData" role="tab" id="templateData-tab" data-toggle="tab" data-link="template">Template</a>
</li>
<li >
<a href="#styleData" role="tab" id="styleData-tab" data-toggle="tab" data-link="style">Styles</a>
</li>
<li >
<a href="#tree" role="tab" id="tree-tab" data-toggle="tab" data-link="dom-tree">DOM Tree</a>
</li>
</ul>
<div class="tab-content">
<div class="tab-pane fade active in" id="c-info"><p class="comment">
<h3>File</h3>
</p>
<p class="comment">
<code>src/app/pages/transactions/transaction-details/transaction-details.component.ts</code>
</p>
<p class="comment">
<h3>Implements</h3>
</p>
<p class="comment">
<code><a href="https://angular.io/api/core/OnInit" target="_blank" >OnInit</a></code>
</p>
<section>
<h3>Metadata</h3>
<table class="table table-sm table-hover">
<tbody>
<tr>
<td class="col-md-3">changeDetection</td>
<td class="col-md-9"><code>ChangeDetectionStrategy.OnPush</code></td>
</tr>
<tr>
<td class="col-md-3">selector</td>
<td class="col-md-9"><code>app-transaction-details</code></td>
</tr>
<tr>
<td class="col-md-3">styleUrls</td>
<td class="col-md-9"><code>./transaction-details.component.scss</code></td>
</tr>
<tr>
<td class="col-md-3">templateUrl</td>
<td class="col-md-9"><code>./transaction-details.component.html</code></td>
</tr>
</tbody>
</table>
</section>
<section>
<h3 id="index">Index</h3>
<table class="table table-sm table-bordered index-table">
<tbody>
<tr>
<td class="col-md-4">
<h6><b>Properties</b></h6>
</td>
</tr>
<tr>
<td class="col-md-4">
<ul class="index-list">
<li>
<a href="#recipientBloxbergLink">recipientBloxbergLink</a>
</li>
<li>
<a href="#senderBloxbergLink">senderBloxbergLink</a>
</li>
<li>
<a href="#traderBloxbergLink">traderBloxbergLink</a>
</li>
</ul>
</td>
</tr>
<tr>
<td class="col-md-4">
<h6><b>Methods</b></h6>
</td>
</tr>
<tr>
<td class="col-md-4">
<ul class="index-list">
<li>
<a href="#copyAddress">copyAddress</a>
</li>
<li>
<a href="#ngOnInit">ngOnInit</a>
</li>
<li>
<span class="modifier">Async</span>
<a href="#reverseTransaction">reverseTransaction</a>
</li>
<li>
<span class="modifier">Async</span>
<a href="#viewRecipient">viewRecipient</a>
</li>
<li>
<span class="modifier">Async</span>
<a href="#viewSender">viewSender</a>
</li>
<li>
<span class="modifier">Async</span>
<a href="#viewTrader">viewTrader</a>
</li>
</ul>
</td>
</tr>
<tr>
<td class="col-md-4">
<h6><b>Inputs</b></h6>
</td>
</tr>
<tr>
<td class="col-md-4">
<ul class="index-list">
<li>
<a href="#transaction">transaction</a>
</li>
</ul>
</td>
</tr>
</tbody>
</table>
</section>
<section>
<h3 id="constructor">Constructor</h3>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<code>constructor(router: <a href="https://angular.io/api/router/Router" target="_blank">Router</a>, transactionService: <a href="../injectables/TransactionService.html">TransactionService</a>, snackBar: MatSnackBar)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="18" class="link-to-prism">src/app/pages/transactions/transaction-details/transaction-details.component.ts:18</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div>
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
</tr>
</thead>
<tbody>
<tr>
<td>router</td>
<td>
<code><a href="https://angular.io/api/router/Router" target="_blank" >Router</a></code>
</td>
<td>
No
</td>
</tr>
<tr>
<td>transactionService</td>
<td>
<code><a href="../injectables/TransactionService.html" target="_self" >TransactionService</a></code>
</td>
<td>
No
</td>
</tr>
<tr>
<td>snackBar</td>
<td>
<code>MatSnackBar</code>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</div>
</td>
</tr>
</tbody>
</table>
</section>
<section>
<h3 id="inputs">Inputs</h3>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="transaction"></a>
<b>transaction</b>
</td>
</tr>
<tr>
<td class="col-md-2" colspan="2">
<div class="io-line">Defined in <a href="" data-line="15" class="link-to-prism">src/app/pages/transactions/transaction-details/transaction-details.component.ts:15</a></div>
</td>
</tr>
</tbody>
</table>
</section>
<section>
<h3 id="methods">
Methods
</h3>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="copyAddress"></a>
<span class="name">
<b>
copyAddress
</b>
<a href="#copyAddress"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<code>copyAddress(address: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank">string</a>)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="56"
class="link-to-prism">src/app/pages/transactions/transaction-details/transaction-details.component.ts:56</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description">
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
</tr>
</thead>
<tbody>
<tr>
<td>address</td>
<td>
<code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</div>
<div>
</div>
<div class="io-description">
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
</div>
<div class="io-description">
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="ngOnInit"></a>
<span class="name">
<b>
ngOnInit
</b>
<a href="#ngOnInit"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<code>ngOnInit()</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="26"
class="link-to-prism">src/app/pages/transactions/transaction-details/transaction-details.component.ts:26</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description">
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="reverseTransaction"></a>
<span class="name">
<b>
<span class="modifier">Async</span>
reverseTransaction
</b>
<a href="#reverseTransaction"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="modifier-icon icon ion-ios-reset"></span>
<code>reverseTransaction()</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="47"
class="link-to-prism">src/app/pages/transactions/transaction-details/transaction-details.component.ts:47</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description">
<b>Returns : </b> <code>Promise&lt;void&gt;</code>
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="viewRecipient"></a>
<span class="name">
<b>
<span class="modifier">Async</span>
viewRecipient
</b>
<a href="#viewRecipient"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="modifier-icon icon ion-ios-reset"></span>
<code>viewRecipient()</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="39"
class="link-to-prism">src/app/pages/transactions/transaction-details/transaction-details.component.ts:39</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description">
<b>Returns : </b> <code>Promise&lt;void&gt;</code>
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="viewSender"></a>
<span class="name">
<b>
<span class="modifier">Async</span>
viewSender
</b>
<a href="#viewSender"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="modifier-icon icon ion-ios-reset"></span>
<code>viewSender()</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="35"
class="link-to-prism">src/app/pages/transactions/transaction-details/transaction-details.component.ts:35</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description">
<b>Returns : </b> <code>Promise&lt;void&gt;</code>
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="viewTrader"></a>
<span class="name">
<b>
<span class="modifier">Async</span>
viewTrader
</b>
<a href="#viewTrader"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="modifier-icon icon ion-ios-reset"></span>
<code>viewTrader()</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="43"
class="link-to-prism">src/app/pages/transactions/transaction-details/transaction-details.component.ts:43</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description">
<b>Returns : </b> <code>Promise&lt;void&gt;</code>
</div>
</td>
</tr>
</tbody>
</table>
</section>
<section>
<h3 id="inputs">
Properties
</h3>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="recipientBloxbergLink"></a>
<span class="name">
<b>
recipientBloxbergLink</b>
<a href="#recipientBloxbergLink"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="17" class="link-to-prism">src/app/pages/transactions/transaction-details/transaction-details.component.ts:17</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="senderBloxbergLink"></a>
<span class="name">
<b>
senderBloxbergLink</b>
<a href="#senderBloxbergLink"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="16" class="link-to-prism">src/app/pages/transactions/transaction-details/transaction-details.component.ts:16</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="traderBloxbergLink"></a>
<span class="name">
<b>
traderBloxbergLink</b>
<a href="#traderBloxbergLink"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="18" class="link-to-prism">src/app/pages/transactions/transaction-details/transaction-details.component.ts:18</a></div>
</td>
</tr>
</tbody>
</table>
</section>
</div>
<div class="tab-pane fade tab-source-code" id="c-source">
<pre class="line-numbers compodoc-sourcecode"><code class="language-typescript">import {ChangeDetectionStrategy, Component, Input, OnInit} from &#x27;@angular/core&#x27;;
import {Router} from &#x27;@angular/router&#x27;;
import {TransactionService} from &#x27;@app/_services&#x27;;
import {copyToClipboard} from &#x27;@app/_helpers&#x27;;
import {MatSnackBar} from &#x27;@angular/material/snack-bar&#x27;;
import {strip0x} from &#x27;@src/assets/js/ethtx/dist/hex&#x27;;
@Component({
selector: &#x27;app-transaction-details&#x27;,
templateUrl: &#x27;./transaction-details.component.html&#x27;,
styleUrls: [&#x27;./transaction-details.component.scss&#x27;],
changeDetection: ChangeDetectionStrategy.OnPush
})
export class TransactionDetailsComponent implements OnInit {
@Input() transaction;
senderBloxbergLink: string;
recipientBloxbergLink: string;
traderBloxbergLink: string;
constructor(
private router: Router,
private transactionService: TransactionService,
private snackBar: MatSnackBar,
) { }
ngOnInit(): void {
if (this.transaction?.type &#x3D;&#x3D;&#x3D; &#x27;conversion&#x27;) {
this.traderBloxbergLink &#x3D; &#x27;https://blockexplorer.bloxberg.org/address/&#x27; + this.transaction?.trader + &#x27;/transactions&#x27;;
} else {
this.senderBloxbergLink &#x3D; &#x27;https://blockexplorer.bloxberg.org/address/&#x27; + this.transaction?.from + &#x27;/transactions&#x27;;
this.recipientBloxbergLink &#x3D; &#x27;https://blockexplorer.bloxberg.org/address/&#x27; + this.transaction?.to + &#x27;/transactions&#x27;;
}
}
async viewSender(): Promise&lt;void&gt; {
await this.router.navigateByUrl(&#x60;/accounts/${strip0x(this.transaction.from)}&#x60;);
}
async viewRecipient(): Promise&lt;void&gt; {
await this.router.navigateByUrl(&#x60;/accounts/${strip0x(this.transaction.to)}&#x60;);
}
async viewTrader(): Promise&lt;void&gt; {
await this.router.navigateByUrl(&#x60;/accounts/${strip0x(this.transaction.trader)}&#x60;);
}
async reverseTransaction(): Promise&lt;void&gt; {
await this.transactionService.transferRequest(
this.transaction.token.address,
this.transaction.to,
this.transaction.from,
this.transaction.value
);
}
copyAddress(address: string): void {
if (copyToClipboard(address)) {
this.snackBar.open(address + &#x27; copied successfully!&#x27;, &#x27;Close&#x27;, { duration: 3000 });
}
}
}
</code></pre>
</div>
<div class="tab-pane fade " id="c-templateData">
<pre class="line-numbers"><code class="language-html">&lt;div *ngIf&#x3D;&quot;transaction | async&quot; class&#x3D;&quot;mb-3 mt-1&quot;&gt;
&lt;div class&#x3D;&quot;card text-center&quot;&gt;
&lt;mat-card-title class&#x3D;&quot;card-header&quot;&gt;
&lt;div class&#x3D;&quot;row&quot;&gt;
TRANSACTION DETAILS
&lt;button mat-raised-button type&#x3D;&quot;button&quot; class&#x3D;&quot;btn btn-outline-secondary ml-auto mr-2&quot; (click)&#x3D;&quot;transaction &#x3D; null&quot;&gt; CLOSE &lt;/button&gt;
&lt;/div&gt;
&lt;/mat-card-title&gt;
&lt;div *ngIf&#x3D;&quot;transaction.type &#x3D;&#x3D; &#x27;transaction&#x27;&quot; class&#x3D;&quot;card-body&quot;&gt;
&lt;div class&#x3D;&quot;row&quot;&gt;
&lt;div class&#x3D;&quot;col-md-6&quot;&gt;
&lt;h4&gt;Exchange: &lt;/h4&gt;
&lt;ul class&#x3D;&quot;list-group list-group-flush&quot;&gt;
&lt;li class&#x3D;&quot;list-group-item&quot;&gt;
&lt;span&gt;Sender: {{transaction.sender?.vcard.fn[0].value}}&lt;/span&gt;&lt;br&gt;&lt;br&gt;
&lt;span&gt;
Sender Address:
&lt;a href&#x3D;&quot;{{senderBloxbergLink}}&quot; target&#x3D;&quot;_blank&quot;&gt; {{transaction.from}} &lt;/a&gt;
&lt;img src&#x3D;&quot;assets/images/checklist.svg&quot; class&#x3D;&quot;ml-2&quot; height&#x3D;&quot;20rem&quot; (click)&#x3D;&quot;copyAddress(transaction.from)&quot; alt&#x3D;&quot;Copy&quot;&gt;
&lt;/span&gt;&lt;br&gt;&lt;br&gt;
&lt;button mat-raised-button color&#x3D;&quot;primary&quot; class&#x3D;&quot;btn btn-outline-info&quot; (click)&#x3D;&quot;viewSender()&quot;&gt;View Sender&lt;/button&gt;
&lt;/li&gt;
&lt;li class&#x3D;&quot;list-group-item&quot;&gt;
&lt;span&gt;Recipient: {{transaction.recipient?.vcard.fn[0].value}}&lt;/span&gt;&lt;br&gt;&lt;br&gt;
&lt;span&gt;
Recipient Address:
&lt;a href&#x3D;&quot;{{recipientBloxbergLink}}&quot; target&#x3D;&quot;_blank&quot;&gt; {{transaction.to}} &lt;/a&gt;
&lt;img src&#x3D;&quot;assets/images/checklist.svg&quot; class&#x3D;&quot;ml-2&quot; height&#x3D;&quot;20rem&quot; (click)&#x3D;&quot;copyAddress(transaction.to)&quot; alt&#x3D;&quot;Copy&quot;&gt;
&lt;/span&gt;&lt;br&gt;&lt;br&gt;
&lt;button mat-raised-button color&#x3D;&quot;primary&quot; class&#x3D;&quot;btn btn-outline-info&quot; (click)&#x3D;&quot;viewRecipient()&quot;&gt;View Recipient&lt;/button&gt;
&lt;/li&gt;
&lt;li class&#x3D;&quot;list-group-item&quot;&gt;
&lt;span&gt;Amount: SRF {{transaction.value | tokenRatio}}&lt;/span&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 class&#x3D;&quot;mt-2&quot;&gt;Token: &lt;/h4&gt;
&lt;ul class&#x3D;&quot;list-group list-group-flush&quot;&gt;
&lt;li class&#x3D;&quot;list-group-item&quot;&gt;
&lt;span&gt;
Address:
{{transaction.token._address}}
&lt;img src&#x3D;&quot;assets/images/checklist.svg&quot; class&#x3D;&quot;ml-2&quot; height&#x3D;&quot;20rem&quot; (click)&#x3D;&quot;copyAddress(transaction.token._address)&quot; alt&#x3D;&quot;Copy&quot;&gt;
&lt;/span&gt;
&lt;/li&gt;
&lt;li class&#x3D;&quot;list-group-item&quot;&gt;
&lt;span&gt;Name: Sarafu Token&lt;/span&gt;
&lt;/li&gt;
&lt;li class&#x3D;&quot;list-group-item&quot;&gt;
&lt;span&gt;Symbol: SRF&lt;/span&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class&#x3D;&quot;col-md-6&quot;&gt;
&lt;h4&gt;Transaction: &lt;/h4&gt;
&lt;ul class&#x3D;&quot;list-group list-group-flush&quot;&gt;
&lt;li class&#x3D;&quot;list-group-item&quot;&gt;
&lt;span&gt;Block: {{transaction.tx.block}}&lt;/span&gt;
&lt;/li&gt;
&lt;li class&#x3D;&quot;list-group-item&quot;&gt;
&lt;span&gt;Index: {{transaction.tx.txIndex}}&lt;/span&gt;
&lt;/li&gt;
&lt;li class&#x3D;&quot;list-group-item&quot;&gt;
&lt;span&gt;Hash: {{transaction.tx.txHash}}&lt;/span&gt;
&lt;/li&gt;
&lt;li class&#x3D;&quot;list-group-item&quot;&gt;
&lt;span&gt;Success: {{transaction.tx.success}}&lt;/span&gt;
&lt;/li&gt;
&lt;li class&#x3D;&quot;list-group-item&quot;&gt;
&lt;span&gt;Timestamp: {{transaction.tx.timestamp | date}}&lt;/span&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;br&gt;
&lt;div class&#x3D;&quot;mb-3&quot;&gt;
&lt;button mat-raised-button color&#x3D;&quot;primary&quot; type&#x3D;&quot;button&quot; class&#x3D;&quot;btn btn-outline-success&quot;&gt;Resend SMS&lt;/button&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;button mat-raised-button color&#x3D;&quot;warn&quot; type&#x3D;&quot;button&quot; class&#x3D;&quot;btn btn-outline-danger&quot;&gt;Reverse Transaction&lt;/button&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div *ngIf&#x3D;&quot;transaction.type &#x3D;&#x3D; &#x27;conversion&#x27;&quot; class&#x3D;&quot;card-body&quot;&gt;
&lt;h3&gt;Exchange: &lt;/h3&gt;
&lt;ul class&#x3D;&quot;list-group list-group-flush&quot;&gt;
&lt;li class&#x3D;&quot;list-group-item&quot;&gt;
&lt;span&gt;&lt;strong&gt;Trader: {{transaction.sender?.vcard.fn[0].value}}&lt;/strong&gt;&lt;/span&gt;
&lt;/li&gt;
&lt;li class&#x3D;&quot;list-group-item&quot;&gt;
&lt;span&gt;
Trader Address:
&lt;a href&#x3D;&quot;{{traderBloxbergLink}}&quot; target&#x3D;&quot;_blank&quot;&gt; {{transaction.trader}} &lt;/a&gt;
&lt;img src&#x3D;&quot;assets/images/checklist.svg&quot; class&#x3D;&quot;ml-2&quot; height&#x3D;&quot;20rem&quot; (click)&#x3D;&quot;copyAddress(transaction.trader)&quot; alt&#x3D;&quot;Copy&quot;&gt;
&lt;/span&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;button mat-raised-button color&#x3D;&quot;primary&quot; class&#x3D;&quot;btn btn-outline-info&quot; (click)&#x3D;&quot;viewTrader()&quot;&gt;View Trader&lt;/button&gt;
&lt;br&gt;&lt;br&gt;
&lt;div class&#x3D;&quot;row&quot;&gt;
&lt;div class&#x3D;&quot;col-md-6&quot;&gt;
&lt;h4&gt;Source Token: &lt;/h4&gt;
&lt;ul class&#x3D;&quot;list-group list-group-flush&quot;&gt;
&lt;li class&#x3D;&quot;list-group-item&quot;&gt;
&lt;span&gt;
Address:
{{transaction.sourceToken.address}}
&lt;img src&#x3D;&quot;assets/images/checklist.svg&quot; class&#x3D;&quot;ml-2&quot; height&#x3D;&quot;20rem&quot; (click)&#x3D;&quot;copyAddress(transaction.sourceToken.address)&quot; alt&#x3D;&quot;Copy&quot;&gt;
&lt;/span&gt;
&lt;/li&gt;
&lt;li class&#x3D;&quot;list-group-item&quot;&gt;
&lt;span&gt;Name: {{transaction.sourceToken.name}}&lt;/span&gt;
&lt;/li&gt;
&lt;li class&#x3D;&quot;list-group-item&quot;&gt;
&lt;span&gt;Symbol: {{transaction.sourceToken.symbol}}&lt;/span&gt;
&lt;/li&gt;
&lt;li class&#x3D;&quot;list-group-item&quot;&gt;
&lt;span&gt;Amount: {{transaction.sourceToken.symbol + &#x27; &#x27; + transaction.fromValue}}&lt;/span&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class&#x3D;&quot;col-md-6&quot;&gt;
&lt;h4&gt;Destination Token: &lt;/h4&gt;
&lt;ul class&#x3D;&quot;list-group list-group-flush&quot;&gt;
&lt;li class&#x3D;&quot;list-group-item&quot;&gt;
&lt;span&gt;
Address:
{{transaction.destinationToken.address}}
&lt;img src&#x3D;&quot;assets/images/checklist.svg&quot; class&#x3D;&quot;ml-2&quot; height&#x3D;&quot;20rem&quot; (click)&#x3D;&quot;copyAddress(transaction.destinationToken.address)&quot; alt&#x3D;&quot;Copy&quot;&gt;
&lt;/span&gt;
&lt;/li&gt;
&lt;li class&#x3D;&quot;list-group-item&quot;&gt;
&lt;span&gt;Name: {{transaction.destinationToken.name}}&lt;/span&gt;
&lt;/li&gt;
&lt;li class&#x3D;&quot;list-group-item&quot;&gt;
&lt;span&gt;Symbol: {{transaction.destinationToken.symbol}}&lt;/span&gt;
&lt;/li&gt;
&lt;li class&#x3D;&quot;list-group-item&quot;&gt;
&lt;span&gt;Amount: {{transaction.destinationToken.symbol + &#x27; &#x27; + transaction.toValue}}&lt;/span&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class&#x3D;&quot;col-md-6&quot;&gt;
&lt;button mat-raised-button color&#x3D;&quot;primary&quot; type&#x3D;&quot;button&quot; class&#x3D;&quot;btn btn-outline-success&quot;&gt;Resend SMS&lt;/button&gt;
&lt;/div&gt;
&lt;div class&#x3D;&quot;col-md-6&quot;&gt;
&lt;button mat-raised-button color&#x3D;&quot;warn&quot; type&#x3D;&quot;button&quot; class&#x3D;&quot;btn btn-outline-danger ml-2&quot; (click)&#x3D;&quot;reverseTransaction()&quot;&gt;Reverse Transaction&lt;/button&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</code></pre>
</div>
<div class="tab-pane fade " id="c-styleData">
<p class="comment">
<code>./transaction-details.component.scss</code>
</p>
<pre class="line-numbers"><code class="language-scss"></code></pre>
</div>
<div class="tab-pane fade " id="c-tree">
<div id="tree-container"></div>
<div class="tree-legend">
<div class="title">
<b>Legend</b>
</div>
<div>
<div class="color htmlelement"></div><span>Html element</span>
</div>
<div>
<div class="color component"></div><span>Component</span>
</div>
<div>
<div class="color directive"></div><span>Html element with directive</span>
</div>
</div>
</div>
</div>
<script src="../js/libs/vis.min.js"></script>
<script src="../js/libs/htmlparser.js"></script>
<script src="../js/libs/deep-iterator.js"></script>
<script>
var COMPONENT_TEMPLATE = '<div><div *ngIf="transaction | async" class="mb-3 mt-1"> <div class="card text-center"> <mat-card-title class="card-header"> <div class="row"> TRANSACTION DETAILS <button mat-raised-button type="button" class="btn btn-outline-secondary ml-auto mr-2" (click)="transaction = null"> CLOSE </button> </div> </mat-card-title> <div *ngIf="transaction.type == \'transaction\'" class="card-body"> <div class="row"> <div class="col-md-6"> <h4>Exchange: </h4> <ul class="list-group list-group-flush"> <li class="list-group-item"> <span>Sender: {{transaction.sender?.vcard.fn[0].value}}</span><br><br> <span> Sender Address: <a href="{{senderBloxbergLink}}" target="_blank"> {{transaction.from}} </a> <img src="assets/images/checklist.svg" class="ml-2" height="20rem" (click)="copyAddress(transaction.from)" alt="Copy"> </span><br><br> <button mat-raised-button color="primary" class="btn btn-outline-info" (click)="viewSender()">View Sender</button> </li> <li class="list-group-item"> <span>Recipient: {{transaction.recipient?.vcard.fn[0].value}}</span><br><br> <span> Recipient Address: <a href="{{recipientBloxbergLink}}" target="_blank"> {{transaction.to}} </a> <img src="assets/images/checklist.svg" class="ml-2" height="20rem" (click)="copyAddress(transaction.to)" alt="Copy"> </span><br><br> <button mat-raised-button color="primary" class="btn btn-outline-info" (click)="viewRecipient()">View Recipient</button> </li> <li class="list-group-item"> <span>Amount: SRF {{transaction.value | tokenRatio}}</span> </li> </ul> <h4 class="mt-2">Token: </h4> <ul class="list-group list-group-flush"> <li class="list-group-item"> <span> Address: {{transaction.token._address}} <img src="assets/images/checklist.svg" class="ml-2" height="20rem" (click)="copyAddress(transaction.token._address)" alt="Copy"> </span> </li> <li class="list-group-item"> <span>Name: Sarafu Token</span> </li> <li class="list-group-item"> <span>Symbol: SRF</span> </li> </ul> </div> <div class="col-md-6"> <h4>Transaction: </h4> <ul class="list-group list-group-flush"> <li class="list-group-item"> <span>Block: {{transaction.tx.block}}</span> </li> <li class="list-group-item"> <span>Index: {{transaction.tx.txIndex}}</span> </li> <li class="list-group-item"> <span>Hash: {{transaction.tx.txHash}}</span> </li> <li class="list-group-item"> <span>Success: {{transaction.tx.success}}</span> </li> <li class="list-group-item"> <span>Timestamp: {{transaction.tx.timestamp | date}}</span> </li> </ul><br> <div class="mb-3"> <button mat-raised-button color="primary" type="button" class="btn btn-outline-success">Resend SMS</button> </div> <div> <button mat-raised-button color="warn" type="button" class="btn btn-outline-danger">Reverse Transaction</button> </div> </div> </div> </div> <div *ngIf="transaction.type == \'conversion\'" class="card-body"> <h3>Exchange: </h3> <ul class="list-group list-group-flush"> <li class="list-group-item"> <span><strong>Trader: {{transaction.sender?.vcard.fn[0].value}}</strong></span> </li> <li class="list-group-item"> <span> Trader Address: <a href="{{traderBloxbergLink}}" target="_blank"> {{transaction.trader}} </a> <img src="assets/images/checklist
var COMPONENTS = [{'name': 'AccountDetailsComponent', 'selector': 'app-account-details'},{'name': 'AccountsComponent', 'selector': 'app-accounts'},{'name': 'AccountSearchComponent', 'selector': 'app-account-search'},{'name': 'AdminComponent', 'selector': 'app-admin'},{'name': 'AppComponent', 'selector': 'app-root'},{'name': 'AuthComponent', 'selector': 'app-auth'},{'name': 'CreateAccountComponent', 'selector': 'app-create-account'},{'name': 'ErrorDialogComponent', 'selector': 'app-error-dialog'},{'name': 'FooterComponent', 'selector': 'app-footer'},{'name': 'FooterStubComponent', 'selector': 'app-footer'},{'name': 'OrganizationComponent', 'selector': 'app-organization'},{'name': 'PagesComponent', 'selector': 'app-pages'},{'name': 'SettingsComponent', 'selector': 'app-settings'},{'name': 'SidebarComponent', 'selector': 'app-sidebar'},{'name': 'SidebarStubComponent', 'selector': 'app-sidebar'},{'name': 'TokenDetailsComponent', 'selector': 'app-token-details'},{'name': 'TokensComponent', 'selector': 'app-tokens'},{'name': 'TopbarComponent', 'selector': 'app-topbar'},{'name': 'TopbarStubComponent', 'selector': 'app-topbar'},{'name': 'TransactionDetailsComponent', 'selector': 'app-transaction-details'},{'name': 'TransactionsComponent', 'selector': 'app-transactions'}];
var DIRECTIVES = [{'name': 'MenuSelectionDirective', 'selector': '[appMenuSelection]'},{'name': 'MenuToggleDirective', 'selector': '[appMenuToggle]'},{'name': 'PasswordToggleDirective', 'selector': '[appPasswordToggle]'},{'name': 'RouterLinkDirectiveStub', 'selector': '[routerLink]'}];
var ACTUAL_COMPONENT = {'name': 'TransactionDetailsComponent'};
</script>
<script src="../js/tree.js"></script>
</div><div class="search-results">
<div class="has-results">
<h1 class="search-results-title"><span class='search-results-count'></span> result-matching "<span class='search-query'></span>"</h1>
<ul class="search-results-list"></ul>
</div>
<div class="no-results">
<h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
</div>
</div>
</div>
<!-- END CONTENT -->
</div>
</div>
<script>
var COMPODOC_CURRENT_PAGE_DEPTH = 1;
var COMPODOC_CURRENT_PAGE_CONTEXT = 'component';
var COMPODOC_CURRENT_PAGE_URL = 'TransactionDetailsComponent.html';
var MAX_SEARCH_RESULTS = 15;
</script>
<script src="../js/libs/custom-elements.min.js"></script>
<script src="../js/libs/lit-html.js"></script>
<!-- Required to polyfill modern browsers as code is ES5 for IE... -->
<script src="../js/libs/custom-elements-es5-adapter.js" charset="utf-8" defer></script>
<script src="../js/menu-wc.js" defer></script>
<script src="../js/libs/bootstrap-native.js"></script>
<script src="../js/libs/es6-shim.min.js"></script>
<script src="../js/libs/EventDispatcher.js"></script>
<script src="../js/libs/promise.min.js"></script>
<script src="../js/libs/zepto.min.js"></script>
<script src="../js/compodoc.js"></script>
<script src="../js/tabs.js"></script>
<script src="../js/menu.js"></script>
<script src="../js/libs/clipboard.min.js"></script>
<script src="../js/libs/prism.js"></script>
<script src="../js/sourceCode.js"></script>
<script src="../js/search/search.js"></script>
<script src="../js/search/lunr.min.js"></script>
<script src="../js/search/search-lunr.js"></script>
<script src="../js/search/search_index.js"></script>
<script src="../js/lazy-load-graphs.js"></script>
</body>
</html>